emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r100018: * emacs-lisp/rx.el (rx-an


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r100018: * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in - or ].
Date: Sun, 05 Sep 2010 11:44:55 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100018
committer: Stefan Monnier <address@hidden>
branch nick: emacs-23
timestamp: Sun 2010-09-05 11:44:55 +0200
message:
  * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in - or ].
  (rx-any-condense-range): Explode 2-char ranges.
modified:
  lisp/ChangeLog
  lisp/emacs-lisp/rx.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-09-02 11:47:15 +0000
+++ b/lisp/ChangeLog    2010-09-05 09:44:55 +0000
@@ -1,3 +1,9 @@
+2010-09-05  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in special
+       chars like - or ] (bug#6984).
+       (rx-any-condense-range): Explode 2-char ranges.
+
 2010-09-02  Stefan Monnier  <address@hidden>
 
        * textmodes/bibtex.el:

=== modified file 'lisp/emacs-lisp/rx.el'
--- a/lisp/emacs-lisp/rx.el     2010-06-29 12:09:07 +0000
+++ b/lisp/emacs-lisp/rx.el     2010-09-05 09:44:55 +0000
@@ -427,7 +427,7 @@
            (mapcar (lambda (e)
                      (cond
                       ((= (car e) (cdr e)) (list (car e)))
-                      ;; ((= (1+ (car e)) (cdr e)) (list (car e) (cdr e)))
+                      ((= (1+ (car e)) (cdr e)) (list (car e) (cdr e)))
                       ((list e))))
                    l))
      (delete-dups str))))
@@ -545,7 +545,10 @@
                            ((numberp e) (string e))
                            ((consp e)
                             (if (and (= (1+ (car e)) (cdr e))
-                                     (null (memq (car e) '(?\] ?-))))
+                                      ;; rx-any-condense-range should
+                                      ;; prevent this case from happening.
+                                     (null (memq (car e) '(?\] ?-)))
+                                      (null (memq (cdr e) '(?\] ?-))))
                                 (string (car e) (cdr e))
                               (string (car e) ?- (cdr e))))
                            (e)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]