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