mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 14:30:50 -08:00
Fix byte-compiler pacification for declare-function
Problem reported by Michael Heerdegen in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00590.html * lisp/emacs-lisp/bytecomp.el: (byte-compile-macroexpand-declare-function): Revert signature to previous value. * lisp/subr.el (declare-function): Change signature to match the reverted signature used in the byte compiler.
This commit is contained in:
parent
2f58c503dd
commit
f865e2f1e8
2 changed files with 10 additions and 9 deletions
|
|
@ -2958,24 +2958,23 @@ for symbols generated by the byte compiler itself."
|
|||
(list body))))
|
||||
|
||||
;; Special macro-expander used during byte-compilation.
|
||||
(defun byte-compile-macroexpand-declare-function (fn file &optional arglist
|
||||
fileonly)
|
||||
(let ((gotargs (listp arglist))
|
||||
(defun byte-compile-macroexpand-declare-function (fn file &rest args)
|
||||
(let ((gotargs (and (consp args) (listp (car args))))
|
||||
(unresolved (assq fn byte-compile-unresolved-functions)))
|
||||
(when unresolved ; function was called before declaration
|
||||
(if (and gotargs (byte-compile-warning-enabled-p 'callargs))
|
||||
(byte-compile-arglist-warn fn arglist nil)
|
||||
(byte-compile-arglist-warn fn (car args) nil)
|
||||
(setq byte-compile-unresolved-functions
|
||||
(delq unresolved byte-compile-unresolved-functions))))
|
||||
(push (cons fn (if gotargs
|
||||
(list 'declared arglist)
|
||||
(list 'declared (car args))
|
||||
t)) ; Arglist not specified.
|
||||
byte-compile-function-environment))
|
||||
;; We are stating that it _will_ be defined at runtime.
|
||||
(setq byte-compile-noruntime-functions
|
||||
(delq fn byte-compile-noruntime-functions))
|
||||
;; Delegate the rest to the normal macro definition.
|
||||
(macroexpand `(declare-function ,fn ,file ,arglist ,fileonly)))
|
||||
(macroexpand `(declare-function ,fn ,file ,@args)))
|
||||
|
||||
|
||||
;; This is the recursive entry point for compiling each subform of an
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue