From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: Re: e and pi Date: Fri, 17 Sep 2010 11:50:57 -0400 Message-ID: <874odoweqm.fsf@stupidchicken.com> References: <8739t9xpt2.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1284738684 20099 80.91.229.12 (17 Sep 2010 15:51:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 17 Sep 2010 15:51:24 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 17 17:51:18 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OwdDZ-0001es-TM for ged-emacs-devel@m.gmane.org; Fri, 17 Sep 2010 17:51:18 +0200 Original-Received: from localhost ([127.0.0.1]:59772 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwdDZ-0004Pq-AR for ged-emacs-devel@m.gmane.org; Fri, 17 Sep 2010 11:51:17 -0400 Original-Received: from [140.186.70.92] (port=58092 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwdDO-0004MG-0y for emacs-devel@gnu.org; Fri, 17 Sep 2010 11:51:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OwdDH-0004zo-SP for emacs-devel@gnu.org; Fri, 17 Sep 2010 11:51:05 -0400 Original-Received: from pantheon-po40.its.yale.edu ([130.132.50.103]:42164) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OwdDH-0004zc-Pb for emacs-devel@gnu.org; Fri, 17 Sep 2010 11:50:59 -0400 Original-Received: from furry (dhcp128036014154.central.yale.edu [128.36.14.154]) (authenticated bits=0) by pantheon-po40.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o8HFowWJ010853 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 17 Sep 2010 11:50:58 -0400 Original-Received: by furry (Postfix, from userid 1000) id C1376C018; Fri, 17 Sep 2010 11:50:57 -0400 (EDT) In-Reply-To: (Stefan Monnier's message of "Fri, 17 Sep 2010 17:11:40 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:130327 Archived-At: Stefan Monnier writes: > in the current lexbind branch (where e is defined as a global/dynamic > variable), the below code would not do the same: > > (defun make-inc (e) > (lambda (f) (+ e f))) > > because "e" happens to be a predefined global variable with > dynamic-scoping semantics. This doesn't sound right---it means that people will have to make sure their function args do not coincide with any defvar, defined anywhere. It won't just be "e" and "pi" causing problems. Someone might write (defun froob (argv) (lambda (f) (cons f argv))) and have that fail, because "argv" is a defvar defined in startup.el.