aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2010-09-05 11:44:55 +0200
committerStefan Monnier2010-09-05 11:44:55 +0200
commit19fe13dfd1d44483bca28b4ad57c55ac1ef68892 (patch)
treeb9f1db5589763d4699e50755fd1a7dcb3b80ff76
parent89532a078eec050920b444be8d011e952c53157f (diff)
downloademacs-19fe13dfd1d44483bca28b4ad57c55ac1ef68892.tar.gz
emacs-19fe13dfd1d44483bca28b4ad57c55ac1ef68892.zip
* emacs-lisp/rx.el (rx-any): Don't explode ranges that end in - or ].
(rx-any-condense-range): Explode 2-char ranges. Fixes: debbugs:6984
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/emacs-lisp/rx.el7
2 files changed, 11 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ea973172b3a..21eaa4c15d3 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12010-09-05 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * emacs-lisp/rx.el (rx-any): Don't explode ranges that end in special
4 chars like - or ] (bug#6984).
5 (rx-any-condense-range): Explode 2-char ranges.
6
12010-09-02 Stefan Monnier <monnier@iro.umontreal.ca> 72010-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
2 8
3 * textmodes/bibtex.el: 9 * textmodes/bibtex.el:
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el
index 85fe3514b01..522d452c2dc 100644
--- a/lisp/emacs-lisp/rx.el
+++ b/lisp/emacs-lisp/rx.el
@@ -427,7 +427,7 @@ Only both edges of each range is checked."
427 (mapcar (lambda (e) 427 (mapcar (lambda (e)
428 (cond 428 (cond
429 ((= (car e) (cdr e)) (list (car e))) 429 ((= (car e) (cdr e)) (list (car e)))
430 ;; ((= (1+ (car e)) (cdr e)) (list (car e) (cdr e))) 430 ((= (1+ (car e)) (cdr e)) (list (car e) (cdr e)))
431 ((list e)))) 431 ((list e))))
432 l)) 432 l))
433 (delete-dups str)))) 433 (delete-dups str))))
@@ -545,7 +545,10 @@ ARG is optional."
545 ((numberp e) (string e)) 545 ((numberp e) (string e))
546 ((consp e) 546 ((consp e)
547 (if (and (= (1+ (car e)) (cdr e)) 547 (if (and (= (1+ (car e)) (cdr e))
548 (null (memq (car e) '(?\] ?-)))) 548 ;; rx-any-condense-range should
549 ;; prevent this case from happening.
550 (null (memq (car e) '(?\] ?-)))
551 (null (memq (cdr e) '(?\] ?-))))
549 (string (car e) (cdr e)) 552 (string (car e) (cdr e))
550 (string (car e) ?- (cdr e)))) 553 (string (car e) ?- (cdr e))))
551 (e))) 554 (e)))