> [false || local() { ...; } is a syntax error]

Although I don't think special builtins shall be valid function names, I
think there is still a bug in dash here: 'local' should not be a special
builtin.

When 'local' was made a special builtin, I remarked on the dash mailing
list that that change may not be a good idea:
http://www.mail-archive.com/dash@vger.kernel.org/msg00268.html

I think this is a concrete reason why I was right. 'local' should be a
regular builtin and should be made to work in another way, such as by:
* adding a special case to evalcommand() for 'local' (if (spclbltin > 0
  || argc == 0)), or
* modifying localcmd() so only local variables are only added to
  localvars lists belonging to functions.

Although I have not tried, the former looks easiest.

-- 
Jilles Tjoelker



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to