GNU bug report logs -
#62746
[PATCH] Updated Elispref-Manual: `nil' cannot be defuned
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#62746: [PATCH] Updated Elispref-Manual: `nil' cannot be defuned
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 62746 <at> debbugs.gnu.org.
--
62746: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62746
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Shynur Xie <one.last.kiss <at> outlook.com>, 62746 <at> debbugs.gnu.org
> Date: Mon, 10 Apr 2023 10:14:59 -0400
>
> >> “The symbols nil and void are Lisp objects, and can be stored into a
> >> function cell just as any other object can be (and they can be valid
> >> functions if you define them in turn with defun).”
> >>
> >> Updated:
> >>
> >> “The symbols nil and void are Lisp objects, and can be stored into a
> >> function cell just as any other object can be (and void can be a
> >> valid function if you define it with defun).”
> >
> > Why do you think the original text needs to be corrected?
>
> Indeed, `nil` is treated specially to mean "not defined" when we try to
> call a function:
>
> Lisp_Object
> funcall_general (Lisp_Object fun, ptrdiff_t numargs, Lisp_Object *args)
> {
> Lisp_Object original_fun = fun;
> retry:
> if (SYMBOLP (fun) && !NILP (fun)
> && (fun = XSYMBOL (fun)->u.s.function, SYMBOLP (fun)))
> fun = indirect_function (fun);
>
> if (SUBRP (fun) && !SUBR_NATIVE_COMPILED_DYNP (fun))
> return funcall_subr (XSUBR (fun), numargs, args);
> else if (COMPILEDP (fun)
> || SUBR_NATIVE_COMPILED_DYNP (fun)
> || MODULE_FUNCTIONP (fun))
> return funcall_lambda (fun, numargs, args);
> else
> {
> if (NILP (fun))
> xsignal1 (Qvoid_function, original_fun);
>
Thanks. So I think our documentation is correct in this aspect, and
I'm therefore closing this bug.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Original:
“The symbols nil and void are Lisp objects, and can be stored into a
function cell just as any other object can be (and they can be valid
functions if you define them in turn with defun).”
Updated:
“The symbols nil and void are Lisp objects, and can be stored into a
function cell just as any other object can be (and void can be a
valid function if you define it with defun).”
________________________________________
By the way, I've sent a Copyright Assignment Request to
<assign <at> gnu.org> five days ago, but there is no reply. Is there any
additional information or action required from me?
> From: Eli Zaretskii
>
> Please email the following information to assign <at> gnu.org, and we
> will send you the assignment form for your past and future changes.
[0001-Updated-Elispref-Manual-nil-cannot-be-defuned.patch (application/octet-stream, attachment)]
This bug report was last modified 2 years and 109 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.