From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Brett Gilio Newsgroups: gmane.emacs.bugs Subject: bug#32284: special form documentation Date: Thu, 26 Jul 2018 19:04:32 -0500 Message-ID: <876011r1bj.fsf@posteo.net> References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; format=flowed X-Trace: blaine.gmane.org 1532649798 3512 195.159.176.226 (27 Jul 2018 00:03:18 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 27 Jul 2018 00:03:18 +0000 (UTC) User-Agent: mu4e 1.0; emacs 27.0.50 Cc: 32284@debbugs.gnu.org To: Nicholas Drozd Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jul 27 02:03:14 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fiqDx-0000np-Uy for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 Jul 2018 02:03:14 +0200 Original-Received: from localhost ([::1]:38486 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fiqG2-0004BV-BP for geb-bug-gnu-emacs@m.gmane.org; Thu, 26 Jul 2018 20:05:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fiqFm-000499-0G for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 20:05:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fiqFi-0001RD-RH for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 20:05:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54382) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fiqFi-0001Qy-MI for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 20:05:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fiqFi-0007PC-AF for bug-gnu-emacs@gnu.org; Thu, 26 Jul 2018 20:05:02 -0400 X-Loop: help-debbugs@gnu.org 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: Original-Received: via spool by 32284-submit@debbugs.gnu.org id=B32284.153264989428450 (code B ref 32284); Fri, 27 Jul 2018 00:05:02 +0000 Original-Received: (at 32284) by debbugs.gnu.org; 27 Jul 2018 00:04:54 +0000 Original-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 Original-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 Original-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== Original-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) In-reply-to: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:148988 Archived-At: 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