From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?Johan_Bockg=C3=A5rd?= Newsgroups: gmane.emacs.devel Subject: Re: lexical-binding questions Date: Wed, 16 May 2012 00:59:06 +0200 Message-ID: <87d3656og5.fsf@gnu.org> References: <871umzrvfw.fsf@gmail.com> <33827449.post@talk.nabble.com> <87vcjylmfl.fsf@gnu.org> <33849639.post@talk.nabble.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1337122759 28940 80.91.229.3 (15 May 2012 22:59:19 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 15 May 2012 22:59:19 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 16 00:59:18 2012 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 1SUQi3-0003Cv-4Z for ged-emacs-devel@m.gmane.org; Wed, 16 May 2012 00:59:15 +0200 Original-Received: from localhost ([::1]:51447 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUQi2-0004HD-IE for ged-emacs-devel@m.gmane.org; Tue, 15 May 2012 18:59:14 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47835) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUQhy-0004Gs-UW for emacs-devel@gnu.org; Tue, 15 May 2012 18:59:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SUQhx-0003lg-4t for emacs-devel@gnu.org; Tue, 15 May 2012 18:59:10 -0400 Original-Received: from smtprelay-b22.telenor.se ([195.54.99.213]:42516) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUQhw-0003lT-U0 for emacs-devel@gnu.org; Tue, 15 May 2012 18:59:09 -0400 Original-Received: from ipb5.telenor.se (ipb5.telenor.se [195.54.127.168]) by smtprelay-b22.telenor.se (Postfix) with ESMTP id 61E45D67A for ; Wed, 16 May 2012 00:59:07 +0200 (CEST) X-SMTPAUTH-B2: [bocjoh] X-SENDER-IP: [85.229.0.223] X-LISTENER: [smtp.bredband.net] X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AllwAIrfsk9V5QDfPGdsb2JhbABEijyoJgOBHhkBAQEBNzSCFgEFJy8zCyElDwEEGAEMCi2IErsZi32BeYMmBKko X-IronPort-AV: E=Sophos;i="4.75,598,1330902000"; d="scan'208";a="115182984" Original-Received: from c-df00e555.04-211-6c6b701.cust.bredbandsbolaget.se (HELO muon.localdomain) ([85.229.0.223]) by ipb5.telenor.se with ESMTP; 16 May 2012 00:59:07 +0200 Original-Received: by muon.localdomain (Postfix, from userid 1000) id 597D46AC0B1; Wed, 16 May 2012 00:59:06 +0200 (CEST) Mail-Copies-To: never In-Reply-To: (Stefan Monnier's message of "Tue, 15 May 2012 16:14:49 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 195.54.99.213 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:150509 Archived-At: Stefan Monnier writes: >>> (setq lexical-binding t) >>> (let ((nil 0)) nil) => 0 > > Anyway, I guess nil and t should be marked as special-variable-p, if for > no other reason than because they are pretty damn special. The problem also applies to keyword symbols. I was thinking if (!NILP (lexenv) && SYMBOLP (var) + && !SYMBOL_CONSTANT_P (var) && !XSYMBOL (var)->declared_special && NILP (Fmemq (var, Vinternal_interpreter_environment))) /* Lexically bind VAR by adding it to the lexenv alist. */ lexenv = Fcons (Fcons (var, tem), lexenv); in let/let*.