Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Real KSH93 is finally free software!



Bart wrote:
> 
> Actually they *are* particularly tricky, because of the way zsh's nested
> parameter expansion passes data around.  Our first attempt to implement
> namerefs was what led to ${(P)var}.

For namerefs, the main job is cleaning up typeset code to not keep
disposing of parameters and recreating them anew. The typeset code is
also cluttered with special cases for handling special variables. So
some form of primitive typeset function needs to go in the _gsu struct.

> Discipline functions are ugly because in order to set them the parser has
> to implement the other missing bit of ksh syntax, which is namespaces as
> in ${foo.bar}.  Zsh doesn't allow "." as a valid character in variable

The ksh93 implementation of discipline functions doesn't cope well with
the fact that functions don't follow parameter scoping rules. So any
implementation of discipline functions may be better off using a
different design, incompatible with ksh.

Compound variables, namespaces and static scoping are higher on my
wishlist anyway.

Oliver



Messages sorted by: Reverse Date, Date, Thread, Author