Subject: bug#15231: closed (Re: bug#15231: 24.3.50; eshell: variable `name' treated different from other variables)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 12 Sep 2013 20:17:03 +0000

Your bug report

#15231: 24.3.50; eshell: variable `name' treated different from other variables

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
15231: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15231
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#15231: 24.3.50; eshell: variable `name' treated different from other variables
From: Stefan Monnier <[email-masked]>
To: Michael Albinus <[email-masked]>
Cc: [email-masked], Gregor Zattler <[email-masked]>, Aidan Gauland <[email-masked]>
Date: Thu, 12 Sep 2013 16:16:24 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

>> 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

Subject: 24.3.50; eshell: variable `name' treated different from other variables
From: Gregor Zattler <[email-masked]>
To: [email-masked]
Date: Sun, 01 Sep 2013 01:40:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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