<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zsh/Src/Modules/stat.c, branch master</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/zsh/atom/Src/Modules/stat.c?h=master</id>
<link rel='self' href='http://git.sudomsg.com/mirror/zsh/atom/Src/Modules/stat.c?h=master'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/'/>
<updated>2026-06-13T23:56:15Z</updated>
<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>54563: stat, system: minor fixes</title>
<updated>2026-05-16T16:28:31Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2026-05-12T19:45:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e555255eef69bd5737a733715cdadf10a97eb82e'/>
<id>urn:sha1:e555255eef69bd5737a733715cdadf10a97eb82e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>53332, 53334: Avoid strlen calls after sprintf</title>
<updated>2025-01-30T11:30:40Z</updated>
<author>
<name>Oliver Kiddle</name>
<email>opk@zsh.org</email>
</author>
<published>2025-01-30T11:30:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f7b5cc431bdda1f7123aca740bf7c535b98ca616'/>
<id>urn:sha1:f7b5cc431bdda1f7123aca740bf7c535b98ca616</id>
<content type='text'>
</content>
</entry>
<entry>
<title>51212: remove STOUC() macro</title>
<updated>2022-12-16T22:28:10Z</updated>
<author>
<name>Oliver Kiddle</name>
<email>opk@zsh.org</email>
</author>
<published>2022-12-16T22:22:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a73c705b0c864a9ce042fca6e72e0c92d4ad8237'/>
<id>urn:sha1:a73c705b0c864a9ce042fca6e72e0c92d4ad8237</id>
<content type='text'>
This served as a workaround for ancient compilers where casts to
unsigned char were broken.
</content>
</entry>
<entry>
<title>50150: Filenames need unmetafy for printing</title>
<updated>2022-04-30T18:24:21Z</updated>
<author>
<name>Bart Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2022-04-30T18:24:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=276020522e91212bed496c2048b1b24b0817218a'/>
<id>urn:sha1:276020522e91212bed496c2048b1b24b0817218a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>43823: remove unnecessary metafy() in stattimeprint()</title>
<updated>2018-11-15T01:59:09Z</updated>
<author>
<name>Ivan Tkachenko</name>
<email>me@ratijas.tk</email>
</author>
<published>2018-11-15T01:59:09Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e258e7d251b7403a6d77b23e6927b659bf9c2c37'/>
<id>urn:sha1:e258e7d251b7403a6d77b23e6927b659bf9c2c37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>43075: Support nanosecond-precision time formatting</title>
<updated>2018-06-20T22:29:56Z</updated>
<author>
<name>dana</name>
<email>dana@dana.is</email>
</author>
<published>2018-06-20T22:29:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=394f3a47e464b67b17e2cb7166df066829250e88'/>
<id>urn:sha1:394f3a47e464b67b17e2cb7166df066829250e88</id>
<content type='text'>
* Teach ztrftime() %9. and %N for nanoseconds
* Update prompt expansion to pass sub-second times for time formatting
* Update zsh/stat to pass sub-second times for atime/mtime/ctime

Patch heavily based on Oliver's earlier work @ workers/24059
</content>
</entry>
<entry>
<title>37838: use UNUSED() consistently</title>
<updated>2016-01-29T15:26:23Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2016-01-29T15:25:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ca3bc0d95d7deab4f5381f12b15047de748c0814'/>
<id>urn:sha1:ca3bc0d95d7deab4f5381f12b15047de748c0814</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36227: attempt to fix metafication problem with ztrftime.</title>
<updated>2015-08-18T15:20:48Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-08-18T15:20:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f8164fb647a8e7947cfde137ddd9517b2fab51c4'/>
<id>urn:sha1:f8164fb647a8e7947cfde137ddd9517b2fab51c4</id>
<content type='text'>
fmt is treated as metafied on entry; use returned length to ensure
we metafy or output the correct length if there are embedded nulls.
</content>
</entry>
<entry>
<title>missed updates to calls to ztrftime()</title>
<updated>2014-07-30T13:20:07Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2014-07-30T13:20:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=51c0ccd303d48673472c9f12524185e04a8a732b'/>
<id>urn:sha1:51c0ccd303d48673472c9f12524185e04a8a732b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>31419: Add time zone and year to string formatted time output from zstat</title>
<updated>2013-05-21T16:42:57Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2013-05-21T16:42:57Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a4d3b8f676c336e4504d5f400e98fb55aba78a37'/>
<id>urn:sha1:a4d3b8f676c336e4504d5f400e98fb55aba78a37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>23665: autoloading of module features and related tweaks</title>
<updated>2007-07-06T21:52:38Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2007-07-06T21:52:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1b52f47cf285d5f3835bce7ad73f360bd327d4e8'/>
<id>urn:sha1:1b52f47cf285d5f3835bce7ad73f360bd327d4e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>see 23479: add initial features support for modules</title>
<updated>2007-05-28T22:57:39Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2007-05-28T22:57:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b0c5f09169ac31855ebf0e93772bb57b9635b380'/>
<id>urn:sha1:b0c5f09169ac31855ebf0e93772bb57b9635b380</id>
<content type='text'>
</content>
</entry>
<entry>
<title>22474: use variable argument lists to improve error message handling</title>
<updated>2006-05-30T22:35:03Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2006-05-30T22:35:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=dd5602f59b599177fb130512fc543f7efa951990'/>
<id>urn:sha1:dd5602f59b599177fb130512fc543f7efa951990</id>
<content type='text'>
</content>
</entry>
<entry>
<title>22284: add --disable-dynamic-nss configure switch to disable use of getpw*(), getgr*(), initgroups() functions.</title>
<updated>2006-02-19T19:36:31Z</updated>
<author>
<name>Clint Adams</name>
<email>clint@users.sourceforge.net</email>
</author>
<published>2006-02-19T19:36:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a9151388528c84d7993a366ae03b57f5a413ca78'/>
<id>urn:sha1:a9151388528c84d7993a366ae03b57f5a413ca78</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Values being stored in an array or a hash needed to be metafied</title>
<updated>2006-01-13T09:15:59Z</updated>
<author>
<name>Wayne Davison</name>
<email>wayned@users.sourceforge.net</email>
</author>
<published>2006-01-13T09:15:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=39b3d2b90a7c394ab2aabc3cd1a21d144265715c'/>
<id>urn:sha1:39b3d2b90a7c394ab2aabc3cd1a21d144265715c</id>
<content type='text'>
(using META_DUP) instead of just duplicated via ztrdup().
</content>
</entry>
<entry>
<title>22082: print out uid or gid in stat if name not available</title>
<updated>2005-12-19T11:35:40Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2005-12-19T11:35:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7a389a2fc3bd8a7884f7703bee606f829b408fc2'/>
<id>urn:sha1:7a389a2fc3bd8a7884f7703bee606f829b408fc2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>21978: unmetafy file name</title>
<updated>2005-11-02T19:29:53Z</updated>
<author>
<name>Andrey Borzenkov</name>
<email>bor@users.sourceforge.net</email>
</author>
<published>2005-11-02T19:29:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0acbed6ab03d41391175baa10d16cd35cc5bf140'/>
<id>urn:sha1:0acbed6ab03d41391175baa10d16cd35cc5bf140</id>
<content type='text'>
</content>
</entry>
<entry>
<title>20822: Initial code for Unicode/multibyte input</title>
<updated>2005-02-18T13:57:25Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2005-02-18T13:57:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d7c13fb2c3b1b014acde9c1cb17a1e34239b9751'/>
<id>urn:sha1:d7c13fb2c3b1b014acde9c1cb17a1e34239b9751</id>
<content type='text'>
20823: Debugging test in stat wrong for 64-bit systems
</content>
</entry>
<entry>
<title>Marked unused parameters with the new UNUSED() macro.</title>
<updated>2004-06-02T22:14:25Z</updated>
<author>
<name>Wayne Davison</name>
<email>wayned@users.sourceforge.net</email>
</author>
<published>2004-06-02T22:14:25Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=fb0937a69eb38e744577aa94a6338135f6c1c9b4'/>
<id>urn:sha1:fb0937a69eb38e744577aa94a6338135f6c1c9b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>a la 19209: zcalloc -&gt; zshcalloc</title>
<updated>2003-10-29T19:17:30Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2003-10-29T19:17:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=815bc92148939ce369585c59d3af730f69833844'/>
<id>urn:sha1:815bc92148939ce369585c59d3af730f69833844</id>
<content type='text'>
</content>
</entry>
<entry>
<title>17582: Improved option argument handling.</title>
<updated>2002-08-27T21:10:30Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2002-08-27T21:10:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9634760d5eae4e8618e4b9ed9752d7305b3695a9'/>
<id>urn:sha1:9634760d5eae4e8618e4b9ed9752d7305b3695a9</id>
<content type='text'>
unposted: Updated version to 4.1.0-dev-6 because of interface change.
</content>
</entry>
<entry>
<title>14314: writing const variable under cygwin</title>
<updated>2001-05-11T12:59:50Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2001-05-11T12:59:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7f7e58935b965845c2413a8b948865643d32d7e5'/>
<id>urn:sha1:7f7e58935b965845c2413a8b948865643d32d7e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bart 14144: fix compilation problem on current Cygwin 1.3.1 (macros were</title>
<updated>2001-04-30T10:40:50Z</updated>
<author>
<name>Andrey Borzenkov</name>
<email>bor@users.sourceforge.net</email>
</author>
<published>2001-04-30T10:40:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cd5e39ef5066d8b11d5c5c5dd0023efdd94631f1'/>
<id>urn:sha1:cd5e39ef5066d8b11d5c5c5dd0023efdd94631f1</id>
<content type='text'>
changed to external variables and cannot be used to initialize static array).
Modified by me __CYGWIN -&gt; __CYGWIN__
</content>
</entry>
<entry>
<title>stat -o shows file modes in octal</title>
<updated>2000-04-07T20:07:10Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@users.sourceforge.net</email>
</author>
<published>2000-04-07T20:07:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b4a2b47b64c9fbe9df1d80e84c5d08786bd29eac'/>
<id>urn:sha1:b4a2b47b64c9fbe9df1d80e84c5d08786bd29eac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial revision</title>
<updated>1999-04-15T18:05:38Z</updated>
<author>
<name>Tanaka Akira</name>
<email>akr@users.sourceforge.net</email>
</author>
<published>1999-04-15T18:05:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e74702b467171dbdafb56dfe354794a212e020d9'/>
<id>urn:sha1:e74702b467171dbdafb56dfe354794a212e020d9</id>
<content type='text'>
</content>
</entry>
</feed>
