diff options
author | Glenn Morris <rgm@gnu.org> | 2011-05-11 09:31:33 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2011-05-11 09:31:33 -0700 |
commit | 7d3b9d44989043a707d936561613a4d5afcd47f4 (patch) | |
tree | 83e1a39e74afdbe6403c62285781d00c97abfe2f /lisp/emacs-lisp/bytecomp.el | |
parent | 15cc1ab1f0607f32ac76fa689df140cb1b3e27bd (diff) | |
download | emacs-7d3b9d44989043a707d936561613a4d5afcd47f4.tar.gz emacs-7d3b9d44989043a707d936561613a4d5afcd47f4.tar.bz2 emacs-7d3b9d44989043a707d936561613a4d5afcd47f4.zip |
bytecomp.el partial fix for bug#8646.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
Handle symbol elements of byte-compile-initial-macro-environment.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 6ca8eed8ac6..e8d8993044c 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1314,7 +1314,15 @@ extra args." ;; number of arguments. (defun byte-compile-arglist-warn (form macrop) (let* ((name (nth 1 form)) - (old (byte-compile-fdefinition name macrop))) + (old (byte-compile-fdefinition name macrop)) + (initial (and macrop + (cdr (assq name + byte-compile-initial-macro-environment))))) + ;; Assumes an element of b-c-i-macro-env that is a symbol points + ;; to a defined function. (Bug#8646) + (and initial (symbolp initial) + (setq old (byte-compile-fdefinition initial nil) + initial 'yes)) (if (and old (not (eq old t))) (progn (and (eq 'macro (car-safe old)) |