summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2022-05-11 10:13:09 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2022-05-11 10:18:12 -0700
commit4f27e4ff02d9d96b5cfbd196dd724e4a056cd8ef (patch)
tree10075770ba0daf732360fe37b379b9e78414937b /src/eval.c
parent678e05e851af9e5b1fdc50d7d2a661b33ad663d5 (diff)
functionp doc improvement
* doc/lispref/eval.texi, doc/lispref/functions.texi, src/eval.c: Document functionp a bit more carefully. It can return t on non-functions.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c
index 950338bf799..29c122e2fb2 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2805,9 +2805,11 @@ apply1 (Lisp_Object fn, Lisp_Object arg)
DEFUN ("functionp", Ffunctionp, Sfunctionp, 1, 1, 0,
doc: /* Return t if OBJECT is a function.
-An object is a function if it is callable via `funcall';
-this includes primitive functions, byte-code functions, closures, and
-symbols with function bindings. */)
+An object is a function if it is callable via `funcall'; this includes
+symbols with function bindings, but excludes macros and special forms.
+
+Ordinarily return nil if OBJECT is not a function, although t might be
+returned in rare cases. */)
(Lisp_Object object)
{
if (FUNCTIONP (object))