From: Eli Zaretskii Date: Fri, 3 Mar 2006 12:20:26 +0000 (+0000) Subject: (rx-check-any, rx-check-not): Quote "]"s in regexps when they have no X-Git-Tag: emacs-pretest-22.0.90~3797 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a6966c1ce7007f8c18545ddc256f40c09fa0808d;p=emacs.git (rx-check-any, rx-check-not): Quote "]"s in regexps when they have no special meaning. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 207c6c89ce8..88bcf6f98c1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2006-03-03 Martin Rudalics + * font-lock.el (lisp-font-lock-keywords-2) + * emacs-lisp/rx.el (rx-check-any, rx-check-not) + * generic-x.el (reg-generic-mode): Quote "]"s in regexps when + they have no special meaning. + * midnight.el (clean-buffer-list): Handle case where base-buffer of indirect buffer gets killed before indirect buffer. Use dolist. diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index 763aa97f214..694544e3c52 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -372,8 +372,8 @@ FORM is of the form `(and FORM1 ...)'." (if (eq ?^ (aref arg 0)) (setq arg (concat "\\" arg))) ;; Remove ] and set flag for adding it to start of overall result. - (when (string-match "]" arg) - (setq arg (replace-regexp-in-string "]" "" arg) + (when (string-match "\\]" arg) + (setq arg (replace-regexp-in-string "\\]" "" arg) rx-bracket "]"))) (when (symbolp arg) (let ((translation (condition-case nil @@ -405,7 +405,7 @@ ARG is optional." (defun rx-check-not (arg) "Check arg ARG for Rx `not'." (unless (or (and (symbolp arg) - (string-match "\\`\\[\\[:[-a-z]:]]\\'" + (string-match "\\`\\[\\[:[-a-z]:\\]\\]\\'" (condition-case nil (rx-to-string arg 'no-group) (error ""))))