<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luasystem/src/term.c, branch fix/errorhandling</title>
<subtitle>A mirror of https://github.com/lunarmodules/luasystem.git
</subtitle>
<id>https://git.lua4.win/luasystem/atom?h=fix%2Ferrorhandling</id>
<link rel='self' href='https://git.lua4.win/luasystem/atom?h=fix%2Ferrorhandling'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/'/>
<updated>2026-04-25T20:33:42+00:00</updated>
<entry>
<title>fix(term): improved errorhandling, more descriptive</title>
<updated>2026-04-25T20:33:42+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-04-24T19:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=16901492076ebf4d2a13e4c1ece629cc1076dc1e'/>
<id>urn:sha1:16901492076ebf4d2a13e4c1ece629cc1076dc1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(wcwidth): add a generator for width ranges</title>
<updated>2026-02-17T14:52:27+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2026-01-29T10:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=ff8fc45a3464723625a0befb71d87d9ab3ca7fce'/>
<id>urn:sha1:ff8fc45a3464723625a0befb71d87d9ab3ca7fce</id>
<content type='text'>
The generator script will parse official unicode data to create
the actual ranges for 0, double, and ambiguous width characters.
</content>
</entry>
<entry>
<title>fix: remove two unused-variable warnings</title>
<updated>2025-11-05T10:59:14+00:00</updated>
<author>
<name>Matěj Cepl</name>
<email>mcepl@cepl.eu</email>
</author>
<published>2025-10-28T09:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=ef238e0940a56298061f60c0c8d66cb7c4e2f653'/>
<id>urn:sha1:ef238e0940a56298061f60c0c8d66cb7c4e2f653</id>
<content type='text'>
Signed-off-by: Matěj Cepl &lt;mcepl@cepl.eu&gt;
</content>
</entry>
<entry>
<title>fix(readkey): ignore stray windows keyboard scan-codes</title>
<updated>2025-07-11T20:45:08+00:00</updated>
<author>
<name>Thijs</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2025-07-11T11:47:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=8d55a6c506cd22fb40bd94fddcc8e82f357f7dff'/>
<id>urn:sha1:8d55a6c506cd22fb40bd94fddcc8e82f357f7dff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(terminal): reorganize terminal section into subsections (#66)</title>
<updated>2025-04-20T10:32:07+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2025-04-20T10:32:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=86ac89fb616cea93c460f78f6997f6a5ff040e9c'/>
<id>urn:sha1:86ac89fb616cea93c460f78f6997f6a5ff040e9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(term): detach fd of stderr+stdout to be independent (#59)</title>
<updated>2025-04-10T08:04:19+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2025-04-10T08:04:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=98ca844bc6170ee332353abdeaac0be0e4a43af0'/>
<id>urn:sha1:98ca844bc6170ee332353abdeaac0be0e4a43af0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(term): feature check, not platform check</title>
<updated>2025-03-02T18:13:28+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2025-03-02T17:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=bdd02cba9ffa1eee3684063b46091f2f868b32b8'/>
<id>urn:sha1:bdd02cba9ffa1eee3684063b46091f2f868b32b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reverse conditional compilation of non-POSIX</title>
<updated>2025-02-25T11:47:59+00:00</updated>
<author>
<name>cos</name>
<email>cos</email>
</author>
<published>2025-02-15T10:17:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=b8b57ba75020c224ae6c5f068cd3514c9a4d7d91'/>
<id>urn:sha1:b8b57ba75020c224ae6c5f068cd3514c9a4d7d91</id>
<content type='text'>
As https://www.openbsd.org/faq/ports/guide.html#PortsGeneric states, it
is inappropriate to base feature inclusion on a growing list (60b66fc,
9160d12) of excluded platforms. Thus this commit attempts to switch the
assumption from Linux to a modern POSIX as the default target.

Firstly, merely checking for __unix__ should be functionally equivalent
of having a long lists of practically "all" operating systems.

Apart from Windows, the primary non-standard code covers these termios
related constants: I_IUCLC, O_OLCUC, O_OFILL, O_OFDEL, O_NLDLY, O_CRDLY
and L_XCASE.

A few of them are documented as LEGACY as they were removed from POSIX
https://pubs.opengroup.org/onlinepubs/007904875/basedefs/termios.h.html
over two decades ago. The other constants are part of the X/Open System
Interfaces, which supposedly should be available when _XOPEN_UNIX is set
to another value than -1. However on Linux they exist, yet the variable
indicating their presence is undefined.

In summary;   It is hard to find any feature specific preprocessor
variables indicating availability, but it is quite safe to limit their
inclusion to Linux until patches arrive for other platforms.

Executing `cpp -dM &lt;/dev/null | grep -i linux` on contemporary glibc and
musl based distributions tend to give a few constants, where __linux__
likely is the one most suitable.

Based on the previous state of the code, the following constants are
expected to be available also on Apple: O_BSDLY, O_VTDLY and O_FFDLY.
They do not appear be documented in termios(4) on macOS 13, but they
actually exist in /Library/Developer/…/sys/termios.h.

Lastly, O_TABDLY is kept excluded exclusively for NetBSD as that is the
only currently supported platform lacking it.
</content>
</entry>
<entry>
<title>feat(terminal): also accept codepoint integers for width check</title>
<updated>2025-02-10T08:01:35+00:00</updated>
<author>
<name>Thijs Schreijer</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2025-02-06T15:52:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=4a128b8969fe4d720f50c1fdb68f0265af8a7117'/>
<id>urn:sha1:4a128b8969fe4d720f50c1fdb68f0265af8a7117</id>
<content type='text'>
Lua utf8 functions return codepoints, hence it makes sense to accept
those, instead of having to convert to utf8 string and back again.
</content>
</entry>
<entry>
<title>fix(terminal): warning unused variable</title>
<updated>2025-02-06T20:03:47+00:00</updated>
<author>
<name>Thijs</name>
<email>thijs@thijsschreijer.nl</email>
</author>
<published>2025-02-06T19:57:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/luasystem/commit/?id=3c1fdbcc844a55f94dde41591f487ded73eab012'/>
<id>urn:sha1:3c1fdbcc844a55f94dde41591f487ded73eab012</id>
<content type='text'>
</content>
</entry>
</feed>
