On May 29, 2015 1:54 PM, "ZyX" wrote: > > But later it explicitly says that not enclosed in single braces may only be names or single-character variables. I.e. $#- is ${#}-, $10 is ${1}0, … Yes, but $#name to return the length of the value of $name is already a zsh extension, so unless we're in some emulation mode, treating $#- as the length of $- is perfectly reasonable. I vaguely recall having a similar discussion about the meaning of $## ... Related, is ${##foo} parsed like ${#name#foo} with an empty name, or ...?