[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r109560: * lisp/emacs-lisp/rx.el (rx-
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r109560: * lisp/emacs-lisp/rx.el (rx-constituents): Don't define as constant. |
Date: |
Fri, 10 Aug 2012 17:03:10 -0400 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 109560
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2012-08-10 17:03:10 -0400
message:
* lisp/emacs-lisp/rx.el (rx-constituents): Don't define as constant.
(rx-form): Simplify.
modified:
lisp/ChangeLog
lisp/emacs-lisp/rx.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-08-10 20:19:09 +0000
+++ b/lisp/ChangeLog 2012-08-10 21:03:10 +0000
@@ -1,3 +1,8 @@
+2012-08-10 Stefan Monnier <address@hidden>
+
+ * emacs-lisp/rx.el (rx-constituents): Don't define as constant.
+ (rx-form): Simplify.
+
2012-08-09 Dmitry Gutov <address@hidden>
Merge stuff from upsteam ruby-mode, part 1 (bug#12169).
=== modified file 'lisp/emacs-lisp/rx.el'
--- a/lisp/emacs-lisp/rx.el 2012-08-02 08:12:36 +0000
+++ b/lisp/emacs-lisp/rx.el 2012-08-10 21:03:10 +0000
@@ -107,7 +107,9 @@
;;; Code:
-(defconst rx-constituents
+;; FIXME: support macros.
+
+(defvar rx-constituents ;Not `const' because some modes extend it.
'((and . (rx-and 1 nil))
(seq . and) ; SRE
(: . and) ; SRE
@@ -831,27 +833,28 @@
FORM is a regular expression in sexp form.
RX-PARENT shows which type of expression calls and controls putting of
shy groups around the result and some more in other functions."
- (if (stringp form)
- (rx-group-if (regexp-quote form)
- (if (and (eq rx-parent '*) (< 1 (length form)))
- rx-parent))
- (cond ((integerp form)
- (regexp-quote (char-to-string form)))
- ((symbolp form)
- (let ((info (rx-info form nil)))
- (cond ((stringp info)
- info)
- ((null info)
- (error "Unknown rx form `%s'" form))
- (t
- (funcall (nth 0 info) form)))))
- ((consp form)
- (let ((info (rx-info (car form) 'head)))
- (unless (consp info)
- (error "Unknown rx form `%s'" (car form)))
- (funcall (nth 0 info) form)))
- (t
- (error "rx syntax error at `%s'" form)))))
+ (cond
+ ((stringp form)
+ (rx-group-if (regexp-quote form)
+ (if (and (eq rx-parent '*) (< 1 (length form)))
+ rx-parent)))
+ ((integerp form)
+ (regexp-quote (char-to-string form)))
+ ((symbolp form)
+ (let ((info (rx-info form nil)))
+ (cond ((stringp info)
+ info)
+ ((null info)
+ (error "Unknown rx form `%s'" form))
+ (t
+ (funcall (nth 0 info) form)))))
+ ((consp form)
+ (let ((info (rx-info (car form) 'head)))
+ (unless (consp info)
+ (error "Unknown rx form `%s'" (car form)))
+ (funcall (nth 0 info) form)))
+ (t
+ (error "rx syntax error at `%s'" form))))
;;;###autoload
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r109560: * lisp/emacs-lisp/rx.el (rx-constituents): Don't define as constant.,
Stefan Monnier <=