From 7b58c351cf9f19ac243f33efcab74d475a58f947 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 30 Nov 2007 07:44:24 +0000 Subject: [PATCH] (declare-function): Add optional fourth argument and document it. --- lisp/emacs-lisp/byte-run.el | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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: -- 2.39.2