[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: [ANN] Lua 5.2.0 (work1) now available
- From: Alexander Gladysh <agladysh@...>
- Date: Sat, 9 Jan 2010 04:08:49 +0300
On Sat, Jan 9, 2010 at 02:59, Alexander Gladysh <firstname.lastname@example.org> wrote:
>>> Lua 5.2.0 (work1) is now available at
>>> All feedback welcome. Thanks.
>> Some random nitpicks:
And a bit more:
13. Changelists do not mention new useful lua_Debug fields.
14. LUA_HOOKTAILRET vs. LUA_HOOKTAILCALL change is not mentioned in lists.
15. New documented API functions are not listed:
-- luaL_traceback (really useful, thanks!)
BTW, how it is possible (within Lua defined by the manual) to get
different results for lua_version called with a state and with NULL? I
think I understand why luaL_checkversion is there, but lua_version
existence suggests that version mismatch may be legal. Is it so?
16. collectgarbage API changes not listed.
17. Documented behaviour of ipairs() is changed from "iterates until
*first nil*" to "traverses table length elements as defined by length
1) I welcome this change (even if it is documentation-only), as it
makes documented behaviour more consistent.
2) But, is *actual* behaviour changed? I failed to find such change in a source.
3) Regardless, I think, this is a serious change, which should be
mentioned in a changelists. I've had code which relied on previous
behaviour (thrown it away and written better one with numeric for, but
anyway :-) ).
18. Cool addition of negative offset support in select() is not listed.
19. BTW, since some of functions are moved from the implementation to
the official API (like traceback), could luaB_tostring be made
official as well (as luaL_tostring, for example)? It is the other
function I always copy-paste from Lua sources in my project... So
useful when implementing own print()...
20. Why package.config is a sequence of lines? It looks really
weird... Why not a table? It is also not in changelists.
21. Manual misleadingly states that LUA_GLOBALSINDEX was "deprecated".
It was totally removed instead (which looks like a good thing). I
believe that, in a spirit of the Manual, deprecation means that a
feature could be "reenabled" for backwards compatibility.
22. Frontier pattern was documented (hurray!), but that is not listed
as a change.
23. New table.pack is cool and useful, but not listed as well.
24. There is a typo in math.log docs (note $e$):
The default for base is $e$ (so that the function returns the
natural logarithm of x).
25. It is not listed that file:close() returns process exit code if
file was created with io.popen(). That is cool and useful, but I think
that, in this case, the result file:close() result should be
documented for other files as well.
26. New os.exit() "close the state" fiag is not listed. Also its
default value is not specified.
P.S. Just in case: read "not listed" as not included in changelists.