]> code.delx.au - gnu-emacs/commitdiff
bytecomp.el fix for bug#8647
authorGlenn Morris <rgm@gnu.org>
Thu, 12 May 2011 02:36:05 +0000 (19:36 -0700)
committerGlenn Morris <rgm@gnu.org>
Thu, 12 May 2011 02:36:05 +0000 (19:36 -0700)
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
Let byte-compile-initial-macro-environment always take precedence.

lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el

index 40e9b00cd33ea73754f1d6f7b00907b0dafd8d71..b223382b27178bf87c173b12a09da95040aba7ac 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-12  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
+       Let byte-compile-initial-macro-environment always take precedence.
+
 2011-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * net/rcirc.el: Add support for SSL/TLS connections.
index 02b886cdda0e773d661fa12c9febe8ec4f71125e..e7f2115a8482857a266290992d1f2f221c0c3e62 100644 (file)
@@ -2421,7 +2421,11 @@ by side-effects."
 
     (let* ((code (byte-compile-lambda (nthcdr 2 form) t)))
       (if this-one
-         (setcdr this-one code)
+         ;; A definition in b-c-initial-m-e should always take precedence
+         ;; during compilation, so don't let it be redefined.  (Bug#8647)
+         (or (and macrop
+                  (assq name byte-compile-initial-macro-environment))
+             (setcdr this-one code))
        (set this-kind
             (cons (cons name code)
                   (symbol-value this-kind))))