GNU bug report logs - #15231
24.3.50; eshell: variable `name' treated different from other variables

Previous Next

Package: emacs;

Reported by: Gregor Zattler <telegraph <at> gmx.net>

Date: Sat, 31 Aug 2013 23:42:01 UTC

Severity: normal

Found in version 24.3.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#15231: closed (24.3.50; eshell: variable `name' treated
 different from other variables)
Date: Thu, 12 Sep 2013 20:17:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 12 Sep 2013 16:16:24 -0400
with message-id <jwvk3ilu7dc.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#15231: 24.3.50; eshell: variable `name' treated different from other variables
has caused the debbugs.gnu.org bug report #15231,
regarding 24.3.50; eshell: variable `name' treated different from other variables
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
15231: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15231
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Gregor Zattler <telegraph <at> gmx.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50;
 eshell: variable `name' treated different from other variables
Date: Sun, 01 Sep 2013 01:40:19 +0200
Dear Emacs developers,

eshell treats a variable named `name' different than a variable
named `foo' (or any(?) other name):

How to reproduce:

emacs -Q -nw -f eshell
#now type
for foo in * { echo "$foo" } 
# this lists the directory Emacs was started in
#now type
for name in * { echo "$name" } 
# this instead lists as many times 'name' as the above
# for statement listed objects in the directory.

E.g.:

~/src/emacs/doc $ for foo in * { echo "$foo" } 
Emacs/
lispintro/
lispref/
man/
misc/
~/src/emacs/doc $ for name in * { echo "$name" } 
name
name
name
name
name
~/src/emacs/doc $


This is the case  with 

GNU Emacs 24.3.50.1 (i486-pc-linux-gnu, X toolkit, Xaw scroll
bars) of 2013-08-31 on dex, modified by Debian

and with

GNU Emacs 23.4.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll
bars) of 2013-07-01 on binet, modified by Debian


Is this a bug?

Thanks, Gregor
 


[Message part 3 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 15231-done <at> debbugs.gnu.org, Gregor Zattler <telegraph <at> gmx.net>,
 Aidan Gauland <aidalgol <at> no8wireless.co.nz>
Subject: Re: bug#15231: 24.3.50;
 eshell: variable `name' treated different from other variables
Date: Thu, 12 Sep 2013 16:16:24 -0400
>> I've just tried to convert Eshell to use lexical-binding and it appears
>> that this problem would indeed be fixed by such a change (if someone has
>> some kind of test suite for Eshell it would be very helpful, since
>> changing it to use lexical-binding is not completely trivial and might
>> introduce unexpected regressions).
> There is test/eshell.el. Btw, shouldn't it be moved to test/automated/ ?

Cool, indeed.  I moved the file, added a test to catch this bug, and
changed Eshell to use lexical-binding.


        Stefan


This bug report was last modified 11 years and 311 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.