On 9/24/14, 5:38 PM, Eric Blake wrote: > and I'd feel much more comfortable with exporting f()=... as the > backdoor for passing the function definition, _particularly_ since the > shell already allows functions and variables to co-exist:
We used to do that, and part of the code that I removed in patch 25 supported the original `name()=() {'. We didn't use that very long; it turns out that the Bourne shell (and others, at that time) dumps core on malformed environment variable names. It's why we stuck with shell identifiers, though the check for that didn't come in until later. I'd be willing to bet that the Bourne shell that still runs on Solaris, AIX, HP-UX, and SCO (if anyone still runs that) has this problem. -- ``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/