Stephane CHAZELAS wrote:
> 2009-10-28 09:00:59 -0400, Chet Ramey:
>>> zle-line-init() zle overwrite-mode
>>> zle -N zle-line-init
>>>
>>> To get back on topic, bash is the only Bourne-like shell that I
>>> know that doesn't allow that function definition syntax above,
>>> I've always wondered why.
>> The Posix grammar has never allowed it (a `function_body' must be a
>> compound command, and that's what bash implements), and there has
>> never been sufficient demand to add it as an extension. 
> [...]
> 
> It's never allowed it to POSIX _scripts_, but it won't make a
> shell non-conformant to support it (and ksh, pdksh, ash, zsh
> even posh all do support it), just like most POSIX conformant
> shells support arrays for instance even though that's not a
> POSIX feature.

That's why I said it would be added as an extension.

> bash not supporting it helps for writing POSIX compliant scripts
> (as it will return an error if one tries to use that
> non-standard feature), but as bash is the only POSIX shell that
> doesn't support it, it feels a bit silly.

"Silly" it may be, but there's not really the demand for it.

> I wonder what's the rationale for POSIX not supporting it (is it
> because of bash?).

That would be the tail wagging the dog, wouldn't it?  It's never been
in the grammar.

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/


Reply via email to