[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- 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 <agladysh@gmail.com> wrote:
>>> Lua 5.2.0 (work1) is now available at
>>> http://www.lua.org/work/lua-5.2.0-work1.tar.gz
>> <...>
>>> 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:
-- lua_version
-- luaL_checkversion
-- lua_upvalueid
-- luaL_testudata
-- 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
operator".
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.
HTH,
Alexander.
P.S. Just in case: read "not listed" as not included in changelists.