<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zsh/Test, branch master</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/zsh/atom/Test?h=master</id>
<link rel='self' href='http://git.sudomsg.com/mirror/zsh/atom/Test?h=master'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/'/>
<updated>2026-09-01T14:28:35Z</updated>
<entry>
<title>55120: fix Y07call_program.ztst (test option -l)</title>
<updated>2026-09-01T14:28:35Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2026-09-01T14:28:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cad0d67c76e2be7371cf3526b79ea2581810d35a'/>
<id>urn:sha1:cad0d67c76e2be7371cf3526b79ea2581810d35a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55109: remove obsolete nameref-specific code from typeset_single</title>
<updated>2026-08-23T22:18:45Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-08-23T22:18:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=fdc46ea6592f5c3e54c9c9dea5052768166a7a18'/>
<id>urn:sha1:fdc46ea6592f5c3e54c9c9dea5052768166a7a18</id>
<content type='text'>
Test changes here are for extra coverage, previous tests still pass
</content>
</entry>
<entry>
<title>55061 (first part): break/continue errors in a subshell with no local loop</title>
<updated>2026-08-23T00:18:22Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-08-23T00:18:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c8deeb0c88ff81a5742313bcd4630252aee055e6'/>
<id>urn:sha1:c8deeb0c88ff81a5742313bcd4630252aee055e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55047 (first part): Revert ${!var} in ksh mode to remove namref special case</title>
<updated>2026-08-23T00:00:11Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-08-23T00:00:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=556479e8eb744b0c0f7605d1f2ca8de799f3b16c'/>
<id>urn:sha1:556479e8eb744b0c0f7605d1f2ca8de799f3b16c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55026: Fix ${(!)ref::=var} substitutions for symmetry with other flags</title>
<updated>2026-08-22T23:44:43Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-08-22T23:44:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a3a6ca51571e88d8089ffe2ee382d5baabae6951'/>
<id>urn:sha1:a3a6ca51571e88d8089ffe2ee382d5baabae6951</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55020: fix changing flags (not type) of a TYPESET_TO_UNSET parameter</title>
<updated>2026-08-22T23:08:55Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-08-22T23:08:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2225255275b7aac1baea651584a916cc8a1da98a'/>
<id>urn:sha1:2225255275b7aac1baea651584a916cc8a1da98a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55055: break: more completely enumerate loop types we are not in</title>
<updated>2026-08-05T09:41:33Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2019-05-25T19:28:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=50da17c2ec619bd4afc1b4af2949c1e8c788980d'/>
<id>urn:sha1:50da17c2ec619bd4afc1b4af2949c1e8c788980d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55021: prevent segfault upon "typeset -U" of a tied array hidden by a local</title>
<updated>2026-07-27T04:22:48Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-07-27T04:22:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9a9af70296bfbdb5be1d9521415d87fd4accaa34'/>
<id>urn:sha1:9a9af70296bfbdb5be1d9521415d87fd4accaa34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55036: refinements to "typeset -gh" tests</title>
<updated>2026-07-27T03:58:51Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-07-27T03:36:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8d7f92869819c101c24da443816daf21aac05c62'/>
<id>urn:sha1:8d7f92869819c101c24da443816daf21aac05c62</id>
<content type='text'>
</content>
</entry>
<entry>
<title>55030: allow "typeset -hn", issue error on useless no-op "typeset -gh"</title>
<updated>2026-07-27T03:58:50Z</updated>
<author>
<name>Bart Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2026-07-27T03:31:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=25642451465f55d76acffe7eda1273e592e0aa78'/>
<id>urn:sha1:25642451465f55d76acffe7eda1273e592e0aa78</id>
<content type='text'>
Includes unposted K01nameref test
</content>
</entry>
<entry>
<title>55024: Add missing parameter hiding tests, fix related typeset flags</title>
<updated>2026-07-25T02:53:42Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-07-25T02:53:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=3ff9fd34f47ac7a718d2374f09905beb3feb5f1f'/>
<id>urn:sha1:3ff9fd34f47ac7a718d2374f09905beb3feb5f1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Philippe 55011: test from 54943 missed due to patch conflict</title>
<updated>2026-07-21T20:24:40Z</updated>
<author>
<name>Bart Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2026-07-21T20:24:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2564174dd6f9289b4e4da2a8122b0f8edd8a62b4'/>
<id>urn:sha1:2564174dd6f9289b4e4da2a8122b0f8edd8a62b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54988: Add comment clarifying test from workers/54792</title>
<updated>2026-07-19T18:22:26Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-07-19T18:22:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1b6111425fa1902d5da05cad41bbef738caa7147'/>
<id>urn:sha1:1b6111425fa1902d5da05cad41bbef738caa7147</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54941: Fix saving and restoring of subscripted inline assignments</title>
<updated>2026-07-16T01:45:06Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-07-10T11:44:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=62103851e4e1f9825673f71861479b2570c97e2d'/>
<id>urn:sha1:62103851e4e1f9825673f71861479b2570c97e2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54956: init: don't reset ZLE_RPROMPT_INDENT on term init</title>
<updated>2026-07-16T01:40:33Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-11T23:51:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5f8a7810039e7524fec7ab3dc5d2b80b219d06e8'/>
<id>urn:sha1:5f8a7810039e7524fec7ab3dc5d2b80b219d06e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54928: W02: really close all the fds for sleep</title>
<updated>2026-07-11T23:57:56Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-07-09T01:34:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=541ce7cac96b49c4e8797fd365deefcbc8079781'/>
<id>urn:sha1:541ce7cac96b49c4e8797fd365deefcbc8079781</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54919: tests: fix hang in D04 zsh_eval_context test</title>
<updated>2026-07-10T02:12:27Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-10T02:12:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a5e6d42032e135ee36cc2c16d67f875cdd8bd29f'/>
<id>urn:sha1:a5e6d42032e135ee36cc2c16d67f875cdd8bd29f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: runtests: colourise signal fail message</title>
<updated>2026-07-09T00:06:18Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-09T00:05:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=fcd3fba695c56d2d960154034d2b8a4bc7b03454'/>
<id>urn:sha1:fcd3fba695c56d2d960154034d2b8a4bc7b03454</id>
<content type='text'>
mikael pointed out that this failure message wasn't colourised like the
others and didn't use the same wording
</content>
</entry>
<entry>
<title>54913: _message: improve option parsing</title>
<updated>2026-07-08T20:45:33Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-08T20:45:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9b94d374bb787342ab8143f17c7ffa0e324c6255'/>
<id>urn:sha1:9b94d374bb787342ab8143f17c7ffa0e324c6255</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54913: comptest: prefer $TMPDIR for temp files</title>
<updated>2026-07-08T20:41:08Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-08T20:41:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cb6dd66e939a3a860d09ef4f274947cd51dfda75'/>
<id>urn:sha1:cb6dd66e939a3a860d09ef4f274947cd51dfda75</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54912: _call_program: add -qQ options, etc</title>
<updated>2026-07-08T20:39:25Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-05T03:44:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e426c105cc87dea07ad3458b7744fabffb3b45a4'/>
<id>urn:sha1:e426c105cc87dea07ad3458b7744fabffb3b45a4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: tests: add regression test for w/54909</title>
<updated>2026-07-08T20:39:16Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-07-08T20:39:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=996fdfb53d9369c378353d0bd752508c3a0be183'/>
<id>urn:sha1:996fdfb53d9369c378353d0bd752508c3a0be183</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54783: improve checkptycmd</title>
<updated>2026-07-04T17:56:26Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-15T16:18:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4b4ebccaa9666c608f18f73c5b8102cbfc8e8deb'/>
<id>urn:sha1:4b4ebccaa9666c608f18f73c5b8102cbfc8e8deb</id>
<content type='text'>
With the previous (and now fallback) version of checkptycmd(), doing
this:
zpty foo 'while read; do echo hi; done'
zpty (or zpty -t foo)

would hang forever, which seems counterintuitive to the purpose of
listing processes (or testing if a process is running).
</content>
</entry>
<entry>
<title>54889: comparguments: always parse optargs as optargs</title>
<updated>2026-07-03T11:59:42Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-30T23:47:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7a43a20cdfc7a4feffbd838b75d22a1be4fa417f'/>
<id>urn:sha1:7a43a20cdfc7a4feffbd838b75d22a1be4fa417f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54876: comparguments: search more thoroughly for foreign-set options</title>
<updated>2026-07-03T11:59:40Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-30T04:35:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e9d0e6a8ad252c6eaceaca4301bd2b4d44570574'/>
<id>urn:sha1:e9d0e6a8ad252c6eaceaca4301bd2b4d44570574</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54893: fix/simplify is-at-least</title>
<updated>2026-07-02T13:29:32Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2026-07-02T13:29:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=05bbf53c6a1cbddf1abc92ce31430548ae60f78e'/>
<id>urn:sha1:05bbf53c6a1cbddf1abc92ce31430548ae60f78e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54848: set $module_path in child zsh</title>
<updated>2026-06-30T17:42:24Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2026-06-30T17:42:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7cb590c26d2b8be8d003bcb16b7cbb0709b89cb7'/>
<id>urn:sha1:7cb590c26d2b8be8d003bcb16b7cbb0709b89cb7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54847 + 54849 (dana): skip only 88- or 256-color tests</title>
<updated>2026-06-30T17:37:55Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2026-06-30T17:37:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e5ebaed2cf9c768ed9c3f770765bd1c5bcc8a2c7'/>
<id>urn:sha1:e5ebaed2cf9c768ed9c3f770765bd1c5bcc8a2c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54831: comparguments: treat empty description as if missing</title>
<updated>2026-06-24T00:36:14Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-21T02:38:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2e7a39d1d5bd897d9648fc38fedf07aa061be2df'/>
<id>urn:sha1:2e7a39d1d5bd897d9648fc38fedf07aa061be2df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54838: avoid hang up in D04 if FIFO is used for proc subst</title>
<updated>2026-06-23T15:00:08Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2026-06-23T15:00:08Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ebccc0744000d8f92de66a60258c8834f52151ea'/>
<id>urn:sha1:ebccc0744000d8f92de66a60258c8834f52151ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54805: capture any DPUTS output during completion tests</title>
<updated>2026-06-23T04:29:59Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-23T04:13:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=886ec5fa7f11da6f6e2768c7df2592af6df6eb85'/>
<id>urn:sha1:886ec5fa7f11da6f6e2768c7df2592af6df6eb85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54806: reformat interactive tests for readability (whitespace only)</title>
<updated>2026-06-23T04:29:59Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-23T04:09:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4d1193772b093e23c533e86cb11448d36f38c8c2'/>
<id>urn:sha1:4d1193772b093e23c533e86cb11448d36f38c8c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54806: Null prompts in interactive tests to avoid unnecessary stderr</title>
<updated>2026-06-23T04:29:59Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-23T04:05:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=41ba309de08b5b1816c2d24bdbe449c2760a6974'/>
<id>urn:sha1:41ba309de08b5b1816c2d24bdbe449c2760a6974</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54792: prevent named references from being entered as named directories</title>
<updated>2026-06-23T04:29:59Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-23T04:00:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8a0801b83b1d8a44c021e6799b99c80d068324ad'/>
<id>urn:sha1:8a0801b83b1d8a44c021e6799b99c80d068324ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54822: the ::= fix in 54674 was incomplete</title>
<updated>2026-06-21T07:26:14Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-19T19:33:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c4e0b3cfd15a82261295dad8c242b874079ae79c'/>
<id>urn:sha1:c4e0b3cfd15a82261295dad8c242b874079ae79c</id>
<content type='text'>
% foo=xxx; () { echo ${2::=$foo} } yyy
yyy

We get the argv parameter returned when asking for "2" so use getvalue()
to get a vbuf with the proper start/end set instead of making up bogus
values.
</content>
</entry>
<entry>
<title>54773: params: make out-of-range (w) subscript index work like others</title>
<updated>2026-06-21T00:48:39Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-14T16:41:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=815774384c15a0c35f2a842298a0b802493879fe'/>
<id>urn:sha1:815774384c15a0c35f2a842298a0b802493879fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54768: completion: use `zformat -q` for formatting</title>
<updated>2026-06-21T00:27:09Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-14T04:07:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=74fa2341401ce9157df7d062b5811f92097a6bf1'/>
<id>urn:sha1:74fa2341401ce9157df7d062b5811f92097a6bf1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54767: zformat: replace -qn by spec quoting indicator syntax</title>
<updated>2026-06-21T00:17:54Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-14T03:59:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=6cf538a00f6dd9647b99854ea2335bb6d4db03e9'/>
<id>urn:sha1:6cf538a00f6dd9647b99854ea2335bb6d4db03e9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54771: fix a bug in nosort deduplication</title>
<updated>2026-06-16T08:39:58Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-14T05:24:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1a63833e0f65b30999bc5a2404f9d893eca8d15b'/>
<id>urn:sha1:1a63833e0f65b30999bc5a2404f9d893eca8d15b</id>
<content type='text'>
Introduced in 49915.

Confusion in pointers could mark the wrong entries in some cases. Make
sure asp is incremented to the correct entry by the outer loop's
'asp++', and don't touch sp at all.

In particular, the third added test was missing the 'foo' entry:

Y01completion.ztst: starting.
--- expected
+++ actual
@@ -1,4 +1,3 @@
 line: {tst }{}
-NO:{foo}
 NO:{bar}
 NO:{baz}
Was testing: nosort dedup with three same-string non-duplicates
</content>
</entry>
<entry>
<title>54762: make curjob and prevjob work better</title>
<updated>2026-06-13T23:57:17Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-12T21:00:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8ca612cfe2ace3819656c483dcc3822da6b63f01'/>
<id>urn:sha1:8ca612cfe2ace3819656c483dcc3822da6b63f01</id>
<content type='text'>
In particular, these two sequences were still broken after 54294:

% v() { vim "$@"; }; v
[suspend vim]
% urxvt &amp;
[3] 12707
% bg %-
bg: job already in background
% fg
[1]    continued
[exit vim]
% fg
before:
fg: no current job
after:
[3]  + running    urxvt

% sleep 100
^Z
zsh: suspended  sleep 100
% bg
[1]    continued  sleep 100
% fg
before
fg: no current job
after:
[1]  - running    sleep 100

The changed test expected the sole remaining job to be %- which should
not be possible, and now it is properly %+ instead.
</content>
</entry>
<entry>
<title>54753: zpty: register pty fd as FDT_MODULE so it isn't closed when forking</title>
<updated>2026-06-13T23:57:17Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-11T04:34:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=807eac8dff2b2281ac7cf52ebd8c7b73fa358e37'/>
<id>urn:sha1:807eac8dff2b2281ac7cf52ebd8c7b73fa358e37</id>
<content type='text'>
This lets us remove these mysterious braces too.
</content>
</entry>
<entry>
<title>54751: make the W02 test not take a full minute on linux</title>
<updated>2026-06-13T23:57:17Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-11T03:11:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=05d8a57d429a6756d07f767e0ecf34b536a7eda0'/>
<id>urn:sha1:05d8a57d429a6756d07f767e0ecf34b536a7eda0</id>
<content type='text'>
Apparently on OSX (and BSD kernels?) the pty device won't wait for every
last process closing its reference, but on Linux it does. We can just
set up the sleep commands to close their fds since they aren't using
them anyway.
</content>
</entry>
<entry>
<title>54721: illegal -&gt; invalid, invalid option -&gt; bad option</title>
<updated>2026-06-13T23:57:17Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-09T00:46:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=52c23c9c2c3cbba08ed548a77cd2737df478f371'/>
<id>urn:sha1:52c23c9c2c3cbba08ed548a77cd2737df478f371</id>
<content type='text'>
Combinations of options can remain invalid, though.
</content>
</entry>
<entry>
<title>54710: handle multibyte arguments in error messages</title>
<updated>2026-06-13T23:56:15Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-06T23:48:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e5f58a80ba5124735d6434845ea382a5db1f1875'/>
<id>urn:sha1:e5f58a80ba5124735d6434845ea382a5db1f1875</id>
<content type='text'>
A lot of places check option strings char by char, then send that char
to zwarn/zerr, instead of reading out the full multibyte character.
Doing so is quite easy with unmeta_one in most cases, so just go ahead
and do that. The print functions in fact expect a wchar_t for %c anyway.

Also renames "unknown option" to "bad option" because that's what every
other place calls it (also one place was missing the colon, added that).

To reproduce the math errors, since it's slightly less obvious (you need
a multibyte character that is also an invalid parameter name, otherwise
it actually works fine)
% zsh -c '(( ¯ ))'
zsh:1: bad math expression: illegal character: ^
% zsh -c 'zmodload zsh/mathfunc; (( sin(1¯) ))'
zsh:1: bad math expression: illegal character: ^
% zsh -c 'の=5; echo $(( の ))' # unchanged because it is working
5

Also adds some tests because B12 was looking very empty, not sure if
this is the correct way to handle the intersection of possibly not
compiled module with possibly not available UTF-8 locale, but X02 and
some others do a similar thing with ZSH_TEST_LANG, though in those cases
that's handled specially by comptest, not the test itself.
</content>
</entry>
<entry>
<title>54677: tests: improve readability</title>
<updated>2026-06-11T01:50:41Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-05T05:43:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=230e32f8cd5b513525fc9043c15277d70bf2776b'/>
<id>urn:sha1:230e32f8cd5b513525fc9043c15277d70bf2776b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: kill: fix -l argument error, add tests</title>
<updated>2026-06-11T01:47:14Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-11T01:44:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7'/>
<id>urn:sha1:8d4b0f6511d24dfa54141a2eaf5d276b2a3cfbd7</id>
<content type='text'>
fixes this issue:

  % kill -l 6term
  kill: unknown signal: SIGterm
</content>
</entry>
<entry>
<title>54731: Adapt gdbm code to named references</title>
<updated>2026-06-10T04:06:12Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-10T04:06:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=adcc9a1c228a3b7b38675541103ddd69c779d88e'/>
<id>urn:sha1:adcc9a1c228a3b7b38675541103ddd69c779d88e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54727: Implement references to positional parameters</title>
<updated>2026-06-10T03:47:57Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-10T03:41:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=934b1551092546b7902392c4ccf91a87dbb24343'/>
<id>urn:sha1:934b1551092546b7902392c4ccf91a87dbb24343</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54722: Fix nameref issues in builtin "unset"</title>
<updated>2026-06-10T03:47:57Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-09T01:16:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f0d4e4cb52a96642363d4e06178f658ea3d542a9'/>
<id>urn:sha1:f0d4e4cb52a96642363d4e06178f658ea3d542a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54691: fix :W and :w duplicating input</title>
<updated>2026-06-10T03:20:51Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-07T04:53:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5bb0960729b86a360be153b35a2e7f92a2d8ade3'/>
<id>urn:sha1:5bb0960729b86a360be153b35a2e7f92a2d8ade3</id>
<content type='text'>
Reported in 50991 and introduced in 22525.
</content>
</entry>
<entry>
<title>54688: handle Stéphane correctly</title>
<updated>2026-06-10T03:20:51Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-06T14:40:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2136ff7f5045c963e5a41e920350b9a884752492'/>
<id>urn:sha1:2136ff7f5045c963e5a41e920350b9a884752492</id>
<content type='text'>
In the original report we had [[ é = *$'\xa9' ]] which has op == P_STAR,
in this case charstart is filled out inline, in the other cases it's
done by the patrepeat function. If ptlen &gt; P_LS_LEN(next) we have
returned, if it is &lt; then we have backtracked into the region where
charstart is valid and we can check that, and finally if they are equal
we know we are on a valid character boundary (but charstart might not be
valid here, in fact multiple tests fail if you leave out the ptlen
check).

Separately,
% [[ éé = é#$'\xa9' ]]; echo $?
 pattern.c:4113: closure following more than one character
0
% [[ éé = (é)#$'\xa9' ]]; echo $?
1
so just treat multibyte single characters as "not simple", which fixes
that case too.
</content>
</entry>
<entry>
<title>54674: ::= didn't respect parameter flags</title>
<updated>2026-06-10T03:20:50Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-04T07:06:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e5e9caa2ee2188444e06ea1e162eb23375ca7538'/>
<id>urn:sha1:e5e9caa2ee2188444e06ea1e162eb23375ca7538</id>
<content type='text'>
The documentation says
    ${name::=word}
          In  the first form, if name is unset then set it to word; in
          the second form, if name is unset or null then set it to word;
          and in the third form, unconditionally  set name to word.  In
          all forms, the value of the parameter is then substituted.

Particularly that "the value of the parameter is substituted", not "the
word is substituted".

This is what happens before the fix, and similarly for array flags like "unique":

% typeset -E3 fl; hi=5; echo ${fl::=hi}
hi
% echo $fl
5.00e+00
</content>
</entry>
<entry>
<title>54676: preserve COLUMNS + LINES from the environment</title>
<updated>2026-06-09T02:11:58Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-05T04:23:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d7da0f59fc86f1e5d6465ea0b0ca4b93d6a31d54'/>
<id>urn:sha1:d7da0f59fc86f1e5d6465ea0b0ca4b93d6a31d54</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54659: comparguments: support zsh-style '-' terminator with -S -S</title>
<updated>2026-06-09T00:53:13Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-02T02:15:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0e2f4f282191f13c3e32969b38483dcde9301c86'/>
<id>urn:sha1:0e2f4f282191f13c3e32969b38483dcde9301c86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: zgetopt: fix error name, behaviour after auto-loading</title>
<updated>2026-06-09T00:53:13Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-08T23:31:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f6aa7ad143e5ef5badf5727296b4367728a6e86e'/>
<id>urn:sha1:f6aa7ad143e5ef5badf5727296b4367728a6e86e</id>
<content type='text'>
- fix error name to (1) handle no_function_argzero and (2) not print a redundant
  caller name when executed as a script

- fix checks for function case that are wrong on the first call after marking
  for auto-load

- add tests for the above

- test usage-error return status
</content>
</entry>
<entry>
<title>54718: Remove support for named references to subscripted variables</title>
<updated>2026-06-09T00:39:39Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-09T00:39:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2d3f0b346cdc9ce29f416db26d7a76ccfe90a1ec'/>
<id>urn:sha1:2d3f0b346cdc9ce29f416db26d7a76ccfe90a1ec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54700: Refine string and array slice assignments</title>
<updated>2026-06-08T23:59:37Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-08T23:59:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2327604d026f9dd6dce806f1d7e7d3c125d2d4e4'/>
<id>urn:sha1:2327604d026f9dd6dce806f1d7e7d3c125d2d4e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54294: Fix %- (prevjob) picking wrong job after resuming</title>
<updated>2026-06-08T22:29:22Z</updated>
<author>
<name>Mikel Ward</name>
<email>mikel@mikelward.com</email>
</author>
<published>2026-06-08T22:29:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=93c286c624d52a9c9bced63d396dc4b2fa80ce99'/>
<id>urn:sha1:93c286c624d52a9c9bced63d396dc4b2fa80ce99</id>
<content type='text'>
Also corrects exit status of "wait %%" (TBD from workers/43945)
</content>
</entry>
<entry>
<title>54278: Detect invalid variable names in reference initializers</title>
<updated>2026-06-08T22:01:06Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-06-08T22:01:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b2629b4cf81f63471e6c52df407d8aca669da6ea'/>
<id>urn:sha1:b2629b4cf81f63471e6c52df407d8aca669da6ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54671: fix anchored pattern with --disable-multibyte</title>
<updated>2026-06-07T10:45:30Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-06-04T04:44:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=dda9d01fde4f6d692c1d66f458583abd0f084ef3'/>
<id>urn:sha1:dda9d01fde4f6d692c1d66f458583abd0f084ef3</id>
<content type='text'>
Just copied this code over from the multibyte branch.
</content>
</entry>
<entry>
<title>unposted: zsh/nearcolor: update docs, add tests</title>
<updated>2026-06-06T21:48:04Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-06T21:48:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=afd2a39bc18754658284ea914c7af4a53d24202c'/>
<id>urn:sha1:afd2a39bc18754658284ea914c7af4a53d24202c</id>
<content type='text'>
per w/53379
</content>
</entry>
<entry>
<title>unposted: add regression test, update README for w/54328</title>
<updated>2026-06-04T04:27:45Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-04T03:54:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=313a9b5f146be389a6f3e2e4051c84e0aa736f1c'/>
<id>urn:sha1:313a9b5f146be389a6f3e2e4051c84e0aa736f1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: tests: add regression test for w/54340</title>
<updated>2026-06-04T04:24:52Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-06-04T03:35:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=90a1c86ac7beea8098eb21e11f908049729d6baf'/>
<id>urn:sha1:90a1c86ac7beea8098eb21e11f908049729d6baf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54617: fix lookup in $commands array when hashlistall is unset</title>
<updated>2026-06-04T03:45:50Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-05-26T15:24:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0883f8fec6d08780229f239ce0c3455efe19a198'/>
<id>urn:sha1:0883f8fec6d08780229f239ce0c3455efe19a198</id>
<content type='text'>
While the documentation for the zsh/parameter module does state
  The zsh/parameter module gives access to some of the internal hash tables
and
  commands
    This array gives access to the command hash table.
, the latter entry does *also* say
  values are the pathnames of the files that would be executed when
  the command would be invoked.

Change getpmcommand to always do a lookup via findcmd() if it the entry
is not found in the hash and HASHLISTALL is unset. This will indirectly
respect HASHCMDS and add the single entry if it is set, look it up in
the hash if it was added and then HASHCMDS was unset, etc.
</content>
</entry>
<entry>
<title>54644: init: add patchlevel to --version output</title>
<updated>2026-06-02T00:00:21Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-31T00:56:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=48fa360ea48f08bb4944549bcf6df31149329383'/>
<id>urn:sha1:48fa360ea48f08bb4944549bcf6df31149329383</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54645: tests: fix some failures with alpine/busybox/musl</title>
<updated>2026-06-01T22:41:32Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-31T03:14:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=08f6f87e8c4c5a5588081cbb3b5cd4fe8c6b629a'/>
<id>urn:sha1:08f6f87e8c4c5a5588081cbb3b5cd4fe8c6b629a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54625: remove .cvsignore</title>
<updated>2026-05-30T04:23:34Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-29T05:04:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8714db6175ba78f91adc51c84cf7d2c27b9fdebe'/>
<id>urn:sha1:8714db6175ba78f91adc51c84cf7d2c27b9fdebe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54603 (tweaked): zsh_eval_context: add math context</title>
<updated>2026-05-28T03:47:19Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-23T20:45:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=df757b8882baad6acadcd23dbc3251a1c65b6217'/>
<id>urn:sha1:df757b8882baad6acadcd23dbc3251a1c65b6217</id>
<content type='text'>
tweaked to add void to prototype

+ NEWS update
</content>
</entry>
<entry>
<title>unposted: zformat: pass through %) with -q</title>
<updated>2026-05-28T03:42:51Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-28T03:28:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c14a702e471a7fc91fbb41ca5c04c1b8bc172110'/>
<id>urn:sha1:c14a702e471a7fc91fbb41ca5c04c1b8bc172110</id>
<content type='text'>
the behaviour in the original patch was not actually desirable
</content>
</entry>
<entry>
<title>54602: zformat: add -qQ options to auto-escape %s</title>
<updated>2026-05-28T03:35:22Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-23T07:01:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=26d9cb019087a2ee0bfc9ea8c94fb914bf968237'/>
<id>urn:sha1:26d9cb019087a2ee0bfc9ea8c94fb914bf968237</id>
<content type='text'>
+ NEWS update
</content>
</entry>
<entry>
<title>unposted: shift: improve count error message</title>
<updated>2026-05-24T03:58:44Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2025-05-25T01:12:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ea8a4c1582adecc3938defc40f005db1c490063f'/>
<id>urn:sha1:ea8a4c1582adecc3938defc40f005db1c490063f</id>
<content type='text'>
message was inaccurate when an array was given by name
</content>
</entry>
<entry>
<title>54585: disown: add -a option</title>
<updated>2026-05-23T05:27:31Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-20T19:00:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c86e1de954ee4727c7b728e3875ac97e0af3e3bb'/>
<id>urn:sha1:c86e1de954ee4727c7b728e3875ac97e0af3e3bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54584: jobs: update curjob in sub-shells</title>
<updated>2026-05-23T05:26:42Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-20T18:48:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8284a42bd3d0b7333f8d3c59cd6bb860c0edf499'/>
<id>urn:sha1:8284a42bd3d0b7333f8d3c59cd6bb860c0edf499</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: add error message and improve tests for w/54571</title>
<updated>2026-05-22T01:49:09Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-22T01:49:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=78ddb3bdc80ce9863b583c3b7e79f0f9ff6867d4'/>
<id>urn:sha1:78ddb3bdc80ce9863b583c3b7e79f0f9ff6867d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54571: bound h-&gt;npats in .zwc loader</title>
<updated>2026-05-22T01:45:48Z</updated>
<author>
<name>Michael Ridgway</name>
<email>michael.ridgway@monsec.io</email>
</author>
<published>2026-05-15T06:07:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4cbaf85c4495dc78d5dc7303f9ef8edc155552a0'/>
<id>urn:sha1:4cbaf85c4495dc78d5dc7303f9ef8edc155552a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: tests: add regression test for w/54583</title>
<updated>2026-05-21T19:31:11Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-21T19:31:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1d6a2315f1d60a72f240c1194dafa61d5a1e1d49'/>
<id>urn:sha1:1d6a2315f1d60a72f240c1194dafa61d5a1e1d49</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54580: zformat: better handle literal % in format string</title>
<updated>2026-05-21T19:25:56Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-18T09:06:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a04c944804642aa083d46ce5dae2356d3c8fcc0c'/>
<id>urn:sha1:a04c944804642aa083d46ce5dae2356d3c8fcc0c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54374: Run ZERR trap on zsh errors</title>
<updated>2026-05-09T20:36:54Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-05-09T20:36:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=64f8448103463999c5b75d7c01f39f31e2dd31fd'/>
<id>urn:sha1:64f8448103463999c5b75d7c01f39f31e2dd31fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54484: tests: fix -nt test on low-resolution file systems</title>
<updated>2026-05-07T02:46:07Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-06T17:27:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=23d1bfe75d428eb6ed0f32a14c7e73824c86756f'/>
<id>urn:sha1:23d1bfe75d428eb6ed0f32a14c7e73824c86756f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54471: getopts: don't look for +o with posix_builtins, add -p</title>
<updated>2026-05-07T02:44:56Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-05T01:16:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=08a487691c417fb24fde8b51fe9bd27bbcd0a63a'/>
<id>urn:sha1:08a487691c417fb24fde8b51fe9bd27bbcd0a63a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54451: compvalues: support leading '!' in spec, handle escaping better</title>
<updated>2026-05-07T02:34:59Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-02T20:30:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7780f2b337209143b8ccc1b8a12204a65e103c45'/>
<id>urn:sha1:7780f2b337209143b8ccc1b8a12204a65e103c45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: tests: Y01: fix test broken by _echo</title>
<updated>2026-05-04T00:58:51Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-04T00:01:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=134338255ee2689b4498118ded987c11324fcc9f'/>
<id>urn:sha1:134338255ee2689b4498118ded987c11324fcc9f</id>
<content type='text'>
adding _echo caused this test to break because it relied on echo arguments using
the default description from _files
</content>
</entry>
<entry>
<title>54437 (tweaked): lex: fix &lt;-&gt; in parameter flags</title>
<updated>2026-05-02T19:38:54Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-02T19:24:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88'/>
<id>urn:sha1:9d9b6ba3229b6f7e625b7de23810fdff7dc7ee88</id>
<content type='text'>
tweaked white space
</content>
</entry>
<entry>
<title>54424: ZSH_EXEPATH: improve documentation, add test</title>
<updated>2026-05-02T19:12:58Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-02T19:12:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=51f9738d09e26e9e0b903bec4f5f4763b3adbf9a'/>
<id>urn:sha1:51f9738d09e26e9e0b903bec4f5f4763b3adbf9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: tests: add basic tests for _describe</title>
<updated>2026-05-02T18:46:46Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-02T18:38:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=44ddb8203bfc8839953eb48bc75bac7db66d06bb'/>
<id>urn:sha1:44ddb8203bfc8839953eb48bc75bac7db66d06bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: tests: zgetopt: make sure zsh/zutil loads</title>
<updated>2026-05-02T18:46:46Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-05-02T18:36:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=62658d57017bf16b69d6375e22ca3a7b2ec9889d'/>
<id>urn:sha1:62658d57017bf16b69d6375e22ca3a7b2ec9889d</id>
<content type='text'>
for completeness's sake
</content>
</entry>
<entry>
<title>54383: Fix WATCH/watch tying</title>
<updated>2026-04-30T19:27:12Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-04-21T21:07:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b2fb112ea602866c8f17b2a7156f00ef223dd3e9'/>
<id>urn:sha1:b2fb112ea602866c8f17b2a7156f00ef223dd3e9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: minimal tests of _regex_arguments</title>
<updated>2026-04-30T18:50:11Z</updated>
<author>
<name>Oliver Kiddle</name>
<email>opk@zsh.org</email>
</author>
<published>2026-04-30T18:46:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5f6b343c96a8fc118d4a72c65bcb6cb59219d5da'/>
<id>urn:sha1:5f6b343c96a8fc118d4a72c65bcb6cb59219d5da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54404: skip the RGB terminal query on older versions of the Apple terminal</title>
<updated>2026-04-30T18:48:12Z</updated>
<author>
<name>Oliver Kiddle</name>
<email>opk@zsh.org</email>
</author>
<published>2026-04-30T18:36:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5e1716fd00a0ab6c0046f6fd20611cdeee6c3607'/>
<id>urn:sha1:5e1716fd00a0ab6c0046f6fd20611cdeee6c3607</id>
<content type='text'>
The sequence isn't consumed so gets printed and then quickly erased.
macOS conveniently sets TERM_PROGRAM in the environment so this can be
detected.
</content>
</entry>
<entry>
<title>54376: zparseopts: use standard option parsing</title>
<updated>2026-04-30T04:37:29Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-30T04:37:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=88d51a240019d094fcf533d54b31c4fb14e87e81'/>
<id>urn:sha1:88d51a240019d094fcf533d54b31c4fb14e87e81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54381: zparseopts -M: use last as-given option name in arrays</title>
<updated>2026-04-30T04:26:37Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-30T04:26:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=028d7b6e2487248f9a3ea11679e5a6363b5849a0'/>
<id>urn:sha1:028d7b6e2487248f9a3ea11679e5a6363b5849a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54395: contrib: add zgetopt (again)</title>
<updated>2026-04-30T04:13:16Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-30T04:13:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a9aa972cf44e49c8ffde6517677e75fe8fceea34'/>
<id>urn:sha1:a9aa972cf44e49c8ffde6517677e75fe8fceea34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Philippe: 54342: Fix handling of reversed slices of scalar values</title>
<updated>2026-04-28T18:13:40Z</updated>
<author>
<name>Philippe Altherr</name>
<email>philippe.altherr@gmail.com</email>
</author>
<published>2026-04-27T16:41:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d7d24bc224ea2a1c2969456af357db423b356d50'/>
<id>urn:sha1:d7d24bc224ea2a1c2969456af357db423b356d50</id>
<content type='text'>
foo[7,6]=bar worked, but foo[7,2]=bar for example would repeat portions of the original string in the inserted slice.
</content>
</entry>
<entry>
<title>54362: zparseopts: support empty optspec</title>
<updated>2026-04-19T17:39:42Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-19T17:39:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0b12303a407da8ce91d29c8e3ce442c70fdd3945'/>
<id>urn:sha1:0b12303a407da8ce91d29c8e3ce442c70fdd3945</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54361 (tweaked): zparseopts: print friendlier usage errors, add -n option</title>
<updated>2026-04-19T17:36:10Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-19T17:35:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=90fa3d2816ee3c770966dd42f548d770d266d2bd'/>
<id>urn:sha1:90fa3d2816ee3c770966dd42f548d770d266d2bd</id>
<content type='text'>
tweaked to adjust order of options in documentation
</content>
</entry>
<entry>
<title>54181, 54331: remove support for restricted shell</title>
<updated>2026-04-14T01:14:46Z</updated>
<author>
<name>Oliver Kiddle</name>
<email>opk@zsh.org</email>
</author>
<published>2026-04-14T01:14:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e73499b372c398c1043b12955c3b3e7602b1a992'/>
<id>urn:sha1:e73499b372c398c1043b12955c3b3e7602b1a992</id>
<content type='text'>
This is in response to a security report. There are too many potential ways
to break out of a restricted shell and more secure, modern alternatives exist.
</content>
</entry>
<entry>
<title>54318: mathfunc: add isnan() and isinf(). also document NaN + Inf</title>
<updated>2026-04-13T16:07:56Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-13T16:04:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=bfb982d6824a41ebff1fc5934ebee7f01df1e682'/>
<id>urn:sha1:bfb982d6824a41ebff1fc5934ebee7f01df1e682</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54313: convfloat: use consistent capitalisation for NaN, Inf, and -Inf</title>
<updated>2026-04-13T16:07:56Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-04-13T15:58:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=08e48ea8b6807292d405081555b8ad1a83176e50'/>
<id>urn:sha1:08e48ea8b6807292d405081555b8ad1a83176e50</id>
<content type='text'>
makes `typeset -p` use the same capitalisation as arithmetic expansion
</content>
</entry>
<entry>
<title>54285: 'let' builtin should return 2 if error occurred</title>
<updated>2026-04-07T14:18:53Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2026-04-07T14:18:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9429940b7beccaebf8d261cdcca74f309c751565'/>
<id>urn:sha1:9429940b7beccaebf8d261cdcca74f309c751565</id>
<content type='text'>
</content>
</entry>
<entry>
<title>54159: strftime: respect empty TZ</title>
<updated>2026-04-05T17:02:47Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2026-01-21T01:57:46Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=63f7b6efb6bcbc52cee93994dad61f2628787924'/>
<id>urn:sha1:63f7b6efb6bcbc52cee93994dad61f2628787924</id>
<content type='text'>
+ README update due to potential compatibility breakage
</content>
</entry>
</feed>
