Commit 8f4b37d8 authored by Glenn Morris's avatar Glenn Morris

(Declaring Functions): Add optional fourth

argument of declare-function, setting third argument to `t'.
parent 8fff8988
2007-11-30 Glenn Morris <rgm@gnu.org>
* functions.texi (Declaring Functions): Add optional fourth
argument of declare-function, and setting third argument to `t'.
2007-11-29 Glenn Morris <rgm@gnu.org>
* functions.texi (Declaring Functions): Add findex. Mention
......
......@@ -1266,10 +1266,11 @@ cases, this might be something like @code{(file &optional overwrite)}.
You don't have to specify the argument list, but if you do the
byte compiler can check that the calls match the declaration.
@defmac declare-function function file arglist
@defmac declare-function function file &optional arglist fileonly
Tell the byte compiler to assume that @var{function} is defined, with
arguments @var{arglist}, and that the definition should come from
the file @var{file}.
the file @var{file}. @var{fileonly} non-nil means only check that
@var{file} exists, not that it actually defines @var{function}.
@end defmac
To verify that these functions really are declared where
......@@ -1295,6 +1296,14 @@ If you prefix the filename in the @code{declare-function} statement with
@samp{ext:}, then it will be checked if it is found, otherwise skipped
without error.
There are some function definitions that @samp{check-declare} does not
understand (e.g. @code{defstruct} and some other macros). In such cases,
you can pass a non-@code{nil} fourth argument to @code{declare-function},
meaning to only check that the file exists, not that it actually defines
the function. Note that to do this without having to specify an
argument list, you should set the third argument to @code{t} (because
@code{nil} means an empty argument list, as opposed to an unspecified one).
@node Function Safety
@section Determining whether a Function is Safe to Call
@cindex function safety
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment