]> code.delx.au - gnu-emacs/commitdiff
(rx-or): Fix the case of "(rx (and ?a (or ?b ?c) ?d))".
authorEli Zaretskii <eliz@gnu.org>
Sat, 1 Nov 2003 17:35:49 +0000 (17:35 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 1 Nov 2003 17:35:49 +0000 (17:35 +0000)
lisp/ChangeLog
lisp/emacs-lisp/rx.el

index 9094e15a8b6852f704b96aba84fb828b682df519..11fad844e8083ab4fafe354b3a4798432f7276d3 100644 (file)
@@ -1,3 +1,8 @@
+2003-11-01  Oliver Scholz  <epameinondas@gmx.de>
+
+       * emacs-lisp/rx.el (rx-or): Fix the case of 
+       "(rx (and ?a (or ?b ?c) ?d))".
+
 2003-11-01  Christoph Wedler  <wedler@users.sourceforge.net>  (tiny change)
 
        * textmodes/texinfmt.el (texinfo-pre-format-hook): New variable.
index 8e38aed10d2cfc1c36ba517ad1ca7ee5de378b41..bc16a84b156da327535fafbabe44dcbb561536ba 100644 (file)
@@ -286,9 +286,11 @@ FORM is of the form `(and FORM1 ...)'."
     (dolist (arg (cdr form))
       (unless (stringp arg)
        (setq all-args-strings nil)))
-    (if all-args-strings
-       (regexp-opt (cdr form))
-      (mapconcat #'rx-to-string (cdr form) "\\|"))))
+    (concat "\\(?:"
+           (if all-args-strings
+               (regexp-opt (cdr form))
+             (mapconcat #'rx-to-string (cdr form) "\\|"))
+           "\\)")))
 
 
 (defun rx-quote-for-set (string)