* etc/NEWS: Document 'help-display-function-type'.
* doc/lispref/functions.texi (Declare Form):
* doc/lispref/objects.texi (Type Specifiers):
* doc/emacs/help.texi (Name Help): Better indexing of function
types. (Bug#65288)
@key{RET} on emphasized parts of the text.
@cindex function type specifier
-
+@cindex declared type of a function
+@cindex inferred type of a function
The function type, if known, is expressed with a @dfn{function type
specifier} (@pxref{Type Specifiers,,,elisp, The Emacs Lisp Reference
Manual}), it will be specified if the type was manually declared by a
for the code emitted for the function (@pxref{Native-Compilation
Variables}).
+@cindex function type declaration
@item (ftype @var{type} &optional @var{function})
Declare @var{type} to be the type of this function. This is used for
documentation by @code{describe-function}. Also it can be used by the
The @code{member} type specifier allows to specify a type that includes
only the explicitly listed values.
+@cindex declared type of a function
@item (function (@var{arg-1-type} @dots{} @var{arg-n-type}) @var{return-type})
The @code{function} type specifier is used to describe the argument
types and the return type of a function. Argument types can be interleaved
'describe-bindings' when 'describe-bindings-outline' is non-nil.
---
-*** 'describe-function' shows the function inferred type when available.
+*** 'describe-function' shows the function's inferred type when available.
For native compiled Lisp functions, 'describe-function' prints (after
-the signature) the automatically inferred function type as well.
+the signature) the automatically inferred function type as well. If the
+function's type was explicitly declared (via the 'declare' form's
+'ftype' property), 'describe-function' shows the declared type. This is
+controlled by the new user option 'help-display-function-type', which is
+by default t; customize to nil to disable function type display.
---
*** 'describe-function' now shows the type of the function object.