Roberto Ierusalimschy
e0efebdbe4
Detail in the manual
...
Function 'lua_toclose' can raise a non-memory error (but not a
memory error).
2024-05-14 17:59:54 -03:00
Roberto Ierusalimschy
dfbde4c7d5
Bug: Active-lines for stripped vararg functions
...
Lua seg. faults when asked to create the 'activelines' table for a
vararg function with no debug information.
2024-05-13 13:10:35 -03:00
Roberto Ierusalimschy
de794a6527
Towards release 5.4.7
2024-04-26 14:55:18 -03:00
Roberto Ierusalimschy
842a83f09c
Panic functions should not raise errors
...
The standard panic function was using 'lua_tostring', which may raise
a memory-allocation error if error value is a number.
2023-11-24 16:08:55 -03:00
Roberto Ierusalimschy
9363a8b990
Documentation for "LUA_NOENV"
...
Registry field "LUA_NOENV" (that signals to libraries that option -E
is on) now part of the "official" API of Lua stand-alone.
2023-08-23 13:50:38 -03:00
Roberto Ierusalimschy
6443185167
"Emergency" new version 5.4.6
...
'lua_resetthread' is back to its original signature, to avoid
incompatibilities in the ABI between releases of the same version.
New function 'lua_closethread' added with the "correct" signature.
2023-05-02 16:41:43 -03:00
Roberto Ierusalimschy
e15f1f2bb7
Details
...
Typos in comments and details in the manual.
2023-04-18 09:44:10 -03:00
Roberto Ierusalimschy
b5c65705ca
New year (2023)
...
Also, small tweak in makefile. (-Wsign-compare is already enabled by
-Wextra.)
2023-03-31 11:47:31 -03:00
Roberto Ierusalimschy
1e64c1391f
Bug: stack overflow with nesting of coroutine.close
2022-10-25 16:44:06 -03:00
Roberto Ierusalimschy
c954db3924
Option '-l g=mod' added to the manual
...
Plus some other improvements in the manual.
2022-10-19 16:30:39 -03:00
Roberto Ierusalimschy
71bc69c2af
Note in the manual about using '...' as an expression
2022-09-08 17:21:02 -03:00
Roberto Ierusalimschy
c6cea857a4
Better documentation for 'multires' expressions
...
Manual has a new section explaining multires expressions, lists of
expressions, and adjustments. This commit also corrects some comments
in the code.
2022-08-19 14:10:18 -03:00
Roberto Ierusalimschy
e435aaabef
Details (identation and typos)
2022-05-10 11:13:39 -03:00
Roberto Ierusalimschy
f3cfd5bf2b
Details
...
Comments + manual + identation + asserts about stack limits that were
not allowing the use of the full stack
2022-04-01 13:55:44 -03:00
Roberto Ierusalimschy
5d708c3f9c
Explanation of borders in the manual
...
The explanation includes the limit case of maxinteger being a border.
It also avoids the term "natural", which might include large floats
with natural values.
2022-01-13 08:15:03 -03:00
Roberto Ierusalimschy
05ac2409ee
New year (2022)
2022-01-02 07:11:08 -03:00
Roberto Ierusalimschy
0bfc572e51
Bug: GC is not reentrant
...
As the GC is not reentrant, finalizers should not be able to invoke it.
2021-12-13 10:41:17 -03:00
Roberto Ierusalimschy
6b3e116d44
Corrected bug in 'luaD_tryfuncTM'
...
The pointer to the metamethod can be invalidated by a finalizer that
can run during a GC in 'checkstackGCp'. (This commit also fixes a
detail in the manual.) Bug introduced in commit 91673a8ec
.
2021-11-16 14:35:06 -03:00
Roberto Ierusalimschy
87a9573b2e
Documentation
...
Better explanation about the guaranties of multiple assignment in
the manual.
2021-10-11 13:49:13 -03:00
Roberto Ierusalimschy
9db4bfed6b
Revamp of format validation in 'string.format'
...
When calling 'sprintf', not all conversion specifiers accept all
flags; some combinations are undefined behavior.
2021-09-03 13:14:56 -03:00
Roberto Ierusalimschy
e2c07dcbf7
Improved documentation for 'lua_getinfo'
2021-08-11 11:18:10 -03:00
Roberto Ierusalimschy
8a32e0aa4a
Correction on documentation of string-buffer operations
...
All string-buffer operations can potentially change the stack in
unspecified ways; the push/pop documentation in the manual should
reflect that.
2021-07-21 11:33:58 -03:00
Roberto Ierusalimschy
c0ed74c1e1
Avoid the term "undefined behavior" in the manual
2021-06-09 13:24:49 -03:00
Roberto Ierusalimschy
bef250eb8d
Details
...
Comments and small improvements in the manual.
2021-03-29 11:47:12 -03:00
Roberto Ierusalimschy
511d53a826
lua_settop/lua_pop closes to-be-closed variables
...
The existence of 'lua_closeslot' is no reason for lua_pop not to close
to-be-closed variables too. It is too error-prone for lua_pop not to
close tbc variables being popped from the stack.
2021-03-09 11:42:45 -03:00
Roberto Ierusalimschy
e7803f7dbc
New release number (5.4.3)
2021-03-03 09:44:20 -03:00
Roberto Ierusalimschy
b7eb21c1ef
Normalization of metamethod typography in the manual
2021-03-02 13:50:00 -03:00
Roberto Ierusalimschy
bc970005ce
'__close' methods can yield in the return of a C function
...
When, inside a coroutine, a C function with to-be-closed slots return,
the corresponding metamethods can yield. ('__close' metamethods called
through 'lua_closeslot' still cannot yield, as there is no continuation
to go when resuming.)
2021-02-12 13:36:30 -03:00
Roberto Ierusalimschy
6ccd24eff5
Simpler handling of errors when creating tbc variables
...
New field 'lua_State.ptbc' keeps to-be-closed variable until its
upvalue is created, so that it can be closed in case of a
memory-allocation error.
2021-01-19 10:03:13 -03:00
Roberto Ierusalimschy
825ac8eca8
Corrected documentation for 'table.sort'
...
The sort function must define a (strict) weak order for a correct
sorting. A partial order is not enough.
2021-01-14 13:26:55 -03:00
Roberto Ierusalimschy
cc1692515e
New API function 'lua_closeslot'
...
Closing a to-be-closed variable with 'lua_settop' is too restrictive,
as it erases all slots above the variable. Moreover, it adds side
effects to 'lua_settop', which should be a fairly basic function.
2021-01-11 15:03:01 -03:00
Roberto Ierusalimschy
0ceada8da9
Report last error in closing methods
...
When there are multiple errors around closing methods, report the
last error instead of the original.
2020-12-22 10:54:25 -03:00
Roberto Ierusalimschy
f9d29b0c44
Upvalues removed from 'openupval' before being closed
...
Undo commit c220b0a5d0
: '__close' is not called again in case of
errors. (Upvalue is removed from the list before the call.) The
common error that justified that change was C stack overflows, which
are much rarer with the stackless implementation.
2020-12-21 15:21:45 -03:00
Roberto Ierusalimschy
409256b784
'coroutine.close'/'lua_resetthread' report original errors
...
Besides errors in closing methods, 'coroutine.close' and
'lua_resetthread' also consider the original error that stopped the
thread, if any.
2020-12-18 11:22:42 -03:00
Roberto Ierusalimschy
e2ea3b31c9
Details (do not affect regular code)
...
* Avoids multiple definitions of 'lua_assert' in test file.
* Smaller C-stack limit in test mode.
* Note in the manual about the use of false
* Extra test for constant reuse.
2020-12-07 11:17:30 -03:00
Roberto Ierusalimschy
94cbe46511
Details
...
- small corrections in the manual
- ldo.c: 'docall' -> 'ccall' ('docall' already used in 'lua.c')
- comments
2020-10-30 10:18:54 -03:00
Roberto Ierusalimschy
287b302acb
Revision of stackless implementation
...
- more organized handling of 'nCcalls'
- comments
- deprecation of 'setcstacklimit'
2020-10-12 12:29:09 -03:00
Roberto Ierusalimschy
fbaf040f5e
Details in the manual
2020-09-25 10:49:29 -03:00
Roberto Ierusalimschy
e51564d1be
Details in comments and documentation
2020-09-16 14:57:51 -03:00
Roberto Ierusalimschy
613513d09f
Better documentation for the GC of strings in the C API
...
Plus some other small changes.
2020-09-09 17:28:25 -03:00
Roberto Ierusalimschy
c33b1728ae
Details
...
Added as incompatibility, in the manual, the extra return of 'io.lines'.
2020-06-18 11:07:27 -03:00
Roberto Ierusalimschy
69e84805e4
Details
2020-06-10 16:39:37 -03:00
Roberto Ierusalimschy
50523b107d
Improvements in the manual
...
- more consistent nomenclature for error handling
- more precise definition for dead objects
- added algorithm used by 'math.random'
- added luaL_pushfail
- some other minor changes
2020-05-29 10:41:32 -03:00
Roberto Ierusalimschy
0ddc0f47bd
Several details about 5.4.0 rc1
...
Corrected several small details: added 'const', adjusts in tabs x
spaces, removed unused #includes and #defines, misspellings, etc.
2020-04-23 14:48:15 -03:00
Roberto Ierusalimschy
9e0a8475cd
Added 'simplesect' sections to the manual
...
'simplesect' encloses the introductory text of sections with
subsections, so that each section either is all text or is all
subsections. (This commit also corrects a small brace error in the
manual and extra spaces/tabs in some other files.)
2020-04-13 13:42:40 -03:00
Roberto Ierusalimschy
7ccc6d8290
Improvements in the manual
...
Several small improvements, in particular a new subsection consolidating
all status codes in the API.
2020-04-10 15:44:48 -03:00
Roberto Ierusalimschy
d7bb8df841
Copyright year changed to 2020
2019-12-27 10:38:53 -03:00
Roberto Ierusalimschy
e174f43807
Manual a little more clear about string->number coersions
2019-12-05 12:57:40 -03:00
Roberto Ierusalimschy
5f83fb6582
Details
2019-11-18 14:54:06 -03:00
Roberto Ierusalimschy
679dc72c08
Using 'metavalues' for "metamethods" that are not methods
...
Several "metamethods" are not required to be methods (functions),
so it seems clearer not to call them metamethods. The manual now
uses the word 'metavalue' for those values.
2019-11-08 15:45:55 -03:00