Function: allout-regexp-sans-escapes
allout-regexp-sans-escapes is a byte-compiled function defined in
allout.el.gz.
Signature
(allout-regexp-sans-escapes REGEXP &optional SUCCESSIVE-BACKSLASHES)
Documentation
Return a copy of REGEXP with all character escapes stripped out.
Representations of actual backslashes -- \\\\ -- are left as a
single backslash.
Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion.
Source Code
;; Defined in /usr/src/emacs/lisp/allout.el.gz
;;;_ : Strings:
;;;_ > allout-regexp-sans-escapes (string)
(defun allout-regexp-sans-escapes (regexp &optional successive-backslashes)
"Return a copy of REGEXP with all character escapes stripped out.
Representations of actual backslashes -- `\\\\\\\\' -- are left as a
single backslash.
Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion."
(if (string= regexp "")
""
;; Set successive-backslashes to number if current char is
;; backslash, or else to nil:
(setq successive-backslashes
(if (= (aref regexp 0) ?\\)
(if successive-backslashes (1+ successive-backslashes) 1)
nil))
(if (or (not successive-backslashes) (= 2 successive-backslashes))
;; Include first char:
(concat (substring regexp 0 1)
(allout-regexp-sans-escapes (substring regexp 1)))
;; Exclude first char, but maintain count:
(allout-regexp-sans-escapes (substring regexp 1) successive-backslashes))))