diff options
author | Glenn Morris <rgm@gnu.org> | 2007-11-17 03:45:17 +0000 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2007-11-17 03:45:17 +0000 |
commit | aefbd1608c5aca54cc04306792f7d10915fb8006 (patch) | |
tree | 009a902e7b4e4c95390b992401a6d683c865d273 /lisp/emacs-lisp/byte-run.el | |
parent | 43ab13de0b74f3d9f27797d8cad877b0ab478499 (diff) | |
download | emacs-aefbd1608c5aca54cc04306792f7d10915fb8006.tar.gz emacs-aefbd1608c5aca54cc04306792f7d10915fb8006.tar.bz2 emacs-aefbd1608c5aca54cc04306792f7d10915fb8006.zip |
(declare-function): New macro.
Diffstat (limited to 'lisp/emacs-lisp/byte-run.el')
-rw-r--r-- | lisp/emacs-lisp/byte-run.el | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 267173c1713..b0525cbc7c6 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -103,6 +103,25 @@ The return value of this function is not used." (eval-and-compile (put ',name 'byte-optimizer 'byte-compile-inline-expand)))) +(defmacro declare-function (fn file &optional arglist) + "Tell the byte-compiler that function FN is defined, in FILE. +Optional ARGLIST is the argument list used by the function. The +FILE argument is not used by the byte-compiler, but by the +`check-declare' package, which checks that FILE contains a +definition for FN. FILE should be either absolute, or relative +to the location of the file containing the declaration. ARGLIST +is used by both the byte-compiler and `check-declare' to check +for consistency. + +Note that for the purposes of `check-declare', this statement +must be the first non-whitespace on a line, and everything up to +the end of FILE must be all on the same line. For example: + +\(declare-function c-end-of-defun \"progmodes/cc-cmds.el\" + \(&optional arg))" + ;; Does nothing - byte-compile-declare-function does the work. + ) + (defun make-obsolete (obsolete-name current-name &optional when) "Make the byte-compiler warn that OBSOLETE-NAME is obsolete. The warning will say that CURRENT-NAME should be used instead. |