summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2007-11-30 07:44:24 +0000
committerGlenn Morris <rgm@gnu.org>2007-11-30 07:44:24 +0000
commit7b58c351cf9f19ac243f33efcab74d475a58f947 (patch)
tree123100bbf646dc60b179931421ff58d29108bb83 /lisp/emacs-lisp
parent393209d6fc1ad24576d8cfecfebd954d87cd0f05 (diff)
downloademacs-7b58c351cf9f19ac243f33efcab74d475a58f947.tar.gz
emacs-7b58c351cf9f19ac243f33efcab74d475a58f947.tar.bz2
emacs-7b58c351cf9f19ac243f33efcab74d475a58f947.zip
(declare-function): Add optional fourth argument and document it.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/byte-run.el11
1 files changed, 10 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el
index 0445e7ca63e..6a5458df30f 100644
--- a/lisp/emacs-lisp/byte-run.el
+++ b/lisp/emacs-lisp/byte-run.el
@@ -103,7 +103,7 @@ 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)
+(defmacro declare-function (fn file &optional arglist fileonly)
"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
@@ -120,6 +120,15 @@ declaration. A FILE with an \"ext:\" prefix is an external file.
`check-declare' will check such files if they are found, and skip
them without error if they are not.
+FILEONLY non-nil means that `check-declare' will only check that
+FILE exists, not that it defines FN. This is intended for
+function-definitions that `check-declare' does not recognize, e.g.
+`defstruct'.
+
+To specify a value for FILEONLY without passing an argument list,
+set ARGLIST to `t'. This is necessary because `nil' means an
+empty argument list, rather than an unspecified one.
+
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: