GNU bug report logs -
#32284
special form documentation
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 28 Jul 2018 10:26:43 +0300
with message-id <83lg9vrfbg.fsf <at> gnu.org>
and subject line Re: bug#32284: special form documentation
has caused the debbugs.gnu.org bug report #32284,
regarding special form documentation
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
32284: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32284
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
The Elisp manual section on Special Forms (10.2.7) lists around two dozen
special forms, but two of them aren't special forms.
* `lambda', it turns out, is not a special form, but a macro that wraps
itself in a call to the special form `function'. (The documentation for
`lambda' refers to it as "self-quoting"; this might be better changed to
"self-evaluating".)
* `track-mouse' isn't a special form, but a macro wrapper around the
primitive function `internal--track-mouse', which isn't a special form
either. (Section 29.15 on Mouse Tracking also inaccruately refers to
`track-mouse' as a special form.)
On the other hand, the special form `inline' is not listed in the Special
Forms section.
A list of all special forms can be gotten with
(let (special-forms)
(mapatoms
(lambda (sym)
(when (special-form-p sym)
(push sym special-forms))))
(sort special-forms #'string<))
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
> From: Brett Gilio <brettg <at> posteo.net>
> Date: Thu, 26 Jul 2018 19:04:32 -0500
> Cc: 32284 <at> debbugs.gnu.org
>
> Anybody else have any input?
I do: the point about track-mouse is correct: it used to be a special
form (implemented in C), but nowadays is a macro. So I removed it
from the list of special forms.
I didn't do anything about 'lambda', because its user-facing behavior
is that of a special form, and the fact that it is a thin wrapper
around 'function' is an implementation detail that doesn't necessarily
matter in this context.
With that, I'm closing this bug report.
Thanks.
This bug report was last modified 6 years and 304 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.