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