summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2011-05-11 19:36:05 -0700
committerGlenn Morris <rgm@gnu.org>2011-05-11 19:36:05 -0700
commitd45885f7e0025fb5bd0756ba78c511a981d64533 (patch)
tree536f1c2f0090603be5e828577038eb4beb78494b /lisp/emacs-lisp
parent488086f4dd22b95c37cf23bd4d1d9cc190aaf6b8 (diff)
downloademacs-d45885f7e0025fb5bd0756ba78c511a981d64533.tar.gz
emacs-d45885f7e0025fb5bd0756ba78c511a981d64533.tar.bz2
emacs-d45885f7e0025fb5bd0756ba78c511a981d64533.zip
bytecomp.el fix for bug#8647
* lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): Let byte-compile-initial-macro-environment always take precedence.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 02b886cdda0..e7f2115a848 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -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))))