From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [PATCH] Fix (letrec ((ignore))) Date: Sun, 13 Dec 2015 09:41:44 -0800 (PST) Message-ID: <89886369-1d66-4129-9290-56888a41661c@default> References: <20151211161116.GA8923@apertron.net> <20151213121315.GA2680@acm.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1450028536 13491 80.91.229.3 (13 Dec 2015 17:42:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 13 Dec 2015 17:42:16 +0000 (UTC) To: Alan Mackenzie , Kaushal Modi , Zack Piper , Artur Malabarba , =?iso-8859-1?B?QXVy6WxpZW4gQXB0ZWw=?= , Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 13 18:42:03 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a8Aep-00062P-AV for ged-emacs-devel@m.gmane.org; Sun, 13 Dec 2015 18:42:03 +0100 Original-Received: from localhost ([::1]:56046 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8Aeo-0007EV-I8 for ged-emacs-devel@m.gmane.org; Sun, 13 Dec 2015 12:42:02 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42831) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8Aek-0007Dn-7u for emacs-devel@gnu.org; Sun, 13 Dec 2015 12:41:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a8Aeh-0005w0-1q for emacs-devel@gnu.org; Sun, 13 Dec 2015 12:41:58 -0500 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:17349) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8Aeg-0005vt-S2 for emacs-devel@gnu.org; Sun, 13 Dec 2015 12:41:54 -0500 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id tBDHfn5E000917 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 13 Dec 2015 17:41:50 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id tBDHfnCi028058 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sun, 13 Dec 2015 17:41:49 GMT Original-Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id tBDHfluR020443; Sun, 13 Dec 2015 17:41:48 GMT In-Reply-To: <20151213121315.GA2680@acm.fritz.box> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:196212 Archived-At: > (let ((foo) ... ) ...) >=20 > is accepted by the interpreter and byte compiler, binding foo to nil. > Should we make that form invalid, too? Of course not. It is helpful to a (human) reader to distinguish the use of a `(foo nil)' let-binding from a `(foo)' let-binding. Some coders use the convention that showing the nil initial value explicitly indicates that this is the initialization, whereas `(foo)' indicates that the `let' body will perform the (real, significant) initialization. >From "Common Lisp, The Language", section Establishing New Variable Bindings: "Instead of a list (varj valuej), one may write simply varj. In this case varj is initialized to nil. As a matter of style, it is recommended that varj be written only when that variable will be stored into (such as by setq) before its first use. If it is important that the initial value be nil rather than some undefined value, then it is clearer to write out (varj nil) if the initial value is intended to mean ``false,'' or (varj '()) if the initial value is intended to be an empty list."