I've had a bit of a look at the possibility of implementing ksh93 style named references. The purpose of this e-mail is as a feeler to sound out your opinions. For the benefit of anyone who is not familiar with them, it involves a new -n option to typeset so typeset -n ref=val creates a parameter -- ref -- which is then effectively a synonym for the val parameter. unset also gains a -n option to unset the reference as opposed to what it refers to. This is handy in the sort of situations where eval or ${(P)var} might currently be used but has certain advantages (in my opinion) such as cleaner syntax.and the ability to remember the local level of the variable referenced. I've attached the text file where I've been jotting down any issues I've thought of. There are a number of unusual issues (like the one with for loops) so it is quite possible I've missed something. I've also attached a patch of what I've done so far in case you are interested but be aware that it has a number of problems and limitations. At the moment I'm not interested in minor bug reports (unless obscure) but am interested if you have more fundamental suggestions. I'm going to be away until Wednesday but I should have more time after then to devote to it. At the moment, the basics work. I have not implemented ksh93's ${!ref} which expands to whatever ref is a reference to. This syntax is a csh style history reference in zsh, so I feared that any attempt by me to implement it would break something else. It might be better to do this with a parameter expansion flag (possibly two to allow a single dereference in addition to ksh's full dereference?)? At the moment, I've crudely implemented this with d as the expansion flag. Oliver