From unknown Tue Jun 24 03:24:15 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#32284 <32284@debbugs.gnu.org> To: bug#32284 <32284@debbugs.gnu.org> Subject: Status: special form documentation Reply-To: bug#32284 <32284@debbugs.gnu.org> Date: Tue, 24 Jun 2025 10:24:15 +0000 retitle 32284 special form documentation reassign 32284 emacs submitter 32284 Nicholas Drozd severity 32284 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 26 19:34:18 2018 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-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 26 20:04:54 2018 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 To: Nicholas Drozd Subject: Re: bug#32284: special form documentation 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-Debbugs-Envelope-To: 32284 Cc: 32284@debbugs.gnu.org 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 debbugs-submit-bounces@debbugs.gnu.org Sat Jul 28 03:26:52 2018 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. From unknown Tue Jun 24 03:24:15 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 25 Aug 2018 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator