<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lua/liolib.c, branch v5.4.9</title>
<subtitle>A mirror of https://github.com/lua/lua
</subtitle>
<id>https://git.lua4.win/lua/atom?h=v5.4.9</id>
<link rel='self' href='https://git.lua4.win/lua/atom?h=v5.4.9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/'/>
<updated>2024-06-05T14:50:42+00:00</updated>
<entry>
<title>More permissive use of 'errno'</title>
<updated>2024-06-05T14:50:42+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2024-06-05T14:50:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=7eb1ed21b7057ab5f1b921f8271eddcf13659737'/>
<id>urn:sha1:7eb1ed21b7057ab5f1b921f8271eddcf13659737</id>
<content type='text'>
Assume that no function will put garbage on errno (although ISO C allows
that). If any function during an operation set errno, and the operation
result in an error, assume that errno has something to say.
</content>
</entry>
<entry>
<title>More disciplined use of 'errno'</title>
<updated>2024-06-04T15:48:29+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2024-06-04T15:48:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=d5212c13b081ed62d8e1ae436779e79c79edf564'/>
<id>urn:sha1:d5212c13b081ed62d8e1ae436779e79c79edf564</id>
<content type='text'>
Set errno to zero before calling any function where we may use its
errno, and check errno for zero before using it (as functions may
not set it even in error).
</content>
</entry>
<entry>
<title>Broadening the use of branch hints</title>
<updated>2021-02-24T14:14:44+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2021-02-24T14:14:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=59c88f846d1dcd901a4420651aedf27816618923'/>
<id>urn:sha1:59c88f846d1dcd901a4420651aedf27816618923</id>
<content type='text'>
More uses of macros 'likely'/'unlikely' (renamed to
'l_likely'/'l_unlikely'), both in range (extended to the
libraries) and in scope (extended to hooks, stack growth).
</content>
</entry>
<entry>
<title>n Windows, 'popen' accepts "[rw][bt]?" as valid modes</title>
<updated>2020-12-03T15:09:50+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-12-03T15:09:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=754ca0060fcac9829cfb90dd68d96cbe14aa84f7'/>
<id>urn:sha1:754ca0060fcac9829cfb90dd68d96cbe14aa84f7</id>
<content type='text'>
Added the modifiers 'b' and 't' to valid modes for 'popen' in Windows.
</content>
</entry>
<entry>
<title>Fixed bug: invalid mode can crash 'io.popen'</title>
<updated>2020-07-15T19:01:03+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-07-15T19:01:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=1ecfbfa1a1debd2258decdf7c1954ac6f9761699'/>
<id>urn:sha1:1ecfbfa1a1debd2258decdf7c1954ac6f9761699</id>
<content type='text'>
</content>
</entry>
<entry>
<title>'luaL_execresult' does not assume -1 status as error</title>
<updated>2020-05-22T18:39:29+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-05-22T18:39:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=efcf24be0c22cba57b298161bf4ab0561fd3c08e'/>
<id>urn:sha1:efcf24be0c22cba57b298161bf4ab0561fd3c08e</id>
<content type='text'>
ISO C is silent about the return of 'system'. Windows sets 'errno' in
case of errors. Linux has several different error cases, with different
return values. ISO C allows 'system' to set 'errno' even if there are no
errors. Here we assume that a status==0 is success (which is the case
on several platforms), otherwise it is an error. If there is an error
number, gives the error based on it. (The worst a spurious 'errno'
can do is to generate a bad error message.) Otherwise uses the normal
results.
</content>
</entry>
<entry>
<title>Clearer distinction between types and tags</title>
<updated>2020-01-31T14:09:53+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2020-01-31T14:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=46c3587a6feb28e1ee4a32aabe463b0ecb9e8f5e'/>
<id>urn:sha1:46c3587a6feb28e1ee4a32aabe463b0ecb9e8f5e</id>
<content type='text'>
LUA_T* represents only types; tags (types + Variants) are represented
by LUA_V* constants.
</content>
</entry>
<entry>
<title>Added macro 'luaL_pushfail'</title>
<updated>2019-08-16T17:58:02+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-08-16T17:58:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=b96b0b5abbf40cbdbed7952bf35a5a27ddf75928'/>
<id>urn:sha1:b96b0b5abbf40cbdbed7952bf35a5a27ddf75928</id>
<content type='text'>
The macro 'luaL_pushfail' documents all places in the standard libraries
that return nil to signal some kind of failure. It is defined as
'lua_pushnil'. The manual also got a notation (@fail) to document those
returns. The tests were changed to be agnostic regarding whether 'fail'
is 'nil' or 'false'.
</content>
</entry>
<entry>
<title>Correction in the documentation of 'io.lines'</title>
<updated>2019-07-31T14:41:59+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-31T14:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=223bb04090344b1972dc2a7910a54b46210f0d40'/>
<id>urn:sha1:223bb04090344b1972dc2a7910a54b46210f0d40</id>
<content type='text'>
The loop does not end on end of file, but when the iterator function
fails to read a value. (In particular, the format "a" never fails,
so a loop with 'io.lines(fname, "a")' never ends.)
</content>
</entry>
<entry>
<title>Details (typos in comments)</title>
<updated>2019-07-05T18:03:15+00:00</updated>
<author>
<name>Roberto Ierusalimschy</name>
<email>roberto@inf.puc-rio.br</email>
</author>
<published>2019-07-05T18:03:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lua/commit/?id=e888976bc6ba5592fb8ab8ecc04a8f63e217aa74'/>
<id>urn:sha1:e888976bc6ba5592fb8ab8ecc04a8f63e217aa74</id>
<content type='text'>
</content>
</entry>
</feed>
