mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-25 10:47:00 +00:00
(Declaring Functions): Add optional fourth
argument of declare-function, setting third argument to `t'.
This commit is contained in:
parent
8fff8988e6
commit
8f4b37d892
@ -1,3 +1,8 @@
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user