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.