Re: List of pending patches

Bart Schaefer <[email protected]>
Newsgroups gmane.comp.shells.zsh.devel
Message-ID <CAH+w=7bmMsHbOBr9JhvA5XJkHj0S6kQh-qHZRpmbgORX0-3twg@mail.gmail.com>
On Fri, Aug 14, 2026 at 4:26 PM Philippe Altherr
<[email protected]> wrote:
>
> The following two would be helpful for ongoing work.
>
> - Drop some reference specific code from typeset - workers/55046

I've not applied this because it appears to duplicate parts of 55026
-- can you provide another updated patch?

> - Use realparamtab in param_private.c and util.c - workers/54810

I decided to apply only the param_private.c hunks of this, changing
util.c would prevent spell checking of hash keys should that ever come
up.

> - Perform cumulative typesetting also on parameters with no value - workers/55020

Done

> - More readable parameter definitions in params.c - workers/55022

Accepted

> - Fix bang flag in ${(!)ref::=var} substitutions - workers/55026

Applied

> - Don't map ksh's ! to Zsh's (!k), map it to (k) - workers/55047

I've applied the first patch but not yet the "DO NOT COMMIT" patch.
However, I'm inclined to agree with your assessment in workers/55091
after reviewing your table.

> - The substitution flags (v!) are forbidden, also forbid (!v) - workers/54940

Done (oops, I was trying to do each in X-Seq order to avoid conflicts,
but missed this one)

> - Forbid break/continue in subshells - workers/55061

Included the first patch, but not the second ("break N" would error
for oversize N).

> - Fix named reference documentation - workers/55069

Applied, but I have a niggle with this bit:

+A named reference declared with the `tt(-n)' option to any of the
+`tt(typeset)' commands acts as a reference to another parameter, which

"A named reference ... acts as a reference" reads wrong to me,  The
original sentence "A named parameter declared with ..." intentionally
did not introduce the term "named reference" until after "acts as a
reference" had been stated.  (The original term "named parameter" was
differentiating from "positional parameter" in context.)

> - Reorder the documentation of typeset flags - workers/55070
>   Only documentation

I've not applied this yet because I'm not entirely happy with moving
'-n' into the list of parameters with everything else.  The
introduction to `typeset` looks like this:

typeset [ {+|-}AHUaghlmrtux ] [ {+|-}EFLRZip [ N ] ]
        [ + ] [ NAME[=VALUE] ... ]
typeset {+|-}n [ -g ] [ {+|-}r ] [ NAME[=VALUE] ... ]
typeset -T [ {+|-}Uglrux ] [ {+|-}LRZp [ N ] ]
        [ + | SCALAR[=VALUE] ARRAY[=(VALUE ...)] [ SEP ] ]
typeset -f [ {+|-}TUkmtuz ] [ + ] [ NAME ... ]

This implies that there are four different entities being managed:
"normal" parameters with all their bells and whistles; named
references; tied parameters; and functions.  Rearranging the
documentation to mix all of the "flags" into one table discards these
distinctions.  (Yes, I acknowledge that '-f' is already "in the wrong
place" from this standpoint.)

Noting for reference that the intro needs -H and -h added to to
`typeset {+|-}n ...` too.

> The following should probably wait after the work on inline assignments (and localized special parameters):
>
> - Don't export hidden parameters - workers/54987
> - In inline assignments, assign the reference, not its referent - workers/54944

Left those for the "language design" thread as previously noted.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.