From 5ac1f0de47720a19225d71e83b906192940a6917 Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Sat, 27 Apr 2019 09:40:10 +0200 Subject: [PATCH] Improve documentation of the 'function' special form Point out that 'function' quoting is beneficial also for symbols. * src/eval.c (function): Enhance docstring. * doc/lispref/functions.texi (Anonymous Functions): Improve documentation. --- doc/lispref/functions.texi | 4 ++++ src/eval.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 97f7fb9f79..09844318d9 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1122,6 +1122,10 @@ Anonymous Functions When lexical binding is enabled, @var{function-object} is converted into a closure. @xref{Closures}. @end itemize + +When @var{function-object} is a symbol and the code is byte compiled, +the byte-compiler will warn should that function be undefined or may +be unknown at run-time. @end defspec @cindex @samp{#'} syntax diff --git a/src/eval.c b/src/eval.c index 567c32e0d7..5bba876637 100644 --- a/src/eval.c +++ b/src/eval.c @@ -544,8 +544,8 @@ usage: (quote ARG) */) DEFUN ("function", Ffunction, Sfunction, 1, UNEVALLED, 0, doc: /* Like `quote', but preferred for objects which are functions. -In byte compilation, `function' causes its argument to be compiled. -`quote' cannot do that. +In byte compilation, `function' causes its argument to be handled by +the byte compiler. `quote' cannot do that. usage: (function ARG) */) (Lisp_Object args) { -- 2.20.1