From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wojciech Meyer Newsgroups: gmane.emacs.devel Subject: Re: e and pi Date: Fri, 17 Sep 2010 17:06:02 +0100 Message-ID: References: <8739t9xpt2.fsf@stupidchicken.com> <874odoweqm.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1284739703 25002 80.91.229.12 (17 Sep 2010 16:08:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 17 Sep 2010 16:08:23 +0000 (UTC) Cc: Stefan Monnier , emacs-devel@gnu.org To: Chong Yidong Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 17 18:08:21 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 1OwdU1-0006rK-W8 for ged-emacs-devel@m.gmane.org; Fri, 17 Sep 2010 18:08:21 +0200 Original-Received: from localhost ([127.0.0.1]:53156 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwdTz-0001d5-Et for ged-emacs-devel@m.gmane.org; Fri, 17 Sep 2010 12:08:15 -0400 Original-Received: from [140.186.70.92] (port=43430 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OwdRu-0000MR-3m for emacs-devel@gnu.org; Fri, 17 Sep 2010 12:06:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OwdRr-0007UC-RE for emacs-devel@gnu.org; Fri, 17 Sep 2010 12:06:05 -0400 Original-Received: from mail-qw0-f41.google.com ([209.85.216.41]:60376) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OwdRr-0007Ty-Kh for emacs-devel@gnu.org; Fri, 17 Sep 2010 12:06:03 -0400 Original-Received: by qwf7 with SMTP id 7so2951299qwf.0 for ; Fri, 17 Sep 2010 09:06:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=i1QGZgA2VuPzEgiB3A2bgQiQ2KGMq1ECYMefQ0ckt6s=; b=dnswl83qyAPkf1cyHGTbHS+fPhkEsS88JALSbIx7OkLg2VG8irP19QMWL9fqZCeCHA eZK4xdN/dTjKusZtWXcN4GN5UG4cUabHT3gUgn6fYtykxJsOfssjaiEmPU9fyYGGK/if 6U+DbKdykCKZd8bWTb5kOsI7jwlweVOEdudTY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=AttrKMGqYdPddXODdkq3/aPXfIWnVdO/H8BXWIkDTihK1irJ8XEJreRV+ORULSiTu1 +31DPWCH95dwjIHcsclihQcievGGL3dtI2wTeCMxTH/hkOFWVi8DSF9Q5ICEA+BYHm2E HrY2ugRQOmGWwL78Wa5mpmP58P11X2JSWibro= Original-Received: by 10.229.216.16 with SMTP id hg16mr929236qcb.55.1284739562937; Fri, 17 Sep 2010 09:06:02 -0700 (PDT) Original-Received: by 10.229.92.9 with HTTP; Fri, 17 Sep 2010 09:06:02 -0700 (PDT) In-Reply-To: <874odoweqm.fsf@stupidchicken.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:130330 Archived-At: On Fri, Sep 17, 2010 at 4:50 PM, Chong Yidong wrote= : > 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: >> >> =A0 (defun make-inc (e) >> =A0 =A0 (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. =A0Someone might write > > =A0(defun froob (argv) > =A0 =A0 (lambda (f) (cons f argv))) > > and have that fail, because "argv" is a defvar defined in startup.el. That's why defvars should be with prefix. Wojciech