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 21:10:52 -0400 Message-ID: <8762y3onz7.fsf@stupidchicken.com> References: <8739t9xpt2.fsf@stupidchicken.com> <874odoweqm.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1284772276 23920 80.91.229.12 (18 Sep 2010 01:11:16 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 18 Sep 2010 01:11:16 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 18 03:11:15 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 1OwlxP-0002fq-Vf for ged-emacs-devel@m.gmane.org; Sat, 18 Sep 2010 03:11:12 +0200 Original-Received: from localhost ([127.0.0.1]:50160 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwlxP-0000Nf-A9 for ged-emacs-devel@m.gmane.org; Fri, 17 Sep 2010 21:11:11 -0400 Original-Received: from [140.186.70.92] (port=48275 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwlxA-0000HF-Qj for emacs-devel@gnu.org; Fri, 17 Sep 2010 21:10:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Owlx9-0004VQ-Mc for emacs-devel@gnu.org; Fri, 17 Sep 2010 21:10:56 -0400 Original-Received: from pantheon-po42.its.yale.edu ([130.132.50.101]:47235) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Owlx9-0004Uk-Kl for emacs-devel@gnu.org; Fri, 17 Sep 2010 21:10:55 -0400 Original-Received: from furry (dhcp128036014154.central.yale.edu [128.36.14.154]) (authenticated bits=0) by pantheon-po42.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o8I1ArYo002245 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 17 Sep 2010 21:10:54 -0400 Original-Received: by furry (Postfix, from userid 1000) id 2E0B4C018; Fri, 17 Sep 2010 21:10:53 -0400 (EDT) In-Reply-To: (Stefan Monnier's message of "Sat, 18 Sep 2010 00:17:04 +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:130372 Archived-At: Stefan Monnier writes: >> 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. > > Exactly: hence the new warning. This sounds fragile. If function argument names are the problem, why not just give them static scope, overriding any existing dynamic bindings? While it's idiomatic elisp to use `let' to bind dynamic variables, AFAICT no one uses function arguments to do the same.