GNU bug report logs - #32284
special form documentation

Previous Next

Package: emacs;

Reported by: Nicholas Drozd <nicholasdrozd <at> gmail.com>

Date: Thu, 26 Jul 2018 23:35:02 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicholas Drozd <nicholasdrozd <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: special form documentation
Date: Thu, 26 Jul 2018 17:44:17 -0500
[Message part 1 (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 2 (text/html, inline)]

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.