emacs-diffs
[Top][All Lists]
Advanced

[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


reply via email to

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