# HG changeset patch # User Eli Zaretskii # Date 1067708123 0 # Node ID d5c1eeaa97e234daa88625b161dd148e83a7bab3 # Parent 33edcfca670d2f1f7e66fe98def766ea94f86d4a (rx-or): Fix the case of "(rx (and ?a (or ?b ?c) ?d))". diff -r 33edcfca670d -r d5c1eeaa97e2 lisp/emacs-lisp/rx.el --- a/lisp/emacs-lisp/rx.el Sat Nov 01 17:12:02 2003 +0000 +++ b/lisp/emacs-lisp/rx.el Sat Nov 01 17:35:23 2003 +0000 @@ -286,9 +286,11 @@ (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)