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

Re: Zsh's and ksh's bang (!) expansion flags have different meanings



2026-07-21 16:27:08 +0200, Philippe Altherr:
> >
> > >>> In ksh, the (!) flag can be used to list the keys of arrays and
> > associative arrays. In that regard, it's closer to Zsh's (k) flag than
> > Zsh's (!) flag
> 
> 
> > The (k) flag was originally intended to mimic ksh's ! name prefix (due
> > to ! colliding with history).  The character "k" was chosen as a
> > mnemonic for "like (k)sh".
> 
> 
> Funny, I always assumed it was (k)ey (and (v)alue). Good thing that both
> ksh and key start with the same letter :-)
[...]

Me too and https://www.zsh.org/mla/workers/1998/msg00922.html
in design discussion for associative arrays would seem to
corroborate that.

Looking at git history, it seems those flags were added in
https://sourceforge.net/p/zsh/code/ci/d2330ba0554b09a3f942a921acfbbabcf6466bef/#diff-5
but not mentioned in changelog and apparently bundled with the
changes for https://www.zsh.org/mla/workers/2000/msg01372.html
by pws.

-- 
Stephane




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