On 3/28/13 1:05 AM, Dan Douglas wrote: > On Tuesday, March 26, 2013 08:33:52 PM Chet Ramey wrote: > > Thank you. I'm familiar with the declaration commands. It's issue 7, not TC1.
Actually, I don't think it's either. I think we're going to have to wait until issue 8 for these. > Are you saying here that even when a declaration command is _not_ identified, > that it's still correct for word expansions to not follow the usual rules for > regular non-declaration commands? > > Hopefully my examples were clear. What I don't understand is this: > > # This is correctly recognized > $ touch 'a=( x )' > $ declare a=( * ) > $ echo "$a" > a=( x ) > > # This should either be like above, or fail as below. > $ _= declare a=( * ) > $ echo "$a" > ( x ) I see the problem. The parser handles assignment statements preceding a command word, and marks assignments following declaration commands as assignment statements requiring special handling. The word expansion code, possibly making assumptions about when in the expansion process it will be called, does not. I will change this for 4.3-beta so the two are consistent. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/