On 2023-01-22 11:20, Bart Schaefer wrote:
I'm curious why you chose to do this? The "hide" attribute means that a local does not preserve semantics of a special global, not that it's name is invisible.
I was just about to ask that. There's a lot to learn from Roman's code but in an experimental frame of mind I have it boiled down to:
set -- "$@" ${(Pt)1}
print -rn -- "$2 ${(q-)1}"
# Seems unneeded:
# set -- "$@" ${(M)2:#(array|association)(|-*)}
print -r -- " = ${3:+( }${(j: :)${(@qqq)${(@kv)${(@P)1}}}}${3:+ )}"
... I'm completely new to this overwriting of '@', it works but it will
take a while to assimilate. Never seen anything like it before. Don't
know what to make of it.
I'll be interested in Roman's response to your further points before I grab the final edit. Oh, and my last line above, that blows my breakers, I don't have a prayer of understanding it right now. 4 levels of nesting?