+2011-05-11 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
+ Handle symbol elements of byte-compile-initial-macro-environment.
+
2011-05-10 Leo Liu <sdl.web@gmail.com>
* bookmark.el (bookmark-bmenu-mode-map): Bind
;; 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))