Function: peg-make-charset-regexp
peg-make-charset-regexp is a byte-compiled function defined in
peg.el.gz.
Signature
(peg-make-charset-regexp RANGES CHARS CLASSES)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/peg.el.gz
(defun peg-make-charset-regexp (ranges chars classes)
(when (and (not ranges) (not classes) (<= (length chars) 1))
(error "Bug"))
(let ((rbracket (member ?\] chars))
(minus (member ?- chars))
(hat (member ?^ chars)))
(dolist (c '(?\] ?- ?^))
(setq chars (remove c chars)))
(format "[%s%s%s%s%s%s]"
(if rbracket "]" "")
(if minus "-" "")
(mapconcat (lambda (x) (format "%c-%c" (car x) (cdr x))) ranges "")
(mapconcat (lambda (c) (format "[:%s:]" c)) classes "")
(mapconcat (lambda (c) (format "%c" c)) chars "")
(if hat "^" ""))))