From unknown Tue Jun 24 03:26:26 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32284: special form documentation Resent-From: Nicholas Drozd Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Jul 2018 23:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 32284 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 32284@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.153264805825695 (code B ref -1); Thu, 26 Jul 2018 23:35:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Jul 2018 23:34:18 +0000 Received: from localhost ([127.0.0.1]:59393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiplx-0006gN-IK for submit@debbugs.gnu.org; Thu, 26 Jul 2018 19:34:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiozw-0005QK-9s for submit@debbugs.gnu.org; Thu, 26 Jul 2018 18:44:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fiozq-00023u-1D for submit@debbugs.gnu.org; Thu, 26 Jul 2018 18:44:35 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45617) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fiozp-00023p-Tp for submit@debbugs.gnu.org; Thu, 26 Jul 2018 18:44:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50417) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fiozo-0005GH-MF for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 18:44:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fiozn-00021D-RR for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 18:44:32 -0400 Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]:35235) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fiozn-0001yV-GT for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 18:44:31 -0400 Received: by mail-lj1-x235.google.com with SMTP id p10-v6so2841767ljg.2 for ; Thu, 26 Jul 2018 15:44:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=NytL5GnVd4zyLh0ICbxnOyFp0OwG3QP8LD9iOtVPC1s=; b=deSBoa8ooRapx0IQlZ5rXjFeZ8CVjACQPNrDB8mwjQFr45+lso/876G/IORCbQXNSy 0j9A7BNaFrBszw1o2WxrPIOMGC4UHLQ1fH0TIDgDd8bsRD2UsQzqZEesaEQ0s6XdXmYy Py4GTDoNilnL2ijzPGjjYIqk1bXrcfv169Zr/RxTgZo8phNnWwKpR7bdkEVwt3tl2JeJ bxTW8eDyam4apOh7GUjzckvBVqCJqeyjvSVp2gc60gu4LjLbNXIKxoV7rdo6dyoXTKK6 OClZdMuV7DIUQhHd4wdft8w/CYUYgKX4sM0kJsJwd9lU46NQvPpnP2KNzJzbvcCqy3Rx mQ5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NytL5GnVd4zyLh0ICbxnOyFp0OwG3QP8LD9iOtVPC1s=; b=FCm0r6PUoEkcRmVlpt5GEWg6AhD82XLZqg2ynZbyO4yUTfMS+9xFpOzj3Jn2xN8Thd p4HuYl4NcSSr7sDIe1SIMGhW2Ig6fcVD6XMHVs2lPpKG6ZgeVevi7WZs6TKHy3yUU0tK ATnSOf73W725ifZIer9KnEBnx29uCEnR1Z2GN2/6GFzAsXPF8BzuZ8jDEYjHdgfRWeF/ WC6KH/OZ6L1hGiE0TB2EkMdhBNLYeq6fdO2K/KlYWam79b/g+nAmN11jwD2BIM0wV/PP Woukfxj76jEjqvRT+F7iqVTXbfvBEfX+hdUUD2pGIRTP22my7Qws7e9zG01wfGUjX+zk EuNg== X-Gm-Message-State: AOUpUlFj4wcFcFMjUrU3TfcsvCrhorPL3CdLCCqIlZoRUt/SEHkuAutM 0pctPJPtx/M1dso2TwKEMso/OixK3HQPB5+SEHO/BR+o X-Google-Smtp-Source: AAOMgpevqiEzjlSE/OyhIThmNpOsMYw/dAinKyWp1lFSws62wwV1+yrh7Xh2cExkAGOij0q+EIo1jMjkwO3noMujtNQ= X-Received: by 2002:a2e:88d0:: with SMTP id a16-v6mr2834789ljk.63.1532645069366; Thu, 26 Jul 2018 15:44:29 -0700 (PDT) MIME-Version: 1.0 From: Nicholas Drozd Date: Thu, 26 Jul 2018 17:44:17 -0500 Message-ID: Content-Type: multipart/alternative; boundary="000000000000ed296a0571eebc52" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Mailman-Approved-At: Thu, 26 Jul 2018 19:34:16 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --000000000000ed296a0571eebc52 Content-Type: text/plain; charset="UTF-8" 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<)) --000000000000ed296a0571eebc52 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The Elisp manual section on Special Forms (10.2.7) li= sts around two dozen special forms, but two of them aren't special form= s.

* `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-quoti= ng"; this might be better changed to "self-evaluating".)

* `track-mouse' isn't a special form, but a m= acro wrapper around the primitive function `internal--track-mouse', whi= ch isn't a special form either. (Section 29.15 on Mouse Tracking also i= naccruately refers to `track-mouse' as a special form.)

<= /div>
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)
=C2=A0 (mapatoms
=C2=A0 =C2=A0(lambda (sym)
=C2= =A0 =C2=A0 =C2=A0(when (special-form-p sym)
=C2=A0 =C2=A0 =C2=A0 = =C2=A0(push sym special-forms))))
=C2=A0 (sort special-forms #= 9;string<))

--000000000000ed296a0571eebc52-- From unknown Tue Jun 24 03:26:26 2025 X-Loop: help-debbugs@gnu.org Subject: bug#32284: special form documentation Resent-From: Brett Gilio Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Jul 2018 00:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32284 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Nicholas Drozd Cc: 32284@debbugs.gnu.org Received: via spool by 32284-submit@debbugs.gnu.org id=B32284.153264989428450 (code B ref 32284); Fri, 27 Jul 2018 00:05:02 +0000 Received: (at 32284) by debbugs.gnu.org; 27 Jul 2018 00:04:54 +0000 Received: from localhost ([127.0.0.1]:59400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiqFa-0007Oo-E8 for submit@debbugs.gnu.org; Thu, 26 Jul 2018 20:04:54 -0400 Received: from mout01.posteo.de ([185.67.36.65]:49955) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiqFY-0007Oa-Gh for 32284@debbugs.gnu.org; Thu, 26 Jul 2018 20:04:53 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 729A32108B for <32284@debbugs.gnu.org>; Fri, 27 Jul 2018 02:04:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1532649886; bh=YujJJKliVXk++nFzZR1VTyzOPgHMWKcGDONHTzCJC10=; h=From:To:Cc:Subject:Date:From; b=nu7oJf6va4YP1V7qjId7DVKXfFjbO1sZExt1nUOVGlbkJjNeQ2IaBVfmjdJxxM68K KbQoK16cyiVxZmosT9VOO0Iyb6uGIc8WlagwUr1dtrfN4eURFsMLZkFJdwcf4sKWTy 8LokvgK47djP/+/cIUjr9IfjewXHqm/LcaPALXO+7tJ/LAhQ9jEO/vWl3Nc3ns1fHG At915k+WZEhrmYxOt8+vd2P8nH1SdZdkY8AUTZGiA7xvUVtHXXUqw6fu7LiZlP95cv ouLainklNx9zWTMgmFdBXJOF1riJScpPLe4RA3NLOmEQ4CS7T0f3dFUyVj/J/u0LZd esDnp6L7M0FmA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 41c8NF4PRSz6tm8; Fri, 27 Jul 2018 02:04:45 +0200 (CEST) References: User-agent: mu4e 1.0; emacs 27.0.50 From: Brett Gilio In-reply-to: Date: Thu, 26 Jul 2018 19:04:32 -0500 Message-ID: <876011r1bj.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; format=flowed X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Nicholas Drozd writes: > 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<)) Hi Nicholas, Thank you for the note. As far as I can see you are correct about the method of implementation being macros. But that does not exclude them from being special forms, as from my knowledge a special form is simply an expression that does not follow the formal rules for the implementation of a function. Most lisps define their special forms from a small subset of primitives such as lambda and macros, of which these apply. Anybody else have any input? -- Brett M. Gilio Free Software Foundation, Member https://parabola.nu | https://emacs.org From unknown Tue Jun 24 03:26:26 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Nicholas Drozd Subject: bug#32284: closed (Re: bug#32284: special form documentation) Message-ID: References: <83lg9vrfbg.fsf@gnu.org> X-Gnu-PR-Message: they-closed 32284 X-Gnu-PR-Package: emacs Reply-To: 32284@debbugs.gnu.org Date: Sat, 28 Jul 2018 07:27:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1532762821-23723-1" This is a multi-part message in MIME format... ------------=_1532762821-23723-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #32284: special form documentation 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 32284@debbugs.gnu.org. --=20 32284: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D32284 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1532762821-23723-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 32284-done) by debbugs.gnu.org; 28 Jul 2018 07:26:52 +0000 Received: from localhost ([127.0.0.1]:60728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fjJcq-0006AF-7Y for submit@debbugs.gnu.org; Sat, 28 Jul 2018 03:26:52 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fjJcp-0006A2-9B for 32284-done@debbugs.gnu.org; Sat, 28 Jul 2018 03:26:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fjJch-0003yX-0y for 32284-done@debbugs.gnu.org; Sat, 28 Jul 2018 03:26:46 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:47423) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fjJcg-0003yT-TV; Sat, 28 Jul 2018 03:26:42 -0400 Received: from [176.228.60.248] (port=1039 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fjJcg-0003p3-15; Sat, 28 Jul 2018 03:26:42 -0400 Date: Sat, 28 Jul 2018 10:26:43 +0300 Message-Id: <83lg9vrfbg.fsf@gnu.org> From: Eli Zaretskii To: Brett Gilio In-reply-to: <876011r1bj.fsf@posteo.net> (message from Brett Gilio on Thu, 26 Jul 2018 19:04:32 -0500) Subject: Re: bug#32284: special form documentation References: <876011r1bj.fsf@posteo.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32284-done Cc: 32284-done@debbugs.gnu.org, nicholasdrozd@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Brett Gilio > Date: Thu, 26 Jul 2018 19:04:32 -0500 > Cc: 32284@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. ------------=_1532762821-23723-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 26 Jul 2018 23:34:18 +0000 Received: from localhost ([127.0.0.1]:59393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiplx-0006gN-IK for submit@debbugs.gnu.org; Thu, 26 Jul 2018 19:34:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiozw-0005QK-9s for submit@debbugs.gnu.org; Thu, 26 Jul 2018 18:44:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fiozq-00023u-1D for submit@debbugs.gnu.org; Thu, 26 Jul 2018 18:44:35 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:45617) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fiozp-00023p-Tp for submit@debbugs.gnu.org; Thu, 26 Jul 2018 18:44:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50417) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fiozo-0005GH-MF for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 18:44:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fiozn-00021D-RR for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 18:44:32 -0400 Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]:35235) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fiozn-0001yV-GT for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 18:44:31 -0400 Received: by mail-lj1-x235.google.com with SMTP id p10-v6so2841767ljg.2 for ; Thu, 26 Jul 2018 15:44:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=NytL5GnVd4zyLh0ICbxnOyFp0OwG3QP8LD9iOtVPC1s=; b=deSBoa8ooRapx0IQlZ5rXjFeZ8CVjACQPNrDB8mwjQFr45+lso/876G/IORCbQXNSy 0j9A7BNaFrBszw1o2WxrPIOMGC4UHLQ1fH0TIDgDd8bsRD2UsQzqZEesaEQ0s6XdXmYy Py4GTDoNilnL2ijzPGjjYIqk1bXrcfv169Zr/RxTgZo8phNnWwKpR7bdkEVwt3tl2JeJ bxTW8eDyam4apOh7GUjzckvBVqCJqeyjvSVp2gc60gu4LjLbNXIKxoV7rdo6dyoXTKK6 OClZdMuV7DIUQhHd4wdft8w/CYUYgKX4sM0kJsJwd9lU46NQvPpnP2KNzJzbvcCqy3Rx mQ5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NytL5GnVd4zyLh0ICbxnOyFp0OwG3QP8LD9iOtVPC1s=; b=FCm0r6PUoEkcRmVlpt5GEWg6AhD82XLZqg2ynZbyO4yUTfMS+9xFpOzj3Jn2xN8Thd p4HuYl4NcSSr7sDIe1SIMGhW2Ig6fcVD6XMHVs2lPpKG6ZgeVevi7WZs6TKHy3yUU0tK ATnSOf73W725ifZIer9KnEBnx29uCEnR1Z2GN2/6GFzAsXPF8BzuZ8jDEYjHdgfRWeF/ WC6KH/OZ6L1hGiE0TB2EkMdhBNLYeq6fdO2K/KlYWam79b/g+nAmN11jwD2BIM0wV/PP Woukfxj76jEjqvRT+F7iqVTXbfvBEfX+hdUUD2pGIRTP22my7Qws7e9zG01wfGUjX+zk EuNg== X-Gm-Message-State: AOUpUlFj4wcFcFMjUrU3TfcsvCrhorPL3CdLCCqIlZoRUt/SEHkuAutM 0pctPJPtx/M1dso2TwKEMso/OixK3HQPB5+SEHO/BR+o X-Google-Smtp-Source: AAOMgpevqiEzjlSE/OyhIThmNpOsMYw/dAinKyWp1lFSws62wwV1+yrh7Xh2cExkAGOij0q+EIo1jMjkwO3noMujtNQ= X-Received: by 2002:a2e:88d0:: with SMTP id a16-v6mr2834789ljk.63.1532645069366; Thu, 26 Jul 2018 15:44:29 -0700 (PDT) MIME-Version: 1.0 From: Nicholas Drozd Date: Thu, 26 Jul 2018 17:44:17 -0500 Message-ID: Subject: special form documentation To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="000000000000ed296a0571eebc52" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 26 Jul 2018 19:34:16 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --000000000000ed296a0571eebc52 Content-Type: text/plain; charset="UTF-8" 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<)) --000000000000ed296a0571eebc52 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
The Elisp manual section on Special Forms (10.2.7) li= sts around two dozen special forms, but two of them aren't special form= s.

* `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-quoti= ng"; this might be better changed to "self-evaluating".)

* `track-mouse' isn't a special form, but a m= acro wrapper around the primitive function `internal--track-mouse', whi= ch isn't a special form either. (Section 29.15 on Mouse Tracking also i= naccruately refers to `track-mouse' as a special form.)

<= /div>
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)
=C2=A0 (mapatoms
=C2=A0 =C2=A0(lambda (sym)
=C2= =A0 =C2=A0 =C2=A0(when (special-form-p sym)
=C2=A0 =C2=A0 =C2=A0 = =C2=A0(push sym special-forms))))
=C2=A0 (sort special-forms #= 9;string<))

--000000000000ed296a0571eebc52-- ------------=_1532762821-23723-1--