Skip to content

Latest commit

 

History

History
7355 lines (7308 loc) · 641 KB

CHANGELOG.md

File metadata and controls

7355 lines (7308 loc) · 641 KB

CHANGELOG

This changelog is automaticaly generated. If you find any issue with this file, please report to the devs.

[Unreleased]

  • [ab03e795] docs: added build status badge to readme file (Thiago Rezende)
  • [c7a3dce8] build: added m library as dependency (Thiago Rezende)
  • [1e8f358d] ci: added gihub actions config (Thiago Rezende)
  • [2b374943] test: added simple unit testing structure (Thiago Rezende)
  • [a5e74849] build: added meson.build to lib lua and lua interpreter (Thiago Rezende)
  • [4f560424] build: added main meson.bulid file (Thiago Rezende)
  • [0c6578f8] docs: added final new line to readme file (Thiago Rezende)
  • [cf2bf09b] chore: added gitattributes and gitignore (Thiago Rezende)
  • [d3edcb3c] chore: added .editorconfig (Thiago Rezende)
  • [e651ca4c] chore: removed makefile (Thiago Rezende)
  • [7fe3525e] docs: added readme content (Thiago Rezende)
  • [f7c6b4a7] docs: added readme file (Thiago Rezende)
  • [eb4d197d] chore: changed project structure to a more consise one (Thiago Rezende)
  • [c33b1728] Details (Roberto Ierusalimschy)
  • [a3041998] Detail in 'lua_resetthread' (Roberto Ierusalimschy)
  • [6d7cd31f] Fixed missing GC barriers in compiler and undump (Roberto Ierusalimschy)
  • [993c58fd] In 'lua_checkmemory', userdata can be gray, too (Roberto Ierusalimschy)
  • [d49b2887] 'luaE_shrinkCI' shouldn't remove first free CallInfo (Roberto Ierusalimschy)
  • [69e84805] Details (Roberto Ierusalimschy)
  • [364e5699] Avoid calling 'fprintf' with NULL (Roberto Ierusalimschy)
  • [63295f1f] Fixed two bugs in to-be-closed variables x constants (Roberto Ierusalimschy)
  • [50523b10] Improvements in the manual (Roberto Ierusalimschy)
  • [aa8d4a78] Details (more uniformity in error messages) (Roberto Ierusalimschy)
  • [efcf24be] 'luaL_execresult' does not assume -1 status as error (Roberto Ierusalimschy)
  • [17dbaa86] Improvements in the handling of signals (Roberto Ierusalimschy)
  • [9514abc2] Cleaner definition for 'TString' (Roberto Ierusalimschy)
  • [0be57b9b] Details in comments (Roberto Ierusalimschy)
  • [61a4e64a] Back to old encoding of versions in binary files (Roberto Ierusalimschy)
  • [9a6f47f0] C-Stack test does not assume minimum of 400 slots (Roberto Ierusalimschy)
  • [948fb628] Details (Roberto Ierusalimschy)
  • [a901c505] Fixed warning about casts between function pointers (Roberto Ierusalimschy)
  • [0ddc0f47] Several details about 5.4.0 rc1 (Roberto Ierusalimschy)
  • [cac075a1] Small issue in 'exprstat' (Roberto Ierusalimschy)
  • [9e0a8475] Added 'simplesect' sections to the manual (Roberto Ierusalimschy)
  • [7ccc6d82] Improvements in the manual (Roberto Ierusalimschy)
  • [7288528a] Short strings always use all bytes in the hash (Roberto Ierusalimschy)
  • [513559cc] Fixed bug in 'string.format("%p")' (Roberto Ierusalimschy)
  • [e4607523] Fixed "conceptual" bug in 'luaK_setreturns' (Roberto Ierusalimschy)
  • [92594f09] Corrected direct use of 'snprintf' in 'lstrlib.c' (Roberto Ierusalimschy)
  • [e8a52281] Code style in 'ldump'/'lundump'. (Roberto Ierusalimschy)
  • [6eb53b75] Details (Roberto Ierusalimschy)
  • [9b7987a9] OP_LOADFALSE broken in two instructions (Roberto Ierusalimschy)
  • [28ef7061] Tag values don't need to be different from type values (Roberto Ierusalimschy)
  • [46c3587a] Clearer distinction between types and tags (Roberto Ierusalimschy)
  • [69c7139f] New macro 'makevariant' to codify variant tags (Roberto Ierusalimschy)
  • [5ff408d2] Changed internal representation of booleans (Roberto Ierusalimschy)
  • [e3c83835] Fixed bug in 'aux_rawset' (Roberto Ierusalimschy)
  • [bd1b87c5] Comments (mosty typos) (Roberto Ierusalimschy)
  • [d7bb8df8] Copyright year changed to 2020 (Roberto Ierusalimschy)
  • [c646e57f] Joined common code in 'lua_rawset' and 'lua_rawsetp' (Roberto Ierusalimschy)
  • [e0ab13c6] Easy way to allow Unicode characters in identifiers (Roberto Ierusalimschy)
  • [e0cbaa50] Added test for NULL in string.format("%p") (Roberto Ierusalimschy)
  • [37474873] Small correction in assertion (Roberto Ierusalimschy)
  • [1e0ad018] Comment about LUA_COMPAT_LT_LE moved to proper place (Roberto Ierusalimschy)
  • [95735bda] Simplifications in 'op_arith*' family of macros (Roberto Ierusalimschy)
  • [d30569c0] Using an enumeration for float->integer coercion modes (Roberto Ierusalimschy)
  • [2d92102d] 'l_mathlim' renamed to 'l_floatatt' (Roberto Ierusalimschy)
  • [490ecfca] Better comments about the use of 'k' in opcodes (Roberto Ierusalimschy)
  • [e174f438] Manual a little more clear about string->number coersions (Roberto Ierusalimschy)
  • [81f2401c] Code reorganization for opcodes OP_FORPREP and OP_FORLOOP (Roberto Ierusalimschy)
  • [508a705c] Removed some wrong comments (Roberto Ierusalimschy)
  • [6f1c033d] More generic pattern when testing 'string.format' (Roberto Ierusalimschy)
  • [5f83fb65] Details (Roberto Ierusalimschy)
  • [679dc72c] Using 'metavalues' for "metamethods" that are not methods (Roberto Ierusalimschy)
  • [1499680f] Comments in 'lopcodes.h' (Roberto Ierusalimschy)
  • [bdcfae2e] File 'bugs' no longer tracked by git (Roberto Ierusalimschy)
  • [7d526e75] Fixed bug in tail calls of __call chains (Roberto Ierusalimschy)
  • [c12983cf] Fixed warnings from Keil compiler (Roberto Ierusalimschy)
  • [ba9cd0d2] Change in the prefix of messages from searchers (Roberto Ierusalimschy)
  • [b93f3b00] Added function 'luaL_buffsub' (Roberto Ierusalimschy)
  • [4c32d930] Several enhancements in the manual (Roberto Ierusalimschy)
  • [6e285e53] More pious implementation of 'string.dump' (Roberto Ierusalimschy)
  • [b8cdea01] Changed definition of macro 'l_isfalse' (Roberto Ierusalimschy)
  • [e592f94a] Details (mostly comments) (Roberto Ierusalimschy)
  • [6e1aec7a] Larger C-stack limits for new threads (Roberto Ierusalimschy)
  • [6055a039] Easy redefinition of valid flags for 'string.format' (Roberto Ierusalimschy)
  • [6c0e4446] Improvements in the manual around metamethods (Roberto Ierusalimschy)
  • [6a84c329] No coercion string->number in arithmetic with LUA_NOCVTS2N (Roberto Ierusalimschy)
  • [6a10f03f] Makefile compiles the Lua compiler with '-Os' (Roberto Ierusalimschy)
  • [7bd1e537] Fixed a warning and other minor issues (Roberto Ierusalimschy)
  • [b98d41db] Script 'packtests' gets Lua version as a parameter (Roberto Ierusalimschy)
  • [b2a580bd] Janitorial work (Roberto Ierusalimschy)
  • [89f6a85f] Details in the makefile (warning options) (Roberto Ierusalimschy)
  • [6ef36664] Subtraction of small constant integers optimized with OP_ADDI (Roberto Ierusalimschy)
  • [03cde80b] 'setCstacklimit' renamed to 'setcstacklimit' (Roberto Ierusalimschy)
  • [6b2e202d] Janitorial work in 'lcode.c' (Roberto Ierusalimschy)
  • [40d8832e] Simplification in the call to 'constfolding' (Roberto Ierusalimschy)
  • [91dad09f] Removed arithmetic opcodes with immediate operand (Roberto Ierusalimschy)
  • [4518e5df] Added macro 'testMMMode' (Roberto Ierusalimschy)
  • [72a094bd] Undo change in the handling of 'L->top' (commit b80077b8f3) (Roberto Ierusalimschy)
  • [46b84580] Use of 'MMBIN' opcodes extended to shift operators (Roberto Ierusalimschy)
  • [df13f259] First version of OP_MMBIN opcodes (Roberto Ierusalimschy)
  • [643188d6] Fixed missing case in 'luaV_finishOp' (Roberto Ierusalimschy)
  • [3df5624f] Fixed bug when yiedling inside OP_ADDK opcode (Roberto Ierusalimschy)
  • [be78aeae] Default for warnings changed to "off" (Roberto Ierusalimschy)
  • [5bc47fe8] Detail (extra test for warnings when closing state) (Roberto Ierusalimschy)
  • [94054725] Improvement in warn-mode '@store' (for testing) (Roberto Ierusalimschy)
  • [45948e7e] Manual corrected with the new syntax for attributes (Roberto Ierusalimschy)
  • [b96b0b5a] Added macro 'luaL_pushfail' (Roberto Ierusalimschy)
  • [ca13be9a] Supressed errors in '__close' generate warnings (Roberto Ierusalimschy)
  • [a1d8eb27] Added control messages to warnings (Roberto Ierusalimschy)
  • [f64a1b17] Small optimization in 'convergeephemerons' (Roberto Ierusalimschy)
  • [09b4e527] Detail in the manual (method 'file:setvbuf') (Roberto Ierusalimschy)
  • [35a28a58] Details (Roberto Ierusalimschy)
  • [223bb040] Correction in the documentation of 'io.lines' (Roberto Ierusalimschy)
  • [fe040633] Tracebacks recognize metamethods '__close' (Roberto Ierusalimschy)
  • [f645d315] To-be-closed variables must be closed on initialization (Roberto Ierusalimschy)
  • [35b4efc2] Fixed test in 'main.lua' (Roberto Ierusalimschy)
  • [0d529138] Change in the syntax of attributes (Roberto Ierusalimschy)
  • [b80077b8] Change in the handling of 'L->top' when calling metamethods (Roberto Ierusalimschy)
  • [e70f275f] Bug: 'Vardesc' array can be reallocated in 'localstat' (Roberto Ierusalimschy)
  • [9a37dc0c] Small corrections when setting 'L->top' (Roberto Ierusalimschy)
  • [0eb6aa40] Some improvements in date/time functions (Roberto Ierusalimschy)
  • [7f5c31cd] Fixed bug in 'string.format' with option '%f' (Roberto Ierusalimschy)
  • [9e6807c3] Do not collect open upvalues (Roberto Ierusalimschy)
  • [2f22c6bb] 'math.randomseed' always returns the two seed components (Roberto Ierusalimschy)
  • [3c0d3c6f] Avoid using addresses of static variables as unique keys (Roberto Ierusalimschy)
  • [440a5ee7] Fixed bug for emergency collection in upvalue creation (Roberto Ierusalimschy)
  • [dc07719b] Tag LUA_TUPVALTBC replaced by a flag (Roberto Ierusalimschy)
  • [9cdf6b70] Some details in 'lmem.c' and 'lgc.c' (Roberto Ierusalimschy)
  • [3c1d415b] Details (Roberto Ierusalimschy)
  • [d36a31e6] Reviving HARDMEMTESTS (Roberto Ierusalimschy)
  • [024a6071] Small bug with stack reallocation (Roberto Ierusalimschy)
  • [4eefef07] 'math.randomseed()' returns the seeds it used (Roberto Ierusalimschy)
  • [9c28ed05] Calls 'luaF_close' in 'lua_settop' only when needed (Roberto Ierusalimschy)
  • [8082906c] Fixed small issue with constant propagation (Roberto Ierusalimschy)
  • [d6af8108] New kind of expression VKSTR (Roberto Ierusalimschy)
  • [4846f7e3] Micro optimization in OP_RETURN and OP_TAILCALL (Roberto Ierusalimschy)
  • [c220b0a5] '__close' method may be called again in case of error (Roberto Ierusalimschy)
  • [298f383f] Avoid setting the stack top below upvalues to be closed (Roberto Ierusalimschy)
  • [758c1ef4] Unification of size representation in OP_NEWTABLE and OP_SETLIST (Roberto Ierusalimschy)
  • [dd6d8db4] Reordering of instructions in the main loop (Roberto Ierusalimschy)
  • [1fb4d539] OP_NEWTABLE keeps exact size of arrays (Roberto Ierusalimschy)
  • [f6aab3ec] First implementation of constant propagation (Roberto Ierusalimschy)
  • [be8445d7] Details (Roberto Ierusalimschy)
  • [3d296304] Towards constant propagation (Roberto Ierusalimschy)
  • [54f7b46c] New implementation for constants (Roberto Ierusalimschy)
  • [e888976b] Details (typos in comments) (Roberto Ierusalimschy)
  • [4d462893] Local attributes can be used in list of local variables (Roberto Ierusalimschy)
  • [8eca21c2] First take on constant propagation (Roberto Ierusalimschy)
  • [924bed72] Methods separated from metamethods in 'io' (Roberto Ierusalimschy)
  • [8b7cfee2] Small changes around C-stack limit (Roberto Ierusalimschy)
  • [c1a63c45] '__call' metamethod can be any callable object (Roberto Ierusalimschy)
  • [4487c28c] A few more tests for table access in the API (Roberto Ierusalimschy)
  • [05ba2880] Added script 'packtests' to the project (Roberto Ierusalimschy)
  • [6b9490bd] Details in tests (Roberto Ierusalimschy)
  • [e4b02ca8] Structure 'Vardesc' does not need a 'name' field (Roberto Ierusalimschy)
  • [20a9853e] Cleaning macros in 'luaV_execute' (Roberto Ierusalimschy)
  • [1d70708a] Fixed bug [5.4 alpha] for errors in finalizers (Roberto Ierusalimschy)
  • [be73f72f] New function 'setCstacklimit' (Roberto Ierusalimschy)
  • [3cd9b56a] Revamp around 'L->nCcalls' count (Roberto Ierusalimschy)
  • [d2a9b4ff] Detail in the manual (Roberto Ierusalimschy)
  • [f39e8c06] Updated the documentation for the API function 'lua_gc' (Roberto Ierusalimschy)
  • [6aeaeb56] Detail in makefile (Roberto Ierusalimschy)
  • [b4d5dff8] Multiple errors in '__toclose' report the first one (Roberto Ierusalimschy)
  • [14edd364] Function 'warn' is vararg (Roberto Ierusalimschy)
  • [514d9427] 'coroutine.kill' renamed 'coroutine.close' (Roberto Ierusalimschy)
  • [4a3fd848] bug in 5.4 alpha rc1: to-be-closed x vararg functions (Roberto Ierusalimschy)
  • [2c68e665] Details (Roberto Ierusalimschy)
  • [7d0f41df] Improvements in 'testes/cstack.lua' (Roberto Ierusalimschy)
  • [2b8b5386] Improvements in 'luaL_traceback' (Roberto Ierusalimschy)
  • [b293ae05] Details (Roberto Ierusalimschy)
  • [d9f40e3f] First implementation for 'const' variables (Roberto Ierusalimschy)
  • [347d6961] Define LUA_MAXUNSIGNED as a preprocessor constant (Roberto Ierusalimschy)
  • [0b63d79b] Details (Roberto Ierusalimschy)
  • [279c3a69] A few changes in tests about number of bits in integers (Roberto Ierusalimschy)
  • [49c42f36] Some improvements in 'luaconf.h' (Roberto Ierusalimschy)
  • [d881325c] Flag for to-be-closed variables changed to '' (Roberto Ierusalimschy)
  • [3f253f11] Test for dead coroutine moved to 'lua_resume' (Roberto Ierusalimschy)
  • [389116d8] Coroutines do not unwind the stack in case of errors (Roberto Ierusalimschy)
  • [01bded3d] File 'lib2-v2.so' generated from its own source (Roberto Ierusalimschy)
  • [7c578647] A few more improvements in 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [b1460903] Avoid the creation of too many strings in 'package' (Roberto Ierusalimschy)
  • [b36e26f5] Some more small improvements to 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [969b8c1f] Fixed bug with to-be-closed variables in base C level (Roberto Ierusalimschy)
  • [c6560515] New function 'luaL_addgsub' (Roberto Ierusalimschy)
  • [3da34a5f] Revamp of 'lua_pushfstring' / 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [20b161e2] Small correction in test about 'isdst' (Roberto Ierusalimschy)
  • [ed2872cd] 'require' returns where module was found (Roberto Ierusalimschy)
  • [2d3f0954] Avoid using large buffers in 'string.format' (Roberto Ierusalimschy)
  • [b0810c51] Small optimizations in 'string.gsub' (Roberto Ierusalimschy)
  • [a93e0144] Added an optional parameter to 'coroutine.isyieldable' (Roberto Ierusalimschy)
  • [8ba4523c] 'print' does not call 'tostring' to format its arguments (Roberto Ierusalimschy)
  • [979ad95e] Thorough revision of the reference manual (Roberto Ierusalimschy)
  • [0f028b90] Corrected tests around non-portable 'isdst' in dates (Roberto Ierusalimschy)
  • [65d1aa7a] Syntax should not allow numbers touching identifiers (Roberto Ierusalimschy)
  • [8004798b] Fixed wrong error message in 'return math.seed(0)' (Roberto Ierusalimschy)
  • [5ca1075b] Added field 'srclen' to structure 'lua_Debug' (Roberto Ierusalimschy)
  • [38425e06] Avoid moving the collector while in 'GCSenteratomic' state (Roberto Ierusalimschy)
  • [d1226206] Small optimizations in range checks (Roberto Ierusalimschy)
  • [0443ad9e] LUAI_MAXCCALLS renamed LUAI_MAXCSTACK (Roberto Ierusalimschy)
  • [f9b0cf0e] Year in copyright notice updated to 2019 (Roberto Ierusalimschy)
  • [7ceb2154] Fixed small bugs/issues (Roberto Ierusalimschy)
  • [23e6bac8] Keep correct type for immediate operands in comparisons (Roberto Ierusalimschy)
  • [68205492] Details in the implementation of the integer 'for' loop (Roberto Ierusalimschy)
  • [f53eabee] Small changes in the header of binary files (Roberto Ierusalimschy)
  • [39bb3cf2] Name 'nonstrict' in the UTF-8 library changed to 'lax' (Roberto Ierusalimschy)
  • [9b37a469] New semantics for the integer 'for' loop (Roberto Ierusalimschy)
  • [1e0c73d5] Changes in the validation of UTF-8 (Roberto Ierusalimschy)
  • [8fa4f138] Finalizers must be callable (Roberto Ierusalimschy)
  • [b56d4e57] Changes in the warning system (Roberto Ierusalimschy)
  • [9eca305e] 'math.randomseed()' sets a somewhat random seed (Roberto Ierusalimschy)
  • [c5feac2b] Strings inside Lua are not fully aligned (Roberto Ierusalimschy)
  • [dfebe439] New conversion specifier '%p' for 'string.format' (Roberto Ierusalimschy)
  • [cf71a5dd] Details (Roberto Ierusalimschy)
  • [2c32bff6] After a "bad collections", avoid switching back back to generational (Roberto Ierusalimschy)
  • [264659bd] Optional 'init' argument to 'string.gmatch' (Roberto Ierusalimschy)
  • [4ace93ca] No more to-be-closed functions (Roberto Ierusalimschy)
  • [c6f7181e] No more LUA_ERRGCMM errors (Roberto Ierusalimschy)
  • [437a5b07] Added a warning system to Lua (Roberto Ierusalimschy)
  • [ba7da13e] Changes in the control of C-stack overflow (Roberto Ierusalimschy)
  • [da37ac9c] Detail (Roberto Ierusalimschy)
  • [66250647] 'all' script automatically 'make's everything (Roberto Ierusalimschy)
  • [5d7dec55] Added directory 'testes/libs/P1' to the repository (Roberto Ierusalimschy)
  • [af6d9f31] Details (Roberto Ierusalimschy)
  • [2258f313] Added file 'testes/heavy.lua' (Roberto Ierusalimschy)
  • [57f5b81d] Bug: Long brackets with a huge number of '=' causes overflow (Roberto Ierusalimschy)
  • [fdc25a1e] New functions 'lua_resetthread' and 'coroutine.kill' (Roberto Ierusalimschy)
  • [3b06f983] Details (Roberto Ierusalimschy)
  • [51316f9d] 'math.rand()' uses higher bits to produce float value (Roberto Ierusalimschy)
  • [46beca5b] Better error messages for some polymorphic functions (Roberto Ierusalimschy)
  • [28d829c8] Calls cannot be tail in the scope of a to-be-closed variable (Roberto Ierusalimschy)
  • [6d04537e] A to-be-closed variable must have a closable value (or be nil) (Roberto Ierusalimschy)
  • [7696c647] Auxiliary buffer cannot close box with 'lua_remove' (Roberto Ierusalimschy)
  • [7e63d3da] Some bugs with stack reallocation by 'luaF_close' (Roberto Ierusalimschy)
  • [84e32ad2] Added opcodes for arithmetic with K operands (Roberto Ierusalimschy)
  • [35296e1f] Details (Roberto Ierusalimschy)
  • [bb0185b1] Documentation for to-be-closed variables (Roberto Ierusalimschy)
  • [d40cd315] Visibility of non-API functions changed to "internal" (Roberto Ierusalimschy)
  • [8cb84210] String buffer using to-be-closed variable (Roberto Ierusalimschy)
  • [5fda30b4] 'lua_toclose' gets the index to be closed as an argument (Roberto Ierusalimschy)
  • [9eafe9c0] New implementation for 'luaL_addvalue' (Roberto Ierusalimschy)
  • [7f6f7085] To-be-closed variable in 'for' loop separated from the state (Roberto Ierusalimschy)
  • [b8fed932] New syntax for to-be-closed variables (Roberto Ierusalimschy)
  • [5e76a4fd] New macros for arithmetic/bitwise operations in 'luaV_execute' (Roberto Ierusalimschy)
  • [e8c77973] Removed internal cache for closures (Roberto Ierusalimschy)
  • [2fc6b55d] Removed resource-related "emergency collections" (Roberto Ierusalimschy)
  • [947a372f] State in generic 'for' acts as a to-be-closed variable (Roberto Ierusalimschy)
  • [e073cbc2] Better error messages for invalid operands in numeric 'for' (Roberto Ierusalimschy)
  • [2316ec4c] Back with optimization for 'if cond then goto' (Roberto Ierusalimschy)
  • [a006514e] Big revamp in the implmentation of labels/gotos (Roberto Ierusalimschy)
  • [6e9b7196] More uniformity in code generation for 'for' loops (Roberto Ierusalimschy)
  • [34840301] To-be-closed variables in the C API (Roberto Ierusalimschy)
  • [41c800b3] Closing methods should not interfere with returning values (Roberto Ierusalimschy)
  • [0a9aca56] Added a '__close' metamethod to file handles (Roberto Ierusalimschy)
  • [ea1322ef] Detail: bad assertion in 'luaM_free_' (Roberto Ierusalimschy)
  • [6a4b9bb2] Removed extra information from RCS keyword strings in tests (Roberto Ierusalimschy)
  • [7c8146d5] Small improvements in the manual (Roberto Ierusalimschy)
  • [c90176f9] Complete implementation of to-be-closed variables (Roberto Ierusalimschy)
  • [3c7dc529] Handling of memory errors when creating to-be-closed upvalues (Roberto Ierusalimschy)
  • [bd96330d] First "complete" implementation of to-be-closed variables (Roberto Ierusalimschy)
  • [4cd1f4aa] Towards "to closed" local variables (Roberto Ierusalimschy)
  • [b114c7d4] Added "cost" for the use of C stack by a coroutine invocation. (Roberto Ierusalimschy)
  • [9cbf17b0] Details (comments) (Roberto Ierusalimschy)
  • [5382a22e] Corrections in the implementation of '%' for floats. (Roberto Ierusalimschy)
  • [8c8a91f2] Deprecated the emulation of '__le' using '__lt' (Roberto Ierusalimschy)
  • [f9950958] Removed extra information from RCS keyword strings (Roberto Ierusalimschy)
  • [3dcd04ad] details (Roberto Ierusalimschy)
  • [faaf7e48] Removed use of 'rl_inhibit_completion' in 'lua.c' (Roberto Ierusalimschy)
  • [3d838f63] Added "emergency collection" to 'io.tmpfile' and 'os.tmpname' (Roberto Ierusalimschy)
  • [aa4c5cf1] Added directory to test file names in '$Id:' (Roberto Ierusalimschy)
  • [b47f2cd0] Small improvements in the manual (Roberto Ierusalimschy)
  • [e885dee5] File operations try an "emergency collection" when failing (Roberto Ierusalimschy)
  • [ccae0f5a] Comments about OLD0/OLD1 ages (Roberto Ierusalimschy)
  • [2e297d6a] Fixed bug in generational collection of userdata (Roberto Ierusalimschy)
  • [fb18346d] Avoid using 'int' for UTF-8 values (Roberto Ierusalimschy)
  • [96f9643f] Bug: wrong 'nCcalls' when resuming a coroutine (Roberto Ierusalimschy)
  • [84058b15] Added definition for LUA_VERSION_RELEASE_NUM (Roberto Ierusalimschy)
  • [4d5de1c1] Fixed bug in line info. when using 'not' operator (Roberto Ierusalimschy)
  • [9a825f6b] In tests of opcodes, avoid coercion in bitwise operation (Roberto Ierusalimschy)
  • [941b189d] Improvements in the manual (Roberto Ierusalimschy)
  • [21f663d2] Added missing $Id$ to file 'ljumptab.h' (Roberto Ierusalimschy)
  • [626cf058] Generational mode may wait longer after a major collection (Roberto Ierusalimschy)
  • [ccf6d098] 'searchpath' creates less temporary strings (Roberto Ierusalimschy)
  • [de2caf7e] Bit-library file removed from the project (as it was deprecated) (Roberto Ierusalimschy)
  • [b08c9079] Opcode names moved to a new header file (Roberto Ierusalimschy)
  • [06e08c6d] Fixed bug in OP_IDIVI (Roberto Ierusalimschy)
  • [7c519dfb] Added manual and tests for version 5.4-w2 (Roberto Ierusalimschy)

[v5.4-w2]

[v5.4-beta]

  • [6c0e4446] Improvements in the manual around metamethods (Roberto Ierusalimschy)
  • [6a84c329] No coercion string->number in arithmetic with LUA_NOCVTS2N (Roberto Ierusalimschy)
  • [6a10f03f] Makefile compiles the Lua compiler with '-Os' (Roberto Ierusalimschy)
  • [7bd1e537] Fixed a warning and other minor issues (Roberto Ierusalimschy)
  • [b98d41db] Script 'packtests' gets Lua version as a parameter (Roberto Ierusalimschy)
  • [b2a580bd] Janitorial work (Roberto Ierusalimschy)
  • [89f6a85f] Details in the makefile (warning options) (Roberto Ierusalimschy)
  • [6ef36664] Subtraction of small constant integers optimized with OP_ADDI (Roberto Ierusalimschy)
  • [03cde80b] 'setCstacklimit' renamed to 'setcstacklimit' (Roberto Ierusalimschy)
  • [6b2e202d] Janitorial work in 'lcode.c' (Roberto Ierusalimschy)
  • [40d8832e] Simplification in the call to 'constfolding' (Roberto Ierusalimschy)
  • [91dad09f] Removed arithmetic opcodes with immediate operand (Roberto Ierusalimschy)
  • [4518e5df] Added macro 'testMMMode' (Roberto Ierusalimschy)
  • [72a094bd] Undo change in the handling of 'L->top' (commit b80077b8f3) (Roberto Ierusalimschy)
  • [46b84580] Use of 'MMBIN' opcodes extended to shift operators (Roberto Ierusalimschy)
  • [df13f259] First version of OP_MMBIN opcodes (Roberto Ierusalimschy)
  • [643188d6] Fixed missing case in 'luaV_finishOp' (Roberto Ierusalimschy)
  • [3df5624f] Fixed bug when yiedling inside OP_ADDK opcode (Roberto Ierusalimschy)
  • [be78aeae] Default for warnings changed to "off" (Roberto Ierusalimschy)
  • [5bc47fe8] Detail (extra test for warnings when closing state) (Roberto Ierusalimschy)
  • [94054725] Improvement in warn-mode '@store' (for testing) (Roberto Ierusalimschy)
  • [45948e7e] Manual corrected with the new syntax for attributes (Roberto Ierusalimschy)
  • [b96b0b5a] Added macro 'luaL_pushfail' (Roberto Ierusalimschy)
  • [ca13be9a] Supressed errors in '__close' generate warnings (Roberto Ierusalimschy)
  • [a1d8eb27] Added control messages to warnings (Roberto Ierusalimschy)
  • [f64a1b17] Small optimization in 'convergeephemerons' (Roberto Ierusalimschy)
  • [09b4e527] Detail in the manual (method 'file:setvbuf') (Roberto Ierusalimschy)
  • [35a28a58] Details (Roberto Ierusalimschy)
  • [223bb040] Correction in the documentation of 'io.lines' (Roberto Ierusalimschy)
  • [fe040633] Tracebacks recognize metamethods '__close' (Roberto Ierusalimschy)
  • [f645d315] To-be-closed variables must be closed on initialization (Roberto Ierusalimschy)
  • [35b4efc2] Fixed test in 'main.lua' (Roberto Ierusalimschy)
  • [0d529138] Change in the syntax of attributes (Roberto Ierusalimschy)
  • [b80077b8] Change in the handling of 'L->top' when calling metamethods (Roberto Ierusalimschy)
  • [e70f275f] Bug: 'Vardesc' array can be reallocated in 'localstat' (Roberto Ierusalimschy)
  • [9a37dc0c] Small corrections when setting 'L->top' (Roberto Ierusalimschy)
  • [0eb6aa40] Some improvements in date/time functions (Roberto Ierusalimschy)
  • [7f5c31cd] Fixed bug in 'string.format' with option '%f' (Roberto Ierusalimschy)
  • [9e6807c3] Do not collect open upvalues (Roberto Ierusalimschy)
  • [2f22c6bb] 'math.randomseed' always returns the two seed components (Roberto Ierusalimschy)
  • [3c0d3c6f] Avoid using addresses of static variables as unique keys (Roberto Ierusalimschy)
  • [440a5ee7] Fixed bug for emergency collection in upvalue creation (Roberto Ierusalimschy)
  • [dc07719b] Tag LUA_TUPVALTBC replaced by a flag (Roberto Ierusalimschy)
  • [9cdf6b70] Some details in 'lmem.c' and 'lgc.c' (Roberto Ierusalimschy)
  • [3c1d415b] Details (Roberto Ierusalimschy)
  • [d36a31e6] Reviving HARDMEMTESTS (Roberto Ierusalimschy)
  • [024a6071] Small bug with stack reallocation (Roberto Ierusalimschy)
  • [4eefef07] 'math.randomseed()' returns the seeds it used (Roberto Ierusalimschy)
  • [9c28ed05] Calls 'luaF_close' in 'lua_settop' only when needed (Roberto Ierusalimschy)
  • [8082906c] Fixed small issue with constant propagation (Roberto Ierusalimschy)
  • [d6af8108] New kind of expression VKSTR (Roberto Ierusalimschy)
  • [4846f7e3] Micro optimization in OP_RETURN and OP_TAILCALL (Roberto Ierusalimschy)
  • [c220b0a5] '__close' method may be called again in case of error (Roberto Ierusalimschy)
  • [298f383f] Avoid setting the stack top below upvalues to be closed (Roberto Ierusalimschy)
  • [758c1ef4] Unification of size representation in OP_NEWTABLE and OP_SETLIST (Roberto Ierusalimschy)
  • [dd6d8db4] Reordering of instructions in the main loop (Roberto Ierusalimschy)
  • [1fb4d539] OP_NEWTABLE keeps exact size of arrays (Roberto Ierusalimschy)
  • [f6aab3ec] First implementation of constant propagation (Roberto Ierusalimschy)
  • [be8445d7] Details (Roberto Ierusalimschy)
  • [3d296304] Towards constant propagation (Roberto Ierusalimschy)
  • [54f7b46c] New implementation for constants (Roberto Ierusalimschy)
  • [e888976b] Details (typos in comments) (Roberto Ierusalimschy)
  • [4d462893] Local attributes can be used in list of local variables (Roberto Ierusalimschy)
  • [8eca21c2] First take on constant propagation (Roberto Ierusalimschy)
  • [924bed72] Methods separated from metamethods in 'io' (Roberto Ierusalimschy)
  • [8b7cfee2] Small changes around C-stack limit (Roberto Ierusalimschy)
  • [c1a63c45] '__call' metamethod can be any callable object (Roberto Ierusalimschy)
  • [4487c28c] A few more tests for table access in the API (Roberto Ierusalimschy)
  • [05ba2880] Added script 'packtests' to the project (Roberto Ierusalimschy)
  • [6b9490bd] Details in tests (Roberto Ierusalimschy)
  • [e4b02ca8] Structure 'Vardesc' does not need a 'name' field (Roberto Ierusalimschy)
  • [20a9853e] Cleaning macros in 'luaV_execute' (Roberto Ierusalimschy)
  • [1d70708a] Fixed bug [5.4 alpha] for errors in finalizers (Roberto Ierusalimschy)
  • [be73f72f] New function 'setCstacklimit' (Roberto Ierusalimschy)
  • [3cd9b56a] Revamp around 'L->nCcalls' count (Roberto Ierusalimschy)
  • [d2a9b4ff] Detail in the manual (Roberto Ierusalimschy)

[v5.4-alpha]

  • [f39e8c06] Updated the documentation for the API function 'lua_gc' (Roberto Ierusalimschy)
  • [6aeaeb56] Detail in makefile (Roberto Ierusalimschy)
  • [b4d5dff8] Multiple errors in '__toclose' report the first one (Roberto Ierusalimschy)
  • [14edd364] Function 'warn' is vararg (Roberto Ierusalimschy)
  • [514d9427] 'coroutine.kill' renamed 'coroutine.close' (Roberto Ierusalimschy)
  • [4a3fd848] bug in 5.4 alpha rc1: to-be-closed x vararg functions (Roberto Ierusalimschy)
  • [2c68e665] Details (Roberto Ierusalimschy)
  • [7d0f41df] Improvements in 'testes/cstack.lua' (Roberto Ierusalimschy)
  • [2b8b5386] Improvements in 'luaL_traceback' (Roberto Ierusalimschy)
  • [b293ae05] Details (Roberto Ierusalimschy)
  • [d9f40e3f] First implementation for 'const' variables (Roberto Ierusalimschy)
  • [347d6961] Define LUA_MAXUNSIGNED as a preprocessor constant (Roberto Ierusalimschy)
  • [0b63d79b] Details (Roberto Ierusalimschy)
  • [279c3a69] A few changes in tests about number of bits in integers (Roberto Ierusalimschy)
  • [49c42f36] Some improvements in 'luaconf.h' (Roberto Ierusalimschy)
  • [d881325c] Flag for to-be-closed variables changed to '' (Roberto Ierusalimschy)
  • [3f253f11] Test for dead coroutine moved to 'lua_resume' (Roberto Ierusalimschy)
  • [389116d8] Coroutines do not unwind the stack in case of errors (Roberto Ierusalimschy)
  • [01bded3d] File 'lib2-v2.so' generated from its own source (Roberto Ierusalimschy)
  • [7c578647] A few more improvements in 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [b1460903] Avoid the creation of too many strings in 'package' (Roberto Ierusalimschy)
  • [b36e26f5] Some more small improvements to 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [969b8c1f] Fixed bug with to-be-closed variables in base C level (Roberto Ierusalimschy)
  • [c6560515] New function 'luaL_addgsub' (Roberto Ierusalimschy)
  • [3da34a5f] Revamp of 'lua_pushfstring' / 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [20b161e2] Small correction in test about 'isdst' (Roberto Ierusalimschy)
  • [ed2872cd] 'require' returns where module was found (Roberto Ierusalimschy)
  • [2d3f0954] Avoid using large buffers in 'string.format' (Roberto Ierusalimschy)
  • [b0810c51] Small optimizations in 'string.gsub' (Roberto Ierusalimschy)
  • [a93e0144] Added an optional parameter to 'coroutine.isyieldable' (Roberto Ierusalimschy)
  • [8ba4523c] 'print' does not call 'tostring' to format its arguments (Roberto Ierusalimschy)
  • [979ad95e] Thorough revision of the reference manual (Roberto Ierusalimschy)
  • [0f028b90] Corrected tests around non-portable 'isdst' in dates (Roberto Ierusalimschy)
  • [65d1aa7a] Syntax should not allow numbers touching identifiers (Roberto Ierusalimschy)
  • [8004798b] Fixed wrong error message in 'return math.seed(0)' (Roberto Ierusalimschy)
  • [5ca1075b] Added field 'srclen' to structure 'lua_Debug' (Roberto Ierusalimschy)
  • [38425e06] Avoid moving the collector while in 'GCSenteratomic' state (Roberto Ierusalimschy)
  • [d1226206] Small optimizations in range checks (Roberto Ierusalimschy)
  • [0443ad9e] LUAI_MAXCCALLS renamed LUAI_MAXCSTACK (Roberto Ierusalimschy)
  • [f9b0cf0e] Year in copyright notice updated to 2019 (Roberto Ierusalimschy)
  • [7ceb2154] Fixed small bugs/issues (Roberto Ierusalimschy)
  • [23e6bac8] Keep correct type for immediate operands in comparisons (Roberto Ierusalimschy)
  • [68205492] Details in the implementation of the integer 'for' loop (Roberto Ierusalimschy)
  • [f53eabee] Small changes in the header of binary files (Roberto Ierusalimschy)
  • [39bb3cf2] Name 'nonstrict' in the UTF-8 library changed to 'lax' (Roberto Ierusalimschy)
  • [9b37a469] New semantics for the integer 'for' loop (Roberto Ierusalimschy)
  • [1e0c73d5] Changes in the validation of UTF-8 (Roberto Ierusalimschy)
  • [8fa4f138] Finalizers must be callable (Roberto Ierusalimschy)
  • [b56d4e57] Changes in the warning system (Roberto Ierusalimschy)
  • [9eca305e] 'math.randomseed()' sets a somewhat random seed (Roberto Ierusalimschy)
  • [c5feac2b] Strings inside Lua are not fully aligned (Roberto Ierusalimschy)
  • [dfebe439] New conversion specifier '%p' for 'string.format' (Roberto Ierusalimschy)
  • [cf71a5dd] Details (Roberto Ierusalimschy)
  • [2c32bff6] After a "bad collections", avoid switching back back to generational (Roberto Ierusalimschy)
  • [264659bd] Optional 'init' argument to 'string.gmatch' (Roberto Ierusalimschy)
  • [4ace93ca] No more to-be-closed functions (Roberto Ierusalimschy)
  • [c6f7181e] No more LUA_ERRGCMM errors (Roberto Ierusalimschy)
  • [437a5b07] Added a warning system to Lua (Roberto Ierusalimschy)
  • [ba7da13e] Changes in the control of C-stack overflow (Roberto Ierusalimschy)
  • [da37ac9c] Detail (Roberto Ierusalimschy)
  • [66250647] 'all' script automatically 'make's everything (Roberto Ierusalimschy)
  • [5d7dec55] Added directory 'testes/libs/P1' to the repository (Roberto Ierusalimschy)
  • [af6d9f31] Details (Roberto Ierusalimschy)
  • [2258f313] Added file 'testes/heavy.lua' (Roberto Ierusalimschy)
  • [57f5b81d] Bug: Long brackets with a huge number of '=' causes overflow (Roberto Ierusalimschy)
  • [fdc25a1e] New functions 'lua_resetthread' and 'coroutine.kill' (Roberto Ierusalimschy)
  • [3b06f983] Details (Roberto Ierusalimschy)
  • [51316f9d] 'math.rand()' uses higher bits to produce float value (Roberto Ierusalimschy)
  • [46beca5b] Better error messages for some polymorphic functions (Roberto Ierusalimschy)
  • [28d829c8] Calls cannot be tail in the scope of a to-be-closed variable (Roberto Ierusalimschy)
  • [6d04537e] A to-be-closed variable must have a closable value (or be nil) (Roberto Ierusalimschy)
  • [7696c647] Auxiliary buffer cannot close box with 'lua_remove' (Roberto Ierusalimschy)
  • [7e63d3da] Some bugs with stack reallocation by 'luaF_close' (Roberto Ierusalimschy)
  • [84e32ad2] Added opcodes for arithmetic with K operands (Roberto Ierusalimschy)
  • [35296e1f] Details (Roberto Ierusalimschy)
  • [bb0185b1] Documentation for to-be-closed variables (Roberto Ierusalimschy)
  • [d40cd315] Visibility of non-API functions changed to "internal" (Roberto Ierusalimschy)
  • [8cb84210] String buffer using to-be-closed variable (Roberto Ierusalimschy)
  • [5fda30b4] 'lua_toclose' gets the index to be closed as an argument (Roberto Ierusalimschy)
  • [9eafe9c0] New implementation for 'luaL_addvalue' (Roberto Ierusalimschy)
  • [7f6f7085] To-be-closed variable in 'for' loop separated from the state (Roberto Ierusalimschy)
  • [b8fed932] New syntax for to-be-closed variables (Roberto Ierusalimschy)
  • [5e76a4fd] New macros for arithmetic/bitwise operations in 'luaV_execute' (Roberto Ierusalimschy)
  • [e8c77973] Removed internal cache for closures (Roberto Ierusalimschy)
  • [2fc6b55d] Removed resource-related "emergency collections" (Roberto Ierusalimschy)
  • [947a372f] State in generic 'for' acts as a to-be-closed variable (Roberto Ierusalimschy)
  • [e073cbc2] Better error messages for invalid operands in numeric 'for' (Roberto Ierusalimschy)
  • [2316ec4c] Back with optimization for 'if cond then goto' (Roberto Ierusalimschy)
  • [a006514e] Big revamp in the implmentation of labels/gotos (Roberto Ierusalimschy)
  • [6e9b7196] More uniformity in code generation for 'for' loops (Roberto Ierusalimschy)
  • [34840301] To-be-closed variables in the C API (Roberto Ierusalimschy)
  • [41c800b3] Closing methods should not interfere with returning values (Roberto Ierusalimschy)
  • [0a9aca56] Added a '__close' metamethod to file handles (Roberto Ierusalimschy)
  • [ea1322ef] Detail: bad assertion in 'luaM_free_' (Roberto Ierusalimschy)
  • [6a4b9bb2] Removed extra information from RCS keyword strings in tests (Roberto Ierusalimschy)
  • [7c8146d5] Small improvements in the manual (Roberto Ierusalimschy)
  • [c90176f9] Complete implementation of to-be-closed variables (Roberto Ierusalimschy)
  • [3c7dc529] Handling of memory errors when creating to-be-closed upvalues (Roberto Ierusalimschy)
  • [bd96330d] First "complete" implementation of to-be-closed variables (Roberto Ierusalimschy)
  • [4cd1f4aa] Towards "to closed" local variables (Roberto Ierusalimschy)
  • [b114c7d4] Added "cost" for the use of C stack by a coroutine invocation. (Roberto Ierusalimschy)
  • [9cbf17b0] Details (comments) (Roberto Ierusalimschy)
  • [5382a22e] Corrections in the implementation of '%' for floats. (Roberto Ierusalimschy)
  • [8c8a91f2] Deprecated the emulation of '__le' using '__lt' (Roberto Ierusalimschy)
  • [f9950958] Removed extra information from RCS keyword strings (Roberto Ierusalimschy)
  • [3dcd04ad] details (Roberto Ierusalimschy)
  • [faaf7e48] Removed use of 'rl_inhibit_completion' in 'lua.c' (Roberto Ierusalimschy)
  • [3d838f63] Added "emergency collection" to 'io.tmpfile' and 'os.tmpname' (Roberto Ierusalimschy)
  • [aa4c5cf1] Added directory to test file names in '$Id:' (Roberto Ierusalimschy)
  • [b47f2cd0] Small improvements in the manual (Roberto Ierusalimschy)
  • [e885dee5] File operations try an "emergency collection" when failing (Roberto Ierusalimschy)
  • [ccae0f5a] Comments about OLD0/OLD1 ages (Roberto Ierusalimschy)
  • [2e297d6a] Fixed bug in generational collection of userdata (Roberto Ierusalimschy)
  • [fb18346d] Avoid using 'int' for UTF-8 values (Roberto Ierusalimschy)
  • [96f9643f] Bug: wrong 'nCcalls' when resuming a coroutine (Roberto Ierusalimschy)
  • [84058b15] Added definition for LUA_VERSION_RELEASE_NUM (Roberto Ierusalimschy)
  • [4d5de1c1] Fixed bug in line info. when using 'not' operator (Roberto Ierusalimschy)
  • [9a825f6b] In tests of opcodes, avoid coercion in bitwise operation (Roberto Ierusalimschy)
  • [941b189d] Improvements in the manual (Roberto Ierusalimschy)
  • [21f663d2] Added missing $Id$ to file 'ljumptab.h' (Roberto Ierusalimschy)
  • [626cf058] Generational mode may wait longer after a major collection (Roberto Ierusalimschy)
  • [ccf6d098] 'searchpath' creates less temporary strings (Roberto Ierusalimschy)
  • [de2caf7e] Bit-library file removed from the project (as it was deprecated) (Roberto Ierusalimschy)
  • [b08c9079] Opcode names moved to a new header file (Roberto Ierusalimschy)
  • [06e08c6d] Fixed bug in OP_IDIVI (Roberto Ierusalimschy)
  • [7c519dfb] Added manual and tests for version 5.4-w2 (Roberto Ierusalimschy)
  • [f59e6a93] opening functions must be exported! (Roberto Ierusalimschy)
  • [6683f83b] several details (Roberto Ierusalimschy)
  • [a314409d] in generational mode, an emergency collection can turn any object black during any memory allocation + 'luaT_getvarargs' may reallocate the stack, and therefore the top must be correct. (Roberto Ierusalimschy)
  • [15ce8d09] in generational mode, an emergency collection can turn any object black during any memory allocation. (Roberto Ierusalimschy)
  • [b43300c1] change in 'LUAI_DDEC' to allow variables to be static in 'onelua' + change in 'LUAMOD_API' as opening functions do not need to be global (Roberto Ierusalimschy)
  • [af709052] no need to check whether libraries and host use the same kernel; Lua should work correctly with several copies of the kernel (Roberto Ierusalimschy)
  • [b95e4662] new field 'nilvalue' in struct 'global_State' to avoid the use of addresses of static variables (Roberto Ierusalimschy)
  • [d406d3d0] removed unused macros 'isstackindex'/'api_checkstackindex' + macro 'api_checkvalidindex' (used only once) expanded and removed (Roberto Ierusalimschy)
  • [b6780ee4] detail (removed unused definition for 'LUA_QS') (Roberto Ierusalimschy)
  • [2c107e13] warning (comparison between signed and unsigned integers) (Roberto Ierusalimschy)
  • [6e600695] field 'sizearray' in struct 'Table' changed to 'alimit', which can be used as a hint for '#t' (Roberto Ierusalimschy)
  • [06127927] new macro 'ispow2' (Roberto Ierusalimschy)
  • [aedcfb94] type 'Rand64' may not be long long, so it should not use 'LL' in its constants (Roberto Ierusalimschy)
  • [992b6d27] no more 'TESTGRAYBIT' (to free this bit for real uses) (Roberto Ierusalimschy)
  • [588dfa4c] detail in comment (Roberto Ierusalimschy)
  • [6f2b8e21] added 'const' to 'Proto*' when possible (Roberto Ierusalimschy)
  • [c5dc521d] added patch for bug 5.3.4-7 (Roberto Ierusalimschy)
  • [505fc912] no more 'luaO_nilobject' to avoid comparison of global variable addresses (now uses static variables) (Roberto Ierusalimschy)
  • [fb8fa661] no more 'luaH_emptyobject' and comparisons of addresses of global variables (instead, use a different kind of nil to signal the fake entry returned when a key is not found in a table) (Roberto Ierusalimschy)
  • [b3970649] avoid craches when loading tampered code with NULL as a string constant (Roberto Ierusalimschy)
  • [34aa0c5b] new macros 'likely'/'unlikely' with hints for jump predictions (used only in errors for now) (Roberto Ierusalimschy)
  • [97e394ba] macro 'luai_makeseed' now controls the whole process of making the seed (Roberto Ierusalimschy)
  • [950fbcb9] detail ('l_castU2S' should only be used over lua_Unsigned values) (Roberto Ierusalimschy)
  • [b2d4d064] avoid possible overflows when checking sizes in 'string.unpack' (Roberto Ierusalimschy)
  • [3b8dba52] added patches for two bugs (5.3.4-2 and 5.3.4-3) (Roberto Ierusalimschy)
  • [892aff2a] avoid circular inclusion between ltm.h <-> lstate.h (Roberto Ierusalimschy)
  • [02ed0b2c] in 'luaD_poscall', there is no need to compute 'firstResult' when 'nres==0' (Roberto Ierusalimschy)
  • [de53c2ec] using some weak "randomness" (time and memory address) to initialize seeds for the PRNG (Roberto Ierusalimschy)
  • [80bd4a89] correction on xoshiro256** algorithm (should use state[1] instead of state[0] for output) (Roberto Ierusalimschy)
  • [3e7415e8] reorganization of '#if's for sellecting a type for 'Rand64' + comments (Roberto Ierusalimschy)
  • [e64e20ac] minimizing the code ran by 'vmfetch' + no more 'vra' (the code is simpler without 'vra' and conversion is a no-op) (Roberto Ierusalimschy)
  • [deb80783] 'luaO_pushvfstring' does not need to reallocate stack (less error cases in the API) (Roberto Ierusalimschy)
  • [26eb1445] no need to define 'luaP_opnames' in regular builds (Roberto Ierusalimschy)
  • [f9c3d6fd] use test mode to test the interpreter without jump tables (Roberto Ierusalimschy)
  • [762baf05] detail (trim constants are unsigned) (Roberto Ierusalimschy)
  • [b8a04658] PRNG changed from 'xoroshiro128+' to 'xoshiro256**' + "I' renamed 'Rand64' + implementation can use integer types larger than 64 (or 32) bits (Roberto Ierusalimschy)
  • [b4478765] using 'xoroshiro128+' for PRNG (plus a rotate at the final result to have better lower bits) (Roberto Ierusalimschy)
  • [03c6a05e] no more nil-in-table (Roberto Ierusalimschy)
  • [3d0b5edf] using unsigned comparison in 'l_intfitsf' (avoids one comparison) (Roberto Ierusalimschy)
  • [8d50a998] definition for LUA_UNSIGNEDBITS (number of bits in a LUA_UNSIGNED) (Roberto Ierusalimschy)
  • [bdd10a08] in 'random', uses high-order bits instead of low-order (better statistical properties) (Roberto Ierusalimschy)
  • [c5e3b2f8] in random/'project', remove the special case for "small" intervals; it is slower than the general case. (Roberto Ierusalimschy)
  • [64867624] missing LUAI_FUNC in prototype for 'luaK_patchgoto' (Roberto Ierusalimschy)
  • [4907444d] 'fTransfer' -> 'ftransfer' / 'nTransfer' -> 'ntransfer' (keep the standard of names in lower case) (Roberto Ierusalimschy)
  • [c3cb31fa] some extra goodies for 'readline' ('rl_readline_name' and 'rl_inhibit_completion') (Roberto Ierusalimschy)
  • [0c773824] FALLTHROUGH comment must be last "statement" (so it does not work when inside a block) (Roberto Ierusalimschy)
  • [7b0b6b3b] cannot use 'defined' inside a macro + call to 'luaT_keydef' must be protected (Roberto Ierusalimschy)
  • [89da4168] avoid functions named 'pack' (name too common, may collide when doing 'onelua.c') (Roberto Ierusalimschy)
  • [6b01b6cf] 'lu_int32' may not be 'int' (Roberto Ierusalimschy)
  • [e3388ebf] more explicit casts when converting an integer to a random float (to ensure computations are done with all bits) (Roberto Ierusalimschy)
  • [9e3db704] details (casts between 'lua_Number' and 'double') (Roberto Ierusalimschy)
  • [dbec41f3] random floats of different sizes get exactly needed number of random bits (up to 64) (Roberto Ierusalimschy)
  • [0b3db69e] slight simplification in 'xorshift128plus' (Roberto Ierusalimschy)
  • [80ae1c1c] fairer projection of random integers into an integer interval (Roberto Ierusalimschy)
  • [40683b49] added definition for LUA_MAXUNSIGNED (Roberto Ierusalimschy)
  • [6480e735] details (avoid using non-C89 '//' comment) (Roberto Ierusalimschy)
  • [4a1612ff] new experimental syntax using reserved word 'undef' (Roberto Ierusalimschy)
  • [464658b1] better modularization of the code for the REPL (Roberto Ierusalimschy)
  • [bdcde45d] updated to use jump tables (Roberto Ierusalimschy)
  • [8b0434e5] both 'fTransfer' and 'nTransfer' may not fit in a 'char' (Roberto Ierusalimschy)
  • [8b0b6751] added casts (warnings in VS) (Roberto Ierusalimschy)
  • [8c429311] typo in comment (Roberto Ierusalimschy)
  • [66b7b075] 'math.random' using the xorshift128+ algorithm (Roberto Ierusalimschy)
  • [62a392ff] using jump tables when available (Roberto Ierusalimschy)
  • [893f382e] Jump Table for the interpreter (Roberto Ierusalimschy)
  • [0eb10c63] 'LUA_USE_READLINE' moved to the make file (Roberto Ierusalimschy)
  • [00008b8e] back to one format per argument (Roberto Ierusalimschy)
  • [df493845] year in copyright changed to 2018 (Roberto Ierusalimschy)
  • [fbea553c] 'lua_setiuservalue' removes value from the stack even in case of error (Roberto Ierusalimschy)
  • [34b00c16] removed compatibility code with older versions (Roberto Ierusalimschy)
  • [12110dec] module has been deprecated. (Roberto Ierusalimschy)
  • [4105cafb] no more 'bitlib' (Roberto Ierusalimschy)
  • [76ff5575] no optimizations in test mode + no more compat with 5.2 + a few more options in comments (Roberto Ierusalimschy)
  • [b7edf5d2] metamethods for 'removekey'/'keyin' (Roberto Ierusalimschy)
  • [ef8263f8] better names for macros for tags and types. rttype -> rawtt; ttyperaw -> withvariant; ttype -> ttypetag; tnov -> ttype (Roberto Ierusalimschy)
  • [2952bc5f] special compact representation for userdata with no user values (a common case) (Roberto Ierusalimschy)
  • [38d3bc89] using 'offsetof' to compute the size of parts of a structure (Roberto Ierusalimschy)
  • [75efc672] avoid variant tags with the same value of the original type (to expose bugs more easily) (Roberto Ierusalimschy)
  • [d766e2ae] first (parcial) implementation of 'keyin'/'removekey' (still no metamethods, no raw verssions) (Roberto Ierusalimschy)
  • [f055a9df] added check in 'obj2gco' to prevent its use in non Lua-object pointers (otherwise its cast is blind, casting any value given to it) (Roberto Ierusalimschy)
  • [4a7fe618] in 'clearbykeys', clear keys of just-removed entries too (Roberto Ierusalimschy)
  • [9243c414] first version of empty entries in tables (so that, in the future, tables can contain regular nil entries) (Roberto Ierusalimschy)
  • [477ca2fe] some reorganization in 'lobject.h' (just moving stuff around) (Roberto Ierusalimschy)
  • [c72ac048] conditional jumps "deunified" (if a jump table is used, the unification may harm jump prediction.) (Roberto Ierusalimschy)
  • [b03dddf9] removed coercion string->number in bitwise operations (can be done with a Lua module) (Roberto Ierusalimschy)
  • [c80c7a49] details (comments) (Roberto Ierusalimschy)
  • [212095a6] new opcodes OP_GTI/OP_GEI (Roberto Ierusalimschy)
  • [c67603fa] using new 'lua_newuserdatauv' instead of 'lua_newuserdata' (Roberto Ierusalimschy)
  • [06865aa0] simpler implementation for 'LTintfloat'/'LEintfloat' + 'LTfloatint'/'LEfloatint' (Roberto Ierusalimschy)
  • [465b4748] small reorganization of 'luaV_flttointeger'/'luaV_tointeger' (Roberto Ierusalimschy)
  • [6353d619] detail (comment) (Roberto Ierusalimschy)
  • [ca6fe744] userdata can have multiple user values (Roberto Ierusalimschy)
  • [1afd5a15] more generic way to handle 'gclist' (Roberto Ierusalimschy)
  • [422318f6] two new fields 'fTransfer'/'nTransfer' in 'lua_Debug' structure (for information about values being given and returned in function calls) (Roberto Ierusalimschy)
  • [49dae52d] correct way to check stack space for vararg functions (Roberto Ierusalimschy)
  • [104d249f] in return hook, 'top' must be corrected only if smaller than 'ci->top'. (It may be larger when returning multiple values, and then it must be larger to preserve that stack slice.) (Roberto Ierusalimschy)
  • [c7a8cba7] no more 'nfield' string (Roberto Ierusalimschy)
  • [0682fe81] some simplifications/optimizations in returns from Lua functions (Roberto Ierusalimschy)
  • [b1379936] vararg back to '...' (but with another implementation) new implementation should have zero overhead for non-vararg functions (Roberto Ierusalimschy)
  • [4e0de3a4] details (Roberto Ierusalimschy)
  • [318a9a58] new opcode 'PREPVARARG' (avoids test for vararg function in all function calls) (Roberto Ierusalimschy)
  • [73d797ce] detail (order of 'OT' and 'IT' bits corresponds with macro 'opmode') (Roberto Ierusalimschy)
  • [51280ef2] call hooks for Lua functions called by 'luaV_execute' (Roberto Ierusalimschy)
  • [fc3eaa25] GC default mode for the stand-alone interpreter is generational mode (Roberto Ierusalimschy)
  • [daff7c3b] small corrections in generational mode (cannot call finalizers in emergency collections + should set everything before calling finalizers) (Roberto Ierusalimschy)
  • [a131eae9] default for minor collection intervals a little larger (Roberto Ierusalimschy)
  • [022abc30] 'gcemergency' should be zero before any memory allocation (Roberto Ierusalimschy)
  • [56e50e8b] 'collectgarbage' returns old mode when changing mode (Roberto Ierusalimschy)
  • [90569630] detail (uses a reserved-format name for an internal type in the registry) (Roberto Ierusalimschy)
  • [dc0ab1e8] warnings in VS (implicit casts from ptrdiff_t to int) (Roberto Ierusalimschy)
  • [e2b15aa2] janitor work on casts (Roberto Ierusalimschy)
  • [89110986] bug in tailcall of vararg functions (when adjusting missing parameters) (Roberto Ierusalimschy)
  • [53979dfe] calling a vararg function needs to check GC (because it creates a new table) (Roberto Ierusalimschy)
  • [6710a2b0] detail (comment) (Roberto Ierusalimschy)
  • [5bd8d388] OP_CONCAT does not move its result (to simplify its execution) (Roberto Ierusalimschy)
  • [28f215ec] comments (Roberto Ierusalimschy)
  • [d2fb34ac] 'OP_TAILCALL' calling C functions finishes the call and returns (instead of waiting for following 'OP_RETURN') (Roberto Ierusalimschy)
  • [ab0a851d] 'luaD_tryfuncTM' can ensure it does not change the stack (Roberto Ierusalimschy)
  • [728ff945] error handler in protected calls must be a function (Roberto Ierusalimschy)
  • [ad960095] avoid jumping into a variable scope (C++ does not allow that) (Roberto Ierusalimschy)
  • [33e3774f] keep more opcode arguments byte-aligned (Roberto Ierusalimschy)
  • [a9295a2b] typos in comments (Roberto Ierusalimschy)
  • [c6fedc92] new command 'print' (to print literal strings) in mini-language (Roberto Ierusalimschy)
  • [68af7cc8] another try with table resize. (Old version was leaving some elements unanchored while allocating new memory) (Roberto Ierusalimschy)
  • [28323aea] by-one error when filling missing arguments in a tail call (Roberto Ierusalimschy)
  • [cf7eff45] keep control of stack top in Lua functions concentrated in 'luaV_execute' (Roberto Ierusalimschy)
  • [8691612f] when calling a hook, cannot decrease 'ci->top' (to preserve stack size if the stack is reallocated) (Roberto Ierusalimschy)
  • [f99f3c42] comment (Roberto Ierusalimschy)
  • [f360e777] assert cannot use instruction after the last (Roberto Ierusalimschy)
  • [4676f659] new macros 'isOT'/'isIT' (plus exchanged parameters of OP_VARARG to make it similar to other 'isOT' instructions) (Roberto Ierusalimschy)
  • [1d5b8854] when running Lua code, there is no need to keep 'L->top' "correct"; set it only when needed. (Roberto Ierusalimschy)
  • [4dc0be95] new macro 'isLuacode' (to distinguish regular Lua code from hooks, where C code can run inside a Lua function). (Roberto Ierusalimschy)
  • [3153a41e] no need to save 'pc' in case of allocation errors (allocation errors do not call message handlers) (Roberto Ierusalimschy)
  • [d388c165] new opcodes 'FORLOOP1'/'FORPREP1' for "basic for" (integer variable with increment of 1) (Roberto Ierusalimschy)
  • [ab070055] new auxiliary function 'luaK_isKint' + removal of 'luaK_needclose', which was not being used anywhere. (Roberto Ierusalimschy)
  • [7024f49c] default now is compiling without compatibility options + smaller stack size in debug mode (clang uses still more stack space when debugging). (Roberto Ierusalimschy)
  • [2f6f6abe] 'rehash' -> 'tablerehash' (to avoid name colisions when compiling Lua as a single file) (Roberto Ierusalimschy)
  • [3064edea] details (cleaning uses of 'exp1') (Roberto Ierusalimschy)
  • [f8c1c146] some cleaning on signed opcode parameters (Roberto Ierusalimschy)
  • [4b6928e7] (1 << 31) with signed integer has undefined behavior in C (Roberto Ierusalimschy)
  • [b3f924bc] 'Proto->numparams' does not include vararg parameter (one less subtraction when calling functions...) (Roberto Ierusalimschy)
  • [e001d5ae] 'VRELOCABLE' -> 'VRELOC' (Roberto Ierusalimschy)
  • [e752d84e] bug: memory-allocation error when resizing a table can leave it in an inconsistent state. (Roberto Ierusalimschy)
  • [86431a2f] new opcodes BANDK/BORK/BXORK. (They do not use immediate operands because, too often, masks in bitwise operations are integers larger than one byte.) (Roberto Ierusalimschy)
  • [36cf8f3a] Code should not change the stack level after the initialization of a string buffer. (Roberto Ierusalimschy)
  • [725c15a4] when shrinking stack, always shrinks the CI list. (Stack overflow is not corelated to CI overflow anymore.) (Roberto Ierusalimschy)
  • [b077b202] back to reallocation when resizing the string table. (Not a good idea to explicitly allocate new memory when shrinking something.) (Roberto Ierusalimschy)
  • [3cf340f6] allows memory-allocation errors when shrinking blocks (Roberto Ierusalimschy)
  • [7ad20af2] more freedom in handling memory-allocation errors (not all allocations automatically raise an error), which allows fixing a bug when resizing a table. (Roberto Ierusalimschy)
  • [bfb88e99] 'luaD_growstack' cannot raise any errors when 'raiseerror' is false (+ some comments) (Roberto Ierusalimschy)
  • [c5ebed73] 'luaM_shrinkvector' raises an error if it cannot shrink the block (several parts of Lua use array size in protos as proxies for number of valid elements) (Roberto Ierusalimschy)
  • [e663a24a] more freedom in handling memory-allocation errors (not all allocations automatically raise an error), which allows fixing a bug when resizing a table. (Roberto Ierusalimschy)
  • [40f823ec] new C instruction "rawcheckstack" (to test failing in 'lua_checkstack') (Roberto Ierusalimschy)
  • [76223730] using explicit tests for allocation overflow whenever possible (Roberto Ierusalimschy)
  • [46bc7f2b] detail (comment) (Roberto Ierusalimschy)
  • [cc01d462] new test function 'T.allocount' to restrict number of allocations before a memory-allocation error (Roberto Ierusalimschy)
  • [9fa1baf6] opcodes for order and shift can use several metamethods, so it is better to use a generic description + metamethod names in some error messages shown without '__' prefix (Roberto Ierusalimschy)
  • [49dfaf74] avoid using one function for different tasks (malloc, free, etc.) (Roberto Ierusalimschy)
  • [348fa1ca] bug: 'lua_pushcclosure' should not call the garbage collector when 'n' is zero. (Roberto Ierusalimschy)
  • [ae11e37e] bug: 'lua_pushcclosure' should not call the GC when 'n' is zero (Roberto Ierusalimschy)
  • [c7ee7fe0] new opcodes OP_SHLI/OP_SHRI (Roberto Ierusalimschy)
  • [421e4596] 'luaS_resize' can raise memory errors (Roberto Ierusalimschy)
  • [9d28b401] rehashes string table always allocating a new array instead of reallocating old one. (Avoids problems if reallocation to a small size fails.) (Roberto Ierusalimschy)
  • [e0bece77] detail (Roberto Ierusalimschy)
  • [d0356d5f] another value for LUAI_MAXCCALLS (must think more about that) (Roberto Ierusalimschy)
  • [ac78b914] warnings from Visual Studio /W3 (Roberto Ierusalimschy)
  • [10b8c99b] small peephole optimizations (Roberto Ierusalimschy)
  • [bdc751ce] details (comments) (Roberto Ierusalimschy)
  • [19c6b375] detail (spacing) (Roberto Ierusalimschy)
  • [745eb419] new opcodes OP_RETURN0/OP_RETURN1 (Roberto Ierusalimschy)
  • [c766e410] 'luaV_execute' gets call info as extra argument (it is always available on call sites) (Roberto Ierusalimschy)
  • [36aecd45] order opcodes cannot use 'K' operands (Roberto Ierusalimschy)
  • [1a5e8c10] conditional jumps unified in label "condjump' + new variable 'vra' to avoid excessive use of macro 's2v' (Roberto Ierusalimschy)
  • [ff5fe510] using register 'k' for conditions in tests (we only need one bit there) (Roberto Ierusalimschy)
  • [dfd188ba] detail (identation of switch) (Roberto Ierusalimschy)
  • [093c16b6] new opcodes 'OP_LTI' and 'OP_LEI' (Roberto Ierusalimschy)
  • [599f1742] detail (typo in comments) (Roberto Ierusalimschy)
  • [73abfde2] small simplifications around 'luaT_callorderTM' (Roberto Ierusalimschy)
  • [194a4f97] small simplifications in 'luaD_poscall' (Roberto Ierusalimschy)
  • [196c87c9] no more 'stackless' implementation; 'luaV_execute' calls itself recursively to execute function calls. 'unroll' continues all executions suspended by an yield (through a long jump) (Roberto Ierusalimschy)
  • [39f26b14] more information from 'T.stacklevel' (Roberto Ierusalimschy)
  • [3c230cc8] using 'A' for register instead of 'B' in relational opcodes ('R(A)' is already created by default for all instructions.) (Roberto Ierusalimschy)
  • [41f2936d] new opcode 'OP_EQI' for equality with immediate numbers (Roberto Ierusalimschy)
  • [14c3aa12] more direct implementation for tail calls. (Roberto Ierusalimschy)
  • [f3ca52bf] in order comparison opcodes, fast track for floats too (Roberto Ierusalimschy)
  • [c47111bd] 'io.read' accepts multiple formats in a single string argument (Roberto Ierusalimschy)
  • [e4e5aa85] detail ('signal' -> 'sign' in comments) (Roberto Ierusalimschy)
  • [4c0e36a4] new instruction 'OP_EQK' (for equality with constants) (Roberto Ierusalimschy)
  • [5440b42f] using 'trap' to stop 'luaV_execute' when necessary (tracing and to update its copy of 'base' when the stack is reallocated) (Roberto Ierusalimschy)
  • [7d4828cc] avoid accessing wrong union field (Roberto Ierusalimschy)
  • [62f3b7c4] detail (Roberto Ierusalimschy)
  • [fb9be62f] includes 'stdio.h' to allow prints when testing (Roberto Ierusalimschy)
  • [7c0175bc] removed unused variable 'islocked' (Roberto Ierusalimschy)
  • [32fef607] detail ('Protect' defined as an expression) (Roberto Ierusalimschy)
  • [26679ea3] new function 'luaV_flttointeger' to convert floats to integers (without string coercions) + string operands to bitwise operations handled by string metamethods (Roberto Ierusalimschy)
  • [c3e5946f] new format for JUMP instructions (to allow larger offsets) (Roberto Ierusalimschy)
  • [ad0704e4] back to 'CallInfo' (no gains with its removal) (Roberto Ierusalimschy)
  • [5a3f26f8] fitting a StackValue structure into 32 bytes (for 64-bit machines) (Roberto Ierusalimschy)
  • [93fd67b7] no more 'CallInfo' structure (Roberto Ierusalimschy)
  • [6bb3e40a] 'lua_Debug' not using 'CallInfo' (Roberto Ierusalimschy)
  • [7612f773] removing uses of 'CallInfo' (Roberto Ierusalimschy)
  • [472c5607] no more useful fields in CallInfo (Roberto Ierusalimschy)
  • [54eb35a8] more fields moved out of 'CallInfo' (Roberto Ierusalimschy)
  • [ba36180f] new API for 'lua_resume' + cleaning the uses of the 'extra' field in 'CallInfo' (Roberto Ierusalimschy)
  • [b9e76be8] using 'L->func' when possible (Roberto Ierusalimschy)
  • [c5482468] baby steps to remove 'CallInfo': keeping 'L->func' correct (Roberto Ierusalimschy)
  • [ad5dcdcf] detail: in 'isinstack', check against the whole stack instead of against the stack frame (Roberto Ierusalimschy)
  • [de9128d0] do not mess up the debt when the collector is not running (Roberto Ierusalimschy)
  • [1d8920dd] some cleaning in GC parameters (Roberto Ierusalimschy)
  • [911f1e3e] raw operation should not convert strings to numbers (Roberto Ierusalimschy)
  • [a1ef58b3] eplicit 1-bit opcode operand 'k' (Roberto Ierusalimschy)
  • [283e7455] detail (Roberto Ierusalimschy)
  • [8fbe9e34] new opcodes with immediate integer operand for all arithmetic operations (Roberto Ierusalimschy)
  • [9ed9f40f] avoid warning about 'const' (Roberto Ierusalimschy)
  • [940472c7] opcode size increased to 7 bits (Roberto Ierusalimschy)
  • [f3b3d9b5] string constants (Kstr) must fit into 'B' register (Roberto Ierusalimschy)
  • [7f9a32ad] new function 'printcode' (Roberto Ierusalimschy)
  • [bc1b0733] avoid the use of bit 'Bk' ('B' will lose this bit soon) (Roberto Ierusalimschy)
  • [722bdbe1] no more 'getBMode'-'getCMode' (imprecise + we will need more space for op mode) + better control of op modes (Roberto Ierusalimschy)
  • [1b100335] new function 'luaT_trybiniTM' to handle tag methods for instructions with immediate integer arguments (Roberto Ierusalimschy)
  • [00e728af] binary operators use R instead of RK faster + nobody uses RK(B), so B can be smaller (freeing one bit for more opcodes, soon) (Roberto Ierusalimschy)
  • [13256a41] detail put explicit all cases for a switch of an enumeration (Roberto Ierusalimschy)
  • [abb17cf1] new opcode OP_LOADF (load immediate float) (Roberto Ierusalimschy)
  • [e0c0e2ee] comments (documentation about instruction formats) (Roberto Ierusalimschy)
  • [022e4427] detail (keep OP_LOADK and OP_LOADKX together) (Roberto Ierusalimschy)
  • [80d9b09f] jumps do not close upvalues (to be faster and simpler); explicit instruction to close upvalues; command 'break' not handled like a 'goto' (to optimize removal of uneeded 'close' instructions) (Roberto Ierusalimschy)
  • [029d269f] bug: dead keys with nil values can stay in weak tables (Roberto Ierusalimschy)
  • [ac65bab2] jumps in 'for' loops don't need to be signed (Roberto Ierusalimschy)
  • [f185c013] comment in code fragment (Roberto Ierusalimschy)
  • [b77f792b] comment (Roberto Ierusalimschy)
  • [4053eae9] bug: Lua does not check GC when creating error messages (Roberto Ierusalimschy)
  • [6d998055] no more reference 'memerrmsg' + new reference to "n" (both can be retrieved by 'luaS_newliteral' without creating anything, because they are fixed, but "n" deserves fast access while 'memerrmsg' does not) (Roberto Ierusalimschy)
  • [11769b20] new version (5.4) (Roberto Ierusalimschy)
  • [b1daa069] bug: Lua does not check GC when creating error messages (Roberto Ierusalimschy)
  • [4dff2772] coercion string->number in arithmetic operations moved to string library (Roberto Ierusalimschy)
  • [07db1081] 'OP_VARARG' has the vararg parameter as an operand (Roberto Ierusalimschy)
  • [f9649739] new type 'StackValue' for stack elements (we may want to put extra info there in the future) (Roberto Ierusalimschy)
  • [5a1c8d8e] new constant 'LUA_GNAME' for the name of the global table "_G" (Roberto Ierusalimschy)
  • [124bfd20] dumping ints and size_ts compacted (Roberto Ierusalimschy)
  • [b42430fd] 'lineinfo' in prototypes saved as differences instead of absolute values, so that the array can use bytes instead of ints, reducing its size. (A new array 'abslineinfo' is used when line differences do not fit in a byte.) (Roberto Ierusalimschy)
  • [60a7492d] new type 'ls_byte' for signed bytes (Roberto Ierusalimschy)
  • [73ec04fc] no more 'DEADKEY'. Table traversals do not need to consider dead keys; if the key is dead, it cannot be given to 'next'. Instead, we now use a 'table' tag without the collectable bit, which makes it a unique tag good enough to reserve space. (Roberto Ierusalimschy)
  • [d13a3fb0] detail (removed empty spaces at the end of lines) (Roberto Ierusalimschy)
  • [b6f87491] in hash nodes, keys are stored in separate pieces to avoid wasting space with alignments (Roberto Ierusalimschy)
  • [4bb30f46] when assigning to a 'TValue', better assign only exact fields, to allow us to put stuff after the 'TValuefields' if needed (Roberto Ierusalimschy)
  • [dad85e41] macro 'setobj2t' may not be an expression (Roberto Ierusalimschy)
  • [b029e7ea] macro 'luaV_fastget' may need protection ({}) to be used inside 'if's (Roberto Ierusalimschy)
  • [4bc33d64] avoid overflows in computation of step size (Roberto Ierusalimschy)
  • [88217468] updated GC states in function 'T.gcstate' (Roberto Ierusalimschy)
  • [72d82a29] revamping the incremental collector Some simplifications (not counting bytes, couting only slots visited; no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to set parameters in different GC modes (Roberto Ierusalimschy)
  • [4804bbd9] include first standard header files (Some broken compiler has problems with 'signal.h' being included without a definition for 'size_t'.) (Roberto Ierusalimschy)
  • [be0d951b] bug: cannot reuse a dying upvalue (Roberto Ierusalimschy)
  • [a9dbc2d6] assert removed in 'luaO_arith' (nobody calls it with L==NULL) (Roberto Ierusalimschy)
  • [c25380c2] details (using proper version of 'setobj') (Roberto Ierusalimschy)
  • [03094da8] detail (extra closing brackets) (Roberto Ierusalimschy)
  • [01c96ad1] handling of inf, -inf, and NaN by string.format'%q' (Roberto Ierusalimschy)
  • [1bdc328c] bug: Lua crashes when building sequences with more than 2^30 elements. bug: Table length computation overflows for sequences larger than 2^31 elements.. (Roberto Ierusalimschy)
  • [e3d52da1] BUG: in 'computesizes', 'twotoi' overflows when a sequence has more than 2^30 elements. (Roberto Ierusalimschy)
  • [e39ee2cc] 'luaH_getn' must return 'lua_Unsigned' (or 'lua_Integer'), to allow the boundary-search algorithm to use 'maxinteger' when it cannot find a good upper bound. (Roberto Ierusalimschy)
  • [84910e04] better implementation for 'hash_search', without using 'size_t' (simpler to implement and to explain) (Roberto Ierusalimschy)
  • [de742890] table field names for dedicated opcodes can be restricted to small strings for slightly faster access (Roberto Ierusalimschy)
  • [92b3deaf] details in OP_CALL + comments (Roberto Ierusalimschy)
  • [49f7aab6] 'lua_rawlen' returns 'lua_Unsigned' instead of 'size_t'. (Real length of strings and userdata are limited by Lua integers, but table length is hard to compute limiting it to 'size_t'.) (Roberto Ierusalimschy)
  • [3d879fbc] reimplementation of 'luaH_getn', trying to handle numeric limits properly. (Roberto Ierusalimschy)
  • [6d95de83] no more field 'base' in CallInfo (base is always equal to 'func + 1', with old/new vararg implementation) (Roberto Ierusalimschy)
  • [5c8770f8] back to old-style vararg system (with vararg table collecting extra arguments) (Roberto Ierusalimschy)
  • [7647d5d1] revamp of fast track for table access (table set uses the same macros as table get + new macro for integer keys) (Roberto Ierusalimschy)
  • [7184f634] more integer fast tracks (for OP_LT, OP_LE, OP_SETTABLE, and OP_GETTABLE) (Roberto Ierusalimschy)
  • [b1b7790f] detail ('1' -> '1u' in unsigned operation) (Roberto Ierusalimschy)
  • [ab5a6500] details (direct access to 'Ck' bit in instructions) (Roberto Ierusalimschy)
  • [fb9de1b4] detail ('luaT_callbinTM' does not need to be extern) (Roberto Ierusalimschy)
  • [e8757a73] 'luaV_execute' keeps local copy of program counter and hook mask, to avoid excessive access to globals. (Roberto Ierusalimschy)
  • [4ce8d204] bug: Wrong code for a goto followed by a label inside an 'if' (Roberto Ierusalimschy)
  • [2376eb63] barrier for prototype's cache (with new gray list 'protogray' to keep prototypes to have their caches visited again) + constant 'MAXMISS' (Roberto Ierusalimschy)
  • [8634b2a0] added 'cachemiss' field to prototype to avoid wasting time checking hits that fail too often (Roberto Ierusalimschy)
  • [5ecb3100] bug: cannot "skip" labels after if-goto before the jump over the 'then' part (Roberto Ierusalimschy)
  • [a454e884] details in 'findsetreg' (Roberto Ierusalimschy)
  • [502a1d11] new opcodes for table access with constant keys (strings and integers) (Roberto Ierusalimschy)
  • [173e41b2] new opcode OP_ADDI (for immediate integer operand) (Experimental) (Roberto Ierusalimschy)
  • [a3f9c1a7] detail (using unsigned comparison in range check for LOADI) (Roberto Ierusalimschy)
  • [6dbae1b5] registers in a VINDEXED expression must be freed in order (Roberto Ierusalimschy)
  • [cb3d5dce] opcodes 'OP_GETTABUP'/'OP_SETTABUP' operate only with string keys, so they can use fast-track table access (Roberto Ierusalimschy)
  • [2caecf1b] type 'L_Umaxalign' replaced by macro 'LUAI_MAXALIGN', which is also added to the auxlib buffer (Roberto Ierusalimschy)
  • [f399e670] ensures that "collectgarbage'step'" in generational mode does a minor collection (Roberto Ierusalimschy)
  • [69371c4b] 'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (instead of mode) (Roberto Ierusalimschy)
  • [6a98aa0b] new opcode LOADI (for loading immediate integers) (Roberto Ierusalimschy)
  • [c3542117] small bug in generational control (Roberto Ierusalimschy)
  • [f748b4bb] macros to define default parameters for generational collection (Roberto Ierusalimschy)
  • [7ae180f8] corrected some checks about colors of old objects + new test function 'gcage' (Roberto Ierusalimschy)
  • [c7bdc0e0] first version of control for the generational collector (Roberto Ierusalimschy)
  • [a45945b6] new macro 'lua_pointer2str' to encapsulate use of 'l_sprintf' inside the kernel (Roberto Ierusalimschy)
  • [9e1f1b1f] detail in usage message for '-l' option (Roberto Ierusalimschy)
  • [46792947] memory check adapted to generational mode (Roberto Ierusalimschy)
  • [f74b87c3] removed initialization of 'GCestimate' (it is initialized during a GC cycle, when it start counting) (Roberto Ierusalimschy)
  • [16001acb] small corrections + removal of debugging functions 'count' and 'printgray'. (Roberto Ierusalimschy)
  • [0c8a7e07] 'mainthread' lives in 'allgc' list, like everybody else (Roberto Ierusalimschy)
  • [a3d36fe2] Upvalues collected like everything else (with mark-sweep) instead of reference count (simpler and better for generational mode) (Roberto Ierusalimschy)
  • [9569ad6b] Comments for generational collector (Roberto Ierusalimschy)
  • [2331e1be] small changes in 'luaC_upvalbarrier' (Roberto Ierusalimschy)
  • [e4287da3] generational collector (still not complete) (Roberto Ierusalimschy)
  • [1a1b2f3d] added 'return' to calls to 'luaL_error' (to signal to the compiler that the function cannot continue past that call) (Roberto Ierusalimschy)
  • [f5f3df3b] generational collection: new attempt (still incomplete) (Roberto Ierusalimschy)
  • [e6c1e600] comments about gray lists (Roberto Ierusalimschy)
  • [d266d40d] error when calling close method without arguments (e.g., |io.stdin.close()|) (Roberto Ierusalimschy)

[v5.3.5]

  • [063d4e45] Lua 5.3.5 ported to git (Roberto Ierusalimschy)

[v5.3.4]

  • [e354c635] small updates (Roberto Ierusalimschy)
  • [94c1b3a8] Handling of LUA_PATH/LUA_CPATH moved back to 'package' library to avoid incompatibilites with previous releases (Roberto Ierusalimschy)
  • [08199ade] release 5.3.4 (year 2017) (Roberto Ierusalimschy)
  • [2a235312] detail (removing spaces at end of lines) (Roberto Ierusalimschy)
  • [9903dd52] Using LUAI_UAC* types more consistently on vararg calls (Roberto Ierusalimschy)
  • [24f6e236] 'moveresults' and 'luaD_poscall' moved up in the file (Roberto Ierusalimschy)
  • [9f594ca6] LUA_PATHSUFFIX -> LUA_VERSUFFIX + LUA_VERSUFFIX used in the definition of LUA_INITVARVERSION, too. (Roberto Ierusalimschy)
  • [4df4560b] detail (wrong comment) (Roberto Ierusalimschy)
  • [b2aa2ba0] using constants for "_LOADED" and "PRELOAD" (Roberto Ierusalimschy)
  • [beec5af2] 'luaL_tolstring' uses metatable's "__name" when available (Roberto Ierusalimschy)
  • [7b1fba69] using 'lastfree == NULL' to signal that table is using the dummy node for its hash part + new macro 'allocsizenode' (Roberto Ierusalimschy)
  • [697593d8] bug: When a coroutine tries to resume a non-suspended coroutine, it can do some mess (and break C assertions) before detecting the error. (Roberto Ierusalimschy)
  • [e2dc807c] check whether function is finalizer when finding a name for it + comments + some instructions can call functions in unespected ways (e.g., finalizers) (Roberto Ierusalimschy)
  • [138d0017] new flag in 'CallInfo.callstatus' to tell whether function is running as a finalizer (Roberto Ierusalimschy)
  • [8edbf57f] detail (ANSI C does not accept empty arguments to macros) (Roberto Ierusalimschy)
  • [7fe1a4cf] cleaner and more correct code for 'luaD_shrinkstack' (the old test "inuse <= LUAI_MAXSTACK" for stack overflow is not correct, as the real maximum usable size is "LUAI_MAXSTACK - EXTRA_STACK") (Roberto Ierusalimschy)
  • [dbb6f11e] bug (with compat on): 'ipairs' can work with any type that provides an __index; so, 'pairsmeta' should not check for tables. ('pairs' already checks for tables through 'next'.) (Roberto Ierusalimschy)
  • [aeb4c6ff] comments + removed unused variable (Roberto Ierusalimschy)
  • [3b91b07f] detail (macro 'l_checkmode' reimplemented as function) (Roberto Ierusalimschy)
  • [349badab] wrong test in '#if' for floating-point type (Roberto Ierusalimschy)
  • [e4a9e6fc] do not eliminate varargs from functions that do not use varargs (confuses the debug lib and gains very little in performance) (Roberto Ierusalimschy)
  • [9de2bb0d] bug: When a coroutine tries to resume a non-suspended coroutine, it coud do some mess (and break C assertions) before detecting the error. Now it tests for those errors before anything else. (Roberto Ierusalimschy)
  • [d55fd345] redefine MAXINDEXRK (for debugging, to force most values to go through registers) (Roberto Ierusalimschy)
  • [0d1c6f41] MAXINDEXRK can be redefined (for debugging, to force most values to go through registers) (Roberto Ierusalimschy)
  • [fc6b32bc] bug: Lua can generate wrong code in functions with too many constants (Roberto Ierusalimschy)
  • [de96e26a] bug: 'checkoption' could read past end of string + 'os.date' can handle embedded zeros (Roberto Ierusalimschy)
  • [de3fd8ab] Handling of LUA_PATH/LUA_CPATH moved from package library to stand alone interpreter (so that 'lua.c' concentrates all handling of environment variables) (Roberto Ierusalimschy)
  • [788109a3] new bug: Checking a format for 'os.date' may read pass the format string (Roberto Ierusalimschy)
  • [09c9fa36] small corrections for C++ compliance (Roberto Ierusalimschy)
  • [dcb2998a] bug: expression list with four or more expressions in a 'for' loop can crash the interpreter. ('adjust_assign' must remove extra expresssions from its registers.) (Roberto Ierusalimschy)
  • [fac00ca0] bug: expression list with four or more expressions in a 'for' loop can crash the interpreter. (Roberto Ierusalimschy)
  • [6487fb11] all 'static' variables should be 'const' (Roberto Ierusalimschy)
  • [64479953] allow more bits in 'callstatus' (use no extra space due to alignments) (Roberto Ierusalimschy)

[v5.3.3]

  • [aa66ca76] 'lua_pushglobaltable' returns 'void' (Roberto Ierusalimschy)
  • [707b0ba6] 'string.format("%q")' writes 'math.mininteger' in hexa, to ensure it is read back as an integer (Roberto Ierusalimschy)
  • [10b0b095] do not convert decimal constants with overflow to integers. (Therefore, they will be converted as floats) (Roberto Ierusalimschy)
  • [4d5ab9ba] 'string.pack("cn")' does not accept strings longer than 'n' (Roberto Ierusalimschy)
  • [b65252b3] 'singlevaraux' returns result only in 'var->k' (Roberto Ierusalimschy)
  • [fbd8614b] comment (FALLTHROUGH) (Roberto Ierusalimschy)
  • [f3b52a60] 'io.read("n")' accepts both a dot and the locale point as its radix character + 'MAXRN' -> 'L_MAXLENNUM' + small detail in 'test2' (Roberto Ierusalimschy)
  • [0232fbff] now that 'luaO_str2num' always accepts a dot as a radix character, the lexer does not need to bother with this issue. (Roberto Ierusalimschy)
  • [ed110f66] 'luaO_str2num' (and, therefore, 'lua_stringtonumber', 'number', and coercions) accepts both the locale point and a dot as its radix character (Roberto Ierusalimschy)
  • [22093f9c] 'string.format("%q", number)' ensures a dot as decimal point (Roberto Ierusalimschy)
  • [792ffacc] detail (macro should "use" all its arguments) (Roberto Ierusalimschy)
  • [57cdb604] no more time limits to pattern matching (at least for now) (Roberto Ierusalimschy)
  • [89c09c8e] match time limit defined by variable 'string.pattlimit' (Roberto Ierusalimschy)
  • [48baa5e8] 'os.time(t)' normalizes 't' fields (Roberto Ierusalimschy)
  • [fdd72096] error handling in 'wrap' does not coerce numbers into string messages (Roberto Ierusalimschy)
  • [82a8e065] details ('error' does not coerce numbers to strings + comments) (Roberto Ierusalimschy)
  • [c258870c] diff for last bug was against wrong version (Roberto Ierusalimschy)
  • [e8e39a27] 'string.format"%q"' now works for all basic types (nil, boolean, numbers, and strings) (Roberto Ierusalimschy)
  • [fff7d42a] LUA_PACKPADBYTE -> LUAL_PACKPADBYTE (it is an internal library name, not something to be usually configured) (Roberto Ierusalimschy)
  • [783aa8a9] new way to avoid infinite loops in empty matches: "Python rule" ("Empty matches for the pattern are replaced only when not adjacent to a previous match") (Roberto Ierusalimschy)
  • [8d4feb50] do not try to ensure that 'sweepgc' points to a live object when entering sweep phase ('entersweep'); that may be too expensive to be done still inside the atomic step. Walking one single object more often than not will work. (Roberto Ierusalimschy)
  • [d77a7a8c] detail (comment) (Roberto Ierusalimschy)
  • [e747491b] comments (Roberto Ierusalimschy)
  • [acff3ad8] bug: 'gmatch' iterator fails when called from a coroutine different from the one that created it (Roberto Ierusalimschy)
  • [e7b2e01d] bug: label between local definitions can mix-up their initializations (Roberto Ierusalimschy)
  • [03ca6385] call 'checkGC' after creating new objects (this is how 'execute' does it) (It increases the changes that 'allgc' start with a non-white object, which helps 'entersweep') (Roberto Ierusalimschy)
  • [7777b412] When available, use metafield '__name' in error messages (Roberto Ierusalimschy)
  • [c3e9b14d] '\0' is a control character, no need to check it explicitly (Roberto Ierusalimschy)
  • [7d6b78ee] in 'table.move', destination table can be source table even if given as an explicit extra argument (Roberto Ierusalimschy)
  • [5f3ad573] simpler yet definition for 'checkoption' (Roberto Ierusalimschy)
  • [494e9ba0] simpler code for 'checkoption' + added conversion specifiers specific to Windows (Roberto Ierusalimschy)
  • [f79b4568] details (removed silly use of 'luaL_opt' + better error messages in cases of "table expected") (Roberto Ierusalimschy)
  • [fd516516] new macro 'vmfetch' to help changing code to computed goto's (macro abstracts the code to run before each instruction) (Roberto Ierusalimschy)
  • [994374c4] new release number + new year (Roberto Ierusalimschy)
  • [62f6652d] no more extra space in 'luaL_checkstack'. (It was already useless for the first call, and function works ok without that space anyway (just error message misses the 'msg' component) (Roberto Ierusalimschy)
  • [9945253d] details (comments + text of error messages) (Roberto Ierusalimschy)
  • [1f259be5] 'getcode' -> 'getinstruction' (Roberto Ierusalimschy)
  • [1a44e822] 'luaV_fastget' only treats the real fast case (table with a non-nil value at given key, so that it does not need to check metamethods) (Roberto Ierusalimschy)
  • [a272fa66] bug: Metatable may access its own dealocated field when it has a self reference in __newindex + some refactoring (Roberto Ierusalimschy)
  • [b12b635a] more refactoring (Roberto Ierusalimschy)
  • [7cd7c2e0] Metatable may access its own dealocated field when it has a self reference in __newindex. (Roberto Ierusalimschy)
  • [07cf8415] more comments + reordeing of union inside 'expdesc' to allow static initialization of a VKINT value (Roberto Ierusalimschy)
  • [c0836dda] avoid empty macro arguments (invalid in C89) (Roberto Ierusalimschy)
  • [384d1b47] comments (lots of them) + asserts (Roberto Ierusalimschy)
  • [19770b03] comments. (More explanation about kinds of expressions.) (Roberto Ierusalimschy)
  • [a01eba65] reordering of some functions + 'code_label' renamed to 'code_loadbool' (Roberto Ierusalimschy)
  • [b7446ea8] detail ('while' -> 'for') in 'luaK_patchclose' (Roberto Ierusalimschy)
  • [a051b332] comments (about hooks vs signals) (Roberto Ierusalimschy)
  • [c4e01c56] make 'hook' volatile (as it may be changed in signal handling) (Roberto Ierusalimschy)
  • [bda090b9] comments + small code changes around stack usage when 'luaL_checkstack' raises an error (and needs the stack to create the error message...) (Roberto Ierusalimschy)
  • [e3839416] in 'table.sort': 'typedef' for type of indices + removed stack check (recursion is in the C stack, not in the Lua stack!) (Roberto Ierusalimschy)
  • [656b3cea] using 'sig_atomic_t' for 'hookmask' (as it can be changed inside a signal) (Roberto Ierusalimschy)
  • [2d1d57bc] comments (Roberto Ierusalimschy)
  • [03412af0] detail (removed fixed argument to function 'callallpendingfinalizers') (Roberto Ierusalimschy)
  • [542dbd4c] detail (moving bodies of 'while' to a separate line) (Roberto Ierusalimschy)

[v5.3.2]

  • [c25d59a6] format "%s" in 'string.format' accepts embedded zeros when it has no modifiers (Roberto Ierusalimschy)
  • [5936eb16] randomness in 'table.sort' used only when needed (big imbalance in partition result) + small refactoring (Roberto Ierusalimschy)
  • [7dc3ca7b] handling 'clock_t' and 'time_t' correctly in ISO C point of view (Roberto Ierusalimschy)
  • [71344b5c] easy the way to accept other modifiers for 'mode' in 'io.open' (Roberto Ierusalimschy)
  • [f230898a] tiny code refactoring in 'luaS_hash' (Roberto Ierusalimschy)
  • [3feb702d] ensure argument to 'string.format("%s")' does not contain zeros (Roberto Ierusalimschy)
  • [c5112f7b] details (comments) (Roberto Ierusalimschy)
  • [c231a5e2] using unsigned int (instead of int) in 'table.sort' to avoid overflows (when computing the pivot and in original table size) (Roberto Ierusalimschy)
  • [dc9ac5b8] details (merging declarations with initialization) (Roberto Ierusalimschy)
  • [146508b2] randomness in pivot for 'table.sort' done by a macro (easier to change) (Roberto Ierusalimschy)
  • [d1033126] details (typos in comments) (Roberto Ierusalimschy)
  • [2e8f8a18] detail (Roberto Ierusalimschy)
  • [f5b0459a] details (Roberto Ierusalimschy)
  • [d682b3c9] added separator for bugs in 5.3.1 (Roberto Ierusalimschy)
  • [fc085aa6] new release number (5.3.2) (Roberto Ierusalimschy)
  • [9a5d6aed] trying to optimize a little 'luaD_poscall' (Roberto Ierusalimschy)
  • [89e3a843] removed field 'n' from 'CallInfo' (not being used right now) (Roberto Ierusalimschy)
  • [04587b62] macro with empty argument can be seen as macro with no argument; better to avoid that (Roberto Ierusalimschy)
  • [bde03eeb] in 'table.sort': tighter checks for invalid order function + "random" pivot for larger intervals (to avoid attacks with bad data) (Roberto Ierusalimschy)
  • [330d426f] avoid the use of deprecated functions 'luaL_checkunsigned'/ 'lua_pushunsigned' (Roberto Ierusalimschy)
  • [02340375] janitor work on 'table.sort': added comments, partition code moved to a separated function, code conventions updated, etc. No changes at all in the logic/algorithm (Roberto Ierusalimschy)
  • [5100bc8a] no need for a special case to get long strings (not that common) (Roberto Ierusalimschy)
  • [ebb2afa5] allow 'set' macros to be used when 'L' is not available (as it was needed only for assertions) (Roberto Ierusalimschy)
  • [74855123] added comment and assert about dead keys (Roberto Ierusalimschy)
  • [46de77b2] bug: despite its name, 'luaH_getstr' did not work for strings in general, but only for short strings (Roberto Ierusalimschy)
  • [d3561834] new function 'luaS_hashlongstr' (Roberto Ierusalimschy)
  • [e61ee8a0] in 'luaD_call', use two functions instead of one with fixed boolean argument + stack error handling in 'luaD_call' moved to a separated function (Roberto Ierusalimschy)
  • [ff1289a3] in 'luaD_call', use two functions instead of one with fixed boolean argument (Roberto Ierusalimschy)
  • [cd73f3cc] now that we have a counter for CallInfos, use it for a more accurate value for the memory used by a thread (Roberto Ierusalimschy)
  • [8c1fb918] macro 'incr_top' replaced by function 'luaD_inctop'. (It is not used in critical time pathes, can save a few bytes without the macro) (Roberto Ierusalimschy)
  • [33b366ec] added counters for total and individual CallInfo entries (to allow better syncronization between CallInfo size and stack size) (Roberto Ierusalimschy)
  • [c5363a1b] in 'luaD_precall', in vararg functions, complete missing parameters only after moving them to final place (avoids checking the stack again) (Roberto Ierusalimschy)
  • [332a06bb] 'luaO_pushvfstring' now uses 'incr_top' to increment top. (Roberto Ierusalimschy)
  • [ffd0d123] using more "conventional" loops in 'luaD_poscall' (probably a little more efficient?) (Roberto Ierusalimschy)
  • [07a2dcac] flag CIST_REENTRY changed to CIST_FRESH (its negation); fresh invocations seem to be less frequent than reentries. (So, avoid setting flag on the frequent case.) (Roberto Ierusalimschy)
  • [c874abac] with 'fast tracks', there is no need to do raw accesses in 'ipairs' (Roberto Ierusalimschy)
  • [789e423b] corrected comparisons of signed (int) with unsigned (size_t) (Roberto Ierusalimschy)
  • [96ec8671] macro 'buff2num' replaced by its body (it caused more harm than good to readability) (Roberto Ierusalimschy)
  • [cc3a42b1] option 'c' in 'string.pack' accepts any string size (truncating if larger and padding if smaller) (Roberto Ierusalimschy)
  • [6707ce63] function prepares vararg only if it really uses them (chunks are always declared vararg but seldom uses them) (Roberto Ierusalimschy)
  • [257961c6] OP_SELF can use 'luaV_fastget' specialized for strings, as it is applied only to string keys (Roberto Ierusalimschy)
  • [ae515a34] comments for luaD_precall/luaD_poscall (Roberto Ierusalimschy)
  • [3cdf1d67] details (avoid 'case' inside block + avoid using one variable for two roles) (Roberto Ierusalimschy)
  • [82129b92] use macro 'hasjumps' to test whether expression has jumps... (Roberto Ierusalimschy)
  • [8004ab75] hook test in 'luaV_execute' reduced to minimum (rest done in 'luaG_traceexec'; no difference in performance for the non-hook case, but keeps 'luaV_execute' a little simpler) + 'base' updates replaced by 'Protect' (which serves this rule) (Roberto Ierusalimschy)
  • [ee5ef0f2] hook test in 'luaV_execute' reduced to minimum (rest done in 'luaG_traceexec' (Roberto Ierusalimschy)
  • [5bdee4f8] small changes to allow 'precall' to spend time preserving 'func' only when needed (that is, when stack actually changes) (Roberto Ierusalimschy)
  • [48098c42] generic definitions for float types moved to before variable definitions (so that specific cases can redefine these generic definitions if needed) (Roberto Ierusalimschy)
  • [3ad55386] 'condchangemem' also may need to run 'pre'/'pos' (Roberto Ierusalimschy)
  • [caf82787] added comments (Roberto Ierusalimschy)
  • [f7670781] cleaner definition for 'luaC_condGC', using 'pre'/'pos' parameters (Roberto Ierusalimschy)
  • [df8b996b] 'Protect' in table operations is not needed in the fast track + removal of a few dead macros (Roberto Ierusalimschy)
  • [75d5a892] macro 'addbuff' was using external variable name, instead of using its parameter name inside the macro. (Roberto Ierusalimschy)
  • [880f82d0] '*' as a number means stack size, so that "return *" returns all values in the stack. (Roberto Ierusalimschy)
  • [1a741157] avoid (undefined behavior) integer 'overflow' in left shift (Roberto Ierusalimschy)
  • [0c78de0d] avoid calling write function with empty block (Roberto Ierusalimschy)
  • [df45f711] detail (added assertion) (Roberto Ierusalimschy)
  • [880df57e] detail (removed unreacheable 'break') (Roberto Ierusalimschy)
  • [89499047] allow NULL string when length is zero in 'lua_pushlstring' and 'luaL_addlstring' (Roberto Ierusalimschy)
  • [92944662] detail (string cache a bit smaller by default) (Roberto Ierusalimschy)
  • [e290bd67] in 'luaL_traceback', print correct number of levels even when initial level is not 1. (Roberto Ierusalimschy)
  • [dc423237] detail (ensure subtraction is done unsigned) (Roberto Ierusalimschy)
  • [10fffcd8] 'gmatch' keeps its state in a userdata (keeping the same 'MatchState' across calls) (Roberto Ierusalimschy)
  • [8264dbc2] implemented counter to abort non-linear behavior in pattern matching (Roberto Ierusalimschy)
  • [9fae7b6d] code for string cache generalized for "associative sets" (compiler will optimize away or inline the extra loops) (Roberto Ierusalimschy)
  • [0f1f51be] 'table.move' tries to copy elements in increasing order whenever possible (Roberto Ierusalimschy)
  • [ee5edb6b] macros 'getaddrstr' and 'getstr' unified (they do the same thing) (Roberto Ierusalimschy)
  • [bda83e22] 'tablib' does not try to use raw operations when possible: fast track should make standard operations fast enough to forgo raw accesses (Roberto Ierusalimschy)
  • [364cdbdb] 'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache' is not needed in the fast track (as it does not create new entries) + small bug in 'auxsetstr' (calling barrier with wrong object) + using 'setobj2t' without side effects in its arguments (Roberto Ierusalimschy)
  • [b91bc93f] 'setobj2t' incorporated into 'luaV_fastset' + 'invalidateTMcache' is not needed in the fast track (as it does not create new entries) (Roberto Ierusalimschy)
  • [53be1451] new definition for macro 'checkliveness' (Roberto Ierusalimschy)
  • [eb0be12c] detail in macro 'checkliveness' + macro 'setobj2t' defined as an expression (to be used in macro 'luaV_fastset') (Roberto Ierusalimschy)
  • [1198d825] 'lua_longassert' defined as an expression (instead of a command) (Roberto Ierusalimschy)
  • [6556fcfe] small janitor work (Roberto Ierusalimschy)
  • [41964648] long strings are created directly in final position when possible (instead of using an auxiliar buffer to first create the string and then allocate the final string and copy result there) (Roberto Ierusalimschy)
  • [502214f8] added assert for NULL pointer in 'lua_pushlstring' (Roberto Ierusalimschy)
  • [ed19fe76] added ';' at the end of "expression lines" ("return exp;") so that an extra ";" at the end is enough to stop Lua printing the result ("return exp;;" is not valid) (Roberto Ierusalimschy)
  • [8f25d086] 'invalidateTMcache' not needed in all 'settable' uses (Roberto Ierusalimschy)
  • [3b795541] fast track for 'settable' (Roberto Ierusalimschy)
  • [20b9e594] barrier macros rewritten as expressions (Roberto Ierusalimschy)
  • [935d9f7f] new entry should not be commented out (Roberto Ierusalimschy)
  • [e247c3ad] implementation of fast track for gettable operations (Roberto Ierusalimschy)
  • [b5dc2f9b] bug: 'io.lines' does not check maximum number of options (Roberto Ierusalimschy)
  • [5273477c] in 'lua_number2strx', use the call to 'l_sprintf' to add exponent to result directly (Roberto Ierusalimschy)
  • [b9db9bd0] 'lua_Number' added to 'L_Umaxalign' union (Roberto Ierusalimschy)
  • [050e8536] bug: 'io.lines' does not check maximum number of options (Roberto Ierusalimschy)
  • [2b61360d] avoid overflows (detected with 'clang -ftrapv') (Roberto Ierusalimschy)
  • [5b6ac971] detail (comment) (Roberto Ierusalimschy)
  • [403e181d] 'strftime' puts its result directly into 'lua_Buffer' (Roberto Ierusalimschy)
  • [4af03c5a] better treatment for integer overflows + all errors throw an error (instead of returning nil) (Roberto Ierusalimschy)
  • [bde17a41] because of debt, 'totalbytes' can be negative (and therefore its type must be signed) (Roberto Ierusalimschy)
  • [8950e0c0] avoid possibility of subtle arith. overflow (Roberto Ierusalimschy)
  • [8217e0d4] avoid subtle possibility of arithmetic overflow (Roberto Ierusalimschy)
  • [319ccfef] computations in numerical for loop must avoid overflows too (Roberto Ierusalimschy)
  • [6a8400ba] using 'clang' by default + changes in warnings ('old-style-declaration' removed because it is included in 'extra' + 'strict-aliasing' removed because it is included in 'all' + 'aggregate-return' removed because no one would do it by mistake) (Roberto Ierusalimschy)
  • [2de3361c] detail (Roberto Ierusalimschy)
  • [e89763e9] simpler code for 'luaO_fb2int' (Roberto Ierusalimschy)
  • [be63d995] tiny bug: 'randomseed' was calling 'rand' (instead of 'l_rand') to discard first value (Roberto Ierusalimschy)
  • [2b1fc1b3] with string cache, it is not that important for 'type' to avoid 'lua_pushstring' (Roberto Ierusalimschy)
  • [f01c12c8] detail (cast to avoid mixing types in conditional expression) (Roberto Ierusalimschy)
  • [5aabb7a8] buffer size changed from size_t to int (it is always small) + comments + assert that printf result fits in given buffer (Roberto Ierusalimschy)
  • [cb1e4519] detail (Roberto Ierusalimschy)
  • [43cff79b] detail (Roberto Ierusalimschy)
  • [95c31443] redefine 'l_sprintf' to test correctness of buffer sizes given to 'snprintf' (Roberto Ierusalimschy)
  • [19eb6ae5] using 'snprintf' in C99 (both for documentation of buffer sizes and some complains from tools) (Roberto Ierusalimschy)
  • [cbe05b48] using 'lua_longassert' to avoid warnings (Roberto Ierusalimschy)
  • [e7f34ad3] better implementation for buffers (reallocated memory directly with allocation function; generates much less garbage) (Roberto Ierusalimschy)
  • [a5cbb7c3] detail (i + 1 > exp is simply i >= exp) (Roberto Ierusalimschy)
  • [dcad08b7] details (use original type when saving variable's value) (Roberto Ierusalimschy)
  • [afbf5c5d] missing ']]' in long string (Roberto Ierusalimschy)

[v5.3.1]

  • [a1415c0d] bug in order NaN x int (tests must ensure that NaN does not get converted to integer) (Roberto Ierusalimschy)
  • [2ecaf181] using macros ('rttype' and 'settt_') to access "private" field 'tt_' (Roberto Ierusalimschy)
  • [cbef15f3] comment (FALLTHROUGH position) (Roberto Ierusalimschy)
  • [16e8bb36] comment (Roberto Ierusalimschy)
  • [6628012e] new release number (5.3.1) (Roberto Ierusalimschy)
  • [ed1fe28b] When comparing integers with floats, use float as common type when possible (i.e., when integer fits in a float without losses); seems to be more efficient in architectures with native support for used Lua numbers (Roberto Ierusalimschy)
  • [6645bb2d] 'strcache' elements as arrays of 1 element hints that cache can be n-way (instead of direct mapped) (Roberto Ierusalimschy)
  • [02aed045] bug: return hook may not see correct values for active local variables when function returns (Roberto Ierusalimschy)
  • [72bd2ef6] dependencies updated (Roberto Ierusalimschy)
  • [d39bb51f] bug: interpreter cannot pop activation frame before calling return hook (as it may want to access local variables active by the end of the function) (Roberto Ierusalimschy)
  • [6142e663] reuse of 'addinfo' by lexical errors (Roberto Ierusalimschy)
  • [6dc20ff2] 'l <= r' for numbers has its own function, instead of using 'not (r < l)' (seems to be slightly more efficient) (Roberto Ierusalimschy)
  • [99391e24] new configuration macro 'l_mathlim' (simplifies some dependencies on float type) (Roberto Ierusalimschy)
  • [0ec12c1b] new semantics for numerical order (following math regardless representation) (Roberto Ierusalimschy)
  • [a71c0ab8] detail (removed useless '#include') (Roberto Ierusalimschy)
  • [04ba6ea8] new semantics for equality int-float (Roberto Ierusalimschy)
  • [a1935b9c] error message ("too complex" -> "too many registers") + MAXREGS changed to 255 (no reason not to use maximum allowed) (Roberto Ierusalimschy)
  • [513c639b] patch for last bug corrected to be against last released version (and not against last version in RCS...) (Roberto Ierusalimschy)
  • [69b5f7a4] some details in 'luaO_int2fb' + more consistent use of the locale decimal point (Roberto Ierusalimschy)
  • [ae76c397] Bug: suspended '__le' metamethod can give wrong result (Roberto Ierusalimschy)
  • [0d4a1f71] re-organization of initial configuration options (Roberto Ierusalimschy)
  • [67bf7894] avoid using API functions inside the core (Roberto Ierusalimschy)
  • [48d0674c] more consistent use of locale radix character across Lua (Roberto Ierusalimschy)
  • [6ffe006f] detail (removed unused macro VARBITS) (Roberto Ierusalimschy)
  • [4998e852] new function 'log2' to test 'luaO_ceillog2' (if needed) (Roberto Ierusalimschy)
  • [65ac7895] detail (comment) (Roberto Ierusalimschy)
  • [cfc84c85] 'LUA_REAL_' -> 'LUA_FLOAT_' (everywhere else we are using 'float') (Roberto Ierusalimschy)
  • [63720a42] janitor work (comments, variable names, some other details) (Roberto Ierusalimschy)
  • [484bf14a] calls to 'luaC_checkGC' in luaD_precall moved near to 'luaD_checkstack' (which is what can need memory) (Roberto Ierusalimschy)
  • [abb2f551] detail ('b + base' -> 'base + b' to follow all other similar uses) (Roberto Ierusalimschy)
  • [fcc6e122] avoid expression with side effect (in debug mode) inside 'sizeof' (Roberto Ierusalimschy)
  • [3a912745] details (avoid 'lint' warnings) (Roberto Ierusalimschy)
  • [f2a813ae] details (avoid some 'lint' warnings) (Roberto Ierusalimschy)
  • [e723c75c] details (avoid 'lint' warnings) (Roberto Ierusalimschy)
  • [b436ed58] 'clearapihash' -> 'luaS_clearcache' and moved to 'lstring.c' (which keeps all code related to this cache) (Roberto Ierusalimschy)
  • [2b37f215] comments (Roberto Ierusalimschy)
  • [331632e8] code detail ('if' -> '?:') (Roberto Ierusalimschy)
  • [7d930ec6] use 'log2' when available (Roberto Ierusalimschy)
  • [0cf3b649] 'ci_func' don't need to be exported (Roberto Ierusalimschy)
  • [b66fedad] 'lua_pushliteral' implemented with 'lua_pushstring' (to take advantage of the cache) (Roberto Ierusalimschy)
  • [fd6e680e] detail (Roberto Ierusalimschy)
  • [57c0db21] line history keep lines without added 'return' (Roberto Ierusalimschy)
  • [4ba0cb45] always use macros to operate on lua_Numbers (Roberto Ierusalimschy)
  • [a30c66f0] macro 'luai_apicheck'/'api_check' back with a 'lua_State' parameter (some people use it) (Roberto Ierusalimschy)
  • [bb4baa73] allocation function is not exactly API (and cannot raise errors like other API functions); better not use 'api_check' for cheking it. (Roberto Ierusalimschy)
  • [d7d44b03] detail (use 'lua_pushliteral' to push an empty string) (Roberto Ierusalimschy)
  • [297512b3] avoid using 'lua_pushliteral' in a non-zero-terminated string (Roberto Ierusalimschy)
  • [2ae2e640] avoid testing for NULL when marking objects that cannot be NULL (Roberto Ierusalimschy)
  • [a80cada9] new cache for interning strings (Roberto Ierusalimschy)
  • [a00013c8] 'point2int' -> 'point2uint' (to reflect its actual result type) (Roberto Ierusalimschy)
  • [b9a1f272] do not attempt emergency collection while building state (it is useless, and state can be inconsistent) (Roberto Ierusalimschy)
  • [29aed288] detail (use 'luaS_newliteral' when possible) (Roberto Ierusalimschy)
  • [951b562c] configuration for numerical types through only one #define for each type (Roberto Ierusalimschy)
  • [6408bc0b] new macros 'chgfltvalue'/'chgivalue' (numerical for loop does not need to set the type of its internal variable at each iteration) (Roberto Ierusalimschy)
  • [91efb4b8] LUA_COMPAT_5_1 needs some options deprecated from 5.2 to 5.3 (Roberto Ierusalimschy)
  • [27c5b1b2] added patches to two bugs (Roberto Ierusalimschy)
  • [d51bdc16] bug: 'string.format("%f")' can cause a buffer overflow (with long doubles) bug: 'debug.getlocal' on a coroutine suspended in a hook can crash the interpreter (Roberto Ierusalimschy)
  • [81245b1a] 'numisinteger' (for table keys) replaced by 'luaV_tointeger' (old 'tointeger_aux'), which can do the same job. (Roberto Ierusalimschy)
  • [397ce119] make 'hashfloat' configurable (Roberto Ierusalimschy)
  • [97f2aa5a] bug: when manipulating other threads, there is no garanties about their stack space (Roberto Ierusalimschy)
  • [419e2cb0] detail (file does not need 'string.h') (Roberto Ierusalimschy)
  • [374f6c46] detail ('fopen' needs 'stdio.h') (Roberto Ierusalimschy)
  • [4bdf9962] bug: suspended function can have its 'func' field not pointing to its function, crashing debug functions (Roberto Ierusalimschy)
  • [e0306e38] some changes in 'hashfloat' to avoid undefined (in ISO C) numerical conversions (Roberto Ierusalimschy)
  • [2e6e53c7] added API checks to some unprotected 'top' increments (Roberto Ierusalimschy)
  • [2a57d234] detail (Roberto Ierusalimschy)
  • [7e425be9] bug (in 5.2): Chunk with too many lines can seg. fault (Roberto Ierusalimschy)
  • [0705e7b3] detail (no need to write 'double' in source) (Roberto Ierusalimschy)
  • [4ccc4578] detail (use 'l_floor' instead of 'l_mathop(floor)') (Roberto Ierusalimschy)
  • [5e8c162b] detail (Roberto Ierusalimschy)
  • [c8d6cb01] macros 'luai_num*' (for float arithmetic operations) moved to llimits.h. (Roberto Ierusalimschy)
  • [0edcdf49] added comments documenting LUA_NOCVTN2S/LUA_NOCVTS2N (Roberto Ierusalimschy)
  • [b7dfd186] make buffer for format specification a little larger (length modifier can be larger than 2, e.g. "I64") (Roberto Ierusalimschy)
  • [8efcd411] own implementation for 'string.format("%a")' for C89 platforms (Roberto Ierusalimschy)
  • [90d01698] detail ('luaL_getmetatable' does not return a boolean, but a tag) (Roberto Ierusalimschy)
  • [b3996c55] LUAL_BUFFERSIZE affects the API, so it is better not to change it between releases of the same version. (The long double case seems to be too rare, so that should not be a problem; moreover, that case is related to a bug) (Roberto Ierusalimschy)
  • [438a9fcc] LUAI_MAXSHORTLEN moved from 'luaconf.h' to 'llimits.h' (does not affect the API and is seldom modified) (Roberto Ierusalimschy)
  • [7e2015a4] size of short strings stored in a single byte, to reduce the size of struct 'TString' (Roberto Ierusalimschy)
  • [5b01cb39] larger MINSTRTABSIZE (standard Lua starts with ~230 strings, after oppening the standard libraries) (Roberto Ierusalimschy)
  • [a0503305] comments (Roberto Ierusalimschy)
  • [965f7452] removed macro LUAI_FIRSTPSEUDOIDX (that stuff does not need to be configurable) (Roberto Ierusalimschy)
  • [3f2e21f0] Long double needs a larger LUAL_BUFFERSIZE (because 'string.format("%.99f", 1e4900)' can generate quite long strings), but otherwise buffer can be 1~2K (Roberto Ierusalimschy)
  • [35099149] BUG (when compiled with long double): buffer overflow when formatting string.format("%.99f", 1e4930) (Roberto Ierusalimschy)
  • [ae27be40] better check for overflows in 'table.move' (removes restriction that initial position should be positive) (Roberto Ierusalimschy)
  • [cdd26700] definition for 'MAXUPVAL' moved for a more "private" place and its value and comment corrected to reflect current implementation (Roberto Ierusalimschy)
  • [a9a4bf68] typo in comment (Roberto Ierusalimschy)
  • [f31cc8e3] typo in error message (Roberto Ierusalimschy)

[v5.3.0]

  • [3c55790e] 'setkey' -> 'setnodekey' (to avoid conflicts with POSIX) (Roberto Ierusalimschy)
  • [0adfa773] new macro 'cast_func' adds 'extension' (in gnu compilers) when converting void* to function, to avoid warnings (Roberto Ierusalimschy)
  • [3317f5c6] includes 'stddef.h' (as it uses NULL) (Roberto Ierusalimschy)
  • [dbf911c5] detail (added -Wconversion as a comment, to be used ocasionally) (Roberto Ierusalimschy)
  • [3a29087c] 'lua_setlocal' should not pop value when failing (to be consistent with the manual and with 'lua_setupvalue') (Roberto Ierusalimschy)
  • [234fb7f6] clearer(?) code (also avoids a warning about 'c' being used without initialization) (Roberto Ierusalimschy)
  • [c077d474] does not define _XOPEN_SOURCE when LUA_USE_C89 is defined + defining _XOPEN_SOURCE==0 undefines that macro (Roberto Ierusalimschy)
  • [8e5290d8] all "divisions" (div,idiv,mod) by zero are not folded, to avoid problems during compilation + does not fold zero results, as they can collapse with -0.0 and the ANSI test to distinguish both needs a division by zero (which we are trying to avoid) + removed macro 'luai_numinvalidop' (as its main use case were divisions by zero) (Roberto Ierusalimschy)
  • [a1c37f83] detail (macro 'luai_numidiv' uses 'luai_numdiv' to compute the division) (Roberto Ierusalimschy)
  • [1a7868c1] bug: 'random' limit is 2^31-1, not RAND_MAX (Roberto Ierusalimschy)
  • [de393348] details (Roberto Ierusalimschy)
  • [50e2eb89] change in macro 'vmcase', avoding code inside it. (Code inside the macro harms tools such as debuggers.) (Roberto Ierusalimschy)
  • [94eb37dc] new year (2015) (Roberto Ierusalimschy)
  • [900bdd57] detail (to avoid warnings) (Roberto Ierusalimschy)
  • [a5106920] removed macro 'luai_numinvalidop' (main motivation removed, as folding does not handle any division by zero by default) (Roberto Ierusalimschy)
  • [fb6796ba] removed useless initializations (Roberto Ierusalimschy)
  • [88ef06f4] comments were wrong (not updated about several changes) (Roberto Ierusalimschy)
  • [eb45f3a9] details in 'luaM_reallocvchar' (Roberto Ierusalimschy)
  • [63210410] new macro 'luaM_reallocvchar' to allocate arrays of chars (avoids uneeded tests and respective warnings) (Roberto Ierusalimschy)
  • [2b83711f] new macro 'nvalue' (to convert an object to a float when we know object is a number) (Roberto Ierusalimschy)
  • [3ae21a35] detail (in test for 'luai_numinvalidop', use a round float) (Roberto Ierusalimschy)
  • [570143bf] comment (Roberto Ierusalimschy)
  • [1465edf3] old Visual Studio versions did not support 'noreturn' attribute (Roberto Ierusalimschy)
  • [77e786d4] stupid bug in T.stacklevel (not in use by the tests) (Roberto Ierusalimschy)
  • [6d79752e] Windows uses 'long long' (instead of '__int64') when present; again, uses macro LLONG_MAX as a proxy for the support for 'long long'. (Roberto Ierusalimschy)
  • [75812a51] added macro LUA_USE_I64 for separate control of use of Windows-specific types (Roberto Ierusalimschy)
  • [151dc5cc] traverse loaded modules (instead of globals) for a name for a function + removes prefix '_G.' from names (if present) (Roberto Ierusalimschy)
  • [0b6cfea0] comments (Roberto Ierusalimschy)
  • [c8da3fbc] in traceback names, give preference to 'name' over '_G.name' (Roberto Ierusalimschy)
  • [c96cd1c6] reinsertion-control macro renamed: lconfig_h -> luaconf_h (Roberto Ierusalimschy)
  • [57e91b41] correct computation for limit in 'getnum' (Roberto Ierusalimschy)
  • [ef7d29c6] better limits for 'sting.rep' and 'string.packsize' (Roberto Ierusalimschy)
  • [81ecaf61] new specifiers in 'strftime' are defined in C99 (not Posix) (Roberto Ierusalimschy)
  • [27ab59bc] 'ipairs' needs an argument (Roberto Ierusalimschy)
  • [bd8ce7e3] macro 'LUA_C89_NUMBERS' makes a little easier to use C89 numerical types (Roberto Ierusalimschy)
  • [5c519a69] new function 'string.packsize' (Roberto Ierusalimschy)
  • [6f54b076] give preference to global names in tracebacks (Roberto Ierusalimschy)
  • [741ad97e] new parameter for testC instruction 'pcall' (error handler) (Roberto Ierusalimschy)
  • [b4633c58] error handler does not need to be a function (can be a callable object) (Roberto Ierusalimschy)
  • [5fae2a5b] redefinition of LUAI_MAXSTACK to make stack-overflow tests run faster (Roberto Ierusalimschy)
  • [36efa6a6] no more 'preloadedlibs' when opening libraries (as it is dead code now) (Roberto Ierusalimschy)
  • [c6e74e41] handle case where function was called as a hook (Roberto Ierusalimschy)
  • [6909b5a2] In 'debug.gethook', does not query hook table (which may not exist) if there is no hook set (Roberto Ierusalimschy)
  • [594d7266] 'assert' checks that it has (at least) one parameter + 'assert' ensures it passes only one value to 'error' (Roberto Ierusalimschy)
  • [ab4a890d] use 'namewhat' when building a traceback (Roberto Ierusalimschy)
  • [64e25a61] avoid octal numerals (Roberto Ierusalimschy)
  • [46096835] in test mode, debug library is not predefined (to allow testing 'preloadedlibs') (Roberto Ierusalimschy)
  • [32a1f54b] no more default size for option 'c' in pack/unpack (Roberto Ierusalimschy)
  • [6df197ec] some functions from test module must be exported (Roberto Ierusalimschy)
  • [177807f2] casts ('(int)' -> 'cast_int') (Roberto Ierusalimschy)
  • [92f02fff] bug: lua_tounsignedx must cast to lua_Unsigned (of course...) (Roberto Ierusalimschy)
  • [125296c8] next release won't be beta (Roberto Ierusalimschy)
  • [9c41d9d1] removed unneeded barrier ('from' must be white) (Roberto Ierusalimschy)
  • [ad79eafe] details (comments) (Roberto Ierusalimschy)
  • [fd179ab4] clearer notation for "compare" instruction (Roberto Ierusalimschy)
  • [bf163ea7] bug ('#3' causes seg. fault in 5.3-beta) + comments + 'codearith' -> 'codeexpval' (confusion about what operations function accept was one of the reasons for the bug) (Roberto Ierusalimschy)
  • [075661ff] new test for macro 'luai_numinvalidop' (Roberto Ierusalimschy)
  • [db5ac2fa] detail (buffer in 'LoadF' is related to files) (Roberto Ierusalimschy)
  • [1735c05a] avoid memory errors while a file is locked (when reading a line) (Roberto Ierusalimschy)
  • [5fbd40db] 'x//y' extended to floats (Roberto Ierusalimschy)
  • [049cf14c] 'x//y' extended to floats + more comments about module and floor division operations (Roberto Ierusalimschy)
  • [5d628519] simpler definition for 'luaV_tonumber_' (Roberto Ierusalimschy)
  • [244646bd] detail (LUAL_BUFFERSIZE has a larger variation among different platforms) (Roberto Ierusalimschy)
  • [5bdfefd3] allows calling luaL_checkstack with no message (in runC) (Roberto Ierusalimschy)
  • [5873786e] small bug (error of "chunk has too many lines" might use 't.token' before reading the first token) (Roberto Ierusalimschy)
  • [cb59019f] uses return value from luaL_getmetatable (Roberto Ierusalimschy)
  • [52c0f957] uses return value from lua_getfield (Roberto Ierusalimschy)
  • [4fde3571] details (matching parameter names with manual) (Roberto Ierusalimschy)
  • [e5fd1e5f] details (match parameter names with lua.h and manual) (Roberto Ierusalimschy)
  • [87b179e7] detail (use new returned value from 'lua_getglobal' ) (Roberto Ierusalimschy)
  • [b401d371] detail (to avoid a "to avoid warnings" return) (Roberto Ierusalimschy)
  • [6624ccff] independent code for 'printstack' + test for panic function can ran code there (Roberto Ierusalimschy)
  • [9a38c080] no need to ensure any stack space for panic function + some changes in 'tryfuncTM' (small simplification) (Roberto Ierusalimschy)
  • [be87789a] details (Roberto Ierusalimschy)
  • [d1d1ddec] details (Roberto Ierusalimschy)
  • [bfa08983] bug: memory error in panic mode does not push error message on the stack + stack check in tryfuncTM + comments (Roberto Ierusalimschy)
  • [79b0d054] new function 'T.checkpanic' (to check panic errors) (Roberto Ierusalimschy)
  • [779381fe] detail (comment) (Roberto Ierusalimschy)
  • [b6911c17] luaL_loadbuffer replaced by luaL_loadstring (to test luaL_loadstring) + 'rawgetp'/'rawsetp' added to C interpreter (Roberto Ierusalimschy)
  • [9212175f] added missing cases for debug info about tag methods + better error message for bitwise operators (Roberto Ierusalimschy)
  • [ad20689f] better error message for bitwise operators (they are not arithmetic...) (Roberto Ierusalimschy)
  • [e3207901] using address instead of string for key for table 'CLIBS' in the registry (Roberto Ierusalimschy)
  • [fee3aa51] using address key (light userdata) for hook table, instead of string (Roberto Ierusalimschy)
  • [b58602d9] removed unneeded test (result of b_str2int is already checked against length) (Roberto Ierusalimschy)
  • [74e10b9c] details (error messages) (Roberto Ierusalimschy)
  • [b044b8c1] detail (line break) (Roberto Ierusalimschy)
  • [a113e149] when checking thread consistency, check its entire stack (always the entire stack must have valid values) (Roberto Ierusalimschy)
  • [17ca3b17] cleaner test for overflow for range of 'math.random' (Roberto Ierusalimschy)
  • [50b18f60] detail (Roberto Ierusalimschy)
  • [ad73e515] more direct way to fill sign-extension extra bytes when packing integers with sizes larger than lua_Integer + added comments (Roberto Ierusalimschy)
  • [720c68da] removed repeated flags (-Wall/-Wdisabled-optimization) + removed flag -Wcast-align (Lua does some unconventional casts) + added flag -std=c99 + added file lprefix.h in dependency lists (Roberto Ierusalimschy)
  • [81c39a52] no need to cast '*s' to unsigned char when we know it is a digit + no need to call 'luaO_hexavalue' for decimal digits (Roberto Ierusalimschy)
  • [cfabcbfb] added macro for configuring padding value in 'string.pack' (Roberto Ierusalimschy)
  • [bde14c3a] macro to change method of conversion from float to integer (make it use floor intead of requiring an exact integral value) (Roberto Ierusalimschy)
  • [4b839d7c] Definitions for Lua code that must come before any other header file (Roberto Ierusalimschy)
  • [c49edc45] keep "#include <windows.h>" in this file, but without the previous requirement that it must be included before any other header file (it doesn't seem to matter) (Roberto Ierusalimschy)
  • [c5d52a54] Windows uses "LONGLONG" option, even not having long long (it has __int64) (Roberto Ierusalimschy)
  • [e75c0148] comments (references to "ANSI C" changed to "ISO C", which is the international name (Roberto Ierusalimschy)
  • [28fdbcf3] added include for 'lprefix.h', for stuff that must be added before any other header file (Roberto Ierusalimschy)
  • [c25072a2] 'lua_load' sets _ENV for any chunk with upvalues (not just those with exactly one upvalue) (Roberto Ierusalimschy)
  • [1a69a3ec] LUA_WIN -> LUA_USE_WINDOWS (Roberto Ierusalimschy)
  • [dcfc3c94] new option '=' (native endian) for pack/unpack (Roberto Ierusalimschy)
  • [4542fb9f] comments (a few extra quotes around identifiers) (Roberto Ierusalimschy)
  • [80e81771] default changed from C89 to C99 + extra tests before using C99 features (when possible) + LUA_32BITS use 'int' when possible ('long' can be 64 bits) (Roberto Ierusalimschy)
  • [96f3a31b] Better organization of definitions in categories + removed '_CRT_SECURE_NO_WARNINGS' (useless there) + LUA_ENV/luai_writestring/ luai_writeline/luai_writestringerror/LUA_INT32/LUAI_UMEM/LUAI_MEM moved to other places (no need to be in luaconf.h) + changed definition for LUAL_BUFFERSIZE (Roberto Ierusalimschy)
  • [ff6c0343] configurations for types 'lu_mem'/'l_mem'/'Instruction' moved to here (from 'luaconf.h'), as they are not needed by the API and probably will not be changed (Roberto Ierusalimschy)
  • [05afee0f] definitions for 'luai_writestring'/'luai_writeline'/'luai_writestringerror' moved to 'lauxlib.h' (they do not need to be stable or configurable) + prefixes changed from 'luai_' to 'lua_' (they are not part of the core) (Roberto Ierusalimschy)
  • [351a446e] definition for 'LUA_ENV' moved from 'luaconf.h' to here (no need to be visible outside Lua + no need for easy redefinitions) (Roberto Ierusalimschy)
  • [e9885efc] added comment and assert about an (impossible) division by zero (Roberto Ierusalimschy)
  • [59fbbf0a] small simplifications in code for 'lua_strx2number' (Roberto Ierusalimschy)
  • [61c3c801] detail (Roberto Ierusalimschy)
  • [9de384e2] removed useless 'include math.h' (Roberto Ierusalimschy)
  • [4b526045] comment (Roberto Ierusalimschy)
  • [48701943] small reorganization of tests around LUA_USE_C99 (Roberto Ierusalimschy)
  • [41d0e661] comments + Windows numeric types not used if LUA_ANSI is defined (Roberto Ierusalimschy)
  • [aa1bd887] comments (Roberto Ierusalimschy)
  • [7314acaa] 'T.limits' reports some more useful limits (Roberto Ierusalimschy)
  • [4b2521cd] better (and safer?) way to test native size of type 'int' (Roberto Ierusalimschy)
  • [49110370] 'MAXSTACK' -> 'MAXREGS' and moved to 'lcode.c' (there is no reason to change that constant...) (Roberto Ierusalimschy)
  • [fa4d5c86] pack/unpack do not handle final '\0' as an "option" (it streches unnecessarily the switch range) (Roberto Ierusalimschy)
  • [aef2d711] detail (Roberto Ierusalimschy)
  • [bdf566a8] `name' in comments changed to 'name' (Roberto Ierusalimschy)
  • [c3c78030] avoid redeclaration of _CRT_SECURE_NO_WARNINGS + 'lua_numtointeger' -> 'lua_numbertointeger' (Roberto Ierusalimschy)
  • [ff9ca88a] added some casts to avoid warnings in some compilers (Roberto Ierusalimschy)
  • [463edee2] 'lua_numtointeger' -> 'lua_numbertointeger' (Roberto Ierusalimschy)

[v5.3-beta]

  • [88ff582f] detail (using 'sizeof' instead of 'strlen' for length of a constant string) (Roberto Ierusalimschy)
  • [6b12b825] added 'l_' prefix for names that can be redefined externally (Roberto Ierusalimschy)
  • [d7a0179c] use 'opf' (float) variants only when explicitly allowed (LUA_USE_C99) (Roberto Ierusalimschy)
  • [6d613817] comments (Roberto Ierusalimschy)
  • [b8d412aa] error in comment (Roberto Ierusalimschy)
  • [961760c9] message handler always adds a traceback to messages (even if they are not strings), unless they have a __tostring method. (Roberto Ierusalimschy)
  • [57559547] in 'pack'/'unpack', endianness and alignment treated like options + small changes in names and handling of internal options ('KOption') (Roberto Ierusalimschy)
  • [cfa84e12] does not use 'long long' when LUA_ANSI is set (Roberto Ierusalimschy)
  • [0d31efb3] 'lua_stringtonum' -> 'lua_stringtonumber' (Roberto Ierusalimschy)
  • [f97c64d7] macros 'LUA_QL'/'LUA_QL' deprecated (Roberto Ierusalimschy)
  • [ea3155e3] 'debug.sizeof' removed (Roberto Ierusalimschy)
  • [c172a4f7] 'dumpint' and related functions replaced by 'string.pack'/'string.unpack' (Roberto Ierusalimschy)
  • [f8e0d33b] added "_CRT_SECURE_NO_WARNINGS" for Windows (to avoid warnings about several standard C functions) + small changes in '#include's (Roberto Ierusalimschy)
  • [745618d9] 'charpatt' -> 'charpattern' (Roberto Ierusalimschy)
  • [89602bf7] 'lua_strtonum' -> 'lua_stringtonum' (Roberto Ierusalimschy)
  • [56d45378] '$c' in 'lua_pushfstring' prints non-printable characters with their codes (Roberto Ierusalimschy)
  • [18014ef2] better handling of systems that do not support 'long long' (Roberto Ierusalimschy)
  • [ffe7401c] avoid warnings in macro 'luaM_reallocv' + comments (Roberto Ierusalimschy)
  • [65ec3379] added some casts for the cases when lua_Number != double (Roberto Ierusalimschy)
  • [85fc9ecd] detail ('G(L)' -> 'g') (Roberto Ierusalimschy)
  • [2a21f6c8] 'lua_Kcontext' -> 'lua_KContext' (Roberto Ierusalimschy)
  • [3670db99] comments (Roberto Ierusalimschy)
  • [e14a02c2] when thread yields, real "func" is in field 'extra', not in 'func' (Roberto Ierusalimschy)
  • [15f41505] alpha -> beta (Roberto Ierusalimschy)
  • [c5cae936] added two casts to avoid warnings in VS (Roberto Ierusalimschy)
  • [4f4e0e49] easier way to compile Lua 32 (Roberto Ierusalimschy)
  • [2f4d4290] details (comments) (Roberto Ierusalimschy)
  • [27f7bd2e] detail (Roberto Ierusalimschy)
  • [798660c9] deprecated "cast macros" ('luaL_checkint', 'luaL_optint', etc.) (Roberto Ierusalimschy)
  • [34b6664d] better to use 'long' to represent UTF-8 code points (Roberto Ierusalimschy)
  • [d35fff16] 'ipairs' always stops at first nil element (Roberto Ierusalimschy)
  • [56699cd6] small change to avoid bug in some versions of the clang compiler (Roberto Ierusalimschy)
  • [8ede2c35] detail in 'report' + message handler always is called with an argument + 'report' already handles non-string error messages (Roberto Ierusalimschy)
  • [6384475e] 'luaL_getmetafield' returns type of metafield (instead of a boolean) (Roberto Ierusalimschy)
  • [3a15c7ce] size for array part of a table ('sizearray') changed from 'int' to 'unsigned int', which allows twice as many elements in the array part (Roberto Ierusalimschy)
  • [0a6b58c3] weak tables that must be retraversed are kept in 'grayagain' list until atomic phase (instead of going to their special lists) + more comments (Roberto Ierusalimschy)
  • [979a663d] detail (error message from 'coroutine.status') (Roberto Ierusalimschy)
  • [22952d89] 'T.gccolor' classify dead objects too (Roberto Ierusalimschy)
  • [df608f84] 'linktable' -> 'linkgclist' (and used for all links with 'gclist') (Roberto Ierusalimschy)
  • [001bb46a] bug: Ephemeron table can wrongly collect entry with strong key (Roberto Ierusalimschy)
  • [9b25347a] detail (Roberto Ierusalimschy)
  • [e4015130] new option 'p' for 'debug.sizeof' (size of a pointer) (Roberto Ierusalimschy)
  • [7f1a2ad6] new functions 'lua_geti/lua_seti' (non raw) (Roberto Ierusalimschy)
  • [a1ab5ab3] 'table.copy' -> 'table.move' + optional parameter moved to the end + several functions operate on "virtual" tables too (Roberto Ierusalimschy)
  • [01549fb1] 'Csize' -> 'sizeof' + removed its 'b' option (Roberto Ierusalimschy)
  • [4fba1174] [un]'dumpint' -> [un]'dumpinteger' (Roberto Ierusalimschy)
  • [2be88d50] 'lua_Ctx' -> 'lua_Kcontext' (Roberto Ierusalimschy)
  • [f5c690b6] details in comments (Roberto Ierusalimschy)
  • [61fa4625] added cast to avoid warning (Roberto Ierusalimschy)

[v5.3-alpha]

  • [fba9050d] release changed to (5.3) alpha (Roberto Ierusalimschy)
  • [d8617066] new macro 'cvt2num' to better control whether strings are convertible to numbers (Roberto Ierusalimschy)
  • [34ac039f] new macro 'cvt2str' to better control whether numbers are convertible to strings (Roberto Ierusalimschy)
  • [1aa52626] do not assume numbers are coercible to strings (Roberto Ierusalimschy)
  • [07c7fdb9] simpler definition for 'setobj' (trust the compiler for the assignment) (Roberto Ierusalimschy)
  • [3ccbae84] added some casts between integral types (to avoid warnings) (Roberto Ierusalimschy)
  • [255d59ed] some janitorial work (comments, small refactoring) (Roberto Ierusalimschy)
  • [925d1b59] new function 'math.ult' (unsigned less than) (Roberto Ierusalimschy)
  • [03bbe1ba] first implementation for 'table.copy' (Roberto Ierusalimschy)
  • [f9037ae8] 'ipairs' respects metamethods (Roberto Ierusalimschy)
  • [57d84241] extra space for new threads is initialized with a copy of the main thread, not of the creator thread. (Roberto Ierusalimschy)
  • [baa0e234] better support for extra user space associated with a Lua state (Roberto Ierusalimschy)
  • [55a71054] detail (extra byte in LUAI_EXTRASPACE to test proper alignment of a lua_State) (Roberto Ierusalimschy)
  • [753f2c1d] better(?) alignment for some structures (pointers first) (Roberto Ierusalimschy)
  • [b3b85806] comments + proper undef of compatibility macros + no need to undef internal macros (this is the first definition) (Roberto Ierusalimschy)
  • [73ad16b5] no need for type 'pCallInfo' (Roberto Ierusalimschy)
  • [97e299c3] 'lua_replace' implemented as a macro using 'lua_copy' (Roberto Ierusalimschy)
  • [c697aa30] more precise type for argument to 'aux_upvalue' (Roberto Ierusalimschy)
  • [17ee57f8] 'iswhite' and related macros now can work directly on any object (no need to convert to 'GCObject') (Roberto Ierusalimschy)
  • [3c6d0aaa] 'iswhite' and related macros now can work directly on any object (no need to convert to 'GCObject') (Roberto Ierusalimschy)
  • [e43612aa] put the restriction that 'luaC_barrierback' works only on tables in its prototype (Roberto Ierusalimschy)
  • [2898e2fd] removed useless assertion (gcstate != GCSpause already implied by other assertions) and wrong assertion (setmetatable uses this barrier for tables too) (Roberto Ierusalimschy)
  • [8704fca0] in 'luaL_checkversion_' check numeric types first. (Other tests depend on correct numeric type.) (Roberto Ierusalimschy)
  • [325e44d8] no more "-2" for limits. (Limits should be precise; safety is in the code that handles these limits.) (Roberto Ierusalimschy)
  • [54ac2533] detail (no need to define LUAI_USER_ALIGNMENT_T when it is not defined; simpler to define 'L_Umaxalign' directly) (Roberto Ierusalimschy)
  • [bb129031] type 'Udata' refers directly to structure inside the union (union used only for aligning purposes now) (Roberto Ierusalimschy)
  • [ca41b43f] type 'TString' refers directly to the structure inside the union (union used only for size purposes) (Roberto Ierusalimschy)
  • [3511e186] ensure size for LUAI_USER_ALIGNMENT_T in tests is larger than the structures it is aligning (in most architectures) (Roberto Ierusalimschy)
  • [56137d58] added check for conversion 'obj2gco' (and corrections for small problems detected by this check) (Roberto Ierusalimschy)
  • [9aec500a] no need for field 'gch' anymore (Roberto Ierusalimschy)
  • [5a9cc57a] change in GCObject: instead of being a union, it is now a structure with the common header of all collectable objects; union is used only for conversions. (Goal is to be able to check that the cast 'obj2gco' can have a check to ensure that object being converted is really a collectable object.). This is the first step in the change. (Roberto Ierusalimschy)
  • [1aa4f69b] new type 'lua_Ctx' for continuation-function contexts (to allow type to be configurable) (Roberto Ierusalimschy)
  • [8bb272a3] new conversion float->integer: conversion is valid only when float has an exact representation as an integer (Roberto Ierusalimschy)
  • [c229ed59] 'requiref' checks 'package.loaded' before loading a module (Roberto Ierusalimschy)
  • [16b41105] function 'type' keeps type names as upvalues to avoid creating strings everytime it is called (Roberto Ierusalimschy)
  • [f14662fc] detail (added placeholders for non-function fields to preallocate space for them) (Roberto Ierusalimschy)
  • [a9af12bb] Table library now respects '__index'/'__newindex' metamethods (Roberto Ierusalimschy)
  • [5bbb4a06] removed unused parameter Ä'L' in macro 'api_check' and company (Roberto Ierusalimschy)
  • [d4fb848b] added api check in 'lua_typename' (tag is valid) (Roberto Ierusalimschy)
  • [b9dcf997] detail (typos in comments) (Roberto Ierusalimschy)
  • [a77d263e] unsigned-manipulation functions (lua_puhsunsigned, lua_tounsigned, etc.) deprecated (Roberto Ierusalimschy)
  • [7cc40851] emergency collection can happen even when collector is stopped (Roberto Ierusalimschy)
  • [08a9c9fa] detail (comment) (Roberto Ierusalimschy)
  • [84fe52db] unsigned-manipulation functions (lua_puhsunsigned, lua_tounsigned, etc.) deprecated (Roberto Ierusalimschy)
  • [10200585] var-arguments to the script come from 'arg' table (not from original 'argv' array) (Roberto Ierusalimschy)
  • [c94f11d7] 'IntPoint' -> 'point2int' + ensure that casted value fits in destination type (Roberto Ierusalimschy)
  • [54ac5960] LUA_MAXUNSIGNED was only used to define 2.0^intnumbits (and that definition was not strictly portable), so it was removed and replaced by a more correct and direct definition for 2.0^intnumbits (only where it was needed) (Roberto Ierusalimschy)
  • [0e6229a9] use proper macros to convert 'GCObject' to other objects + better type cheking in 'set*value' macros (Roberto Ierusalimschy)
  • [d2ab1aef] detail (avoid too large macro) (Roberto Ierusalimschy)
  • [89b56e7d] more precision between closure types ('LClosure' x 'CClosure') (Roberto Ierusalimschy)
  • [14929f57] use appropriate macros to convert GCObject to specific types (Roberto Ierusalimschy)
  • [7021cc9b] allows different 'source' for each prototype, but inherits it from parent when they are equal (only possible case for chunks created by the parser) (Roberto Ierusalimschy)
  • [04da0a40] added assertion about sources being the same for all protos in a chunk (Roberto Ierusalimschy)
  • [eb678282] changed macro for compatibility options + details (Roberto Ierusalimschy)
  • [94266dfd] source for all prototypes must be equal in a chunk; no need to store each one separated (Roberto Ierusalimschy)
  • [e3871abe] 'math.ifloor' is back (Roberto Ierusalimschy)
  • [3fc25ff1] macro 'checkobjref' accepts NULL (as all its uses checked for NULL before) + user value from a userdata may not be a GC object (Roberto Ierusalimschy)
  • [fa3113ff] cleaner way to handle bit CIST_OAH (with auxiliar macros) (Roberto Ierusalimschy)
  • [d94bb6c2] janitor work on 'lua_resume' and related code (Roberto Ierusalimschy)
  • [57843317] new items in default path for Windows (Roberto Ierusalimschy)
  • [88a9e51f] bit-field CIST_YIELDED removed (it was never consulted) (Roberto Ierusalimschy)
  • [8b5940e7] must also reset CIST_OAH if necessary (CallInfo is not a fresh one) (Roberto Ierusalimschy)
  • [1a3656e5] more relaxed rules for __eq metamethod (more similar to other operators) (Roberto Ierusalimschy)
  • [542b6cfc] no need for field 'status' in structure 'CallInfo' (after removal of 'lua_getctx') + field 'old_allowhook' can be packed into a single bit (Roberto Ierusalimschy)
  • [6f6fd96e] new type lua_KFunction + no more 'lua_getctx' (Roberto Ierusalimschy)
  • [35a6aad0] added comments (Roberto Ierusalimschy)
  • [23f0ff95] lots of janitor work (including comments) + 'arg' table created before running any script + changes in the parameters and return of 'collectargs' (Roberto Ierusalimschy)
  • [35503752] 'math.mof' works with integers, too (Roberto Ierusalimschy)
  • [9e68c047] 'assert' does not assume that the error object is a string (Roberto Ierusalimschy)
  • [e9d86edd] if numeral overflows the reading buffer, signal it as invalid input (resulting in nil) (Roberto Ierusalimschy)
  • [11aefa44] details (comments) (Roberto Ierusalimschy)
  • [5ebdd326] detail (to avoid warnings of unused variable) (Roberto Ierusalimschy)
  • [84db17b6] more "religious" definition for 'lua_numtointeger' (Roberto Ierusalimschy)
  • [456806f2] no more 'math.ifloor' + new semantics for 'math.floor'/'math.ceil' (Roberto Ierusalimschy)
  • [c98f195e] function 'luaV_numtointeger' changed to a global macro 'lua_numtointeger' (tricky, small, and useful in several places) (Roberto Ierusalimschy)
  • [4d696c45] simpler handling of 'GCScallfin' state + more comments (Roberto Ierusalimschy)
  • [36715ab7] detail (comment) (Roberto Ierusalimschy)
  • [e966e537] no more use of 'scanf' for reading numbers (Roberto Ierusalimschy)
  • [c4eff103] small improvements concerning 'check_next' (Roberto Ierusalimschy)
  • [8a0acf08] comments (Roberto Ierusalimschy)
  • [e2be310a] better(?) implementation for 'pcall'/'xpcall' (regarding the insertion of the boolean first result) (Roberto Ierusalimschy)
  • [17159b49] more direct implementation of 'table.pack' (Roberto Ierusalimschy)
  • [0aa32fa0] small changes in field order in some structs to reduce padding (Roberto Ierusalimschy)
  • [8927c143] removed macro 'luai_checknum' (as NaN trick is not doable now) (Roberto Ierusalimschy)
  • [3e977f02] added a few comments (Roberto Ierusalimschy)
  • [a73da611] deprecated library throws an error if called (instead of silently not loading itself) (Roberto Ierusalimschy)
  • [6a5d8777] added lots of new comments + small changes in code (Roberto Ierusalimschy)
  • [15e84057] 'LUA_COMPAT_ALL' -> 'LUA_COMPAT_5_1'/'LUA_COMPAT_5_2' + "@" in comments replaced by "@@". ("@" is too distracting) (Roberto Ierusalimschy)
  • [fd1672ba] avoid non-conformant pointer arithmetic in api check for 'lua_rotate' (Roberto Ierusalimschy)
  • [1ddb251d] using a more conventional handling of stack space in 'io_readline' (Roberto Ierusalimschy)
  • [f8daddba] added a compat option (although it will be off by default) to the addition of '.0' to float->string conversions (Roberto Ierusalimschy)
  • [e58ef8d0] missing macro 'LUAMOD_API' in function to open library (Roberto Ierusalimschy)
  • [e3b9569e] function 'reverse' uses appropriate variants of 'setobj' for better documentation (Roberto Ierusalimschy)
  • [8b66040e] several functions deprecated (cosh, sinh, atanh, pow, frexp, ldexp) (Roberto Ierusalimschy)
  • [965993da] comments added to 'lua_rotate' (Roberto Ierusalimschy)
  • [5a5a8349] new API function 'lua_rotate' (Roberto Ierusalimschy)
  • [45c430ea] addition of '.0' to float representation done by the kernel (Roberto Ierusalimschy)
  • [27d9219c] no more integer exponentiation (Roberto Ierusalimschy)
  • [12bd01c5] added comments to several functions (Roberto Ierusalimschy)
  • [626124d2] old POSIX systems need '<sys/types.h>' for 'off_t' (Roberto Ierusalimschy)
  • [5018104a] better error message for unfinished long strings/comments (Roberto Ierusalimschy)
  • [ec11d132] comments (Roberto Ierusalimschy)
  • [06dc893f] in 'for' loops, make the limit an integer whenever initial value and step are integers (Roberto Ierusalimschy)
  • [a09bd596] 'T.totalmem' accepts 0 for unlimited memory (Roberto Ierusalimschy)
  • [42ff788e] comments (Roberto Ierusalimschy)
  • [1bd70a8e] new function 'lua_isyieldable' (and 'coroutine.isyieldable') (Roberto Ierusalimschy)
  • [ef834574] updated several 'fix' fields (Roberto Ierusalimschy)
  • [4833fb82] marks for releases 5.2.2 and 5.2.3 + correction in last bug's description (Roberto Ierusalimschy)
  • [77e7ebca] better alignments (for 64-bit arquitectures) for structures 'Table' and 'TString' (Roberto Ierusalimschy)
  • [6d5324f9] 'math.fmod' handles integers as integers (Roberto Ierusalimschy)
  • [4fe11ae2] 'lua_getuservalue' returns type of user value (Roberto Ierusalimschy)
  • [c549d4fe] 'lua_strtonum' (and 'luaO_str2num') now return string size, instead of receiving it (Roberto Ierusalimschy)
  • [ddff6ecf] function 'limittointeger' no needed (now that 'tointeger_aux' handles integers too) (Roberto Ierusalimschy)
  • [6b630c0f] debug.numbits replaced by debug.Csize (Roberto Ierusalimschy)
  • [1a6ef098] 'luaO_str2d' + 'luaO_str2int' replaced by 'luaO_str2num' plus proper conversion from strings to integers (Roberto Ierusalimschy)
  • [5388aa9f] 'luaO_str2d' + 'luaO_str2int' replaced by 'luaO_str2num' (which converts to float or integer according to the string syntax) (Roberto Ierusalimschy)
  • [b123a886] merge of common parts from 'limittointeger' and 'luaV_tointeger_' (Roberto Ierusalimschy)
  • [ffa43df3] 'setnvalue' -> 'setfltvalue' (for consitency with 'fltvalue') (Roberto Ierusalimschy)
  • [9c4398de] 'for' loop tries to convert limit to integer when initial value and step are integers (Roberto Ierusalimschy)
  • [a0d4f0fc] template for 'mkstemp' is configurable (via LUA_TMPNAMTEMPLATE) (Roberto Ierusalimschy)
  • [68616c66] using lua_Unsigned (instead of lua_Integer) for bit manipulation (Roberto Ierusalimschy)
  • [e98ba351] n^-m gives float result (instead of error) (Roberto Ierusalimschy)
  • [cbe4998b] 'math.random(n,m)' interval restricted in size, to avoid using conversion between 'double' and 'unsigned' (which can be slow and unreliable) (Roberto Ierusalimschy)
  • [0172c955] comment (Roberto Ierusalimschy)
  • [3d4913f7] back to larger sizes for 'dumpint/undumpint' (small Lua should be able to dump/undump long-long integers) (Roberto Ierusalimschy)
  • [c27ef1b7] correct integer limits for Windows + small adjustments for short option (Roberto Ierusalimschy)
  • [4422b974] keep 'luaL_checkversion_' with its signature in version 5.2, for correct error messages in case of version mixings (Roberto Ierusalimschy)
  • [2f02d264] initial '*' in 'io.read' formats is deprecated (Roberto Ierusalimschy)
  • [037a70df] cast_u2s/cast_s2u renamed l_castS2U/l_castU2S to be configurable from outside (mostly for testing) (Roberto Ierusalimschy)
  • [8f961da3] macros cast_integer/cast_unsigned replaced by cast_u2s/cast_s2u, that should be used only between lua_Integer and lua_Unsigned (Roberto Ierusalimschy)
  • [5c46b7b8] instructions in 'runC' sorted alphabetically + new instructions 'tointeger'/'tounsigned' (Roberto Ierusalimschy)
  • [a2c094fe] size of strings in 'string.rep' should be limited by the size of lua_Integer, not of 'int' (Roberto Ierusalimschy)
  • [f767f29d] using predefined limits (instead of computing min/max values for each type) + some comments (Roberto Ierusalimschy)
  • [675530c4] maximum size of array part of a table now is restricted not only by the size of an 'int', but also by the size of a 'lua_Integer' (Roberto Ierusalimschy)
  • [ab964ad7] new macro LUA_MAXUNSIGNED + support for 'short' integers (for tests only) (Roberto Ierusalimschy)
  • [ef789d41] new global macro 'LUA_MAXUNSIGNED' (Roberto Ierusalimschy)
  • [b390d7c1] detail (avoid "casting down" in case lua_Integer is smaller than int) (Roberto Ierusalimschy)
  • [218f3584] errors like 1e100 << "2" were giving wrong messages (Roberto Ierusalimschy)
  • [bf06e22b] correct definition for 'MAX_SIZE' (using singed integers as the limit, not unsigned ones) + new type 'l_uacInt' (Roberto Ierusalimschy)
  • [d99ffa92] new type 'LUAI_UACINT' (result of an 'usual argument conversion' of a lua_Integer) (Roberto Ierusalimschy)
  • [2771050d] 'MIN/MAX_INTEGER' replaced by 'LUA_MIN/MAXINTEGER' (Roberto Ierusalimschy)
  • [e1daf10e] details in comments (Roberto Ierusalimschy)
  • [115fa770] maximum size for dump of integers is size of lua_Integer (which means that there is no overflows when undumping) (Roberto Ierusalimschy)
  • [561030c2] pack/unpack functions renamed dump/undump (Roberto Ierusalimschy)
  • [5336cc9d] math.random: use 'random' when available + changes to work correctly for any integer interval (up to [minint,maxint]) (Roberto Ierusalimschy)
  • [fdd13727] more precision for PI + no more RADIANS_PER_DEGREE + 'min/maxint' -> 'min/maxinteger' (Roberto Ierusalimschy)
  • [a8aede68] new definition for 'luai_nummod' (using 'fmod') (Roberto Ierusalimschy)
  • [c7859a04] using 'volatile' in 'tofloat' to ensure result has the same precision (lua_Number) of other computations (Roberto Ierusalimschy)
  • [4a248836] 'GCmemtrav' does not need to track the entire collection, only each single step individually (Roberto Ierusalimschy)
  • [97378326] 'int' -> 'lua_Integer' in several functions (Roberto Ierusalimschy)
  • [8b45d980] new constants 'math.maxint'/'math.minint' (Roberto Ierusalimschy)
  • [be52f784] new macros LUA_MAXINTEGER/LUA_MININTEGER (Roberto Ierusalimschy)
  • [144afa4d] several changes in 'utf8.offset' (Roberto Ierusalimschy)
  • [007f6640] bug: compiler can optimize away overflow check in 'table.concat' (Roberto Ierusalimschy)
  • [48c745a6] avoid constant overflow when shifting left signed integers until their last bit (Roberto Ierusalimschy)
  • [3a044de5] new implementation for 'utf8.len' (Roberto Ierusalimschy)
  • [7d514af0] bug (in work version): comparisons should not try to convert strings to numbers (Roberto Ierusalimschy)
  • [f61ceee7] LUAI_FUNC is being used only in header files (Roberto Ierusalimschy)
  • [5aeb57f1] detail (error message for conversion from float to integer) (Roberto Ierusalimschy)
  • [493b3fdd] added an 'api_check' for negative sizes in 'lua_checkstack' (Roberto Ierusalimschy)
  • [315c5bf7] bug: compiler could optimize away overflow check (+ changing indices from 'int' to 'lua_Integer') (Roberto Ierusalimschy)
  • [607be77e] some details to avoid warnings (Roberto Ierusalimschy)
  • [0d745ed0] more precise estimation (GCestimate) for total bytes in use after a GC cycle (Roberto Ierusalimschy)
  • [3d1c6730] detail ('1U' -> '1u', like other unsigned constants in the code) (Roberto Ierusalimschy)
  • [66b7b9b5] math.abs, math.max, and math.min work for integers, too. (Roberto Ierusalimschy)
  • [8ef91179] fancier way to do sign extension (Roberto Ierusalimschy)
  • [ea69f17d] macro 'tostring' is used only by 'luaV_concat' (Roberto Ierusalimschy)
  • [420cc62f] missplelling in comments/function names (endianess -> endianness) (Roberto Ierusalimschy)
  • [1a3ebc20] definition of LUA_REAL_* and LUA_INT_* moved to the beginning of configurations (Roberto Ierusalimschy)
  • [2d5e2212] native lua_Number may be neither float nor double (in pack/unpackfloat) (Roberto Ierusalimschy)
  • [da481123] details (typos in comments) (Roberto Ierusalimschy)
  • [f96872a5] copyright year -> 2014 (Roberto Ierusalimschy)
  • [738b3b64] detail (to avoid warnings with '-O3') (Roberto Ierusalimschy)
  • [363b525c] does not create library when it is deprecated (Roberto Ierusalimschy)
  • [469daa16] configuration for Lua type corresponding to 'time_t' (Roberto Ierusalimschy)
  • [7707f3e7] 'posrelat' -> 'u_posrelat' (to avoid name conflict in 'one.c') (Roberto Ierusalimschy)
  • [16f8e449] with 64-bit integers, file offsets do not need to be floats (Roberto Ierusalimschy)
  • [2f5f7778] removed function 'luaS_eqstr' (not used anywhere) (Roberto Ierusalimschy)
  • [ed795d5f] detail (removed unused prototype) (Roberto Ierusalimschy)
  • [282d67d8] bitlib has been deprecated (Roberto Ierusalimschy)
  • [114d10cb] detail (comment) (Roberto Ierusalimschy)
  • [9f3f5b6f] details (Roberto Ierusalimschy)
  • [a3948919] changing prefix of configurable macros from "lua_" to "l_" (Roberto Ierusalimschy)
  • [a3addae0] lua_gettable and similars return type of gotten value (Roberto Ierusalimschy)
  • [ad40bb11] detail in string.rep: allow large repetitions of the empty string (no possibility of overflows) (Roberto Ierusalimschy)
  • [80fe8504] make all dumps/loads go trhough Load/DumpVector (so it is easier to adapt the code to correct endianess, if needed) (Roberto Ierusalimschy)
  • [e9763842] keep chunk's headers compatible at least up to LUAC_VERSION (to be able to detect correctly version mismatches) (Roberto Ierusalimschy)
  • [68f4ccdd] make sure that LUAC_INT is a lua_Integer and that LUAC_NUM is a lua_Number (Roberto Ierusalimschy)
  • [342a9365] detail (breaking too long lines) (Roberto Ierusalimschy)
  • [901da539] no need to avoid negative ints in 'LoadInt' (Roberto Ierusalimschy)
  • [197e2494] "indent -kr -i2 -br -brf -nut" plus a few manual formating (Roberto Ierusalimschy)
  • [2aff75f5] small bug (from revision 2.80): LUA_OP* constants are not from enumeration 'Opcode' (they are integers) (Roberto Ierusalimschy)
  • [cd124101] new macro 'cast_void' (Roberto Ierusalimschy)
  • [c5bb3643] simpler code to read a line from a file (using 'getc' or, if present, 'getc_unlocked') (Roberto Ierusalimschy)
  • [5ff1c18a] back with 'L' for macros 'luai_num*', but now with a new macro 'luai_numinvalidop' to protect constant folding (Roberto Ierusalimschy)
  • [99ac4a26] 'constfolding' passes a proper Lua state to 'luaO_arith' (Roberto Ierusalimschy)
  • [fa7e77fd] detail ('codearith' uses 'LUA_OP*' constants instead of 'OP_*') (Roberto Ierusalimschy)
  • [f69e0ade] no need to store a full 'size_t' fo the size of (frequent) small strings (Roberto Ierusalimschy)
  • [99a1c06e] more regularity with vectors + sizeof computed by the macros themselves (Roberto Ierusalimschy)
  • [93e28031] all chars used in binary dumps are unsigned ('lu_byte') (Roberto Ierusalimschy)
  • [de84b3fe] store number of upvalues of main function in front of the dump, so that undump can create initial closure before reading its prototype (Roberto Ierusalimschy)
  • [054179c2] more explicit handling of headers for binary chunks (Roberto Ierusalimschy)
  • [986c11da] removal of weird construction in definition of LUA_STRFTIMEOPTIONS (two empty strings concatenated as in "" "") (Roberto Ierusalimschy)
  • [c6c41e85] more uniformity for defining system-dependent features (Roberto Ierusalimschy)
  • [87c93067] detail (comments) (Roberto Ierusalimschy)
  • [11e762db] added macro MAX_UINTEGER (Roberto Ierusalimschy)
  • [5c9cb5f0] detail (comment) (Roberto Ierusalimschy)
  • [fed236ca] detail (unknown lines are marked as -1, not 0) (Roberto Ierusalimschy)
  • [295f7ac0] added 'stip' parameter to lua_dump/string.dump (Roberto Ierusalimschy)
  • [6318de80] added 'strip' parameter to lua_dump/string.dump (Roberto Ierusalimschy)
  • [5715de34] 'read_all' does not need to grow buffer, as 'luaL_prepbuffsize' already does that (Roberto Ierusalimschy)
  • [c86b9da0] userdata can have any Lua value as uservalue (Roberto Ierusalimschy)
  • [a4c6dcf9] detail (better error messages for light userdata) (Roberto Ierusalimschy)
  • [3f78de25] no need to keep threads in a different GC list, now that there is the 'twups' list (Roberto Ierusalimschy)
  • [d764cc55] new list 'twups' to allow traversal of upvalues from dead threads (+ fixed some problems with cycles involving those upvalues) (Roberto Ierusalimschy)
  • [ffa96d98] field 'op' renamed to 'open' (Roberto Ierusalimschy)
  • [6a24bd17] no more second result from 'collectgarbage"count"' (as Lua seldom will need lua_Number to be an integer) (Roberto Ierusalimschy)
  • [1cce3e68] change in the way 'collectgarbage("step", size)' interprets 'size' (mimicking the way the GC itself behaves when Lua allocates 'size' Kbytes) (Roberto Ierusalimschy)
  • [0b04c561] new syntax for Unicode escape '\u{012F}' (Roberto Ierusalimschy)
  • [90b0ac64] limit to 'gcstepmul' imposed by 'lua_gc' (+ some details in 'lgc.c') (Roberto Ierusalimschy)
  • [de3b1c9b] better control for number of finalizers called at each GC cycle (increases progressively) (Roberto Ierusalimschy)
  • [733c5859] no more local collection (Roberto Ierusalimschy)
  • [4a1ed6e6] new field '__name' in metatables to help better error messages (Roberto Ierusalimschy)
  • [6b307744] detail (better presentation for 'luaC_step') (Roberto Ierusalimschy)
  • [ba3586cc] keep a single list of objects to be finalized (with local and non-local objects), to ensure finalization order (Roberto Ierusalimschy)
  • [68df7c62] added proper headers for a standard lib file (Roberto Ierusalimschy)
  • [19ad78d7] C++ needs casts for arithmetic with enums (Roberto Ierusalimschy)
  • [6ccf1500] new library: utf8 (Roberto Ierusalimschy)
  • [4ea60463] UTF-8 encoding exported as format '%U' in 'lua_pushfstring' (Roberto Ierusalimschy)
  • [d438e137] insertion of ".0" in floats with integer values done by "luaL_tolstring", not by the core (Roberto Ierusalimschy)
  • [1721d09a] still accepts initial '=' for expressions, for compatibility with old versions (and old habits...) (Roberto Ierusalimschy)
  • [2f3da00e] added support for UTF-8 escapes (Roberto Ierusalimschy)
  • [5a73e3ad] simpler way to create messages for errors in escape sequences (Roberto Ierusalimschy)
  • [86dd8bf3] no more 'L' in macros "luai_num*" (several places that use those macros cannot throw errors anyway...) (Roberto Ierusalimschy)
  • [67c5de92] comment (Roberto Ierusalimschy)
  • [0a850e64] larger limit + better error messages for loop detection in inheritance (Roberto Ierusalimschy)
  • [916bd874] added explicit default options to string.pack/unpack functions (Roberto Ierusalimschy)
  • [cd848cab] first implementation for string.pack/unpackfloat + try not to assume that chars have 8 bits (Roberto Ierusalimschy)
  • [29256e89] first implementation of string.packint/string.unpackint (Roberto Ierusalimschy)
  • [438c534f] 'arg' arguments (previously called 'narg', 'nArg', 'numArg', etc.) renamed all to 'arg' (Roberto Ierusalimschy)
  • [1ea2d20f] first implementation of '<<', '>>', and '~' (bitwise not) (Roberto Ierusalimschy)
  • [f5133aa1] small change in handling of unary operations (Roberto Ierusalimschy)
  • [c0edab0f] first implementation of bitwise operators '&' (band), '|' (bor), and '~' (bxor) (Roberto Ierusalimschy)
  • [a948054a] new order for binary operations (grouping them by type of result) (Roberto Ierusalimschy)
  • [a8f8c7fd] integer exponentiation with negative exponent is invalid (Roberto Ierusalimschy)
  • [1a19893d] new "calculator mode"; no need to add '=' to print expressions (Roberto Ierusalimschy)
  • [88e23f50] details (Roberto Ierusalimschy)
  • [c8585efc] use goto to implement a tail call in 'reallymarkobject' (Roberto Ierusalimschy)
  • [16493b77] 'lua_sethook' returns void (Roberto Ierusalimschy)
  • [cac1ebd1] detail ('ttisuserdata' renamed to 'ttisfulluserdata') (Roberto Ierusalimschy)
  • [73c5515e] details (comments) (Roberto Ierusalimschy)
  • [e34c35ab] new bug: Resuming the running coroutine makes it unyieldable (Roberto Ierusalimschy)
  • [7a8eb83b] bug: attempting to resume the running coroutine makes it unyieldable (Roberto Ierusalimschy)
  • [ab5fa213] added patch for last bug (Roberto Ierusalimschy)
  • [39929384] new macro 'luai_userstateclose' (to test it is being called correctly) (Roberto Ierusalimschy)
  • [de7cf8e6] bug: should call 'luai_userstateclose' only when 'luai_userstateopen' has been called before (Roberto Ierusalimschy)
  • [12459891] "./?/init.lua" added to default path (Roberto Ierusalimschy)
  • [c5fcba1a] detail (changing some names of macros) (Roberto Ierusalimschy)
  • [4c6dfc34] CallInfo lists shrinks together with their associated stacks (Roberto Ierusalimschy)
  • [686e57cf] GC local pause configurable (Roberto Ierusalimschy)
  • [06156e75] detail (setmetatable do not need to use a back GC barrier) (Roberto Ierusalimschy)
  • [2e2c109d] type of 'refcount' changed to lu_mem (to ensure there will be no overflows) (Roberto Ierusalimschy)
  • [6ca7b63b] check for shrinking string table done only at the end of a GC cycle (Roberto Ierusalimschy)
  • [4eeb1831] new names and better order for GC states (sweep first lists that can have dead objects) (Roberto Ierusalimschy)
  • [dd373a8f] threads are kept in a separated GC list, linked after the main thread (Roberto Ierusalimschy)
  • [7061fe1d] detail: 'sweepstep' checks end of phase after calling 'sweeplist', so that phases with small lists return 0 at the first call to 'sweepstep' (Roberto Ierusalimschy)
  • [d8aa8dd9] objects in list 'tobefnz' have a GC life-cycle like all others (specifically they are cleaned during sweep phase) (Roberto Ierusalimschy)
  • [11508734] 'luaC_newobj' does not handle special cases; only special case now is threads, which do not use 'luaC_newobj' anymore. (Roberto Ierusalimschy)
  • [79ab21be] more invariants added to memory check (Roberto Ierusalimschy)
  • [d3bbb34c] back to open hashing for the string table (but with a different 'hnext' field, to strings are still collected like all other objects) (Roberto Ierusalimschy)
  • [0ad15fc1] better (and correct!) control of 'maybedead' (Roberto Ierusalimschy)
  • [aeff4f79] local collection now calls finalizers (Roberto Ierusalimschy)
  • [1bf4faec] new GC state to sweep 'localgc' list + small changes in sweep control (Roberto Ierusalimschy)
  • [8ef9e846] bug (GC can collect long identifier during parser) + change (using a single constant table for all functions in a chunk) (Roberto Ierusalimschy)
  • [4f292d75] bug: GC can collect a long string still in use during parser (Roberto Ierusalimschy)
  • [26629d0a] details (a few casts moved from macro invocation to macro definition) (Roberto Ierusalimschy)
  • [b5e75fde] bug: local collection must clear rest of stack (Roberto Ierusalimschy)
  • [9a871dd3] tables and userdata all go to local list, too (Roberto Ierusalimschy)
  • [90972ff1] LOCALBLACK changed to LOCALMARK and used also to control whether object is in 'localgc' list + luaC_newobj by default puts object in 'localgc' list (Roberto Ierusalimschy)
  • [af35c7f3] upvalues collected by reference count (Roberto Ierusalimschy)
  • [742b7377] Lua closures go to local, too (Roberto Ierusalimschy)
  • [50955e27] C functions and strings now go to the local list; first version of the local collector (Roberto Ierusalimschy)
  • [33c49f7f] some details over new implementation of string table (Roberto Ierusalimschy)
  • [0df66357] "fixed" objects kept in a separated list (instead of being kept in 'allgc' list with a bit marking them) (Roberto Ierusalimschy)
  • [ae800656] change in string table: string table is now independent of GC lists; all strings live in 'normal' GC lists (Roberto Ierusalimschy)
  • [8c688639] initial size of string table (MINSTRTABSIZE) should be large enough to hold all strings needed by an empty Lua state (Roberto Ierusalimschy)
  • [8f6b80aa] GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simpler control) (Roberto Ierusalimschy)
  • [9eff921f] "barrier" for link prototype->cache changed to be consistent with GC behavior (link is cleared to preserve invariant) (Roberto Ierusalimschy)
  • [8e6b7ef9] new function 'isgclocal' + test for GC consistency of prototype's caches (Roberto Ierusalimschy)
  • [caceeab7] 'next' field for tables changed from pointer to integer (for better alignment on 64-bit machines) (Roberto Ierusalimschy)
  • [3991312b] details (Roberto Ierusalimschy)
  • [439d74e2] added 'local' bit (true => object is only refered by local variables) (Roberto Ierusalimschy)
  • [3679d33b] barrier conditions rewritten to test first 'isblack' and then 'iswhite' (during a pause all objects are white, so 'isblack' fails much more often than 'iswhite') (Roberto Ierusalimschy)
  • [78b94103] change to allow collector to stop when it goes to the atomic phase (just for debugging) (Roberto Ierusalimschy)
  • [623e388b] double-linked list of all upvalues elliminated and changed to a traversal of all non-marked threads (Roberto Ierusalimschy)
  • [677d9016] no more generational collection !!! (Roberto Ierusalimschy)
  • [4244da96] 'debug.subtype' -> 'math.type' (to distinguish integers and floats) (Roberto Ierusalimschy)
  • [fcf99bf7] 'math.isfloat' replaced by 'debug.subtype' (Roberto Ierusalimschy)
  • [98d76cdc] bug: Wrong error message in some short-cut expressions (Roberto Ierusalimschy)
  • [2f8c51a5] use unsigneds for unary minus, too (Roberto Ierusalimschy)
  • [b5f5fcd7] use different constants (instead of different values for the same constant) to define number sizes (LUA_INT_INT/LUA_INT_LONG/LUA_INT_LONGLONG and LUA_REAL_FLOAT/LUA_REAL_DOUBLE/LUA_REAL_LONGDOUBLE) + use __int64 and I64 instead of long long (and ll) for Windows (Roberto Ierusalimschy)
  • [2ef9bcfd] avoid undefined shift of LUA_NBITS in rotate operation (Roberto Ierusalimschy)
  • [5fa680d4] no need for type 'b_uint' (lua_Unsigned must have at least 32 bits) (Roberto Ierusalimschy)
  • [48735da0] When loading a file, Lua may call the reader function again after it returned end of input + luac listings choke on long strings (Roberto Ierusalimschy)
  • [2b4bd215] 'tonumber': base must be a number (Roberto Ierusalimschy)
  • [beff5b07] 'tonumber': does not accept numbers when given a base + convertion from strings to numbers with a base moved to a separated function (more modular) (Roberto Ierusalimschy)
  • [5519c986] 'lua_cvtonum' -> 'lua_strtonum'; converts only strings to numbers (Roberto Ierusalimschy)
  • [cbe16419] new function 'ifloor' (Roberto Ierusalimschy)
  • [66d04683] no need to check "bad conversion number->int;" in luaL_checkversion, as now Lua does not use tricks for the conversion, but there is a need to check the sizes of number types, as they can be different in two modules (Roberto Ierusalimschy)
  • [15fdbd26] 'numbits' moved from 'math' to 'debug' library (Roberto Ierusalimschy)
  • [2b4975dc] LUA_SMALL_* changed to LUA_*SIZE + added support for long double + better support for ANSI systems (Roberto Ierusalimschy)
  • [e39da66c] macro 'lua_strx2number' does not need to be global (Roberto Ierusalimschy)
  • [483c2ccd] avoid using raw representation of numbers for hashing, as number may not use all its space (e.g., long double can have sizeof=12 but use only 10 bytes) (Roberto Ierusalimschy)
  • [982aa705] 'luaL_len' returns lua_Integer instead of 'int' (Roberto Ierusalimschy)
  • [80cdf39d] avoid using 'modf' in the implementation of 'math.modf', to avoid problems with 'double*'. (When using 'float' as lua_Number, 'float*' is not compatible with 'double*'...) (Roberto Ierusalimschy)
  • [45f3797a] 'long' may have more than 32 bits in some machines; use 'int' for small lua_Integer unless necessary to use 'long' (Roberto Ierusalimschy)
  • [de6e5a59] small bugs uncovered in a 64-bit machine (where 'long' has 64 bits) (Roberto Ierusalimschy)
  • [81102d36] try to avoid warnings when converting int to pointer (Roberto Ierusalimschy)
  • [6579bd41] reorganization of warnings + update of explicit dependencies (gcc -MM) (Roberto Ierusalimschy)
  • [f45177f2] In the table that hashes constants, use a light userdata as keys to integer values to avoid collisions with floats with the same numerical value (Roberto Ierusalimschy)
  • [d6f5fb2d] avoid warning for unary minus over an unsigned value (Roberto Ierusalimschy)
  • [7c4cc505] added "reasonable" limit for 'string.rep' (otherwise it is too easy to crash the machine) (Roberto Ierusalimschy)
  • [453450d6] new macro 'l_floor' (allows 'floorf' even when other math operations do not have an 'f' variant) (Roberto Ierusalimschy)
  • [55f566bd] use lua_Integer for integer parameters to avoid truncation (Roberto Ierusalimschy)
  • [130c0e40] new constant 'MAX_SIZE', distinct from 'MAX_SIZET', for sizes visible from Lua; these must fit in a lua_Integer (Roberto Ierusalimschy)
  • [c72fb1cf] detail (removed 'assert') (Roberto Ierusalimschy)
  • [138e69cc] correct error message for floating-point values out of (integer) range (Roberto Ierusalimschy)
  • [53210d7e] correct way (I hope) to convert floats to unsigned int (Roberto Ierusalimschy)
  • [0394314c] avoid using a negative value to test 'lua_tounsigned' (Roberto Ierusalimschy)
  • [0beeb4f6] configuration of number sizes goes "mainstream" (Roberto Ierusalimschy)
  • [788b2511] 'math.random' operates with integers when used for integer results (1 or 2 parameters) (Roberto Ierusalimschy)
  • [31857562] avoid adding '.0' to "numbers" like "nan" and "inf" (Roberto Ierusalimschy)
  • [a1499299] new version (5.3) (Roberto Ierusalimschy)
  • [48adb698] 'io.write' writes integers directly (and correctly) (Roberto Ierusalimschy)
  • [c5069528] details ('Type* id' -> 'Type *id') (Roberto Ierusalimschy)
  • [6fb0b113] string contatenation handles conversion of integers to strings + floats always format as floats (with decimal dot or exponent) (Roberto Ierusalimschy)
  • [932e7fb0] 'lua_tounsigned' takes number modulo 2^numbits as a result when number is a float (That may change...) (Roberto Ierusalimschy)
  • [188192ce] 'luai_hashnum' "inlined" into 'hashfloat' (Roberto Ierusalimschy)
  • [fc083f11] removed all tricks for conversions + 'luai_hashnum' moved to ltable.c (Roberto Ierusalimschy)
  • [ee865b9f] new implementation for 'lua_strx2number' to correct small problems with numbers like 0x10000...000p-100 (Roberto Ierusalimschy)
  • [d630daca] "legal" way to convert a float to an integer in C (Roberto Ierusalimschy)
  • [8c883cb4] 'objlen' can return integers (Roberto Ierusalimschy)
  • [c75cca05] detail (case '%d' of 'luaO_pushvfstring' should use integers) (Roberto Ierusalimschy)
  • [1414b712] support for the case when 'l_mathop' does not conform to lua_Number (problem with pointers to lua_Number solved by a typedef selected automatically by 'l_mathop') (Roberto Ierusalimschy)
  • [3563b3f5] first version of control for number sizes (still in 'local' section) (Roberto Ierusalimschy)
  • [d46ed546] no more IEEE tricks (Roberto Ierusalimschy)
  • [e2c8c756] removed 'IEEE tricks' (should not be needed in Lua with integers) (Roberto Ierusalimschy)
  • [5ca5086c] 'tonumber' now works with integers too (Roberto Ierusalimschy)
  • [2d6a0ae1] added patch to last bug (Roberto Ierusalimschy)
  • [b5ec2610] new API function 'lua_cvtonum' to convert a value (number or string) to a number, following the rules of the language to create integers or floats (Roberto Ierusalimschy)
  • [36e87710] 'luaO_str2int' more generic: accepts white spaces around the numeral and handles signal (Roberto Ierusalimschy)
  • [27f09415] new read format "*i" for reading integers (Roberto Ierusalimschy)
  • [4ad99706] uses integers for time (Roberto Ierusalimschy)
  • [bef345a4] bug: Wrong error message in some short-cut expressions (Roberto Ierusalimschy)
  • [0ce30181] 'pushnum' pushes a "number" (float) + new C instruction 'pushint' (Roberto Ierusalimschy)
  • [0233ce08] new function 'math.numbits' (not a final decision) (Roberto Ierusalimschy)
  • [1f2b82bf] correct way to avoid compile-time errors in integer divisions (Roberto Ierusalimschy)
  • [f2043b7a] correct error message for conversion errors from float to int (Roberto Ierusalimschy)
  • [2b1c2c61] bug: Wrong assert when reporting concatenation errors. (Roberto Ierusalimschy)
  • [fa6ea831] macro 'nvalue' removed (direct conversion from integer to double, without an intermediate variable, can cause "excessive precision" (Roberto Ierusalimschy)
  • [b22a4280] macro 'nvalue' removed + cast to void added to avoid warnings with 'clang' (Roberto Ierusalimschy)
  • [29fe3abd] new function 'math.isfloat' (Roberto Ierusalimschy)
  • [6347004b] stack overflow in vararg functions + garbage collector in recursive loops (Roberto Ierusalimschy)
  • [67532d5a] constant folding and API arithmetic with integers (Roberto Ierusalimschy)
  • [6920a7f2] new macro 'intop' (to perform integer arithmetic on unsigned types) (Roberto Ierusalimschy)
  • [88bf2f83] new function 'tointeger' + 'luaV_arith' replaced by 'luaT_trybinTM' (Roberto Ierusalimschy)
  • [8fff05f6] integer division operates only on integers (Roberto Ierusalimschy)
  • [9b9becf3] added 'const' to parameters of 'luaG_concaterror' (Roberto Ierusalimschy)
  • [00744a27] 'luaO_arith' -> 'luaO_numarith' (Roberto Ierusalimschy)
  • [b4be5075] new function 'luaT_trybinTM' (Roberto Ierusalimschy)
  • [360587f3] favoring 'tonumber' over 'nvalue' (Roberto Ierusalimschy)
  • [eee51492] dumping and undumping integers (Roberto Ierusalimschy)
  • [c37b7b3c] bug: garbage collector can trigger too many times in recursive loops, because it was not computing the size of CallInfo structures in threads (Roberto Ierusalimschy)
  • [f79584fa] detail (Roberto Ierusalimschy)
  • [4abe99dc] new interface for 'tonumber' (Roberto Ierusalimschy)
  • [d4e6b750] "integer" keys in tables are now lua_Integer, not 'int'. (Roberto Ierusalimschy)
  • [a2f5c28a] new operation '//' (integer division) (Roberto Ierusalimschy)
  • [a80a2b5e] new cast macros for lua_Integer and lua_Unsigned (Roberto Ierusalimschy)
  • [bb1851ce] 'for' loop uses integers when possible (Roberto Ierusalimschy)
  • [5951c79a] default increment for 'for' loop is an integer (1, not 1.0) (Roberto Ierusalimschy)
  • [e381c582] integer handling for order comparisons, power, and modulo operations (Roberto Ierusalimschy)
  • [9600c60d] functions 'get_equalTM' and 'call_orderTM' moved to other files to make 'lvm.c' smaller (Roberto Ierusalimschy)
  • [32bf6c9b] functions 'traceexec', 'callTM', and 'call_binTM' moved to other files to make 'lvm.c' a little smaller (Roberto Ierusalimschy)
  • [9c43d6a2] new format "%I" in 'lua_pushfstring' for lua_Integer (Roberto Ierusalimschy)
  • [01b6fe0c] new API function 'lua_isinteger' (Roberto Ierusalimschy)
  • [944709c7] more definitions to support integer formatting (Roberto Ierusalimschy)
  • [52cb90ec] detail (Roberto Ierusalimschy)
  • [fa3b126a] BUG: stack overflow in vararg functions with many fixed parameters called with few arguments (Roberto Ierusalimschy)
  • [1294b09d] first implementation of literal integers (no constant folding yet) (Roberto Ierusalimschy)
  • [d4f0c443] a few more operations supporting integers (minus, umin, mult) (Roberto Ierusalimschy)
  • [44358e02] extra trim applied to 'replace' argument (in case lua_Unsigned is larger than 32 bits) (Roberto Ierusalimschy)
  • [07f86138] first steps in the support of integers: basic representation + table indexing + basic API ops (tointeger/pushinteger) + equality + a few extra stuff (Roberto Ierusalimschy)
  • [7a543cfa] (Roberto Ierusalimschy)
  • [24689927] dependencies updated (with 'gcc -MM') (Roberto Ierusalimschy)
  • [8f8665ff] 'ttypenv' -> 'ttnov' (Roberto Ierusalimschy)
  • [49c16071] _FILE_OFFSET_BITS usually also needs _LARGEFILE_SOURCE + easier to use default definition for 'l_fseek' in ansi systems (Roberto Ierusalimschy)
  • [c8e96d6e] logic for checking mode for 'fopen' moved to macro 'lua_checkmode' (Roberto Ierusalimschy)
  • [af8efcc7] detail (avoid unnecessary "unconst" in cast) (Roberto Ierusalimschy)
  • [3f6f78ea] detail (error message) (Roberto Ierusalimschy)
  • [e3a7104b] detail (avoiding warnings) (Roberto Ierusalimschy)
  • [76492b4b] macro 'lua_checkmode' + typos in comments (Roberto Ierusalimschy)
  • [75250a23] typos in comments (Roberto Ierusalimschy)
  • [437a49be] cast to avoid warnings (Roberto Ierusalimschy)
  • [4f0c716c] added two more commented warning options (just to know about them) (Roberto Ierusalimschy)
  • [70b0ee63] export 'lua_ident' to avoid it being removed by C++ linker (Roberto Ierusalimschy)
  • [8830901a] second parameter to 'ldexp' is an integer (Roberto Ierusalimschy)
  • [15a3738b] no need to handle 0 as a special case in 'table.remove' (Roberto Ierusalimschy)
  • [a83ed55f] added 'return' (when possible) to calls to error functions (Roberto Ierusalimschy)
  • [b559aed2] 'l_tg' was renamed to 'l_mathop' and this use was not corrected at the time (Roberto Ierusalimschy)
  • [d0c038da] typo in comment (Roberto Ierusalimschy)
  • [db424053] new release number + copyright year (Roberto Ierusalimschy)
  • [ad567219] details (5.2 corrected to 5.2.0) (Roberto Ierusalimschy)
  • [f4e762f6] better error checking for 'table.insert' and 'table.remove' (Roberto Ierusalimschy)
  • [1ce57628] comments (Roberto Ierusalimschy)
  • [181a837c] small improvement in the support of 'float' as lua_Number (Roberto Ierusalimschy)
  • [0730a56d] detail (Roberto Ierusalimschy)
  • [eecc1491] added some comments (Roberto Ierusalimschy)
  • [7ea68d84] added comment (Roberto Ierusalimschy)
  • [0e9167bc] missing brackets in 'if' body (no bug, only 'luaC_checkfinalizer' is called to do nothing) (Roberto Ierusalimschy)
  • [65e31fb1] Bug: load/loadfile returns wrong result when given an environment for a binary chunk with no upvalues (Roberto Ierusalimschy)
  • [f993771c] avoids warning with 'clang' + comment explaining macro (Roberto Ierusalimschy)
  • [52f9ccd2] removed unreacheable 'lua_unlock' (Roberto Ierusalimschy)
  • [a799ed5a] more precise control for GC pause (based on threshold) (Roberto Ierusalimschy)
  • [4082c77f] error message for 'bad self' includes original 'extramsg' (Roberto Ierusalimschy)
  • [bc84180d] error message in 'os.rename' does not include file name, because error may be caused both by 'fromname' or 'toname' (Roberto Ierusalimschy)
  • [ad5da6ba] API functions get acceptable indices except when not possible (when they modify the value at that index) + new macro 'ispseudo' + specific test 'api_checkstackindex' (Roberto Ierusalimschy)
  • [86b39206] open upvalues cannot be old if thread is not old; when thread is old, their list is not traversed anymore, and therefore can contain dead elements. (Roberto Ierusalimschy)
  • [fdae4b94] removed commented-out line (for debugging) (Roberto Ierusalimschy)
  • [84b65812] cast to avoid warning in some compilers (size_t x unsigned int) (Roberto Ierusalimschy)
  • [c6b6024a] cast in 'luai_makeseed' now casts to needed type (Roberto Ierusalimschy)
  • [d58ce810] macro 'lua_number2unsigned' also needs proper definition if lua_Number is float (Roberto Ierusalimschy)
  • [31f7d553] LUA_CORE condition removed from definition of some 'tricks' (as it controlled only a few other defines) + MS_ASMTRICK renamed to LUA_MSASMTRICK (Roberto Ierusalimschy)
  • [adaba040] 'pcall' may not restore previous error function when inside coroutines + Check for garbage collector in function calls does not cover all paths (Roberto Ierusalimschy)
  • [b157f354] BUG: 'pcall' may not restore previous error function when inside coroutines (Roberto Ierusalimschy)
  • [ab7086e2] pops the string from 'get_prompt' only after using it (Roberto Ierusalimschy)
  • [7a3de1ab] typo in comment (Roberto Ierusalimschy)
  • [8287a0db] detail (Roberto Ierusalimschy)
  • [cf160abc] no more macro 'changenvalue' (Roberto Ierusalimschy)
  • [ae1d3188] small bug: generational mode is always in 'propagate' mode only outside the collector: during collection of course it must go to other modes. (Roberto Ierusalimschy)
  • [20380739] more regularity for field 'fix' (Roberto Ierusalimschy)
  • [2dc91ca5] checks garbage collector every time it calls a function (as the stack can grow and so allocates more memory) (Roberto Ierusalimschy)
  • [a3e1c40d] remove of unecessary luaD_checkstack. (In some cases, C should ensure stack space; in others, Lua can use the extra slots for temporary values.) (Roberto Ierusalimschy)
  • [c1a2a646] details (no need to use lua_pushfstring for plain strings) (Roberto Ierusalimschy)
  • [53480f11] details (remove of some extra spaces) (Roberto Ierusalimschy)
  • [233eac4d] detail (avoid being picky about conversion from 'unsigned char' to 'int') (Roberto Ierusalimschy)
  • [6625cbec] Bug: Some patterns can overflow the C stack, due to recursion (Took the opportunity to refactor function 'match') (Roberto Ierusalimschy)
  • [4ac55997] typo (Roberto Ierusalimschy)
  • [763f84c8] Some patterns can overflow the C stack, due to recursion. (Roberto Ierusalimschy)
  • [e4f609d0] collector in generational mode must be in 'propagate' state when not running a collection (Roberto Ierusalimschy)
  • [5ac56a94] collector in generational mode should never be in 'pause' state (Roberto Ierusalimschy)
  • [4fc15bbf] major collections in generational mode are triggered by comparison with the memory estimate from last major collection (Roberto Ierusalimschy)
  • [f7ec36ab] comment (Roberto Ierusalimschy)
  • [b9264723] change in error message (Roberto Ierusalimschy)
  • [78d98659] bugs: Internal Lua values may escape through the debug API + Problems when yielding from debug hooks (Roberto Ierusalimschy)
  • [cc2a60ec] bugs in yields inside debug hooks (Roberto Ierusalimschy)
  • [43bfb60a] new auxiliary function 'luaI_printinst' (to print a single instruction) (Roberto Ierusalimschy)
  • [c510d945] includes counts from 'sweeptolive' in cost of atomic step (Roberto Ierusalimschy)
  • [4dd0622d] bug in luaL_getsubtable (calling lua_absindex not with original stack) (Roberto Ierusalimschy)
  • [ab2c3d5c] small bug in error handling of finalizers (cannot call lua_tostring inside the core) + small bug in luaC_checkfinalizer (when avoiding remove object being sweeped from sweep list) + small changes in GC pace control (for the atomic part) (Roberto Ierusalimschy)
  • [01e5f358] small improvement in lua_checkmemory (only allow dead objects in part of the sweep list not yet sweeped) (Roberto Ierusalimschy)
  • [69c775de] update of 'lua_checkmemory' (Roberto Ierusalimschy)
  • [6fcdfc6d] bug: object being moved to 'finobj' list might not be sweeped by the collector (Roberto Ierusalimschy)
  • [b77a9068] typos in comments (Roberto Ierusalimschy)
  • [6efffb9a] only count in 'atomic' objects marked for the first time (Roberto Ierusalimschy)
  • [51e8f08e] more efficient way to apply 'stepmul' + some changes in GC parameters (Roberto Ierusalimschy)
  • [5adb5a48] definition for 'MAX_LMEM' (Roberto Ierusalimschy)
  • [e29f3a57] definition of 'GCSTEPSIZE' moved to header file + small changes (Roberto Ierusalimschy)
  • [21ed264a] compensate for 'GCSTEPSIZE' in GC steps (Roberto Ierusalimschy)
  • [e131eb0d] removed debug code (Roberto Ierusalimschy)
  • [054c20cd] spaces -> tabs in #defines (Roberto Ierusalimschy)
  • [8e7149f4] detail ('char' should be 'const char') (Roberto Ierusalimschy)
  • [086da10d] merge of fields 'lastmajormem' (used in gen. mode) and 'estimate' (used in inc. mode) (Roberto Ierusalimschy)
  • [b36b4b52] try to avoid sweeping new objects created with new white (and therefore not collectable in the current cycle) (Roberto Ierusalimschy)
  • [398811a3] simpler macro 'luaC_condGC' + better 'step' in 'lua_gc' + micro bug in 'luaC_checkfinalizer' (current sweep object could be removed from 'allgc' list) (Roberto Ierusalimschy)
  • [2a66b34f] revamp of the GC pace control; more like 5.1: any X Kbytes allocated makes the GC handle f(X) Kbytes of objects (Roberto Ierusalimschy)
  • [8d0e1ed5] extend optimization of 'if a then break end' for the case 'if a then break; end' (Roberto Ierusalimschy)
  • [3ac595da] allow "long double" precision for PI constant if needed (Roberto Ierusalimschy)
  • [ea980fde] removed 'stringmark' trick (Roberto Ierusalimschy)
  • [56547637] macro 'checkGC' takes care of setting 'top' to limit stack live values (Roberto Ierusalimschy)
  • [edfa9e00] details (header comments) (Roberto Ierusalimschy)
  • [31829ad1] test for whether collector is running moved from function to macro 'luaC_condGC'. (Roberto Ierusalimschy)
  • [c2361e0b] definition for 'LUAI_MAXSHORTLEN' moved to luaconf.h (too important) (Roberto Ierusalimschy)
  • [77cbd817] better(?) handling of '#define's for IEEE-related tricks + avoid using IEEE trick for 64-bit integer types (lua_Integer on 64-bit machines) (Roberto Ierusalimschy)
  • [4ec7d6de] bug: wrong handling of 'nCcalls' in coroutines (Roberto Ierusalimschy)
  • [f6a12948] useless parameter in macro 'luai_makeseed' (Roberto Ierusalimschy)
  • [3cadc37f] no more 'Proto' objects on the stack. Protos are anchored on outer Protos or on a Closure, which must be created before the Proto. (Roberto Ierusalimschy)
  • [bb1146dc] wrong error message when 'coroutine.create' or 'coroutine.wrap' are called with no arguments (new thread is assumed to be the missing argument). (Roberto Ierusalimschy)
  • [fc24a3a6] small bug: a reader function should not modify the Lua stack (Roberto Ierusalimschy)
  • [a94ce68e] bug: wrong handling of 'nCcalls' in coroutines (Roberto Ierusalimschy)
  • [ec22fc96] detail (separate code to create 'searchers' table into a new function) (Roberto Ierusalimschy)
  • [c54f5f64] primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical' way to distinguish between function calls and assignments (Roberto Ierusalimschy)
  • [4cca1a43] details (using lua_setglobal/lua_getglobal instead of explicit use of the global table) (Roberto Ierusalimschy)
  • [8df01981] release 5.2.1 (Roberto Ierusalimschy)
  • [048be9cf] different scheme to check arguments to '%d', '%x', etc. Old scheme did not work well when lua_Number is an integer. (Roberto Ierusalimschy)
  • [1485ea2e] Finalizers may call functions from a dynamic library after the library has been unloaded (Roberto Ierusalimschy)
  • [b10dbe5c] bug: C libraries must be unloaded after all other finalizers have run, because a finalizer may use a C function from a C library (Roberto Ierusalimschy)
  • [462375ba] 'if' to avoid empty 'memcpy' (may be expensive) (Roberto Ierusalimschy)
  • [cfbe2333] string hash may not use all bytes (but this is configurable now) + small other changes (Roberto Ierusalimschy)
  • [afc3fcf9] definition for 'LUA_MAXSHORTLEN' moved to 'lstring.c' (used only there) (Roberto Ierusalimschy)
  • [99bd1a00] error function can be 'l_noret' (Roberto Ierusalimschy)
  • [3e66d3b4] cleaner code (avoids loop with empty body) (Roberto Ierusalimschy)
  • [29a28693] 'luaL_checkversion' called by 'luaL_setfuncs' (Roberto Ierusalimschy)
  • [678c1255] random seed used in the hash of all strings to avoid intentional collisions (Roberto Ierusalimschy)
  • [a4b96ce9] first implementation of long strings (Roberto Ierusalimschy)
  • [291f5644] field 'reserved' -> 'extra' (may be used for other purposes too) (Roberto Ierusalimschy)
  • [9f1a8dbd] 'eqstr' -> 'luaS_eqstr' (Roberto Ierusalimschy)
  • [d19f1da6] new macro 'isreserved' + 'eqstr' -> 'luaS_eqstr' (may be a function) (Roberto Ierusalimschy)
  • [f88806a1] "default: lua_assert(0)" in switches helps debugging + uses non-variant types in binary files (Roberto Ierusalimschy)
  • [fb6eee28] Lua never uses Ã'assert' (it is always 'lua_assert') (Roberto Ierusalimschy)
  • [0010ec68] documentation comment (small correction about strings being gray) (Roberto Ierusalimschy)
  • [28f8ed91] new macro 'checktype' (Roberto Ierusalimschy)
  • [fd22ccd6] object tag keeps variant bits too -> no need for 'isC' field in Closures + more strick typing for closure variants (Roberto Ierusalimschy)
  • [76eab106] bug: Lexical gets confused with some combination of arithmetic operators and hexadecimal numbers (Roberto Ierusalimschy)
  • [81ed85ec] BUG: memory hoarding when creating Lua hooks for coroutines BUG: Lexical gets confused with some combination of arithmetic operators and hexadecimal numbers (Roberto Ierusalimschy)
  • [7dcc02b1] BUG: coroutine hooks were not collected together with coroutine (Roberto Ierusalimschy)
  • [e2fc2ce8] new way to handle -E option (write a mark in the registry to avoid reading environment variables) (Roberto Ierusalimschy)
  • [a241b6cb] removed redundant definition for FILEHANDLE (Roberto Ierusalimschy)
  • [f0d143f3] avoid a few warnings (casts) (Roberto Ierusalimschy)
  • [c82087b8] cast from 'bool' to 'int' (for C++) (Roberto Ierusalimschy)
  • [138be5b8] no more explicit support for 'luaall_c': unifying file can do the work (Roberto Ierusalimschy)
  • [e320b5b6] small bug: format '%d' for lua_Number argument (Roberto Ierusalimschy)
  • [ca9c405f] some compilers (e.g., gcc C++) do not accept NULL as a pointer in that context (Roberto Ierusalimschy)
  • [e2feb886] macro 'luaL_getmetatable' seems more appropriate when getting metatables in registry (Roberto Ierusalimschy)
  • [5999e14a] old error messages may be misleading (Roberto Ierusalimschy)
  • [01747f2c] error message: "tag method" -> "metamethod" (Roberto Ierusalimschy)
  • [7377fbde] function prototype did not match one in .h (Roberto Ierusalimschy)
  • [f1d2ac3a] allow non-integer arguments to integer formats (%d, %x, etc.), but check range (Roberto Ierusalimschy)
  • [c5da4f4c] unused variable removed (Roberto Ierusalimschy)
  • [7bcb2462] comments (Roberto Ierusalimschy)
  • [0bd99b32] avoid "unreachable" 'break' (Roberto Ierusalimschy)
  • [6d8b6720] more uses of 'l_noret' (Roberto Ierusalimschy)
  • [e21b26a9] avoid 'return' "to avoid warnings" (Roberto Ierusalimschy)
  • [0f388193] 'lUA' -> 'LUA' (Roberto Ierusalimschy)
  • [7948b856] when available, use '*_r' versions of 'gmtime' and 'localtime' (Roberto Ierusalimschy)
  • [61b1d9a4] another try to avoid warnings about unreachable 'return' after 'exit' (Roberto Ierusalimschy)
  • [3617e04e] 'lua_load' has an extra argument 'mode' (Roberto Ierusalimschy)
  • [8c62bde3] comment (Roberto Ierusalimschy)
  • [51650eac] small change to avoid warnings of non-specified order of access to volatile fields (Roberto Ierusalimschy)
  • [aea68e5c] explicit option RTLD_LOCAL instead of 0 (Posix does not fix a default for dlopen) (Roberto Ierusalimschy)
  • [ece042fe] 'table.pack' does not return 'n' (may be confusing when using table.pack as last argument in a call) (Roberto Ierusalimschy)
  • [217b65e6] avoid some warnings about converting 32-bit shifts into 64-bit results (Roberto Ierusalimschy)
  • [8119374e] avoid warnings of unreacheable 'break's (Roberto Ierusalimschy)
  • [3a997eef] MS_ASMTRICK is only valid on MS compilers (not any Windows compiler) (Roberto Ierusalimschy)
  • [5184ff20] 'LUA_DL_DLL' is not yet defined before the inclusion of 'lua.h' (Roberto Ierusalimschy)
  • [b0cbe778] '_fseeki64' and family not available in all Windows platforms (Roberto Ierusalimschy)
  • [6e899850] details (Roberto Ierusalimschy)
  • [fded7bef] options for 'collectgarbage' renamed: "inc" -> "incremental"; "gen" -> "generational" (Roberto Ierusalimschy)
  • [b5d72550] small changes to avoid some warnings (Roberto Ierusalimschy)
  • [6cce5c06] new function 'luaL_loadfilex' (Roberto Ierusalimschy)
  • [eb70f582] 'luaIO_Stream' -> 'luaL_Stream' (Roberto Ierusalimschy)
  • [ef900f22] strutcture for file handles exported in 'lauxlib.h' (Roberto Ierusalimschy)
  • [3105febf] using Lua buffers to build error messages (Roberto Ierusalimschy)
  • [7133e20c] make treatment of 'pcall' and 'xpcall' more similar (Roberto Ierusalimschy)
  • [888d39ea] refactoring of common parts of 'pcall' and 'xpcall' + avoids stack errors on these functions (return error code instead) (Roberto Ierusalimschy)
  • [eef22fa4] create error messages with a single concat, to avoid problems with creating strings piecemeal (Roberto Ierusalimschy)
  • [eda87f11] in 'luaL_checkstack', include extra stack space in test to allow correct execution of error routines, if necessary (Roberto Ierusalimschy)
  • [e0e406ea] extra argument to instruction 'checkstack' (in 'testC') (Roberto Ierusalimschy)
  • [30cea671] configurable 'directory separator' in 'package.searchpath' (Roberto Ierusalimschy)
  • [a716ae1f] avoids including 'stdio.h' everywhere (because of definitions for luai_writestring/luai_writeline) (Roberto Ierusalimschy)
  • [ea382b0b] small bug: error message in 'io.lines' is not the error number (Roberto Ierusalimschy)
  • [6d8d282e] avoid calling "extra value" as if it were a function option (Roberto Ierusalimschy)
  • [00c8a17a] by default, do not use Windows' goodies in Windows CE build (Roberto Ierusalimschy)
  • [166ce155] cannot apply macro 'getstr' over NULL (Roberto Ierusalimschy)
  • [87cf2bf7] extra comments about what fields are optional debug information (Roberto Ierusalimschy)
  • [fd8a8496] detail (avoid applying macro 'getstr' with a function-call argument) (Roberto Ierusalimschy)
  • [5a568a3b] detail (comment) (Roberto Ierusalimschy)
  • [475e6c53] 'lua_setglobal/lua_getglobal' implemented as functions to avoid problems with stack indices (e.g., lua_getglobal(L, lua_tostring(L, -1)) ) (Roberto Ierusalimschy)
  • [af00a077] new functions lua_rawsetp/lua_rawgetp (Roberto Ierusalimschy)
  • [6819c2a9] silly bug in 5.2 beta: assignment conflict code did not test to check whether variable was a table element (Roberto Ierusalimschy)
  • [1dd8af67] BUG: parser may collect a prototype while building it. (Roberto Ierusalimschy)
  • [1350a2bc] more macros to try to make NaN trick work with other sizes of IEEE float numbers. (It has not been tested with such different sizes...) (Roberto Ierusalimschy)
  • [217e67cb] new type 'l_noret' for function that do not return (Roberto Ierusalimschy)
  • [9bbfe9f3] avoid the word 'TRICKLE' in macro name (as it has nothing to do with its meaning) (Roberto Ierusalimschy)
  • [788a0ecd] 'luaC_separateudata' renamed to 'separatetobefnz' and called only from 'lgc.c' (Roberto Ierusalimschy)
  • [6d86b937] 'luaC_separateudata' called from 'luaC_freeallobjects' + removed extra 'luaF_close' (already being called by 'close_state') (Roberto Ierusalimschy)
  • [bc90cf4b] retraverse all gray lists together to avoid traversing some weak tables twice (as they may change lists when traversed) (Roberto Ierusalimschy)
  • [d79190e2] missing 'LUA_CORE' definition (Roberto Ierusalimschy)
  • [9caf5b4f] lint (unused definition) (Roberto Ierusalimschy)
  • [50cddefe] lint (wrong identation) (Roberto Ierusalimschy)
  • [e24f1ee9] lint (unreachable code) (Roberto Ierusalimschy)
  • [f3b0eb3e] lint (unused macros) (Roberto Ierusalimschy)
  • [162ce825] lint (unused struct field) (Roberto Ierusalimschy)
  • [ad90447e] detail: new macros for non-valid values (Roberto Ierusalimschy)
  • [87912786] dead objects are not collectable. (Roberto Ierusalimschy)
  • [5645a843] detail about 'trick' function (nil turn it off) (Roberto Ierusalimschy)
  • [95ed6c11] better(?) scheme for cleaning weak tables; all ressurected objects are removed from weak values before finalization (Roberto Ierusalimschy)
  • [12ab78ac] detail in extra trace code: total bytes is given by 'gettotalbytes', not by 'totalbytes' counter. (Roberto Ierusalimschy)
  • [45c34664] avoid clearing ephemeron tables that have nothing to be cleaned (no white elements) (Roberto Ierusalimschy)
  • [68ce8782] cannot compute 'mainposition' before checking whether key is nil (Roberto Ierusalimschy)
  • [500336ef] small bug in if-goto optimization: block must be closed ('leaveblock') before the jump out ('escapelist') (Roberto Ierusalimschy)
  • [5ea8f108] using 'long' versions of 'fseek'/'ftell' when available (Roberto Ierusalimschy)
  • [2275030b] details (and missing 'break's) (Roberto Ierusalimschy)
  • [05de3147] upvalue names always can be NULL (if debug info was removed), so always check for that case (Roberto Ierusalimschy)
  • [d281d23f] detail (make 'lua_assert' a valid expression even when turned off) (Roberto Ierusalimschy)
  • [ec431ce5] comment (Roberto Ierusalimschy)
  • [c8f47c29] optimization for |if cond then goto| (Roberto Ierusalimschy)
  • [ca458f1f] 'luaK_goiffalse' exported (Roberto Ierusalimschy)
  • [121dc8af] cleaner code for 'if' construct (Roberto Ierusalimschy)
  • [a8675966] detail: centralize all tests for Windows on variable 'LUA_WIN' (Roberto Ierusalimschy)
  • [3dc5475e] 'nCcalls' should be local to each thread, as each thread may have its own C stack (with LuaThreads or something similar) (Roberto Ierusalimschy)
  • [8a008a20] bug: __newindex metamethod may not work if metatable is its own metatable. (Roberto Ierusalimschy)
  • [89b59eee] bug: __newindex metamethod may not work if metatable is its own metatable + luaV_settable does not create entry when there is a metamethod (and therefore entry is useless) (Roberto Ierusalimschy)
  • [166dd026] new option '-E' to avoid environment variables (Roberto Ierusalimschy)
  • [51471ba7] comments about use of 'luaH_set' (Roberto Ierusalimschy)
  • [0b65cb74] new implementation for 'getobjname': first search for relevant instruction (new function 'findsetreg') and then try to build a meaningful name (Roberto Ierusalimschy)
  • [ea46b750] comment (Roberto Ierusalimschy)
  • [92afcf28] no more 'luaH_setstr (used only once) + 'luaH_setint' receives value to be set. (Roberto Ierusalimschy)
  • [b5bf7d9e] 'string.format' checks whether values for integer formats are actually integers (Roberto Ierusalimschy)
  • [6a5d89b3] detail (using array instead of several variables to keep track of enabled command-line options) (Roberto Ierusalimschy)
  • [ae14adc2] better error message when trying to open files (Roberto Ierusalimschy)
  • [ff98f17d] detail: factoring in common code for opening files and checking for errors (Roberto Ierusalimschy)
  • [59bcd137] reducing even more use of C stack by the parser: struct 'FuncState' does not need field 'L' + number of labels/gotos in a chunk may be limited to SHRT_MAX. (Also removed some non-needed 'unsigned's.) (Roberto Ierusalimschy)
  • [5ab6d36d] no more field 'L' in 'FuncState' (Roberto Ierusalimschy)
  • [43c87389] tonumber: base 10 is not special, no base is (Roberto Ierusalimschy)
  • [03a07849] refuse things like 'inf' or 'Nan' as numerals (Roberto Ierusalimschy)
  • [bae57ea0] 'M_IX86' -> '_M_IX86' (Roberto Ierusalimschy)
  • [2557107e] removed unused variable 'found' (in 'findfield') + removed legacy test for 'what' being "tail" (Roberto Ierusalimschy)
  • [32a12e2f] detail (cleaned whitespaces at end of lines) (Roberto Ierusalimschy)
  • [559bb554] no more 'zungetc' (better not to read next char) (Roberto Ierusalimschy)
  • [fd5e810e] macro 'char2int' replaced by 'cast_uchar' (used by other files) (Roberto Ierusalimschy)
  • [067f7617] better code for numerical escapes (Roberto Ierusalimschy)
  • [7978a8d8] added '_M_IX86' in NaN trick (Roberto Ierusalimschy)
  • [32e09c2a] detail (Roberto Ierusalimschy)
  • [df19931d] error on invalid escape sequences (Roberto Ierusalimschy)
  • [b5084fda] detail (comment) (Roberto Ierusalimschy)
  • [d8200d5f] '*' -> '\z' + '?' is not an official escape sequence (Roberto Ierusalimschy)
  • [79cbc346] removed and deprecated functions really removed from the code base (Roberto Ierusalimschy)
  • [9e89a55a] NILCONSTANT also depends no endianess (with NaN trick) (Roberto Ierusalimschy)
  • [b707e81c] comments about some compiler options that should be tested once in a while (Roberto Ierusalimschy)
  • [ee37ee50] 'table.pack' also returns 'n' + 'deprecated' changed to 'removed' (Roberto Ierusalimschy)
  • [ad1a54b5] reordering of some defines (more logical grouping) (Roberto Ierusalimschy)
  • [88c29c0c] compilation warning about integer size x pointer size (Roberto Ierusalimschy)
  • [d93df22b] small simplifications (and assert was wrongly written) (Roberto Ierusalimschy)
  • [5017cc6b] simpler 'luai_apicheck' (and avoids compilation error...) (Roberto Ierusalimschy)
  • [2f125ebc] 'deprecated' x 'removed' (they are not the same thing) (Roberto Ierusalimschy)
  • [49a01c09] 'package.loaders' -> 'package.searchers' (Roberto Ierusalimschy)
  • [17526ed2] no more errors on accesses to 'string' and strings (Roberto Ierusalimschy)
  • [f180822f] back to internal table for 'ctype', no more locale manipulation (Roberto Ierusalimschy)
  • [594220c6] use standard "underscore + uppercases" for reserved keys in the registry (Roberto Ierusalimschy)
  • [3dd68624] comments (Roberto Ierusalimschy)
  • [f9eea453] avoid "magic constant" 32 (the difference from 'A' to 'a') (Roberto Ierusalimschy)
  • [37477374] back to "one-label-per-block" (Roberto Ierusalimschy)
  • [29644366] useless assignments removed (macros already do the assignment) (Roberto Ierusalimschy)
  • [6eadedbf] resort to standard C ctype for non-ASCII systems + 'ltoupper' replaced by 'ltolower' (Roberto Ierusalimschy)
  • [1978094b] resort to standard C ctype for non-ASCII systems (Roberto Ierusalimschy)
  • [5acc5b0c] using 'tolower' instead of 'toupper' (slightly simpler to implement) (Roberto Ierusalimschy)
  • [59547c6c] macro 'ltoupper' instead of 'lisupper' (more usefull for Lua) (Roberto Ierusalimschy)
  • [3d3355b4] label syntax changed to '::label::' (Roberto Ierusalimschy)
  • [801f43f0] change in the representation of file handles (Roberto Ierusalimschy)
  • [719c0135] label syntax changed to '::label::' (Roberto Ierusalimschy)
  • [43f13729] comment (Roberto Ierusalimschy)
  • [136f8e14] added cast to void to calls to 'setlocale' (to easy redefining it as a constant) (Roberto Ierusalimschy)
  • [f90a130b] typo in message (Roberto Ierusalimschy)
  • [cb4950a6] parser must work with C locale, but external locale must be preserved (Roberto Ierusalimschy)
  • [fdede854] label names must be unique inside a function (Roberto Ierusalimschy)
  • [beab6260] correct length for LUA_COPYRIGHT (without trailing '\0') (Roberto Ierusalimschy)
  • [817f8674] avoid warning about -unsigned value (Roberto Ierusalimschy)
  • [cf0562e1] detail (missing cast to unsigned char when converting char to int) (Roberto Ierusalimschy)
  • [22e1c5eb] avoid conversion from 'const char*' to 'void *' (warning about 'const') (Roberto Ierusalimschy)
  • [470dd56a] 'os.execute' (and similars) should return 'exit' and code in case of success, too. (Roberto Ierusalimschy)
  • [20d30bcd] declarations should be present only when implementations are (Roberto Ierusalimschy)
  • [44b6f496] just in case, avoid side effects in 'ctype' macros (Roberto Ierusalimschy)
  • [fd80e634] configuration for NaN trick big-endian + macro 'luai_checknum' to ensure numbers comming from C are not "improper" (some kinds of signaling NaNs) (Roberto Ierusalimschy)
  • [f62565ab] avoid warnings with -Wstrict-overflow (Roberto Ierusalimschy)
  • [c9d1d9f9] better way to test overflows with string indices (Roberto Ierusalimschy)
  • [35391d9b] macro 'NNMARK' (mark for non-number values using the NaN trick) (Roberto Ierusalimschy)
  • [99b1b8e9] first version with 'NANTRICK' (packing all Lua values inside a 'double') (Roberto Ierusalimschy)
  • [3b448213] stricter control (using tag variants) over closure kinds (Lua x C) (Roberto Ierusalimschy)
  • [0214dab9] yet another macro ('num_') (Roberto Ierusalimschy)
  • [821bd702] more uniform names for 'equalobj'-related functions (Roberto Ierusalimschy)
  • [9b7dddad] no need for two different implementations for equality (one raw and one with metamethods) (Roberto Ierusalimschy)
  • [3f04a9f2] code is simpler without 'goto' here (Roberto Ierusalimschy)
  • [2a59a999] yet another macro abstracting TValue representation (Roberto Ierusalimschy)
  • [ee7d0c26] new macro 'luai_writeline' to print newlines (and flush 'stdout') (Roberto Ierusalimschy)
  • [aa13c591] avoid use of 'ifdef/ifndef'; use 'defined' instead (simpler and more powerful) (Roberto Ierusalimschy)
  • [6c8a3221] changes by lhf (better control of chars x bytes) (Roberto Ierusalimschy)
  • [cb09f4fe] details (Roberto Ierusalimschy)
  • [3cf1729a] new macro 'lua_longassert' that is equivalent to an assertion without a stringfication of the condition, to avoid too long string literals (limited by C90 to ~510 characters) (Roberto Ierusalimschy)
  • [74b0bb3a] macro 'checkconsistency' moved to this file, as it is used only here (Roberto Ierusalimschy)
  • [e4076fe6] break long assertion in two shorter ones (Roberto Ierusalimschy)
  • [81952e68] avoid using expression as argument to unsafe macro 'l_isfalse' (Roberto Ierusalimschy)
  • [25b4e35e] new macros abstracting TValue representation (to easy change to other representations) (Roberto Ierusalimschy)
  • [7e1facaa] detail in assertion (Roberto Ierusalimschy)
  • [ad2531a0] more complete (and hopefuly more correct) handling of 'sizeof(char)' (Roberto Ierusalimschy)
  • [bc1c718c] removed TOKEN_LEN (useless) (Roberto Ierusalimschy)
  • [c9ce754e] comment (Roberto Ierusalimschy)
  • [d34271fe] MacOS 'strtod' handles hexa formats too (Roberto Ierusalimschy)
  • [d120ec29] bug in OP_SELF when method name goes to a register (Roberto Ierusalimschy)
  • [2aff901c] Mac OS defines LUA_USE_AFORMAT and LUA_USE_LONGLONG by default (Roberto Ierusalimschy)
  • [bad231c4] 'LUA_USELONGLONG' -> 'LUA_USE_LONGLONG' (Roberto Ierusalimschy)
  • [a2b1c279] 'LUA_USELONGLONG' on by default on Linux + LUA_USE_HEXAFLOAT renamed to LUA_USE_STRTODHEX (as Lua 5.2 always uses hexa floats) (Roberto Ierusalimschy)
  • [2f128c51] 'luaL_setfuncs' does not need to accept a NULL list. (If there is no list, there is no reason to call this function.) (Roberto Ierusalimschy)
  • [47581130] change in opcode OP_LOADNIL: B is used as a counter instead of a register. (Avoids an assignment to R(B), not present in any other instruction.) (Roberto Ierusalimschy)
  • [a4e644ad] small bug (masked by wrong entry for OP_TEST in opcodes.c) (Roberto Ierusalimschy)
  • [05ca6364] added macro for code checking (Roberto Ierusalimschy)
  • [f17e3624] local function name only visible to debug info after being initialized (Roberto Ierusalimschy)
  • [2e9b8476] detail ('luai_apicheck' should be used always through macro 'api_check') (Roberto Ierusalimschy)
  • [c31f4946] copyright updated to 2011 (Roberto Ierusalimschy)
  • [c86586e8] small corrections in description of OP_TEST and OP_LOADKX (Roberto Ierusalimschy)
  • [19fbdf6c] 'luaL_findtable' -> 'luaL_getsubtable' (Roberto Ierusalimschy)
  • [427ee519] new instruction OP_LOADKX (to replace OP_LOADK with extra argument) (Roberto Ierusalimschy)
  • [a958b711] cleaner scheme of bits for variant types (light C functions) and collectable types (Roberto Ierusalimschy)
  • [1ffdd0bc] detail (should use macro 'ttisdeadkey') (Roberto Ierusalimschy)
  • [52866508] new macro 'ttisequal' (Roberto Ierusalimschy)
  • [0fb1644c] 2nd operand for unary tag methods does not need to be 'nil' (Roberto Ierusalimschy)
  • [119d5e46] lua_arith gets no fake operand for unary minus (Roberto Ierusalimschy)
  • [83abbac9] all names used internally by macros end with '_' (Roberto Ierusalimschy)
  • [a25416a8] use of 'luaL_tolstring' for option '%s' in 'string.format' (Roberto Ierusalimschy)
  • [682cce38] macro 'mark' renamed 'EOFMARK' ('mark' is too easy to confict, e.g. in alllua.c) (Roberto Ierusalimschy)
  • [d806710a] returns for file-related functions and process-related functions unified in 'auxlib' (Roberto Ierusalimschy)
  • [e049abb6] loaders receive an extra argument returned by the searcher (typically the file name) (Roberto Ierusalimschy)
  • [98816d0c] small problems with 'luaone.c' (Roberto Ierusalimschy)
  • [7482e8f9] no need of lookahead in Zio (Roberto Ierusalimschy)
  • [03b76905] correct interpretation of return value from pclose (Roberto Ierusalimschy)
  • [3c710f05] small bug: may call reader function again after it returned end of input (Roberto Ierusalimschy)
  • [c0a865fa] error for repeated label + jumps allowed to labels followed by 'no-op' statements (Roberto Ierusalimschy)
  • [0009ac1f] 'break' does not need to be last statement in a block + 'explist1' -> 'explist' + moving a few functions around (Roberto Ierusalimschy)
  • [7b968bb5] p-close returns "correct" status plus type of termination (Roberto Ierusalimschy)
  • [bf8b0829] 'break' coded as 'goto' + small bug when closing multiple gotos to the same label (Roberto Ierusalimschy)
  • [3f5b56c4] simpler code for repeat-until (Roberto Ierusalimschy)
  • [e7192dfd] corrected 'follow' for checking whether label is last statement in a block (Roberto Ierusalimschy)
  • [0539f486] small changes in goto-related error messages (Roberto Ierusalimschy)
  • [e7a9c45a] trying to avoid assumption that sizeof(char)==1 (Roberto Ierusalimschy)
  • [fd6c1f48] ensures that all local variables are declared inside some block, opening a new block at 'open_func' (Roberto Ierusalimschy)
  • [f0797492] some reorganization of dynamic data structures used by the parser (Roberto Ierusalimschy)
  • [f8d677f9] no more 'OP_CLOSE' instructions (use jumps to close upvalues) (Roberto Ierusalimschy)
  • [094a7d02] detail in 'print_usage' (Roberto Ierusalimschy)
  • [7cc0e63d] first implementation of 'goto' (Roberto Ierusalimschy)
  • [a4a8914c] new reserved word 'goto' (Roberto Ierusalimschy)
  • [06c7efb4] avoid extra increment to 'savedpc' when jumping (Roberto Ierusalimschy)
  • [dd547c55] new scheme to close upvalues in 'break'; jump instructions may do the close, avoiding the need for a OP_CLOSE instruction (Roberto Ierusalimschy)
  • [f6bd8b11] better control for GC running or stopped (Roberto Ierusalimschy)
  • [a7faa557] bug: problem with optimizations of short-circuit logic (Roberto Ierusalimschy)
  • [026a7e92] bug in some short-circuit optimizations (Roberto Ierusalimschy)
  • [c4ea0c3b] detail (cleaning trailing spaces) (Roberto Ierusalimschy)
  • [7106c491] 'sep' argument to 'string.rep' + 'string.rep' preallocates entire buffer before creating resulting string (Roberto Ierusalimschy)
  • [a10d495b] 'luaL_findtable' returns boolean about whether it created a new table (to easy initializing table) (Roberto Ierusalimschy)
  • [c2e3cc4c] using 'luaL_findtable' to manage hook table (Roberto Ierusalimschy)
  • [67feed49] optional argument 'sep' to 'searchpath' (Roberto Ierusalimschy)
  • [b63b0928] prototype for 'luaO_ceillog2' was different from definition (Roberto Ierusalimschy)
  • [51167931] new function 'rawlen' (Roberto Ierusalimschy)
  • [868ff403] full collection does not restart collector + avoid changing GC state if an error happens in a step (Roberto Ierusalimschy)
  • [aa6faa63] own implementation of 'tunumber', so that it works correctly with numbers outside the 'int' range (Roberto Ierusalimschy)
  • [0b3f4e25] more efficient hash for numbers in IEEE754 machines (Roberto Ierusalimschy)
  • [551b076f] change in the relationship between totalbytes and GCdebt - luaM_realloc_ is too critical to update two counters (Roberto Ierusalimschy)
  • [737f1191] better control for GC running or stopped (Roberto Ierusalimschy)
  • [8980c630] error when indexing strings with invalid keys (Roberto Ierusalimschy)
  • [8d579c5b] 'debug.setmetatable' returns object (like 'setmetatable') (Roberto Ierusalimschy)
  • [d51743b0] removed 'newproxy' (Roberto Ierusalimschy)
  • [1a92c2b3] allows number of bits used by the library to be changed from outside (Roberto Ierusalimschy)
  • [fe0d54d3] table library respects '#' metamethods (Roberto Ierusalimschy)
  • [c9af0768] GC does not mark dead registers inside activation record (Roberto Ierusalimschy)
  • [7e0caa7d] new closures are always created on "next" register (so that GC knows stack limit) (Roberto Ierusalimschy)
  • [a40768e5] new macro 'luaC_condGC' to allow extra code to be run in case of GC steps (Roberto Ierusalimschy)
  • [4a83fe56] comment (Roberto Ierusalimschy)
  • [b83b6ba0] 'loadin' -> 'load' (Roberto Ierusalimschy)
  • [af119c8b] official support for floating hexa numerals (Roberto Ierusalimschy)
  • [1aead7f5] 'hexafloat' moved to 'lobject.c' (hexa conversion needs it too) (Roberto Ierusalimschy)
  • [75d8470f] new macro 'cast_uchar' (Roberto Ierusalimschy)
  • [81646af1] 'loadstring' deprecated; use 'load' instead (Roberto Ierusalimschy)
  • [233b71c0] comment (Roberto Ierusalimschy)
  • [ccc4fc9c] detection of erroneous numeric strings with \0 (such as "1\0") (Roberto Ierusalimschy)
  • [c79b4a97] using 'strspn' to skip spaces in 'tonumber' (Roberto Ierusalimschy)
  • [ac3afc7c] 'printf' replaced by 'luai_writestring' (Roberto Ierusalimschy)
  • [350cc4bc] 'micro' bug: when closing state, old objects are finalized (breaking assertion) (Roberto Ierusalimschy)
  • [35931bbe] comments (Roberto Ierusalimschy)
  • [12779b2b] getlocal/setlocal can access vararg parameters (Roberto Ierusalimschy)
  • [7ca1bd63] new functions 'extract' and 'replace' (Roberto Ierusalimschy)
  • [9b7a12c4] finalizers (__gc) for tables (Roberto Ierusalimschy)
  • [5b33e398] removed deprecated functions getn-foreach-foreachi (Roberto Ierusalimschy)
  • [a64cf8fa] 'test' -> 'btest' (Roberto Ierusalimschy)
  • [092fa71d] conventional names for bitwise operators (Roberto Ierusalimschy)
  • [a2eaad5d] 'gfind' was deprecated in 5.1 (Roberto Ierusalimschy)
  • [54771c5a] keep 'seminfo->ts' even for reserved words, just in case (some lhf's tools need this) (Roberto Ierusalimschy)
  • [bcce769d] avoid "unreacheable code" warnings (Roberto Ierusalimschy)
  • [24baa919] small bug: 'find' did not detect magic chars after a \0 in a pattern and did a plain search in those cases (Roberto Ierusalimschy)
  • [d1c0efdb] comment about compatibility-only functions (Roberto Ierusalimschy)
  • [566758de] 'getuservalue' accepts any type of argument (Roberto Ierusalimschy)
  • [50334faa] no more compatibility with (veryyyy) old ref system (Roberto Ierusalimschy)
  • [cee7a8e1] -DLUA_COMPAT_ALL is the default (Roberto Ierusalimschy)
  • [8c21f463] 'debug' library is loaded by default (Roberto Ierusalimschy)
  • [a1952d9c] 'l_tvar' renamed to 'l_tg' (Roberto Ierusalimschy)
  • [1a46a713] new macro 'l_tvar' to easy the use of mathlib with other floating types (float and long double) (Roberto Ierusalimschy)
  • [23b9ceb0] allows larger array parts in tables (no need to restrict it to 2^26) (Roberto Ierusalimschy)
  • [0a6a6b9d] no more sentinel to detect loops in module dependencies; usual message for infinite recursion is good enough. (Roberto Ierusalimschy)
  • [1b541974] better error message when light userdata is used instead of a full userdata (Roberto Ierusalimschy)
  • [c97aa948] new function 'luaL_setmetatable' (Roberto Ierusalimschy)
  • [e885b913] 'luaL_typeerror' deprecated (Roberto Ierusalimschy)
  • [fa1f7243] when reading blocks with given size, try to read whole block at once (Roberto Ierusalimschy)
  • [2a966116] detail (message) (Roberto Ierusalimschy)
  • [43ec3547] added support for conditional use of %Lg when using long double (Roberto Ierusalimschy)
  • [700b003f] when reading large files, double buffer size at each iteration (Roberto Ierusalimschy)
  • [f722ba68] code should not use "defined" types, but "typedef"s types when they are available (i.e., after including lua.h) + small changes to make conversions more portable across diferent types for lua_Number (long double) and lua_Unsigned (long long unsigned) (Roberto Ierusalimschy)
  • [c7d4da87] correction to allow lua_Unsigned larger than usigned int (Roberto Ierusalimschy)
  • [f1629217] code for conversion macros moved from luaconf to llimits + 'uint' renamed to 'unsigned' in those macros (Roberto Ierusalimschy)
  • [fdd5f2f7] comment typos (Roberto Ierusalimschy)
  • [c6ef3e26] bug: by-one error when creating short source names (luaO_chunkid) (Roberto Ierusalimschy)
  • [ba8dca00] detail (ununsed parameter) (Roberto Ierusalimschy)
  • [9be89a18] 'luaL_checkversion' also checks convertions (number to integer types) (Roberto Ierusalimschy)
  • [b9f371a3] added another option for ieeeendian (Roberto Ierusalimschy)
  • [4834de84] comment typo (Roberto Ierusalimschy)
  • [94043a3a] more robust implementation for 'luaO_str2d' (Roberto Ierusalimschy)
  • [e642cc42] correct handling of negative numbers in non-10 bases by 'tonumber' (e.g., tonumber(-34, 8)) (Roberto Ierusalimschy)
  • [da57477c] added more platforms for ieeeendianess + small comments (Roberto Ierusalimschy)
  • [f3903488] stricter control over number of bits in each operation (Roberto Ierusalimschy)
  • [6b053a63] added check for architectures with known endianess (only i386 now) (Roberto Ierusalimschy)
  • [572e5e6b] new names for bit functions (mimicking assembler) (Roberto Ierusalimschy)
  • [6098e06e] better organization for coercion functions between lua_Number and integer types + IEEE trick to be used in most platforms, by default (Roberto Ierusalimschy)
  • [c6b64ffe] new type lua_Unsigned and corresponding projection/injection functions (Roberto Ierusalimschy)
  • [4590a89b] corrected warnings from different compilers (mostly casts and small details) (Roberto Ierusalimschy)
  • [1475cb59] version from lhf (Roberto Ierusalimschy)
  • [9e8e60dd] bitlib renamed to 'bit32' + new function for arithmetic shift (Roberto Ierusalimschy)
  • [d72ec210] POS_A replaced by POS_Ax (which is more "precise") (Roberto Ierusalimschy)
  • [c77baf75] comment (Roberto Ierusalimschy)
  • [a1226880] better error message for 'lua -e -i' (Roberto Ierusalimschy)
  • [f3026c36] details in opcode list (Roberto Ierusalimschy)
  • [cd0ebd0a] 'proto->source' may be NULL (if dump strips debug information) (Roberto Ierusalimschy)
  • [8bc33a08] 'os.exit' acceps booleans as status (for EXIT_SUCESS and EXIT_FAILURE) (Roberto Ierusalimschy)
  • [c3eb8954] 'luaL_loadlib' accepts Utf8 BOM in the beginning of files (Roberto Ierusalimschy)
  • [ffff9a49] 'nresults' in CallInfo now refers to number of results that the current function returns (and not what it expects from a call) (Roberto Ierusalimschy)
  • [b22356e5] hexadecimal constants may be floating values too (Roberto Ierusalimschy)
  • [a289a627] 'loadin' should not check whether upvalue is called '_ENV', because its name may be unknown when there is no debug information. (Roberto Ierusalimschy)
  • [e3eabcf9] 'lua_[gs]etupvalue' may work even without debug information (that is, without upvalue names) (Roberto Ierusalimschy)
  • [0df22380] name "_ENV" configurable through 'luaconf.h' (Roberto Ierusalimschy)
  • [6828f6d4] new parameter 'majorinc' to control frequency of major collections in generational mode (Roberto Ierusalimschy)
  • [daa5fe3e] 'loadin' should accept any value for the environment (not only tables) + it should check whether chunk has upvalue named '_ENV' (Roberto Ierusalimschy)
  • [8d9ea59d] 'pushclosure' -> 'codeclosure' (as there is another 'pushclosure' in 'lvm.c) + small detail (Roberto Ierusalimschy)
  • [5e7dbd0b] api checks to ensure that thread is OK when using lua_call/lua_pcall (Roberto Ierusalimschy)
  • [cd6c276e] use index 0 for header of list of free references (Roberto Ierusalimschy)
  • [fd4b4a2a] detail: registry._PRELOAD must be a table, no need to check (Roberto Ierusalimschy)
  • [d4479456] 'module'/'luaL_register' and associates are deprecated (Roberto Ierusalimschy)
  • [78f96351] several new comments (Roberto Ierusalimschy)
  • [8b7cf8c6] 'lua_[gs]etenv' -> 'lua_[gs]etuservalue' (Roberto Ierusalimschy)
  • [73b0a345] environment variables consulted by Lua may be version-specific (Roberto Ierusalimschy)
  • [85c14614] new macros LUA_VERSION_{MAJOR/MINOR/RELEASE} (Roberto Ierusalimschy)
  • [5ba556d2] using curly brackets to mark blocks of '#if/#else/#endif's (Roberto Ierusalimschy)
  • [81dd13f4] new way to distinguish between indexing tables in registers and tables in upvalues (+ fixed small bug when checking conflicts in multiple assignments) (Roberto Ierusalimschy)
  • [6a02bbe1] better organization for fields in struct 'expdesc' (Roberto Ierusalimschy)
  • [7631c29b] comand-line option '-l' creates global with given name after requiring module (Roberto Ierusalimschy)
  • [a9dc7c88] functions lua_tonumber/lua_tointeger replaced by lua_tonumberx/lua_tointegerx that have an extra out parameter with conversion status (Roberto Ierusalimschy)
  • [7192afaf] new module policy: C modules do not create globals and do not register themselves with 'require' (let 'require' do its work); new auxiliary functions luaL_newlib/luaL_newlibtable/luaL_setfuncs/luaL_requiref. Old luaL_register will be deprecated. (Roberto Ierusalimschy)
  • [a139e2e0] old (and complex) luaL_findtable now used only in compatibility code inside lauxlib.c (Roberto Ierusalimschy)
  • [a71c5f6f] typo in comments (Roberto Ierusalimschy)
  • [d9ea6eca] macro 'key2tal' replaced by 'gkey' (as both were equal) (Roberto Ierusalimschy)
  • [ca3865cf] 'getlocal' gets information about parameters of Lua functions (Roberto Ierusalimschy)
  • [bef59807] no more support for old Mac OS systems (Roberto Ierusalimschy)
  • [409741e9] 'what' may be NULL in 'kname' (Roberto Ierusalimschy)
  • [b98de30b] 'ipair' is back (Roberto Ierusalimschy)
  • [9f48712c] use ANSI versions of DLL functions in Windows (Roberto Ierusalimschy)
  • [bd262d59] 'coroutine' library separated from 'baselib' (Roberto Ierusalimschy)
  • [0d116c3a] unused '#include' removed (Roberto Ierusalimschy)
  • [79f11fb2] back with #-comments for binary files (Roberto Ierusalimschy)
  • [fabe4ec4] better barrier for prototypes (Roberto Ierusalimschy)
  • [575074fd] Lua closures are cached for reuse (Roberto Ierusalimschy)
  • [545f4306] 'luaF_newLclosure' gets prototype of new closure as argument (Roberto Ierusalimschy)
  • [3819c30e] better names for barrier macros (Roberto Ierusalimschy)
  • [e94fac89] bug: generational collection was not running collector! (must write a test for this...) (Roberto Ierusalimschy)
  • [2c1a5d67] factoring out common code in 'module' and 'luaL_openlib' (Roberto Ierusalimschy)
  • [bd619b93] new macro MAXUPVAL (maximum number of upvalues per closure) (Roberto Ierusalimschy)
  • [aca84ee1] correct definition for 'lua_cpcall' (tested) (Roberto Ierusalimschy)
  • [5038e3c5] corrected compatibility macro 'lua_cpcall' (untested) (Roberto Ierusalimschy)
  • [5a7dee0c] added class '%g' in patterns (for graphical characters) (Roberto Ierusalimschy)
  • [ddf1f2a0] GC should not run when stopped, even in hard tests (Roberto Ierusalimschy)
  • [e34d3c06] it is better to call open functions with lua_call to not mess the caller stack (Roberto Ierusalimschy)
  • [e8a2c369] more comments (Roberto Ierusalimschy)
  • [3c39a0e8] bug: loadfile of binary files read first character twice (Roberto Ierusalimschy)
  • [3d45a8eb] really stop collection during finalizers (Roberto Ierusalimschy)
  • [3d80aeab] lua_pushstring may reallocate the stack, making 'o' a dangling pointer (Roberto Ierusalimschy)
  • [3811e23b] detail (comment) (Roberto Ierusalimschy)
  • [12c764ed] semicolons now represent the empty statement (Roberto Ierusalimschy)
  • [e99e9a94] patches for last two bugs (string.format and io.read) (Roberto Ierusalimschy)
  • [f35ac38e] updated depenency lists + eliminated duplication of definitions for MYCFLAGS, MYLDFLAGS, and MYLIBS. (Roberto Ierusalimschy)
  • [058279d5] comments (Roberto Ierusalimschy)
  • [69ba1ac4] new "instruction" 'absindex' (Roberto Ierusalimschy)
  • [4a925c15] in 'absindex', do not need to call gettop (can inline it) (Roberto Ierusalimschy)
  • [cf531912] one more macro (mvdispatch) to easy experiments with alternative dispatch methods (Roberto Ierusalimschy)
  • [0d00729e] detail (breaking a long line) (Roberto Ierusalimschy)
  • [b6e9fcbd] use of macro ('vmcase') to format all cases in main switch of 'luaV_execute' (to facilitate experiences with direct threading) (Roberto Ierusalimschy)
  • [8554baea] small changes in 'luaV_execute' to make cases more regularly formatted (Roberto Ierusalimschy)
  • [f5b7f077] added comments to '#else' and '#endif' in long conditionals (Roberto Ierusalimschy)
  • [e924a7f9] new API function 'lua_absindex' (Roberto Ierusalimschy)
  • [4fd76b81] avoid "strong" cast (Roberto Ierusalimschy)
  • [de0f51a0] wrong type being assigned (not detected because of obj2gco macro) (Roberto Ierusalimschy)
  • [05672218] udata in 'tobefnz' list be have old bit on (it will be cleared when udata is moved to 'allgc' list) (Roberto Ierusalimschy)
  • [1c1a98e8] corrected some places where an old object could end up in front of a new one + minimal documentation about this problem (Roberto Ierusalimschy)
  • [c006f085] new macro 'resetoldbit' (Roberto Ierusalimschy)
  • [a48e330f] macros 'lua_number2int' and 'lua_number2uint' for Visual Studio corrected and tested (Roberto Ierusalimschy)
  • [dcc07068] avoid reserving LUA_RIDX_LAST slots in any table used by reference system. Store free list in a field indexed by a unique name, instead of using a numerical index. (Roberto Ierusalimschy)
  • [2d81cfa4] corrected definition of 'lua_register' (there is no LUA_ENVIRONINDEX anymore) (Roberto Ierusalimschy)
  • [0bccf03d] slightly better definition for 'changenvalue' (Roberto Ierusalimschy)
  • [ad2b5dec] 'lua_assert' can be empty when assertions are off (Roberto Ierusalimschy)
  • [32c1764b] slightly better definition for 'isgray' (Roberto Ierusalimschy)
  • [de971777] avoid 'else assert' (which may result in an empty else) (Roberto Ierusalimschy)
  • [fa2ddb07] details (to avoid too long strings in assertions) (Roberto Ierusalimschy)
  • [0fac33da] bug: incremental sweep was not cleaning old bits (as it stopped in the first old object) + bug: moving udata to 'udgc' list might put old object in front a new one + some new macros + generational mode may be in 'pause' state (it just skips 'markroot') (Roberto Ierusalimschy)
  • [8e1bdda6] stupid bug when calling 'luaC_changemode' (in function lua_gc) (Roberto Ierusalimschy)
  • [9c1347e6] more tests in 'lua_checkmemory' + more information in function 'gccolor' (Roberto Ierusalimschy)
  • [b373a401] new macro 'isgenerational' + new macro 'isold' + better deffinition for 'isdead', compatible with the code used by 'sweeplist' (Roberto Ierusalimschy)
  • [25951e0e] some cleaning in 'sweeplist' (threads do not need to be traversed if they are going to be collected + use of bit masks to unify differences in generational and incremental modes) (Roberto Ierusalimschy)
  • [a4f20e3c] comments (Roberto Ierusalimschy)
  • [8c583c61] more tests in 'lua_checkmemory' (Roberto Ierusalimschy)
  • [d2ea5b00] new function 'luaC_changemode' + bug: objects entering the 'allgc' list must have their OLDBIT cleared (upvalues being cleared) + bug: in 'checkSizes', KGC_EMERGENCY is stored in 'gckind' field, not in 'gcstate' + current white changes when entering sweep phase (so there are dead objects only in that phase) (Roberto Ierusalimschy)
  • [d7789859] new function 'luaC_changemode' (Roberto Ierusalimschy)
  • [237f755d] typos in comments (Roberto Ierusalimschy)
  • [7444b5a1] better documentation of GC costs (Roberto Ierusalimschy)
  • [e7ce7e18] changes in patch to monitor garbage collection (Roberto Ierusalimschy)
  • [3e662cec] full GC must run finalizers only after finishing everything else (including a return to generational mode if needed) (Roberto Ierusalimschy)
  • [fde866e3] details (comments) (Roberto Ierusalimschy)
  • [2d7a81a2] missing parentheses in declaration (Roberto Ierusalimschy)
  • [658ea875] no need to handle '\0' differently from other control chars in format '%q' (Roberto Ierusalimschy)
  • [aa73403b] no need of a KGC_FORCED collection kind; it has the same behavior of a normal collection (Roberto Ierusalimschy)
  • [0c27de2e] no more 'finalize' phase in GC; finalizers are called along the entire cycle (Roberto Ierusalimschy)
  • [d25f7f9d] items in 'tobefnz' are kept black (as before recent change) and changed to white only when needed (being moved to 'allgc' when not keeping invariant). (Roberto Ierusalimschy)
  • [85555646] invariant must be kept in atomic 'phase' too (Roberto Ierusalimschy)
  • [4d871ee9] "gray lists" only need to be valid when 'keepinvariant' is true (Roberto Ierusalimschy)
  • [b9e1dec2] added comment explaining a bit about the invariants of the collector (Roberto Ierusalimschy)
  • [dc2b8a00] detail (Roberto Ierusalimschy)
  • [9a9fe42d] wrong comment (Roberto Ierusalimschy)
  • [0062db1e] default PAUSE should be 200 (differences may be corrected in internal multiplers) + check for unbilt stack equal the one used by lgc.c (Roberto Ierusalimschy)
  • [23001d86] nasty GC bug: upvalue must be turned white when not keeping invariant, but barrier was not being called when uv->v were already white. (Roberto Ierusalimschy)
  • [5d79c668] removed commented-out debugging code (Roberto Ierusalimschy)
  • [3410dcd3] new way to control GC speed (Roberto Ierusalimschy)
  • [5a7a0c72] 'luaC_linkupval' embedded into call site (Roberto Ierusalimschy)
  • [ee7478e8] improved 'lua_checkmemory', with better control over gray objects (Roberto Ierusalimschy)
  • [aaa5d7ad] 'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed (Roberto Ierusalimschy)
  • [3eb1788b] new way to control GC speed (keeping a 'debt' counter) (Roberto Ierusalimschy)
  • [00114a95] lots of new comments + small changes in loop controls + other small "janitor work" (Roberto Ierusalimschy)
  • [4aaf0ef7] "to-be-finalized" objects marked and sweeped like all other objects (Roberto Ierusalimschy)
  • [ed720d09] upvalue barriers for Lua functions must act on the upvalue itself, not on its closure (Roberto Ierusalimschy)
  • [376e939e] missing parentheses around 'luaL_pushresultsize' declaration (Roberto Ierusalimschy)
  • [9d28e2b3] bug with io.read(op, "*n") (Roberto Ierusalimschy)
  • [49ca1f70] allows thread switches (when/if there are thread switches) in the same places that finalizers can run (so they should be safe...) (Roberto Ierusalimschy)
  • [4db6f207] ensure that 'luai_userstatethread' is always called (even if 'stack_init' throws a memory error) (Roberto Ierusalimschy)
  • [cca71912] 'gcinfo' was deprecated in version 5.0. (Roberto Ierusalimschy)
  • [8003e954] 'string.format' may get buffer as an argument when there are missing arguments and format string is too long (Roberto Ierusalimschy)
  • [973d81ef] complete control over number of each kind of object allocated (Roberto Ierusalimschy)
  • [26d4a739] with light C functions, 'pairs' does not need to keep 'next' as an upvalue. (Roberto Ierusalimschy)
  • [99a39f6f] tells the allocation function that the first block is a thread (Roberto Ierusalimschy)
  • [1bb407e4] in lua_gc/step, 'luaC_step' changes GCthreshold, so there was little control over the real step size. (Roberto Ierusalimschy)
  • [53f9499f] "light C function" is a better name than "C-function pointer" (Roberto Ierusalimschy)
  • [575befc3] comparsion tag methods follow the same rule as other binary TMs (Roberto Ierusalimschy)
  • [e7ffb1b5] macro LUA_USE_LONGJMP allows choosing longjmp when compiling Lua as C++ code (Roberto Ierusalimschy)
  • [c066ac10] better line numbers for function calls and unary/binary operators + null statement + no more "ambiguous syntax" restriction (Roberto Ierusalimschy)
  • [1e6940f2] 'gcstate' now also runs collector until given state + small changes in 'testC' to test 'lua_topointer' and 'lua_tocfunction' (Roberto Ierusalimschy)
  • [d8d81ba8] new escape sequence '*' + several comments + moving options from switch default into cases (as now locale is fixed) (Roberto Ierusalimschy)
  • [cf22133b] no need to avoid calling ctype functions as now they are implemented by us (no inefficiencies due to accessing locale information) (Roberto Ierusalimschy)
  • [b7be05ad] invalid instructions "cannot" happen (Roberto Ierusalimschy)
  • [afdb19ac] no more 'ccall' nor 'cpcall' functions. (With light C functions they are obsolete.) (Roberto Ierusalimschy)
  • [7dfa4cd6] first implementation of light C functions (Roberto Ierusalimschy)
  • [fc6203ee] BUG: 'string.format' may get buffer when there are missing arguments (Roberto Ierusalimschy)
  • [b2dd246b] better control in 'totalmem' over choosing counters (Roberto Ierusalimschy)
  • [d20ff606] new macro LUA_NUMTAGS (Roberto Ierusalimschy)
  • [d41b4673] check memory allows strings to live in the main GC list (it should work ok). (Roberto Ierusalimschy)
  • [45412433] patterns now accept '\0' as a regular character (Roberto Ierusalimschy)
  • [9100f747] new implementation for Generic Buffer manipulation (using userdata as temporary buffer space) (Roberto Ierusalimschy)
  • [055104f5] keep memory-error message in the global state, so that its use does not depend on Lua internalizing strings to avoid a string creation on memory errors (Roberto Ierusalimschy)
  • [28aa733c] macro 'eqstr' was being used to compare non-string entities (Roberto Ierusalimschy)
  • [6abde1b0] no need to keep "_ENV" name in global state (can be kept in lex state) (Roberto Ierusalimschy)
  • [d394d553] new macro 'eqstr' (Roberto Ierusalimschy)
  • [a2f98314] 'lua_pushstring' now uses 'luaS_new' (Roberto Ierusalimschy)
  • [a09c8d7b] cannot sweep main thread in sweepstring phase (Roberto Ierusalimschy)
  • [f80ff7a3] 'luaS_new' changed from macro to function (Roberto Ierusalimschy)
  • [a08fc34e] avoid using 'luaS_new' when can use 'luaS_newlstr' (Roberto Ierusalimschy)
  • [d00d2eaf] small changes in 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [11126422] option to return GC to normal (incremental, non generational) mode (Roberto Ierusalimschy)
  • [e54668b6] added proper code to trace garbage collection (Roberto Ierusalimschy)
  • [9eb832de] work related to hooks moved from 'luaV_execute' to 'traceexec' (Roberto Ierusalimschy)
  • [82a1f5d3] comments (Roberto Ierusalimschy)
  • [a8d3aa14] global table now is only kept in the registry (Roberto Ierusalimschy)
  • [064e406f] no more fenvs! (Roberto Ierusalimschy)
  • [5c87f61e] major collections in generational mode (Roberto Ierusalimschy)
  • [3aa95981] 'mainthread' is not inserted in the 'allgc' list anymore, but swept separately. (Roberto Ierusalimschy)
  • [64d39ed1] generational mode no longer sweep old objects (Roberto Ierusalimschy)
  • [4433dbb5] userdata with finalizers are kept in a separated list ('udgc'), instead of at the end of 'rootgc' (which was renamed to 'allgc', as it is not "root" in the usual meaning for collectors) (Roberto Ierusalimschy)
  • [5cb128ea] BUG: emergency collector might resize 'strt' (string table) when creating a new string + atomic and markroot steps has some cost + full collection must leave collector in proper state when mode is generational (Roberto Ierusalimschy)
  • [74123e96] draft version of a generational mode for garbage collection. (Not well tested; no major collections; ...) (Roberto Ierusalimschy)
  • [9c196beb] detail (wrong comment about LUAI_GCPAUSE) (Roberto Ierusalimschy)
  • [28b2566c] 'lua_assert' not visible from libraries (Roberto Ierusalimschy)
  • [caf74dd7] 'cpcall' renamed to 'ccall' as it does not do a protected call (Roberto Ierusalimschy)
  • [62840c5f] 'ipairs' is deprecated (Roberto Ierusalimschy)
  • [5ca7cdd7] for compatibility only: 'module' changes the first upvalue of calling function to affect its environment (Roberto Ierusalimschy)
  • [1514e49d] avoid using function environments in C libraries (as it probably will be deprecated) (Roberto Ierusalimschy)
  • [22ef84b6] '_ENV' name permanently stored in global state for easier access (Roberto Ierusalimschy)
  • [63a2b624] must include 'string.h' because a macro uses 'strlen' (Roberto Ierusalimschy)
  • [489253d7] better definitions for lua_[gs]etglobal + less uses of ENVIRONINDEX (Roberto Ierusalimschy)
  • [25c557ec] first version of _ENV; no more global variables (Roberto Ierusalimschy)
  • [f292760f] small optimization in luaL_addlstring (avoid adding chars one by one) (suggested by Chuck Coffing) (Roberto Ierusalimschy)
  • [1124cb12] first step towards _ENV: all chunks have an puvalues _ENV with the global table (Roberto Ierusalimschy)
  • [c2951478] when finding a 'name' for a function, handle the case when the function is a for iterator (Roberto Ierusalimschy)
  • [e560ac48] when searching for a variable name, look existing upvalues before goingg to upper levels (Roberto Ierusalimschy)
  • [915a9a91] just in case, better to flush error messages (Roberto Ierusalimschy)
  • [ae0a5e21] new option '*L' for io.read + options for io.lines (Roberto Ierusalimschy)
  • [347f0c33] avoid 'continue' unless necessary (Roberto Ierusalimschy)
  • [622e4487] removed useless test (argv[i] cannot be NULL when i<argc) (Roberto Ierusalimschy)
  • [0fe2576a] new instructions to optimize indexing on upvalues (Roberto Ierusalimschy)
  • [d08d237a] detail: in loadfile read function, no need to return NULL on EOF; size ==0 is enough to signal EOF. (Roberto Ierusalimschy)
  • [64a7ec98] avoid using 'ungetc' in loadfile (Roberto Ierusalimschy)
  • [4274738e] new macro 'luai_writestringerror' (Roberto Ierusalimschy)
  • [0d7d559d] no need to flush either stderr or \n-terminated outputs (Roberto Ierusalimschy)
  • [af512ad6] use of 'conventional' names for shift and rotate operations + right/left versions for them (Roberto Ierusalimschy)
  • [d27108cc] removed support for '#fist-line comment' on binary files (as binary files do not have lines...) (Roberto Ierusalimschy)
  • [a838b3b4] better usage messages, showing entire offending argument (Roberto Ierusalimschy)
  • [4c54cd3a] when yielding, original 'func' value must be kept and restored so that 'poscall' puts results in the right slot. (Roberto Ierusalimschy)
  • [c8ff7de7] field 'oldtop' renamed to 'extra', as it can be used for other purposes (Roberto Ierusalimschy)
  • [3bae8e04] typo (thanks to Gavin) (Roberto Ierusalimschy)
  • [4f5f2fe3] new function 'luaL_cpcall' (Roberto Ierusalimschy)
  • [01586d53] typo in comment (Roberto Ierusalimschy)
  • [c8ab34ab] better messages for invalid options (Roberto Ierusalimschy)
  • [36ab1ee1] __unm metamethod gets nil as its 2nd parameter (Roberto Ierusalimschy)
  • [193ce469] table.pack was locking last result, avoiding its collection (Roberto Ierusalimschy)
  • [b678f246] HINSTANCE -> HMODULE (they are the same thing, but the MS documentation uses the latter) + LoadLibrary -> LoadLibraryEx with optional arguments, to allow the option LOAD_WITH_ALTERED_SEARCH_PATH (Roberto Ierusalimschy)
  • [f270e7f0] warnings that are not compatible with C++ separated from other warning options (Roberto Ierusalimschy)
  • [070d3743] "no value" added to array luaT_typenames + occurrences of "userdata" in that array unified in a single address (Roberto Ierusalimschy)
  • [0c7de97d] correct error message when yielding from outside a coroutine (Roberto Ierusalimschy)
  • [900b7d45] on 64-bit machines, an address may not fit into a 'long', so it is better to convert from pointer to void to pointer to function directly, even if ANSI C does not like it. (Roberto Ierusalimschy)
  • [91f0b20a] missing standard defines (Roberto Ierusalimschy)
  • [e4b4623a] 'searchpath' changes dots into directory separators (Roberto Ierusalimschy)
  • [cef96b73] added casts from int to enumerations to follow C++ rules (Roberto Ierusalimschy)
  • [427e01eb] removed useless initialization (Roberto Ierusalimschy)
  • [d320c908] conversion from pointer to void to pointer to function seems more "correct" if done through an integral type (because conversions between pointers and numbers are allowed, only "implementation defined"). (Roberto Ierusalimschy)
  • [8bfc6966] missing 'external' in variable declaration (Roberto Ierusalimschy)
  • [97a35e70] pathes corrected to 5.2 (Roberto Ierusalimschy)
  • [03b556b9] corrected copyright notice to 2010 (Roberto Ierusalimschy)
  • [572b94bb] include of 'windows.h' moved to where it is needed (Roberto Ierusalimschy)
  • [692209fa] Dynamic C functions should be created with the global table as their initial environments (Roberto Ierusalimschy)
  • [953d499e] changed macro lua_number2int for Windows (added brackets; some recent compilers complain about the old format) + added missing definition for 'lua_number2int' in Windows case. (Roberto Ierusalimschy)
  • [a541ada1] "-"-trick in C packages now accept name-v13... (Roberto Ierusalimschy)
  • [55d31383] removed old prototype for 'luaI_openlib' (which does not exist anymore) (Roberto Ierusalimschy)
  • [e74e56f2] better may to force recompilation when makefile changes (Roberto Ierusalimschy)
  • [1ebf109c] 'setobj' must assing fields one by one, to allow trick of using pad space in table keys (Roberto Ierusalimschy)
  • [f75be1cb] removed parentheses around some function names in their definitions (Roberto Ierusalimschy)
  • [16d2ad88] some changes in compatibility macros: added LUA_COMPAT_ALL + compatibility macros from lua.h and lauxlib.h moved to luaconf.h (Roberto Ierusalimschy)
  • [f3a68150] compatibility code removed or moved to luaconf.h (Roberto Ierusalimschy)
  • [19f8c873] compatibility code moved to luaconf.h (Roberto Ierusalimschy)
  • [5bcfe0c7] new debug info 'isvararg' and 'nparams' (Roberto Ierusalimschy)
  • [8cd39556] no need to use two different defines (LUA_DL_DLOPEN and LUA_USE_DLOPEN) (Roberto Ierusalimschy)
  • [389c890e] again changing macro to function to save a few bytes (Roberto Ierusalimschy)
  • [e3866afa] macro 'luaY_checklimit' changed into a function (and renamed 'checklimit'). It makes no sense to trade space for time in the parser. (Roberto Ierusalimschy)
  • [25189b42] field 'nups' in struct 'lua_Debug' changed from 'int' to 'unsigned char' to save some space (even C functions cannot have more than maxchar upvalues). (Roberto Ierusalimschy)
  • [cec25167] new api_check that 'pcallk' cannot be called inside hooks (Roberto Ierusalimschy)
  • [1fd4c482] reorganization of switch in function 'match' (details) (Roberto Ierusalimschy)
  • [35e729fa] comments + small details (Roberto Ierusalimschy)
  • [0dc09cb4] 'unpack' moved to table library (and therefore "renamed" to 'table.unpack'. (Roberto Ierusalimschy)
  • [cc1cbd19] 'lua_cpcall' is deprecated + other small changes in 'pmain' (comments and reordering to check arguments before running any Lua code) (Roberto Ierusalimschy)
  • [cb3f95d5] 'lua_cpcall' is deprecated (Roberto Ierusalimschy)
  • [f84b575c] no more pseudoindex LUA_GLOBALSINDEX; global table now accessible through registry (Roberto Ierusalimschy)
  • [3cb343ef] code for error message for 'setn' removed (Roberto Ierusalimschy)
  • [ec0fc1a1] missing parentheses around 'lua_version' + moving typdef's before the extra include (Roberto Ierusalimschy)
  • [c3a6f3fa] 'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len' (Roberto Ierusalimschy)
  • [0bbdddc8] allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL. (Roberto Ierusalimschy)
  • [b3b8dfaa] yet more options moved from luaconf.h into internal files (Roberto Ierusalimschy)
  • [adc6a486] macro name change: LUA_INIT->LUA_INIT_VAR (Roberto Ierusalimschy)
  • [2108754e] macro name change: LUA_PATH->LUA_PATH_VAR, LUA_CPATH->LUA_CPATH_VAR, LUA_PATHSEP->LUA_PATH_SEP, LUA_EXECDIR->LUA_EXEC_DIR (Roberto Ierusalimschy)
  • [46f14299] more options moved from luaconf.h into internal files (Roberto Ierusalimschy)
  • [e0f9d1c8] removed export of function only for coco (Roberto Ierusalimschy)
  • [de6fc75d] several configuration options that do not change often moved out of luaconf.h and into more internal files (Roberto Ierusalimschy)
  • [2af0d3b4] allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL. (Roberto Ierusalimschy)
  • [9fbe0690] base-level C use global table as its environment (Roberto Ierusalimschy)
  • [a25b8ff6] detail ('lua_tolstring' instead of lua_objlen) (Roberto Ierusalimschy)
  • [15b823ce] cleaner way to add extra space in a lua state. (Roberto Ierusalimschy)
  • [8da245bf] better to keep GC state numbers sequential, to optimize switch in 'singlestep' (Roberto Ierusalimschy)
  • [a2a2abcb] new function 'luaC_runtilstate' to advance GC until a "valid" state (Roberto Ierusalimschy)
  • [2e517925] avoid using deprecated macros lua_[gs]etglobal (Roberto Ierusalimschy)
  • [3a9ae612] macro 'ngcotouv' is the same as 'gco2uv', so it was removed (Roberto Ierusalimschy)
  • [9db693a5] detail (comment) (Roberto Ierusalimschy)
  • [1375435e] several new features in testC to allow better testing of lua_resume at the C API level (Roberto Ierusalimschy)
  • [2bb19ccf] reordering of some functions + cleaner way to code lua_resume/resume + small bug in lua_resume (in case of calling errors lua_resume should remove only new arguments from the stack and push error message). (Roberto Ierusalimschy)
  • [64d5df77] detail (lua_resume should empty coroutine stack even if they do not fit into caller stack) (Roberto Ierusalimschy)
  • [2643da67] error messages from 'lua_resume' must be generated in protected mode, to avoid raising memory errors (Roberto Ierusalimschy)
  • [ed117bb4] lua_checkstack does not raise memory errors (instead it signals them) (Roberto Ierusalimschy)
  • [a4472490] new 'table.pack' function (Roberto Ierusalimschy)
  • [86312e1a] lua_objlen calls __len metamethod on tables (if present) (Roberto Ierusalimschy)
  • [df1dc3f1] strings in C scripts may be delimited by quotes + new functionality to set C scripts as C hooks (Roberto Ierusalimschy)
  • [513d0258] details (Roberto Ierusalimschy)
  • [cfa8bc3c] continuations may be upvalues too (Roberto Ierusalimschy)
  • [a654e82f] coroutines may have C bodies (Roberto Ierusalimschy)
  • [3e41afce] extra api checks for number of returns of C functions and for lua_yield (Roberto Ierusalimschy)
  • [3acf5ec5] update of file dependencies (gcc -MM) (Roberto Ierusalimschy)
  • [93695db9] 'table.maxn' deprecated (Roberto Ierusalimschy)
  • [9107dd11] no more compatibility code for 'string.gfind' (Roberto Ierusalimschy)
  • [dc4c4595] a few new warnings (Roberto Ierusalimschy)
  • [19a6c387] detail in 'currentpc' (only needs to work for Lua functions) (Roberto Ierusalimschy)
  • [3c4d970a] comment typos (Roberto Ierusalimschy)
  • [b0f2b288] new scheme for debug info about tail calls: no more 'fake' stack entries, but stack entry knows whether it was tail called (Roberto Ierusalimschy)
  • [2b25489b] 'notail' -> 'noextrachars' ('notail' may confuse with tail calls) (Roberto Ierusalimschy)
  • [a6f465f5] new mark LUAMOD_API for all luaopen_* functions (Roberto Ierusalimschy)
  • [9a41506b] 'os.exit' should close state only when second argument is true (Roberto Ierusalimschy)
  • [9a6d9ea5] GC may get stuck during a parser and avoids proper resizing of the string table, making its lists grow too much and degrading performance. (Roberto Ierusalimschy)
  • [062e809e] new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and definitions of non-static variables (Roberto Ierusalimschy)
  • [b4c18248] 'luaV_arith' must be marked 'LUAI_FUNC' (as all non-static functions) (Roberto Ierusalimschy)
  • [2e5ef6a9] new macro 'isdummy' (Roberto Ierusalimschy)
  • [1dea3930] small corrections for 'luaall.c' (Roberto Ierusalimschy)
  • [45dec345] comments (Roberto Ierusalimschy)
  • [b40a38a8] remove declaration of removed function (Roberto Ierusalimschy)
  • [ac899a63] 'debug.joinupvalue' -> 'debug.upvaluejoin' (Roberto Ierusalimschy)
  • [ce444bff] (huge) simplification of GC management (Roberto Ierusalimschy)
  • [2d5931eb] ensure that reader function cannot yield during parsing (Roberto Ierusalimschy)
  • [35fa2760] parser/scanner keep GC running (Roberto Ierusalimschy)
  • [b51d76ce] when doing hard memory tests, perform a full GC at every possible step (Roberto Ierusalimschy)
  • [95020afb] 'module' returns the new module (to be used with lexical environments) (Roberto Ierusalimschy)
  • [c5050b1c] functions 'getfenv' and 'setfenv' are deprecated (Roberto Ierusalimschy)
  • [b9063a08] new function 'loadin' (Roberto Ierusalimschy)
  • [7fe40573] renaming: 'lua_upvaladdr' -> 'lua_upvalueid', 'lua_upvaljoin' -> 'lua_upvaluejoin' (Roberto Ierusalimschy)
  • [1ce81933] new option 'isrunning' for 'lua_gc' (and 'collectgarbage') (Roberto Ierusalimschy)
  • [88eb901f] registry and global table may be changed through the API without a write barrier, so GC should visit them in the atomic phase. (Roberto Ierusalimschy)
  • [2583bac3] several small changes to simplify changing TValue if needed (Roberto Ierusalimschy)
  • [63a3b1a1] macro 'checkvalref' redefined as function (to avoid too long macros) (Roberto Ierusalimschy)
  • [fbf866a1] macro 'gkey' returns a "real" TValue* (Roberto Ierusalimschy)
  • [49a67c6d] new macro 'NILCONSTANT' to initialize nil constants (Roberto Ierusalimschy)
  • [a921d810] avoid using 'ttype' when there is an explicit test + macro 'checkdeadkey' to avoid repetitions (Roberto Ierusalimschy)
  • [155dd011] avoid using 'ttype' when there is an explicit test (Roberto Ierusalimschy)
  • [599789a9] better to enclose macros in 'if' bodies with brackets (Roberto Ierusalimschy)
  • [9756f563] better control over accesses to TValue fields (Roberto Ierusalimschy)
  • [b7d5f18d] api functions to manipulate upvalues do not need to check their arguments (the caller must check them before calling) (Roberto Ierusalimschy)
  • [5598b2bc] new functions to identify and join upvalues (Roberto Ierusalimschy)
  • [77077b39] comment explaining OP_VARARG was wrong (and corresponding code was not very clear) (Roberto Ierusalimschy)
  • [5bc91c64] no more one environment per thread: all threads share a single global environment (Roberto Ierusalimschy)
  • [f5073de0] 'ipairs' goes until length of array instead of stopping at the first nil (Roberto Ierusalimschy)
  • [f6ed285c] new hash for doubles based on frexp, to avoid low-level tricks (Roberto Ierusalimschy)
  • [1448e736] better documentation for constructor syntax (Roberto Ierusalimschy)
  • [6e415e93] local function definition does not need to correct debug information (Roberto Ierusalimschy)
  • [b114c99a] two small bugs: 'debug.getinfo' did not consider negative indices as out of range + 'debug.[gs]etlocal' crash on tail calls (Roberto Ierusalimschy)
  • [91658750] parser keeps list of active local variables in a single dynamic array, therefore saving C stack space (Roberto Ierusalimschy)
  • [a5382b76] new function lua_copy (Roberto Ierusalimschy)
  • [ba21aa8b] 'cpcall' must ensure correct environment for called function (Roberto Ierusalimschy)
  • [d119cf30] a few more instructions to testC (func2udata and getfield) (Roberto Ierusalimschy)
  • [0ac3d07e] first implementation of lexical environments (Roberto Ierusalimschy)
  • [59382127] information about upvalues (where they come from) kept in Proto structure, instead of sequence of pseudo-opcodes after OP_CLOSURE (Roberto Ierusalimschy)
  • [1829911d] some operations may shrink g->totalbytes so g->estimate must be more flexible (Roberto Ierusalimschy)
  • [bed2cb72] initialize g->estimate (just in case) (Roberto Ierusalimschy)
  • [ab75bd23] handle extended opcodes (with OP_EXTRAARG) when checking metamethod calls (Roberto Ierusalimschy)
  • [cee94df6] function list in luaL_register may be NULL for an empty list (Roberto Ierusalimschy)
  • [fcc46467] limit of constants per function changed to 2^26 using extra arguments to opcodes LOADK, GETGLOBAL, and SETGLOBAL (Roberto Ierusalimschy)
  • [f8e354e2] detail (space between function name and its parameter list) (Roberto Ierusalimschy)
  • [a6503788] 'cpcall' reimplemented as a predefined value in the registry (Roberto Ierusalimschy)
  • [99182c68] references must start after predefined values in the registry (Roberto Ierusalimschy)
  • [67cae285] 'lua_mainthread' replaced by new preregistered value LUA_RIDX_MAINTHREAD (Roberto Ierusalimschy)
  • [0e45ffb8] first implementation of 'lua_yieldk' (yield with continuation) (Roberto Ierusalimschy)
  • [071e54ae] extra facilities to testC: comments + commands print, callk and yield + Cfunc with extra upvalues (Roberto Ierusalimschy)
  • [a68494fb] 'debug.[gs]etupvalue' should be able to access C upvalues too (Roberto Ierusalimschy)
  • [4b44793d] "bug": lua_createtable with sizes changed (array <-> record) (Roberto Ierusalimschy)
  • [90e2a716] details + comments (Roberto Ierusalimschy)
  • [d9fbbe1f] "file:write" returns "file" in case of success (Roberto Ierusalimschy)
  • [4a714ceb] API checks now have explanatory messages (Roberto Ierusalimschy)
  • [5b6be841] ensures that argument 'mode' to 'io.open' matches "[rwa]%+?b?", to avoid passing invalid modes to 'fopen'. (Roberto Ierusalimschy)
  • [b2bb2f7f] better machinery to test continuations in the C API (Roberto Ierusalimschy)
  • [f096ab54] correct way to check arguments to 'strftime' (Roberto Ierusalimschy)
  • [4e1ffc48] test for 'fs' being NULL at the end of 'close_func' is useless ('fs' cannot be NULl and the new ls->fs can only be NULL when the token is EOS, in which case anchor_token has no effect). (Roberto Ierusalimschy)
  • [bc439e21] avoid an unprotected call to 'lua_tostring' which theoretically may cause a panicked exit (Roberto Ierusalimschy)
  • [1b448000] "stange numbers" (-0 and NaN) also go to the constant table (as strings with their binary representation). Therefore, constant folding may produce these results. (Roberto Ierusalimschy)
  • [42167804] luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers, not generic numbers). (Roberto Ierusalimschy)
  • [3135a6bb] luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers, not generic numbers) (Roberto Ierusalimschy)
  • [95cbc402] "But" -> "Bug" (misspelling) (Roberto Ierusalimschy)
  • [decada8d] 'debug.getfenv' does not check whether it has an argument (Roberto Ierusalimschy)
  • [ee5d03b4] small bug: debug.getfenv should check whether it has an argument (Roberto Ierusalimschy)
  • [323f33d0] 'collectgarbage"count"' returns a second argument with the count%1024. (Roberto Ierusalimschy)
  • [55dc7fb2] bug: stack must be cleared until its end (including extra size) + control of stack size moved to 'ldo.c' (Roberto Ierusalimschy)
  • [11d7ba79] tail calls do not need to move whole new frame down, only its slice up to last parameter (the rest has not been used yet) (Roberto Ierusalimschy)
  • [bd5fa9cc] new macro 'getproto' (Roberto Ierusalimschy)
  • [2658c949] detail (comment: 'correspoding' -> 'corresponding') (Roberto Ierusalimschy)
  • [21588576] 'index2adr' -> 'index2addr' (correct spelling) (Roberto Ierusalimschy)
  • [a5f68589] avoid using 'UNUSED' (not defined outside the kernel) (Roberto Ierusalimschy)
  • [28419c43] 'luaL_tolstring' uses 'lua_tolstring' instead of 'lua_tostring' and 'lua_objlen' (Roberto Ierusalimschy)
  • [5bff2aaf] calls with LUA_MULTRET may leave no free slots in the stack (Roberto Ierusalimschy)
  • [f76f4cb7] new way to control stack overflow, controling only total size of the stack (Roberto Ierusalimschy)
  • [abb85fc0] new definition for 'luaD_checkstack' to avoid possible overflows (Roberto Ierusalimschy)
  • [aabe3ddb] errors in 'resume' should be all protected (Roberto Ierusalimschy)
  • [0c258c84] smart use of varargs may create functions that return too many arguments and overflow the stack of C functions. (Roberto Ierusalimschy)
  • [d57c9cde] BUG: 'luaV_settable' may invalidate a reference to a table and try to reuse it. (Roberto Ierusalimschy)
  • [afb3f7e7] bug: 'luaV_settable' may invalidate a reference to a table and try to reuse it. (Roberto Ierusalimschy)
  • [88564c3a] Standard library for bitwise operations (Roberto Ierusalimschy)
  • [3abe3da9] new module 'lbitlib.c' for bitwise operations (Roberto Ierusalimschy)
  • [eb8499c8] use of LUAI_UINT32 replaced by 'unsigned LUA_INT32' (one less definition needed) (Roberto Ierusalimschy)
  • [47c56243] better error messages for luaL_checkversion (Roberto Ierusalimschy)
  • [02504d86] l_version may be local to 'lua_version' (Roberto Ierusalimschy)
  • [4a818f06] 'checkversion' implemented in the auxiliary library (Roberto Ierusalimschy)
  • [1d6ebce2] new function 'lua_version' (so that 'checkversion' can be implemented in the auxiliary library) (Roberto Ierusalimschy)
  • [bc3e02a1] default paths have dot option as the last one (to improve security) (Roberto Ierusalimschy)
  • [f4eed60c] better treatment of integer formats in string.format (Roberto Ierusalimschy)
  • [c1de1fda] small optimization in 'lua_arith' (avoids overhead in the common case of both arguments being numbers) (Roberto Ierusalimschy)
  • [a36c8e17] new macro 'changenvalue' (Roberto Ierusalimschy)
  • [d7872dcf] small optimization (reorder of BinOpr enum to unify some cases in switches) (Roberto Ierusalimschy)
  • [14115170] lua_objlen should not work for numbers (according to the manual) (Roberto Ierusalimschy)
  • [ec521494] 'lua_lessthan' replaced by more generic 'lua_compare' (Roberto Ierusalimschy)
  • [6980cb1a] new functions 'lua_arith' and 'lua_compare' (Roberto Ierusalimschy)
  • [59a59faf] exports luaV_arith to be used by lua_arith (Roberto Ierusalimschy)
  • [2bdd194f] exports luaV_arith to be used by lua_arith + uses 'luaO_arith' to perform basic arith. operations (Roberto Ierusalimschy)
  • [96fa34ec] constant folding uses 'luaO_arith' to perform basic operations (Roberto Ierusalimschy)
  • [6a024df4] new function 'luaO_arith' to perform basic arithmetic operations (Roberto Ierusalimschy)
  • [77fd9318] 'lessequal' renamed 'luaV_lessequal' and exported to be used by 'lua_compare' (Roberto Ierusalimschy)
  • [a21c89dd] new API function 'lua_mainthread' (Roberto Ierusalimschy)
  • [49b88b1c] patch for wrong code generation for some particular boolean expressions (Roberto Ierusalimschy)
  • [3db5f605] BUG: "(((1 or false) and true) or false)" gives wrong result (Roberto Ierusalimschy)
  • [2258ec6b] 'getline' renamed to 'getfuncline' (to avoid problems with POSIX) (Roberto Ierusalimschy)
  • [2598138e] new function 'luaK_codek' (detail) (Roberto Ierusalimschy)
  • [4a67e486] new macro 'condmovestack' instead of 'condhardstacktests' (Roberto Ierusalimschy)
  • [5cdec7d1] added "\n" at the end of 'package.config' (so that the string is a sequence of complete lines) (Roberto Ierusalimschy)
  • [9423e22a] no more L->base + ci->base only for Lua functions (C functions may use 'func') (Roberto Ierusalimschy)
  • [57f8414d] small bug in 'luaV_concat' (L->top was left incorrect in some cases) (Roberto Ierusalimschy)
  • [139d5628] type of 'luai_ctype_' array changed to unsigned (safer for bitwise operations) (Roberto Ierusalimschy)
  • [eea6d108] details (use ci->base instead of L->base when possible) (Roberto Ierusalimschy)
  • [019ebcb8] errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in __gc MetaMethod) (Roberto Ierusalimschy)
  • [889284eb] hexadecimal escape sequences in strings + better error messages for bad decimal escape sequences (Roberto Ierusalimschy)
  • [69563310] new macro 'zungetc' (Roberto Ierusalimschy)
  • [92479f1a] new property 'lisupper' (needed to compute values for hexa digits) (Roberto Ierusalimschy)
  • [e67dc3a2] 'symbexec' merged with 'getobjname' (as only use for symbolic execution now is to find a "good" name for an object) (Roberto Ierusalimschy)
  • [0cc3add9] variable renaming: 'lualibs' -> 'loadedlibs'; 'luareqlibs' -> 'preloadedlibs' (Roberto Ierusalimschy)
  • [71c2eeff] comments (Roberto Ierusalimschy)
  • [d7bc346d] no more code checking (Roberto Ierusalimschy)
  • [673c456c] resize string hash table only when new size is smaller than current one (Roberto Ierusalimschy)
  • [ea445708] hash table for strings is rehashed in place (Roberto Ierusalimschy)
  • [e091a254] new way to GC stacks: the entire stack must be correct all the times; the 'dead' part of a stack (after the top) must have only nil's, so that 'top' may go up without cleaning the stack. (Roberto Ierusalimschy)
  • [58c3aa8b] malicious zero-length string in binary code may segfault Lua + wrong code generation for some particular boolean expressions (Roberto Ierusalimschy)
  • [c1f78ff3] unused arguments removed (Roberto Ierusalimschy)
  • [e5249b9f] 'exit' changed to 'abort' in case of panic (+ some extra comments) 'abort' seems more in line with panic ("abnormal termination") (Roberto Ierusalimschy)
  • [d3037d97] several small improvements based on 'ci' being fixed now (including erasing savedpc from lua_State) (Roberto Ierusalimschy)
  • [c6b442bd] 'luaM_freearray' does not need array type as argument (Roberto Ierusalimschy)
  • [4f884181] 'CallInfo' stack implemented as double-linked list instead of an array (Roberto Ierusalimschy)
  • [311e9f3c] 'nresults' is saved in CallInfo from the caller, not the called (Roberto Ierusalimschy)
  • [8775f258] new function 'T.makeCfunc' (for later use) (Roberto Ierusalimschy)
  • [70a63fa5] first implementation of yieldable 'pcall' (Roberto Ierusalimschy)
  • [fffbaede] detail (Roberto Ierusalimschy)
  • [ae9ad6c6] added comment explaining why the 'feof' test when loading a file (Roberto Ierusalimschy)
  • [83d2dbb1] Lua will abort anyway, so 'panic' does not need to. (Roberto Ierusalimschy)
  • [4e437419] in 'lua_call', avoid preparing a continuation when thread cannot yield. (Roberto Ierusalimschy)
  • [a274596e] avoid making 'lastfree' an invalid pointer (Roberto Ierusalimschy)
  • [7e9bc41f] 'loadlib(lib, "*")' loads 'lib' with global names exported to all (Roberto Ierusalimschy)
  • [b1e1c15c] small bug: EOZ is a valid character to be tested (Roberto Ierusalimschy)
  • [3dbf3054] no more support for old-style varargs (Roberto Ierusalimschy)
  • [6d0ae11c] 'context' added to suspendable calls (Roberto Ierusalimschy)
  • [3ca739b4] 'math.random' uses lua_Number to manage its arguments (there is no reason to lose range). (Roberto Ierusalimschy)
  • [9e613b85] missing argument to 'assert' raises "assertion failed" error (Roberto Ierusalimschy)
  • [9428ec42] new optional argument to 'load', to control allowed modes (binary or textual chunks) (Roberto Ierusalimschy)
  • [6ffcf213] ctype 'lalpha' includes '' (as '' behaves as a letter from the point of view of Lua) (Roberto Ierusalimschy)
  • [6427c61e] added macro 'lisxdigit' (just in case :) (Roberto Ierusalimschy)
  • [ba484b9e] yielding across lua_call (first version) (Roberto Ierusalimschy)
  • [f9d01552] better notes about some opcodes (comments only) (Roberto Ierusalimschy)
  • [1817dfc3] initial separation, in CallInfo, of what is relevant only to Lua functions or only to C functions (Roberto Ierusalimschy)
  • [7837e34e] new states have a reasonable panic function + testC may run code on different threads + rename of some testC operations ('rawcall'->'call', 'call'->'pcall') (Roberto Ierusalimschy)
  • [910310d3] if thread has no error handling, try main thread handler before panicking (Roberto Ierusalimschy)
  • [facfcd49] detail (Roberto Ierusalimschy)
  • [b4033173] error functions search global space for a name for a function when no other name is available (Roberto Ierusalimschy)
  • [9bf05e73] code section 'Traceback' moved to the beginning of the file (Roberto Ierusalimschy)
  • [e39e758a] closing a "popen" file returns the process exit status (Roberto Ierusalimschy)
  • [5438d772] global array of ctypes renamed to 'luai_ctype_' (extern names must use a "lua" prefix...) (Roberto Ierusalimschy)
  • [6905ae90] Lua now uses "homemade" lctype (instead of ctype.h from ANSI C) (Roberto Ierusalimschy)
  • [ada82930] "homemade" version of ctype.h (Roberto Ierusalimschy)
  • [f36e3196] 'fputs' changed to 'luai_writestring' + use of 'lua_checkversion' (Roberto Ierusalimschy)
  • [0cea28a7] better error messages for 'lua_checkversion' (Roberto Ierusalimschy)
  • [d2ebdc04] new macro 'lua_checkversion' to check whether core and application are compatible (Roberto Ierusalimschy)
  • [81ede6bf] using light userdata to represent "remote" states (Roberto Ierusalimschy)
  • [2b579b4b] panic mode does not reset stack (so that panic function can gather debug information from it) (Roberto Ierusalimschy)
  • [a1d0e1a1] 'log10' is deprecated now (Roberto Ierusalimschy)
  • [89757398] better precision for log(x, 10) (Roberto Ierusalimschy)
  • [d07abcc6] finalizers always called protected (Roberto Ierusalimschy)
  • [18937814] buffer creation ensures buffer space plus MINSTACK in the stack (Roberto Ierusalimschy)
  • [82749b76] 'db_errorfb' changed to 'db_traceback' for consistency (Roberto Ierusalimschy)
  • [2b590aea] no more '__len' metamethod for strings (Roberto Ierusalimschy)
  • [547e4764] 'luaL_typeerror' spelled right (Roberto Ierusalimschy)
  • [41dd32e1] comment (should not use 'go trhough' when simply using multiple labels) (Roberto Ierusalimschy)
  • [5d3cc5de] 'writestring' changed into a configurable macro (Roberto Ierusalimschy)
  • [53db6079] avoid using 'fputs' in 'print' to avoid problems with embedded zeros (Roberto Ierusalimschy)
  • [cbf0c7a1] check for invalid use of '%' in replacement string in 'string.gsub' (Roberto Ierusalimschy)
  • [4c399c5d] detail (MAXSRC changed to LUA_IDSIZE) (Roberto Ierusalimschy)
  • [b4720984] concat TM can yield (Roberto Ierusalimschy)
  • [84b3daeb] generic for coded as two dedicated instructions to simplify resumption (Roberto Ierusalimschy)
  • [f6978173] yields accross metamethods and for iterators (except for __concat) (Roberto Ierusalimschy)
  • [e02483db] whole build depends on 'makefile' itself + better format for warning options (Roberto Ierusalimschy)
  • [9e58e0df] some cleaning (Roberto Ierusalimschy)
  • [690efef3] detail (added 'UNUSED' to unused argument) (Roberto Ierusalimschy)
  • [b9e92c8b] updating header dependencies (Roberto Ierusalimschy)
  • [4376c9bc] more specific test to avoid calling luaF_close when function returns (Roberto Ierusalimschy)
  • [f94cd220] better control of call status through CallInfo (Roberto Ierusalimschy)
  • [fdbb243f] first steps towards yielding through longjump (Roberto Ierusalimschy)
  • [c1565c16] small bug: lua_resume returning LUA_YIELD is not an error (Roberto Ierusalimschy)
  • [39464689] new field 'status' in CallInfo structure (Roberto Ierusalimschy)
  • [d69aa510] added missing parentheses around function names (Roberto Ierusalimschy)
  • [afe849c9] change in error message (Roberto Ierusalimschy)
  • [ccd678ea] 'module' may change the environment of a C function + internal macro 'svalue' is wrong (Roberto Ierusalimschy)
  • [bb92ef23] bug: string at the end of TString must consider the entire TString entity, not only its 'tsv' part (Roberto Ierusalimschy)
  • [bb48f456] bug: 'module' now checks that is caller is a Lua function (Roberto Ierusalimschy)
  • [df802dc7] larger alignment requirement helps to uncover some kinds of bugs (Roberto Ierusalimschy)
  • [e23da9ed] GC step does not unblock collector (when it is blocked by "stop") (Roberto Ierusalimschy)
  • [4db2cdde] LUA_COMPAT -> LUA_COMPAT_API (more specific) (Roberto Ierusalimschy)
  • [f9dec5fc] do not use compatibility macros in Lua (Roberto Ierusalimschy)
  • [6b8725b0] new macro LUA_COMPAT to control some compatibility macros (Roberto Ierusalimschy)
  • [69556662] 'string.byte' gets confused with some out-of-range negative indices + user-requested GC step may loop forever (Roberto Ierusalimschy)
  • [5298392c] bug: GC step could loop forever under very particular circumstances (Roberto Ierusalimschy)
  • [1ceec743] useless test removed (pointed by lint) (Roberto Ierusalimschy)
  • [2a84c29b] comment about exported function not used by Lua (Roberto Ierusalimschy)
  • [4d8a1103] useless #define removed (pointed by lint) (Roberto Ierusalimschy)
  • [202de592] useless #include removed (pointed by lint) (Roberto Ierusalimschy)
  • [f858a155] identation error (pointed by lint) (Roberto Ierusalimschy)
  • [9e7de947] message from -v option goes to stdout, as it is not an error message (Roberto Ierusalimschy)
  • [0c8f5fc2] simplification in the handling of finalizers: no more 'tmudata' list + no more GCSsweeptmu collector's state (Roberto Ierusalimschy)
  • [1527d8f0] GC called after errors now are called after showing error message (to avoid problems when there are other errors during GC itself) (Roberto Ierusalimschy)
  • [8efaf8af] added a comment about warnings for attribute(visibility) in some elf targets (Roberto Ierusalimschy)
  • [c3525610] bug: when closing the state, 'luaC_separateudata' might mark userdata in the wrong phase of collection, therefore avoiding their traversal (Roberto Ierusalimschy)
  • [7ba62e29] code reorganization (only changed comments and order of functions) (Roberto Ierusalimschy)
  • [8fd28611] outdated comment (Roberto Ierusalimschy)
  • [93869acb] "test trick" seems more useful with pointers instead of integers (Roberto Ierusalimschy)
  • [480a1da3] when error is 'bad self' original message probably makes no sense, so it is better not to show it. (Roberto Ierusalimschy)
  • [59e29733] removed static variable lua_state (not used) (Roberto Ierusalimschy)
  • [5d09be48] by default, 'os.exit' closes current state (Roberto Ierusalimschy)
  • [860e285f] 'luaL_gsub' moved into 'testC' (all auxlib should be tested through 'testC') (Roberto Ierusalimschy)
  • [eb8ac6e2] 'luaL_testudata' does not leave garbage on the stack in case of failure (Roberto Ierusalimschy)
  • [b1203e03] 'posrelat' avoids problems with -(-2^31) (Roberto Ierusalimschy)
  • [92a0d4c6] extra options in 'testC' for newmetatable and testudata (Roberto Ierusalimschy)
  • [5fa55df2] updated years in some comments/strings (Roberto Ierusalimschy)
  • [a3af42de] patch for "blow stack" bug (Roberto Ierusalimschy)
  • [198be23f] added structure for local-variable information to allow extra checkings if needed (Roberto Ierusalimschy)
  • [24359ae2] 'string.find' cannot find things after subject's end (Roberto Ierusalimschy)
  • [6c84722a] make default GC behavior a little more agressive (to avoid falling behind memory consumption) (Roberto Ierusalimschy)
  • [facb0519] two bugs: invalid boolean values in constant table + too deep recursion when reading nested functions (Roberto Ierusalimschy)
  • [ffdca352] 'table.sort' detects invalid order function before calling it for nil elements (Roberto Ierusalimschy)
  • [4d7469b6] avoid constant folding for -0 (to avoid it colapsing to 0) (Roberto Ierusalimschy)
  • [2b84e36b] patches for some bugs (Roberto Ierusalimschy)
  • [85bda9ee] bugs: precheck must use check (instead of assert) and ensures that code size is at least 1 (Roberto Ierusalimschy)
  • [a4d3080f] SETLIST extra argument now is an "instruction" (OP_EXTRAARG) (Roberto Ierusalimschy)
  • [5627d51e] corrected error message ("too many constants" -> "too many functions") (Roberto Ierusalimschy)
  • [e64b0cad] several bugs related to precompiled code (Roberto Ierusalimschy)
  • [7316d61a] 'coroutine.running' should work for the main thread too (Roberto Ierusalimschy)
  • [e2b366c7] userdata with finalizers are kept in a separated list (Roberto Ierusalimschy)
  • [fa19baab] proxies must be created with a __gc field in their metatables to work properly with new semantics for finalizers (Roberto Ierusalimschy)
  • [2f8351fe] turn off optimizations when testing (Roberto Ierusalimschy)
  • [32d42bdc] bugs: lua_checkstack may have arithmetic overflow for large 'size' + unpack with maximum indices may crash due to arithmetic overflow (Roberto Ierusalimschy)
  • [843d53aa] 'table.concat' may get confused with too large limits (Roberto Ierusalimschy)
  • [5ac33868] bug: unpack with maximum indices may crash due to arithmetic overflow (Roberto Ierusalimschy)
  • [6d182faa] bug: lua_checkstack may have arithmetic overflow for large 'size' (Roberto Ierusalimschy)
  • [f86f4116] micro-optimization: avoid one API call in 'read_chars' (Roberto Ierusalimschy)
  • [7f69f0ef] remove of useless test in 'read_chars' (if n == 0 then the resulting string cannot be empty). (Roberto Ierusalimschy)
  • [f6cab966] corrected name of 'Patrick Donnelly' (Roberto Ierusalimschy)
  • [3deb3881] added assertions checking maximum number of upvalues (Roberto Ierusalimschy)
  • [3b5b14a0] LUAI_MAXCSTACK must be smaller than -LUA_REGISTRYINDEX + coroutine.resume pushes element without ensuring stack size (Roberto Ierusalimschy)
  • [aec671c1] maximum C stack should reserve some values for pseudo-indices (Roberto Ierusalimschy)
  • [dd92af69] bug: pseudo-indices should be linked to maximum C stack size (Roberto Ierusalimschy)
  • [015e9738] bug: auxresume should reserve stack space for boolean result (Roberto Ierusalimschy)
  • [163f58da] in 'testC', booleans should be represented by booean values (Roberto Ierusalimschy)
  • [dcee7d2f] new instructions 'newtable' and 'checkstack' in 'testC' (Roberto Ierusalimschy)
  • [5f0a2f62] more options for 'kinds' of Garbage Collection + more agressive shrinking of stacks and string hash (Roberto Ierusalimschy)
  • [a7393022] more options for 'kinds' of Garbage Collection (Roberto Ierusalimschy)
  • [a76fa251] 'ceillog2' now is exported (other modules may need it) (Roberto Ierusalimschy)
  • [dd3519ab] comment (LUA_GLOBALSINDEX does not need write barrier in lua_replace) (Roberto Ierusalimschy)
  • [3a515df0] debug.sethook/gethook may overflow the thread's stack (Roberto Ierusalimschy)
  • [74897bc5] bug: debug.sethook/gethook may overflow thread's stack (Roberto Ierusalimschy)
  • [e7c989ba] avoid calling "tail return" hooks if the hook itself turns off the event (Roberto Ierusalimschy)
  • [7a3c8314] small bug (see http://lua-users.org/lists/lua-l/2007-08/msg00350.html) (Roberto Ierusalimschy)
  • [6f8257ec] it seems useless trying to avoid this warning... (Roberto Ierusalimschy)
  • [87b01917] better definition for LUAI_MAXCSTACK (Roberto Ierusalimschy)
  • [56c17ba4] detail (Roberto Ierusalimschy)
  • [daddc57a] luaL_tostring -> luaL_tolstring (more generic) (Roberto Ierusalimschy)
  • [f9cdd091] larger limit for MAXCSTACK (plus removing of some useless definitions) (Roberto Ierusalimschy)
  • [47b48583] detail ('name' of baselib is "_G") (Roberto Ierusalimschy)
  • [b8d23d6e] option to use Sun compiler (on lhf account) (Roberto Ierusalimschy)
  • [fdecdd0c] stand-alone interpreter shows incorrect error message when the 'message' is a coroutine (already fixed in 5.2) (Roberto Ierusalimschy)
  • [fabdaa37] 'lua_pushfstring' raises an error if called with invalid format (Roberto Ierusalimschy)
  • [bc82b4d7] new function 'package.searchpath' (Roberto Ierusalimschy)
  • [dae850e0] details (Roberto Ierusalimschy)
  • [abcc124d] BUG: lua_setfenv may crash if called over an invalid object (Roberto Ierusalimschy)
  • [b4164a9a] details (Roberto Ierusalimschy)
  • [9f0d62ad] BUG: table.remove removes last element of a table when given an out-of-bound index (Roberto Ierusalimschy)
  • [64ecf242] detail (Roberto Ierusalimschy)
  • [658e7caf] use prefix in extern names, even those in test files (Roberto Ierusalimschy)
  • [788506dd] detail (Roberto Ierusalimschy)
  • [62790ab1] detail (Roberto Ierusalimschy)
  • [ad60b3ea] avoid the use of "exotic" libc functions (Roberto Ierusalimschy)
  • [5e8dd555] first implementation of ephemerons (Roberto Ierusalimschy)
  • [0e961ad4] some changes toward ephemerons (Roberto Ierusalimschy)
  • [c06cc609] BUG: 'gsub' may go wild when wrongly called without its third > argument and with a large subject. (Roberto Ierusalimschy)
  • [2fa47665] detail (Roberto Ierusalimschy)
  • [7a78495f] avoid problems with 'ptrdiff_t' (Roberto Ierusalimschy)
  • [3138afbe] parser should not call 'luaX_lexerror' (Roberto Ierusalimschy)
  • [4eef0aaa] detail (Roberto Ierusalimschy)
  • [ab097329] new metamethods for '__pairs' and '__ipairs' (Roberto Ierusalimschy)
  • [b7fa6456] 27 is not a prime number :( (Roberto Ierusalimschy)
  • [2622ed25] better way to handle redefinitions of 'localeconv' (Roberto Ierusalimschy)
  • [9cb0607f] avoid warnings about exit; return (Roberto Ierusalimschy)
  • [8998032f] detail (Roberto Ierusalimschy)
  • [80b47535] better error message for 'concat' (Roberto Ierusalimschy)
  • [fe0838cd] tables and strings respect __len metamethod (Roberto Ierusalimschy)
  • [8acaa2ce] An error in a module loaded through the '-l' option shows no traceback. (Roberto Ierusalimschy)
  • [c676f13e] stand-alone error-message details (Roberto Ierusalimschy)
  • [9b47cee8] better to flush all files before starting new process with popen (Roberto Ierusalimschy)
  • [47e666c0] no need for ctype.h (Roberto Ierusalimschy)
  • [30595792] detail (Roberto Ierusalimschy)
  • [72c2f756] detail (LUA_COPYRIGHT includes release number) (Roberto Ierusalimschy)
  • [ec68ed66] detail (Roberto Ierusalimschy)
  • [f6a81dbe] BUG: too many variables in an assignment may cause a C stack overflow (Roberto Ierusalimschy)
  • [3904a66a] 'debug' library must be required before being used (Roberto Ierusalimschy)
  • [ffc5f782] detail (Roberto Ierusalimschy)
  • [3f78748e] traceback function moved to auxlib (Roberto Ierusalimschy)
  • [d26bfb5a] "spacial" reorganization to keep related functions in groups (Roberto Ierusalimschy)
  • [8d3dd041] clearing some old compatibility code (Roberto Ierusalimschy)
  • [791d8d85] detail (Roberto Ierusalimschy)
  • [e8551595] clearing some old compatibility code (Roberto Ierusalimschy)
  • [dc59444c] strong collision for very small numbers used as table keys (Roberto Ierusalimschy)
  • [6c042e17] avoid boolean equality (tricky for some compilers) (Roberto Ierusalimschy)
  • [18a58330] patch may be a little simpler (Roberto Ierusalimschy)
  • [fc8d0776] bug: wrong error message in some concatenations (Roberto Ierusalimschy)
  • [e64fcb9d] bug: recursive coroutines may overflow C stack (Roberto Ierusalimschy)
  • [6c0a9a27] assignment of nil to parameter may be optimized away __concat metamethod converts numbers to strings loadlib.c should not access Lua internals code generated for "-nil", "-true", and "-false" is wrong Count hook may be called without being set (Roberto Ierusalimschy)
  • [01fa1bc1] luaL_testudata (a luaL_checkudata that does not raise errors) is very needed. (Roberto Ierusalimschy)
  • [aa003eba] details (Roberto Ierusalimschy)
  • [becf19fe] better names for metamethods in debug information (Roberto Ierusalimschy)
  • [81fc3c4f] bug: code generated for "-nil", "-true", and "-false" is wrong (Roberto Ierusalimschy)
  • [e7fb0d8a] 'os.date' checks arguments before passing them to 'strftime' (Roberto Ierusalimschy)
  • [4eb49163] error handler in 'lua.c' tries '__tostring' metamethod if error message is not a string (Roberto Ierusalimschy)
  • [79cb336d] does not allow standard files to be closed (Roberto Ierusalimschy)
  • [38063345] several details (Roberto Ierusalimschy)
  • [ae00b3a7] another way to normalize -0 that avoids problems with very small numbers (adding 1 turns them all into 1) (Roberto Ierusalimschy)
  • [619be354] lua_pushstring/pushlstring return string (Roberto Ierusalimschy)
  • [94d40f39] luaO_log2 can be private to ltable.c (Roberto Ierusalimschy)
  • [585b81f9] remove of a non-used test function (Roberto Ierusalimschy)
  • [5f4f0d4a] no more optimization to avoid LOADNIL at function start (Roberto Ierusalimschy)
  • [8e36e1fe] details (randomseed calls rand once to dischard first value) (Roberto Ierusalimschy)
  • [97505caa] detail (Roberto Ierusalimschy)
  • [df50c84e] BUG: loadlib should not use Lua internals (lobject.h) (Roberto Ierusalimschy)
  • [1a455acc] two small bugs: some metamethods do not accept callable non-function objects + __concat converts numbers to strings before calling metamethod (Roberto Ierusalimschy)
  • [60bc151e] patch for last bug (Roberto Ierusalimschy)
  • [3b19bd4d] bug: wrong code when constant is coded after it should be (Roberto Ierusalimschy)
  • [08f902cf] better documentation for auxiliary functions (that should be called only through specific macros). (Roberto Ierusalimschy)
  • [d3c304e9] BUG: setfenv accepts invalid argument (Roberto Ierusalimschy)
  • [3bf0292c] two new bugs + one new patch (Roberto Ierusalimschy)
  • [a7861d9d] new year... (Roberto Ierusalimschy)
  • [d62a21b9] when formatting with '%q', all control characters are coded as \nnn. (Roberto Ierusalimschy)
  • [cf86576a] new function luaL_tostring (Roberto Ierusalimschy)
  • [92dc64e1] more regularity in the use of quotes in error messages (Roberto Ierusalimschy)
  • [593bfc96] should not manipulate NULL pointers (even without accessing them) (Roberto Ierusalimschy)
  • [850c60e8] detail for windows (Roberto Ierusalimschy)
  • [3d480b04] more specific ident labels (Roberto Ierusalimschy)
  • [c36e2265] detail (tab->space) (Roberto Ierusalimschy)
  • [a68df389] detail (Roberto Ierusalimschy)
  • [4d7cfff6] comments (Roberto Ierusalimschy)
  • [be822a5f] xpcall now may get arguments to function to be called (Roberto Ierusalimschy)
  • [9f5a052c] error message (Roberto Ierusalimschy)
  • [fc875334] detail (Roberto Ierusalimschy)
  • [80a267b1] avoid $URL for ident; it is reserved in subversion (Roberto Ierusalimschy)
  • [3182ac69] towards 5.2 + detail in authors + avoiding reverse plicks (Roberto Ierusalimschy)
  • [dead3858] detail (Roberto Ierusalimschy)
  • [afa0d0ac] new constant LUA_OK (Roberto Ierusalimschy)
  • [742b8be0] detail (Roberto Ierusalimschy)
  • [285f9261] avoid using index 0 for free list of references (because it is not as efficient as index 1...) (Roberto Ierusalimschy)
  • [3c8865cf] detail (Roberto Ierusalimschy)
  • [569a3269] small optimization for ""..x (Roberto Ierusalimschy)
  • [d1ef7e0e] avoid local "pc" in interpreter loop (tricky optimization with no real gain) (Roberto Ierusalimschy)
  • [d513c3c6] bug: os.date throws error when result is the empty string (Roberto Ierusalimschy)
  • [93d3c845] bug: string.format("%") reads past the string (Roberto Ierusalimschy)
  • [8667f29c] behavior of 'strchr(x, 0)' is ill defined. (Roberto Ierusalimschy)
  • [d22526ec] 'lua_strlen' is for compatibility only (Roberto Ierusalimschy)
  • [bd869c7b] details (Roberto Ierusalimschy)
  • [d5a23dde] little better error messages for internal arrays overflows (Roberto Ierusalimschy)
  • [a7c9e45c] avoid trailing white spaces (Roberto Ierusalimschy)
  • [cedd2092] 'coroutine.running' should return nil (instead of nothing) for main thread (Roberto Ierusalimschy)
  • [c4738180] avoid "too complex" conditional expression (some compilers get confused...) (Roberto Ierusalimschy)
  • [6087e677] no more compatibility option for long strings (Roberto Ierusalimschy)
  • [93bf6185] BUG: there is only one C stack, so nCcalls must be global (Roberto Ierusalimschy)
  • [dfe2f1ee] macros luai_num* take a state L (when available) as argument, to allow them to generate errors (and other facilities) (Roberto Ierusalimschy)
  • [ca7e5b5c] wrong message error in some cases involving closures (Roberto Ierusalimschy)
  • [5019b2dd] math.log now accepts an optional base (Roberto Ierusalimschy)
  • [33e7bc88] comment (Roberto Ierusalimschy)
  • [fa0c03aa] details (Roberto Ierusalimschy)
  • [3fa47c5d] bugs now are against 5.1.1 (Roberto Ierusalimschy)
  • [0782416a] bug: wrong limit for list constructors (Roberto Ierusalimschy)
  • [3ca9af51] emergency garbage collector (core forces a GC when allocation fails) (Roberto Ierusalimschy)
  • [c7b89dd2] small bug: should not use string after popping it (Roberto Ierusalimschy)
  • [74832b2a] detail (Roberto Ierusalimschy)
  • [ee41bc03] details (Roberto Ierusalimschy)

[v5.2.3]

  • [7ea44b56] details (typos in comments) (Roberto Ierusalimschy)
  • [63048dc9] 'LUA_VERSION_RELEASE' updated to 5.2.3. (Roberto Ierusalimschy)
  • [68670555] bug: Resuming the running coroutine makes it unyieldable (Roberto Ierusalimschy)
  • [2fb7d94b] bug: Call to macro 'luai_userstateclose' should be done only after the calls to __gc methods. (Roberto Ierusalimschy)
  • [c23f7053] BUG: GC can collect a long string still in use during parser (Roberto Ierusalimschy)
  • [42cf5f82] avoid undefined shift of LUA_NBITS in rotate operations (Roberto Ierusalimschy)
  • [d2209c07] bug: Wrong error message in some short-cut expressions (Roberto Ierusalimschy)
  • [39808bb9] bug: Wrong assert when reporting concatenation errors. (Roberto Ierusalimschy)
  • [dcd35b45] bug: garbage collector can trigger too many times in recursive loops, because it was not computing the size of CallInfo structures in threads (Roberto Ierusalimschy)
  • [c2ea1872] BUG: stack overflow in vararg functions with many fixed parameters called with few arguments (Roberto Ierusalimschy)
  • [2ca51814] Branch 5.2 - new releases for 5.2 go from here, main trunk goes for next version (Roberto Ierusalimschy)
  • [f5ae26ec] official branch for Lua 5.1 (Roberto Ierusalimschy)

[v5.2.2]

  • [c8e96d6e] logic for checking mode for 'fopen' moved to macro 'lua_checkmode' (Roberto Ierusalimschy)
  • [af8efcc7] detail (avoid unnecessary "unconst" in cast) (Roberto Ierusalimschy)
  • [3f6f78ea] detail (error message) (Roberto Ierusalimschy)
  • [e3a7104b] detail (avoiding warnings) (Roberto Ierusalimschy)
  • [76492b4b] macro 'lua_checkmode' + typos in comments (Roberto Ierusalimschy)
  • [75250a23] typos in comments (Roberto Ierusalimschy)
  • [437a49be] cast to avoid warnings (Roberto Ierusalimschy)
  • [4f0c716c] added two more commented warning options (just to know about them) (Roberto Ierusalimschy)
  • [70b0ee63] export 'lua_ident' to avoid it being removed by C++ linker (Roberto Ierusalimschy)
  • [8830901a] second parameter to 'ldexp' is an integer (Roberto Ierusalimschy)
  • [15a3738b] no need to handle 0 as a special case in 'table.remove' (Roberto Ierusalimschy)
  • [a83ed55f] added 'return' (when possible) to calls to error functions (Roberto Ierusalimschy)
  • [b559aed2] 'l_tg' was renamed to 'l_mathop' and this use was not corrected at the time (Roberto Ierusalimschy)
  • [d0c038da] typo in comment (Roberto Ierusalimschy)
  • [db424053] new release number + copyright year (Roberto Ierusalimschy)
  • [ad567219] details (5.2 corrected to 5.2.0) (Roberto Ierusalimschy)
  • [f4e762f6] better error checking for 'table.insert' and 'table.remove' (Roberto Ierusalimschy)
  • [1ce57628] comments (Roberto Ierusalimschy)
  • [181a837c] small improvement in the support of 'float' as lua_Number (Roberto Ierusalimschy)
  • [0730a56d] detail (Roberto Ierusalimschy)
  • [eecc1491] added some comments (Roberto Ierusalimschy)
  • [7ea68d84] added comment (Roberto Ierusalimschy)
  • [0e9167bc] missing brackets in 'if' body (no bug, only 'luaC_checkfinalizer' is called to do nothing) (Roberto Ierusalimschy)
  • [65e31fb1] Bug: load/loadfile returns wrong result when given an environment for a binary chunk with no upvalues (Roberto Ierusalimschy)
  • [f993771c] avoids warning with 'clang' + comment explaining macro (Roberto Ierusalimschy)
  • [52f9ccd2] removed unreacheable 'lua_unlock' (Roberto Ierusalimschy)
  • [a799ed5a] more precise control for GC pause (based on threshold) (Roberto Ierusalimschy)
  • [4082c77f] error message for 'bad self' includes original 'extramsg' (Roberto Ierusalimschy)
  • [bc84180d] error message in 'os.rename' does not include file name, because error may be caused both by 'fromname' or 'toname' (Roberto Ierusalimschy)
  • [ad5da6ba] API functions get acceptable indices except when not possible (when they modify the value at that index) + new macro 'ispseudo' + specific test 'api_checkstackindex' (Roberto Ierusalimschy)
  • [86b39206] open upvalues cannot be old if thread is not old; when thread is old, their list is not traversed anymore, and therefore can contain dead elements. (Roberto Ierusalimschy)
  • [fdae4b94] removed commented-out line (for debugging) (Roberto Ierusalimschy)
  • [84b65812] cast to avoid warning in some compilers (size_t x unsigned int) (Roberto Ierusalimschy)
  • [c6b6024a] cast in 'luai_makeseed' now casts to needed type (Roberto Ierusalimschy)
  • [d58ce810] macro 'lua_number2unsigned' also needs proper definition if lua_Number is float (Roberto Ierusalimschy)
  • [31f7d553] LUA_CORE condition removed from definition of some 'tricks' (as it controlled only a few other defines) + MS_ASMTRICK renamed to LUA_MSASMTRICK (Roberto Ierusalimschy)
  • [adaba040] 'pcall' may not restore previous error function when inside coroutines + Check for garbage collector in function calls does not cover all paths (Roberto Ierusalimschy)
  • [b157f354] BUG: 'pcall' may not restore previous error function when inside coroutines (Roberto Ierusalimschy)
  • [ab7086e2] pops the string from 'get_prompt' only after using it (Roberto Ierusalimschy)
  • [7a3de1ab] typo in comment (Roberto Ierusalimschy)
  • [8287a0db] detail (Roberto Ierusalimschy)
  • [cf160abc] no more macro 'changenvalue' (Roberto Ierusalimschy)
  • [ae1d3188] small bug: generational mode is always in 'propagate' mode only outside the collector: during collection of course it must go to other modes. (Roberto Ierusalimschy)
  • [20380739] more regularity for field 'fix' (Roberto Ierusalimschy)
  • [2dc91ca5] checks garbage collector every time it calls a function (as the stack can grow and so allocates more memory) (Roberto Ierusalimschy)
  • [a3e1c40d] remove of unecessary luaD_checkstack. (In some cases, C should ensure stack space; in others, Lua can use the extra slots for temporary values.) (Roberto Ierusalimschy)
  • [c1a2a646] details (no need to use lua_pushfstring for plain strings) (Roberto Ierusalimschy)
  • [53480f11] details (remove of some extra spaces) (Roberto Ierusalimschy)
  • [233eac4d] detail (avoid being picky about conversion from 'unsigned char' to 'int') (Roberto Ierusalimschy)
  • [6625cbec] Bug: Some patterns can overflow the C stack, due to recursion (Took the opportunity to refactor function 'match') (Roberto Ierusalimschy)
  • [4ac55997] typo (Roberto Ierusalimschy)
  • [763f84c8] Some patterns can overflow the C stack, due to recursion. (Roberto Ierusalimschy)
  • [e4f609d0] collector in generational mode must be in 'propagate' state when not running a collection (Roberto Ierusalimschy)
  • [5ac56a94] collector in generational mode should never be in 'pause' state (Roberto Ierusalimschy)
  • [4fc15bbf] major collections in generational mode are triggered by comparison with the memory estimate from last major collection (Roberto Ierusalimschy)
  • [f7ec36ab] comment (Roberto Ierusalimschy)
  • [b9264723] change in error message (Roberto Ierusalimschy)

[v5.2.1]

  • [78d98659] bugs: Internal Lua values may escape through the debug API + Problems when yielding from debug hooks (Roberto Ierusalimschy)
  • [cc2a60ec] bugs in yields inside debug hooks (Roberto Ierusalimschy)
  • [43bfb60a] new auxiliary function 'luaI_printinst' (to print a single instruction) (Roberto Ierusalimschy)
  • [c510d945] includes counts from 'sweeptolive' in cost of atomic step (Roberto Ierusalimschy)
  • [4dd0622d] bug in luaL_getsubtable (calling lua_absindex not with original stack) (Roberto Ierusalimschy)
  • [ab2c3d5c] small bug in error handling of finalizers (cannot call lua_tostring inside the core) + small bug in luaC_checkfinalizer (when avoiding remove object being sweeped from sweep list) + small changes in GC pace control (for the atomic part) (Roberto Ierusalimschy)
  • [01e5f358] small improvement in lua_checkmemory (only allow dead objects in part of the sweep list not yet sweeped) (Roberto Ierusalimschy)
  • [69c775de] update of 'lua_checkmemory' (Roberto Ierusalimschy)
  • [6fcdfc6d] bug: object being moved to 'finobj' list might not be sweeped by the collector (Roberto Ierusalimschy)
  • [b77a9068] typos in comments (Roberto Ierusalimschy)
  • [6efffb9a] only count in 'atomic' objects marked for the first time (Roberto Ierusalimschy)
  • [51e8f08e] more efficient way to apply 'stepmul' + some changes in GC parameters (Roberto Ierusalimschy)
  • [5adb5a48] definition for 'MAX_LMEM' (Roberto Ierusalimschy)
  • [e29f3a57] definition of 'GCSTEPSIZE' moved to header file + small changes (Roberto Ierusalimschy)
  • [21ed264a] compensate for 'GCSTEPSIZE' in GC steps (Roberto Ierusalimschy)
  • [e131eb0d] removed debug code (Roberto Ierusalimschy)
  • [054c20cd] spaces -> tabs in #defines (Roberto Ierusalimschy)
  • [8e7149f4] detail ('char' should be 'const char') (Roberto Ierusalimschy)
  • [086da10d] merge of fields 'lastmajormem' (used in gen. mode) and 'estimate' (used in inc. mode) (Roberto Ierusalimschy)
  • [b36b4b52] try to avoid sweeping new objects created with new white (and therefore not collectable in the current cycle) (Roberto Ierusalimschy)
  • [398811a3] simpler macro 'luaC_condGC' + better 'step' in 'lua_gc' + micro bug in 'luaC_checkfinalizer' (current sweep object could be removed from 'allgc' list) (Roberto Ierusalimschy)
  • [2a66b34f] revamp of the GC pace control; more like 5.1: any X Kbytes allocated makes the GC handle f(X) Kbytes of objects (Roberto Ierusalimschy)
  • [8d0e1ed5] extend optimization of 'if a then break end' for the case 'if a then break; end' (Roberto Ierusalimschy)
  • [3ac595da] allow "long double" precision for PI constant if needed (Roberto Ierusalimschy)
  • [ea980fde] removed 'stringmark' trick (Roberto Ierusalimschy)
  • [56547637] macro 'checkGC' takes care of setting 'top' to limit stack live values (Roberto Ierusalimschy)
  • [edfa9e00] details (header comments) (Roberto Ierusalimschy)
  • [31829ad1] test for whether collector is running moved from function to macro 'luaC_condGC'. (Roberto Ierusalimschy)
  • [c2361e0b] definition for 'LUAI_MAXSHORTLEN' moved to luaconf.h (too important) (Roberto Ierusalimschy)
  • [77cbd817] better(?) handling of '#define's for IEEE-related tricks + avoid using IEEE trick for 64-bit integer types (lua_Integer on 64-bit machines) (Roberto Ierusalimschy)
  • [4ec7d6de] bug: wrong handling of 'nCcalls' in coroutines (Roberto Ierusalimschy)
  • [f6a12948] useless parameter in macro 'luai_makeseed' (Roberto Ierusalimschy)
  • [3cadc37f] no more 'Proto' objects on the stack. Protos are anchored on outer Protos or on a Closure, which must be created before the Proto. (Roberto Ierusalimschy)
  • [bb1146dc] wrong error message when 'coroutine.create' or 'coroutine.wrap' are called with no arguments (new thread is assumed to be the missing argument). (Roberto Ierusalimschy)
  • [fc24a3a6] small bug: a reader function should not modify the Lua stack (Roberto Ierusalimschy)
  • [a94ce68e] bug: wrong handling of 'nCcalls' in coroutines (Roberto Ierusalimschy)
  • [ec22fc96] detail (separate code to create 'searchers' table into a new function) (Roberto Ierusalimschy)
  • [c54f5f64] primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical' way to distinguish between function calls and assignments (Roberto Ierusalimschy)
  • [4cca1a43] details (using lua_setglobal/lua_getglobal instead of explicit use of the global table) (Roberto Ierusalimschy)
  • [8df01981] release 5.2.1 (Roberto Ierusalimschy)
  • [048be9cf] different scheme to check arguments to '%d', '%x', etc. Old scheme did not work well when lua_Number is an integer. (Roberto Ierusalimschy)
  • [1485ea2e] Finalizers may call functions from a dynamic library after the library has been unloaded (Roberto Ierusalimschy)
  • [b10dbe5c] bug: C libraries must be unloaded after all other finalizers have run, because a finalizer may use a C function from a C library (Roberto Ierusalimschy)
  • [462375ba] 'if' to avoid empty 'memcpy' (may be expensive) (Roberto Ierusalimschy)
  • [cfbe2333] string hash may not use all bytes (but this is configurable now) + small other changes (Roberto Ierusalimschy)
  • [afc3fcf9] definition for 'LUA_MAXSHORTLEN' moved to 'lstring.c' (used only there) (Roberto Ierusalimschy)
  • [99bd1a00] error function can be 'l_noret' (Roberto Ierusalimschy)
  • [3e66d3b4] cleaner code (avoids loop with empty body) (Roberto Ierusalimschy)
  • [29a28693] 'luaL_checkversion' called by 'luaL_setfuncs' (Roberto Ierusalimschy)
  • [678c1255] random seed used in the hash of all strings to avoid intentional collisions (Roberto Ierusalimschy)
  • [a4b96ce9] first implementation of long strings (Roberto Ierusalimschy)
  • [291f5644] field 'reserved' -> 'extra' (may be used for other purposes too) (Roberto Ierusalimschy)
  • [9f1a8dbd] 'eqstr' -> 'luaS_eqstr' (Roberto Ierusalimschy)
  • [d19f1da6] new macro 'isreserved' + 'eqstr' -> 'luaS_eqstr' (may be a function) (Roberto Ierusalimschy)
  • [f88806a1] "default: lua_assert(0)" in switches helps debugging + uses non-variant types in binary files (Roberto Ierusalimschy)
  • [fb6eee28] Lua never uses Ã'assert' (it is always 'lua_assert') (Roberto Ierusalimschy)
  • [0010ec68] documentation comment (small correction about strings being gray) (Roberto Ierusalimschy)
  • [28f8ed91] new macro 'checktype' (Roberto Ierusalimschy)
  • [fd22ccd6] object tag keeps variant bits too -> no need for 'isC' field in Closures + more strick typing for closure variants (Roberto Ierusalimschy)
  • [76eab106] bug: Lexical gets confused with some combination of arithmetic operators and hexadecimal numbers (Roberto Ierusalimschy)
  • [81ed85ec] BUG: memory hoarding when creating Lua hooks for coroutines BUG: Lexical gets confused with some combination of arithmetic operators and hexadecimal numbers (Roberto Ierusalimschy)
  • [7dcc02b1] BUG: coroutine hooks were not collected together with coroutine (Roberto Ierusalimschy)

[v5.2.0]

  • [e2fc2ce8] new way to handle -E option (write a mark in the registry to avoid reading environment variables) (Roberto Ierusalimschy)
  • [a241b6cb] removed redundant definition for FILEHANDLE (Roberto Ierusalimschy)
  • [f0d143f3] avoid a few warnings (casts) (Roberto Ierusalimschy)
  • [c82087b8] cast from 'bool' to 'int' (for C++) (Roberto Ierusalimschy)
  • [138be5b8] no more explicit support for 'luaall_c': unifying file can do the work (Roberto Ierusalimschy)
  • [e320b5b6] small bug: format '%d' for lua_Number argument (Roberto Ierusalimschy)
  • [ca9c405f] some compilers (e.g., gcc C++) do not accept NULL as a pointer in that context (Roberto Ierusalimschy)
  • [e2feb886] macro 'luaL_getmetatable' seems more appropriate when getting metatables in registry (Roberto Ierusalimschy)
  • [5999e14a] old error messages may be misleading (Roberto Ierusalimschy)
  • [01747f2c] error message: "tag method" -> "metamethod" (Roberto Ierusalimschy)
  • [7377fbde] function prototype did not match one in .h (Roberto Ierusalimschy)
  • [f1d2ac3a] allow non-integer arguments to integer formats (%d, %x, etc.), but check range (Roberto Ierusalimschy)
  • [c5da4f4c] unused variable removed (Roberto Ierusalimschy)
  • [7bcb2462] comments (Roberto Ierusalimschy)
  • [0bd99b32] avoid "unreachable" 'break' (Roberto Ierusalimschy)
  • [6d8b6720] more uses of 'l_noret' (Roberto Ierusalimschy)
  • [e21b26a9] avoid 'return' "to avoid warnings" (Roberto Ierusalimschy)
  • [0f388193] 'lUA' -> 'LUA' (Roberto Ierusalimschy)
  • [7948b856] when available, use '*_r' versions of 'gmtime' and 'localtime' (Roberto Ierusalimschy)
  • [61b1d9a4] another try to avoid warnings about unreachable 'return' after 'exit' (Roberto Ierusalimschy)
  • [3617e04e] 'lua_load' has an extra argument 'mode' (Roberto Ierusalimschy)
  • [8c62bde3] comment (Roberto Ierusalimschy)
  • [51650eac] small change to avoid warnings of non-specified order of access to volatile fields (Roberto Ierusalimschy)
  • [aea68e5c] explicit option RTLD_LOCAL instead of 0 (Posix does not fix a default for dlopen) (Roberto Ierusalimschy)
  • [ece042fe] 'table.pack' does not return 'n' (may be confusing when using table.pack as last argument in a call) (Roberto Ierusalimschy)
  • [217b65e6] avoid some warnings about converting 32-bit shifts into 64-bit results (Roberto Ierusalimschy)
  • [8119374e] avoid warnings of unreacheable 'break's (Roberto Ierusalimschy)
  • [3a997eef] MS_ASMTRICK is only valid on MS compilers (not any Windows compiler) (Roberto Ierusalimschy)
  • [5184ff20] 'LUA_DL_DLL' is not yet defined before the inclusion of 'lua.h' (Roberto Ierusalimschy)
  • [b0cbe778] '_fseeki64' and family not available in all Windows platforms (Roberto Ierusalimschy)
  • [6e899850] details (Roberto Ierusalimschy)
  • [fded7bef] options for 'collectgarbage' renamed: "inc" -> "incremental"; "gen" -> "generational" (Roberto Ierusalimschy)
  • [b5d72550] small changes to avoid some warnings (Roberto Ierusalimschy)
  • [6cce5c06] new function 'luaL_loadfilex' (Roberto Ierusalimschy)
  • [eb70f582] 'luaIO_Stream' -> 'luaL_Stream' (Roberto Ierusalimschy)
  • [ef900f22] strutcture for file handles exported in 'lauxlib.h' (Roberto Ierusalimschy)
  • [3105febf] using Lua buffers to build error messages (Roberto Ierusalimschy)
  • [7133e20c] make treatment of 'pcall' and 'xpcall' more similar (Roberto Ierusalimschy)
  • [888d39ea] refactoring of common parts of 'pcall' and 'xpcall' + avoids stack errors on these functions (return error code instead) (Roberto Ierusalimschy)
  • [eef22fa4] create error messages with a single concat, to avoid problems with creating strings piecemeal (Roberto Ierusalimschy)
  • [eda87f11] in 'luaL_checkstack', include extra stack space in test to allow correct execution of error routines, if necessary (Roberto Ierusalimschy)
  • [e0e406ea] extra argument to instruction 'checkstack' (in 'testC') (Roberto Ierusalimschy)
  • [30cea671] configurable 'directory separator' in 'package.searchpath' (Roberto Ierusalimschy)
  • [a716ae1f] avoids including 'stdio.h' everywhere (because of definitions for luai_writestring/luai_writeline) (Roberto Ierusalimschy)
  • [ea382b0b] small bug: error message in 'io.lines' is not the error number (Roberto Ierusalimschy)
  • [6d8d282e] avoid calling "extra value" as if it were a function option (Roberto Ierusalimschy)
  • [00c8a17a] by default, do not use Windows' goodies in Windows CE build (Roberto Ierusalimschy)
  • [166ce155] cannot apply macro 'getstr' over NULL (Roberto Ierusalimschy)
  • [87cf2bf7] extra comments about what fields are optional debug information (Roberto Ierusalimschy)
  • [fd8a8496] detail (avoid applying macro 'getstr' with a function-call argument) (Roberto Ierusalimschy)
  • [5a568a3b] detail (comment) (Roberto Ierusalimschy)
  • [475e6c53] 'lua_setglobal/lua_getglobal' implemented as functions to avoid problems with stack indices (e.g., lua_getglobal(L, lua_tostring(L, -1)) ) (Roberto Ierusalimschy)
  • [af00a077] new functions lua_rawsetp/lua_rawgetp (Roberto Ierusalimschy)
  • [6819c2a9] silly bug in 5.2 beta: assignment conflict code did not test to check whether variable was a table element (Roberto Ierusalimschy)
  • [1dd8af67] BUG: parser may collect a prototype while building it. (Roberto Ierusalimschy)
  • [1350a2bc] more macros to try to make NaN trick work with other sizes of IEEE float numbers. (It has not been tested with such different sizes...) (Roberto Ierusalimschy)
  • [217e67cb] new type 'l_noret' for function that do not return (Roberto Ierusalimschy)
  • [9bbfe9f3] avoid the word 'TRICKLE' in macro name (as it has nothing to do with its meaning) (Roberto Ierusalimschy)
  • [788a0ecd] 'luaC_separateudata' renamed to 'separatetobefnz' and called only from 'lgc.c' (Roberto Ierusalimschy)
  • [6d86b937] 'luaC_separateudata' called from 'luaC_freeallobjects' + removed extra 'luaF_close' (already being called by 'close_state') (Roberto Ierusalimschy)
  • [bc90cf4b] retraverse all gray lists together to avoid traversing some weak tables twice (as they may change lists when traversed) (Roberto Ierusalimschy)
  • [d79190e2] missing 'LUA_CORE' definition (Roberto Ierusalimschy)
  • [9caf5b4f] lint (unused definition) (Roberto Ierusalimschy)
  • [50cddefe] lint (wrong identation) (Roberto Ierusalimschy)
  • [e24f1ee9] lint (unreachable code) (Roberto Ierusalimschy)
  • [f3b0eb3e] lint (unused macros) (Roberto Ierusalimschy)
  • [162ce825] lint (unused struct field) (Roberto Ierusalimschy)
  • [ad90447e] detail: new macros for non-valid values (Roberto Ierusalimschy)
  • [87912786] dead objects are not collectable. (Roberto Ierusalimschy)
  • [5645a843] detail about 'trick' function (nil turn it off) (Roberto Ierusalimschy)
  • [95ed6c11] better(?) scheme for cleaning weak tables; all ressurected objects are removed from weak values before finalization (Roberto Ierusalimschy)
  • [12ab78ac] detail in extra trace code: total bytes is given by 'gettotalbytes', not by 'totalbytes' counter. (Roberto Ierusalimschy)
  • [45c34664] avoid clearing ephemeron tables that have nothing to be cleaned (no white elements) (Roberto Ierusalimschy)
  • [68ce8782] cannot compute 'mainposition' before checking whether key is nil (Roberto Ierusalimschy)
  • [500336ef] small bug in if-goto optimization: block must be closed ('leaveblock') before the jump out ('escapelist') (Roberto Ierusalimschy)
  • [5ea8f108] using 'long' versions of 'fseek'/'ftell' when available (Roberto Ierusalimschy)
  • [2275030b] details (and missing 'break's) (Roberto Ierusalimschy)
  • [05de3147] upvalue names always can be NULL (if debug info was removed), so always check for that case (Roberto Ierusalimschy)
  • [d281d23f] detail (make 'lua_assert' a valid expression even when turned off) (Roberto Ierusalimschy)
  • [ec431ce5] comment (Roberto Ierusalimschy)
  • [c8f47c29] optimization for |if cond then goto| (Roberto Ierusalimschy)
  • [ca458f1f] 'luaK_goiffalse' exported (Roberto Ierusalimschy)
  • [121dc8af] cleaner code for 'if' construct (Roberto Ierusalimschy)
  • [a8675966] detail: centralize all tests for Windows on variable 'LUA_WIN' (Roberto Ierusalimschy)
  • [3dc5475e] 'nCcalls' should be local to each thread, as each thread may have its own C stack (with LuaThreads or something similar) (Roberto Ierusalimschy)
  • [8a008a20] bug: __newindex metamethod may not work if metatable is its own metatable. (Roberto Ierusalimschy)
  • [89b59eee] bug: __newindex metamethod may not work if metatable is its own metatable + luaV_settable does not create entry when there is a metamethod (and therefore entry is useless) (Roberto Ierusalimschy)
  • [166dd026] new option '-E' to avoid environment variables (Roberto Ierusalimschy)
  • [51471ba7] comments about use of 'luaH_set' (Roberto Ierusalimschy)
  • [0b65cb74] new implementation for 'getobjname': first search for relevant instruction (new function 'findsetreg') and then try to build a meaningful name (Roberto Ierusalimschy)
  • [ea46b750] comment (Roberto Ierusalimschy)
  • [92afcf28] no more 'luaH_setstr (used only once) + 'luaH_setint' receives value to be set. (Roberto Ierusalimschy)
  • [b5bf7d9e] 'string.format' checks whether values for integer formats are actually integers (Roberto Ierusalimschy)
  • [6a5d89b3] detail (using array instead of several variables to keep track of enabled command-line options) (Roberto Ierusalimschy)
  • [ae14adc2] better error message when trying to open files (Roberto Ierusalimschy)
  • [ff98f17d] detail: factoring in common code for opening files and checking for errors (Roberto Ierusalimschy)
  • [59bcd137] reducing even more use of C stack by the parser: struct 'FuncState' does not need field 'L' + number of labels/gotos in a chunk may be limited to SHRT_MAX. (Also removed some non-needed 'unsigned's.) (Roberto Ierusalimschy)
  • [5ab6d36d] no more field 'L' in 'FuncState' (Roberto Ierusalimschy)
  • [43c87389] tonumber: base 10 is not special, no base is (Roberto Ierusalimschy)
  • [03a07849] refuse things like 'inf' or 'Nan' as numerals (Roberto Ierusalimschy)
  • [bae57ea0] 'M_IX86' -> '_M_IX86' (Roberto Ierusalimschy)
  • [2557107e] removed unused variable 'found' (in 'findfield') + removed legacy test for 'what' being "tail" (Roberto Ierusalimschy)
  • [32a12e2f] detail (cleaned whitespaces at end of lines) (Roberto Ierusalimschy)
  • [559bb554] no more 'zungetc' (better not to read next char) (Roberto Ierusalimschy)
  • [fd5e810e] macro 'char2int' replaced by 'cast_uchar' (used by other files) (Roberto Ierusalimschy)
  • [067f7617] better code for numerical escapes (Roberto Ierusalimschy)

[v5.2-beta]

  • [7978a8d8] added '_M_IX86' in NaN trick (Roberto Ierusalimschy)
  • [32e09c2a] detail (Roberto Ierusalimschy)
  • [df19931d] error on invalid escape sequences (Roberto Ierusalimschy)
  • [b5084fda] detail (comment) (Roberto Ierusalimschy)
  • [d8200d5f] '*' -> '\z' + '?' is not an official escape sequence (Roberto Ierusalimschy)
  • [79cbc346] removed and deprecated functions really removed from the code base (Roberto Ierusalimschy)
  • [9e89a55a] NILCONSTANT also depends no endianess (with NaN trick) (Roberto Ierusalimschy)
  • [b707e81c] comments about some compiler options that should be tested once in a while (Roberto Ierusalimschy)
  • [ee37ee50] 'table.pack' also returns 'n' + 'deprecated' changed to 'removed' (Roberto Ierusalimschy)
  • [ad1a54b5] reordering of some defines (more logical grouping) (Roberto Ierusalimschy)
  • [88c29c0c] compilation warning about integer size x pointer size (Roberto Ierusalimschy)
  • [d93df22b] small simplifications (and assert was wrongly written) (Roberto Ierusalimschy)
  • [5017cc6b] simpler 'luai_apicheck' (and avoids compilation error...) (Roberto Ierusalimschy)
  • [2f125ebc] 'deprecated' x 'removed' (they are not the same thing) (Roberto Ierusalimschy)
  • [49a01c09] 'package.loaders' -> 'package.searchers' (Roberto Ierusalimschy)
  • [17526ed2] no more errors on accesses to 'string' and strings (Roberto Ierusalimschy)
  • [f180822f] back to internal table for 'ctype', no more locale manipulation (Roberto Ierusalimschy)
  • [594220c6] use standard "underscore + uppercases" for reserved keys in the registry (Roberto Ierusalimschy)
  • [3dd68624] comments (Roberto Ierusalimschy)
  • [f9eea453] avoid "magic constant" 32 (the difference from 'A' to 'a') (Roberto Ierusalimschy)
  • [37477374] back to "one-label-per-block" (Roberto Ierusalimschy)
  • [29644366] useless assignments removed (macros already do the assignment) (Roberto Ierusalimschy)
  • [6eadedbf] resort to standard C ctype for non-ASCII systems + 'ltoupper' replaced by 'ltolower' (Roberto Ierusalimschy)
  • [1978094b] resort to standard C ctype for non-ASCII systems (Roberto Ierusalimschy)
  • [5acc5b0c] using 'tolower' instead of 'toupper' (slightly simpler to implement) (Roberto Ierusalimschy)
  • [59547c6c] macro 'ltoupper' instead of 'lisupper' (more usefull for Lua) (Roberto Ierusalimschy)
  • [3d3355b4] label syntax changed to '::label::' (Roberto Ierusalimschy)
  • [801f43f0] change in the representation of file handles (Roberto Ierusalimschy)
  • [719c0135] label syntax changed to '::label::' (Roberto Ierusalimschy)
  • [43f13729] comment (Roberto Ierusalimschy)
  • [136f8e14] added cast to void to calls to 'setlocale' (to easy redefining it as a constant) (Roberto Ierusalimschy)
  • [f90a130b] typo in message (Roberto Ierusalimschy)
  • [cb4950a6] parser must work with C locale, but external locale must be preserved (Roberto Ierusalimschy)
  • [fdede854] label names must be unique inside a function (Roberto Ierusalimschy)
  • [beab6260] correct length for LUA_COPYRIGHT (without trailing '\0') (Roberto Ierusalimschy)
  • [817f8674] avoid warning about -unsigned value (Roberto Ierusalimschy)
  • [cf0562e1] detail (missing cast to unsigned char when converting char to int) (Roberto Ierusalimschy)
  • [22e1c5eb] avoid conversion from 'const char*' to 'void *' (warning about 'const') (Roberto Ierusalimschy)
  • [470dd56a] 'os.execute' (and similars) should return 'exit' and code in case of success, too. (Roberto Ierusalimschy)
  • [20d30bcd] declarations should be present only when implementations are (Roberto Ierusalimschy)
  • [44b6f496] just in case, avoid side effects in 'ctype' macros (Roberto Ierusalimschy)
  • [fd80e634] configuration for NaN trick big-endian + macro 'luai_checknum' to ensure numbers comming from C are not "improper" (some kinds of signaling NaNs) (Roberto Ierusalimschy)
  • [f62565ab] avoid warnings with -Wstrict-overflow (Roberto Ierusalimschy)
  • [c9d1d9f9] better way to test overflows with string indices (Roberto Ierusalimschy)
  • [35391d9b] macro 'NNMARK' (mark for non-number values using the NaN trick) (Roberto Ierusalimschy)
  • [99b1b8e9] first version with 'NANTRICK' (packing all Lua values inside a 'double') (Roberto Ierusalimschy)
  • [3b448213] stricter control (using tag variants) over closure kinds (Lua x C) (Roberto Ierusalimschy)
  • [0214dab9] yet another macro ('num_') (Roberto Ierusalimschy)
  • [821bd702] more uniform names for 'equalobj'-related functions (Roberto Ierusalimschy)
  • [9b7dddad] no need for two different implementations for equality (one raw and one with metamethods) (Roberto Ierusalimschy)
  • [3f04a9f2] code is simpler without 'goto' here (Roberto Ierusalimschy)
  • [2a59a999] yet another macro abstracting TValue representation (Roberto Ierusalimschy)
  • [ee7d0c26] new macro 'luai_writeline' to print newlines (and flush 'stdout') (Roberto Ierusalimschy)
  • [aa13c591] avoid use of 'ifdef/ifndef'; use 'defined' instead (simpler and more powerful) (Roberto Ierusalimschy)
  • [6c8a3221] changes by lhf (better control of chars x bytes) (Roberto Ierusalimschy)
  • [cb09f4fe] details (Roberto Ierusalimschy)
  • [3cf1729a] new macro 'lua_longassert' that is equivalent to an assertion without a stringfication of the condition, to avoid too long string literals (limited by C90 to ~510 characters) (Roberto Ierusalimschy)
  • [74b0bb3a] macro 'checkconsistency' moved to this file, as it is used only here (Roberto Ierusalimschy)
  • [e4076fe6] break long assertion in two shorter ones (Roberto Ierusalimschy)
  • [81952e68] avoid using expression as argument to unsafe macro 'l_isfalse' (Roberto Ierusalimschy)
  • [25b4e35e] new macros abstracting TValue representation (to easy change to other representations) (Roberto Ierusalimschy)
  • [7e1facaa] detail in assertion (Roberto Ierusalimschy)
  • [ad2531a0] more complete (and hopefuly more correct) handling of 'sizeof(char)' (Roberto Ierusalimschy)
  • [bc1c718c] removed TOKEN_LEN (useless) (Roberto Ierusalimschy)
  • [c9ce754e] comment (Roberto Ierusalimschy)
  • [d34271fe] MacOS 'strtod' handles hexa formats too (Roberto Ierusalimschy)
  • [d120ec29] bug in OP_SELF when method name goes to a register (Roberto Ierusalimschy)
  • [2aff901c] Mac OS defines LUA_USE_AFORMAT and LUA_USE_LONGLONG by default (Roberto Ierusalimschy)
  • [bad231c4] 'LUA_USELONGLONG' -> 'LUA_USE_LONGLONG' (Roberto Ierusalimschy)
  • [a2b1c279] 'LUA_USELONGLONG' on by default on Linux + LUA_USE_HEXAFLOAT renamed to LUA_USE_STRTODHEX (as Lua 5.2 always uses hexa floats) (Roberto Ierusalimschy)
  • [2f128c51] 'luaL_setfuncs' does not need to accept a NULL list. (If there is no list, there is no reason to call this function.) (Roberto Ierusalimschy)
  • [47581130] change in opcode OP_LOADNIL: B is used as a counter instead of a register. (Avoids an assignment to R(B), not present in any other instruction.) (Roberto Ierusalimschy)
  • [a4e644ad] small bug (masked by wrong entry for OP_TEST in opcodes.c) (Roberto Ierusalimschy)
  • [05ca6364] added macro for code checking (Roberto Ierusalimschy)
  • [f17e3624] local function name only visible to debug info after being initialized (Roberto Ierusalimschy)
  • [2e9b8476] detail ('luai_apicheck' should be used always through macro 'api_check') (Roberto Ierusalimschy)
  • [c31f4946] copyright updated to 2011 (Roberto Ierusalimschy)
  • [c86586e8] small corrections in description of OP_TEST and OP_LOADKX (Roberto Ierusalimschy)
  • [19fbdf6c] 'luaL_findtable' -> 'luaL_getsubtable' (Roberto Ierusalimschy)
  • [427ee519] new instruction OP_LOADKX (to replace OP_LOADK with extra argument) (Roberto Ierusalimschy)
  • [a958b711] cleaner scheme of bits for variant types (light C functions) and collectable types (Roberto Ierusalimschy)
  • [1ffdd0bc] detail (should use macro 'ttisdeadkey') (Roberto Ierusalimschy)
  • [52866508] new macro 'ttisequal' (Roberto Ierusalimschy)
  • [0fb1644c] 2nd operand for unary tag methods does not need to be 'nil' (Roberto Ierusalimschy)
  • [119d5e46] lua_arith gets no fake operand for unary minus (Roberto Ierusalimschy)
  • [83abbac9] all names used internally by macros end with '_' (Roberto Ierusalimschy)
  • [a25416a8] use of 'luaL_tolstring' for option '%s' in 'string.format' (Roberto Ierusalimschy)
  • [682cce38] macro 'mark' renamed 'EOFMARK' ('mark' is too easy to confict, e.g. in alllua.c) (Roberto Ierusalimschy)
  • [d806710a] returns for file-related functions and process-related functions unified in 'auxlib' (Roberto Ierusalimschy)
  • [e049abb6] loaders receive an extra argument returned by the searcher (typically the file name) (Roberto Ierusalimschy)
  • [98816d0c] small problems with 'luaone.c' (Roberto Ierusalimschy)
  • [7482e8f9] no need of lookahead in Zio (Roberto Ierusalimschy)
  • [03b76905] correct interpretation of return value from pclose (Roberto Ierusalimschy)
  • [3c710f05] small bug: may call reader function again after it returned end of input (Roberto Ierusalimschy)
  • [c0a865fa] error for repeated label + jumps allowed to labels followed by 'no-op' statements (Roberto Ierusalimschy)
  • [0009ac1f] 'break' does not need to be last statement in a block + 'explist1' -> 'explist' + moving a few functions around (Roberto Ierusalimschy)
  • [7b968bb5] p-close returns "correct" status plus type of termination (Roberto Ierusalimschy)
  • [bf8b0829] 'break' coded as 'goto' + small bug when closing multiple gotos to the same label (Roberto Ierusalimschy)
  • [3f5b56c4] simpler code for repeat-until (Roberto Ierusalimschy)
  • [e7192dfd] corrected 'follow' for checking whether label is last statement in a block (Roberto Ierusalimschy)
  • [0539f486] small changes in goto-related error messages (Roberto Ierusalimschy)
  • [e7a9c45a] trying to avoid assumption that sizeof(char)==1 (Roberto Ierusalimschy)
  • [fd6c1f48] ensures that all local variables are declared inside some block, opening a new block at 'open_func' (Roberto Ierusalimschy)
  • [f0797492] some reorganization of dynamic data structures used by the parser (Roberto Ierusalimschy)
  • [f8d677f9] no more 'OP_CLOSE' instructions (use jumps to close upvalues) (Roberto Ierusalimschy)
  • [094a7d02] detail in 'print_usage' (Roberto Ierusalimschy)
  • [7cc0e63d] first implementation of 'goto' (Roberto Ierusalimschy)
  • [a4a8914c] new reserved word 'goto' (Roberto Ierusalimschy)
  • [06c7efb4] avoid extra increment to 'savedpc' when jumping (Roberto Ierusalimschy)
  • [dd547c55] new scheme to close upvalues in 'break'; jump instructions may do the close, avoiding the need for a OP_CLOSE instruction (Roberto Ierusalimschy)
  • [f6bd8b11] better control for GC running or stopped (Roberto Ierusalimschy)
  • [a7faa557] bug: problem with optimizations of short-circuit logic (Roberto Ierusalimschy)
  • [026a7e92] bug in some short-circuit optimizations (Roberto Ierusalimschy)
  • [c4ea0c3b] detail (cleaning trailing spaces) (Roberto Ierusalimschy)
  • [7106c491] 'sep' argument to 'string.rep' + 'string.rep' preallocates entire buffer before creating resulting string (Roberto Ierusalimschy)
  • [a10d495b] 'luaL_findtable' returns boolean about whether it created a new table (to easy initializing table) (Roberto Ierusalimschy)
  • [c2e3cc4c] using 'luaL_findtable' to manage hook table (Roberto Ierusalimschy)
  • [67feed49] optional argument 'sep' to 'searchpath' (Roberto Ierusalimschy)
  • [b63b0928] prototype for 'luaO_ceillog2' was different from definition (Roberto Ierusalimschy)
  • [51167931] new function 'rawlen' (Roberto Ierusalimschy)
  • [868ff403] full collection does not restart collector + avoid changing GC state if an error happens in a step (Roberto Ierusalimschy)
  • [aa6faa63] own implementation of 'tunumber', so that it works correctly with numbers outside the 'int' range (Roberto Ierusalimschy)
  • [0b3f4e25] more efficient hash for numbers in IEEE754 machines (Roberto Ierusalimschy)
  • [551b076f] change in the relationship between totalbytes and GCdebt - luaM_realloc_ is too critical to update two counters (Roberto Ierusalimschy)
  • [737f1191] better control for GC running or stopped (Roberto Ierusalimschy)
  • [8980c630] error when indexing strings with invalid keys (Roberto Ierusalimschy)
  • [8d579c5b] 'debug.setmetatable' returns object (like 'setmetatable') (Roberto Ierusalimschy)
  • [d51743b0] removed 'newproxy' (Roberto Ierusalimschy)
  • [1a92c2b3] allows number of bits used by the library to be changed from outside (Roberto Ierusalimschy)
  • [fe0d54d3] table library respects '#' metamethods (Roberto Ierusalimschy)
  • [c9af0768] GC does not mark dead registers inside activation record (Roberto Ierusalimschy)
  • [7e0caa7d] new closures are always created on "next" register (so that GC knows stack limit) (Roberto Ierusalimschy)
  • [a40768e5] new macro 'luaC_condGC' to allow extra code to be run in case of GC steps (Roberto Ierusalimschy)
  • [4a83fe56] comment (Roberto Ierusalimschy)
  • [b83b6ba0] 'loadin' -> 'load' (Roberto Ierusalimschy)
  • [af119c8b] official support for floating hexa numerals (Roberto Ierusalimschy)
  • [1aead7f5] 'hexafloat' moved to 'lobject.c' (hexa conversion needs it too) (Roberto Ierusalimschy)
  • [75d8470f] new macro 'cast_uchar' (Roberto Ierusalimschy)
  • [81646af1] 'loadstring' deprecated; use 'load' instead (Roberto Ierusalimschy)
  • [233b71c0] comment (Roberto Ierusalimschy)
  • [ccc4fc9c] detection of erroneous numeric strings with \0 (such as "1\0") (Roberto Ierusalimschy)
  • [c79b4a97] using 'strspn' to skip spaces in 'tonumber' (Roberto Ierusalimschy)
  • [ac3afc7c] 'printf' replaced by 'luai_writestring' (Roberto Ierusalimschy)
  • [350cc4bc] 'micro' bug: when closing state, old objects are finalized (breaking assertion) (Roberto Ierusalimschy)
  • [35931bbe] comments (Roberto Ierusalimschy)
  • [12779b2b] getlocal/setlocal can access vararg parameters (Roberto Ierusalimschy)
  • [7ca1bd63] new functions 'extract' and 'replace' (Roberto Ierusalimschy)
  • [9b7a12c4] finalizers (__gc) for tables (Roberto Ierusalimschy)

[v5.2-alpha]

  • [5b33e398] removed deprecated functions getn-foreach-foreachi (Roberto Ierusalimschy)
  • [a64cf8fa] 'test' -> 'btest' (Roberto Ierusalimschy)
  • [092fa71d] conventional names for bitwise operators (Roberto Ierusalimschy)
  • [a2eaad5d] 'gfind' was deprecated in 5.1 (Roberto Ierusalimschy)
  • [54771c5a] keep 'seminfo->ts' even for reserved words, just in case (some lhf's tools need this) (Roberto Ierusalimschy)
  • [bcce769d] avoid "unreacheable code" warnings (Roberto Ierusalimschy)
  • [24baa919] small bug: 'find' did not detect magic chars after a \0 in a pattern and did a plain search in those cases (Roberto Ierusalimschy)
  • [d1c0efdb] comment about compatibility-only functions (Roberto Ierusalimschy)
  • [566758de] 'getuservalue' accepts any type of argument (Roberto Ierusalimschy)
  • [50334faa] no more compatibility with (veryyyy) old ref system (Roberto Ierusalimschy)
  • [cee7a8e1] -DLUA_COMPAT_ALL is the default (Roberto Ierusalimschy)
  • [8c21f463] 'debug' library is loaded by default (Roberto Ierusalimschy)
  • [a1952d9c] 'l_tvar' renamed to 'l_tg' (Roberto Ierusalimschy)
  • [1a46a713] new macro 'l_tvar' to easy the use of mathlib with other floating types (float and long double) (Roberto Ierusalimschy)
  • [23b9ceb0] allows larger array parts in tables (no need to restrict it to 2^26) (Roberto Ierusalimschy)
  • [0a6a6b9d] no more sentinel to detect loops in module dependencies; usual message for infinite recursion is good enough. (Roberto Ierusalimschy)
  • [1b541974] better error message when light userdata is used instead of a full userdata (Roberto Ierusalimschy)
  • [c97aa948] new function 'luaL_setmetatable' (Roberto Ierusalimschy)
  • [e885b913] 'luaL_typeerror' deprecated (Roberto Ierusalimschy)
  • [fa1f7243] when reading blocks with given size, try to read whole block at once (Roberto Ierusalimschy)
  • [2a966116] detail (message) (Roberto Ierusalimschy)
  • [43ec3547] added support for conditional use of %Lg when using long double (Roberto Ierusalimschy)
  • [700b003f] when reading large files, double buffer size at each iteration (Roberto Ierusalimschy)
  • [f722ba68] code should not use "defined" types, but "typedef"s types when they are available (i.e., after including lua.h) + small changes to make conversions more portable across diferent types for lua_Number (long double) and lua_Unsigned (long long unsigned) (Roberto Ierusalimschy)
  • [c7d4da87] correction to allow lua_Unsigned larger than usigned int (Roberto Ierusalimschy)
  • [f1629217] code for conversion macros moved from luaconf to llimits + 'uint' renamed to 'unsigned' in those macros (Roberto Ierusalimschy)
  • [fdd5f2f7] comment typos (Roberto Ierusalimschy)
  • [c6ef3e26] bug: by-one error when creating short source names (luaO_chunkid) (Roberto Ierusalimschy)
  • [ba8dca00] detail (ununsed parameter) (Roberto Ierusalimschy)
  • [9be89a18] 'luaL_checkversion' also checks convertions (number to integer types) (Roberto Ierusalimschy)
  • [b9f371a3] added another option for ieeeendian (Roberto Ierusalimschy)
  • [4834de84] comment typo (Roberto Ierusalimschy)
  • [94043a3a] more robust implementation for 'luaO_str2d' (Roberto Ierusalimschy)
  • [e642cc42] correct handling of negative numbers in non-10 bases by 'tonumber' (e.g., tonumber(-34, 8)) (Roberto Ierusalimschy)
  • [da57477c] added more platforms for ieeeendianess + small comments (Roberto Ierusalimschy)
  • [f3903488] stricter control over number of bits in each operation (Roberto Ierusalimschy)
  • [6b053a63] added check for architectures with known endianess (only i386 now) (Roberto Ierusalimschy)
  • [572e5e6b] new names for bit functions (mimicking assembler) (Roberto Ierusalimschy)
  • [6098e06e] better organization for coercion functions between lua_Number and integer types + IEEE trick to be used in most platforms, by default (Roberto Ierusalimschy)
  • [c6b64ffe] new type lua_Unsigned and corresponding projection/injection functions (Roberto Ierusalimschy)
  • [4590a89b] corrected warnings from different compilers (mostly casts and small details) (Roberto Ierusalimschy)
  • [1475cb59] version from lhf (Roberto Ierusalimschy)
  • [9e8e60dd] bitlib renamed to 'bit32' + new function for arithmetic shift (Roberto Ierusalimschy)
  • [d72ec210] POS_A replaced by POS_Ax (which is more "precise") (Roberto Ierusalimschy)
  • [c77baf75] comment (Roberto Ierusalimschy)
  • [a1226880] better error message for 'lua -e -i' (Roberto Ierusalimschy)
  • [f3026c36] details in opcode list (Roberto Ierusalimschy)
  • [cd0ebd0a] 'proto->source' may be NULL (if dump strips debug information) (Roberto Ierusalimschy)
  • [8bc33a08] 'os.exit' acceps booleans as status (for EXIT_SUCESS and EXIT_FAILURE) (Roberto Ierusalimschy)
  • [c3eb8954] 'luaL_loadlib' accepts Utf8 BOM in the beginning of files (Roberto Ierusalimschy)
  • [ffff9a49] 'nresults' in CallInfo now refers to number of results that the current function returns (and not what it expects from a call) (Roberto Ierusalimschy)
  • [b22356e5] hexadecimal constants may be floating values too (Roberto Ierusalimschy)
  • [a289a627] 'loadin' should not check whether upvalue is called '_ENV', because its name may be unknown when there is no debug information. (Roberto Ierusalimschy)
  • [e3eabcf9] 'lua_[gs]etupvalue' may work even without debug information (that is, without upvalue names) (Roberto Ierusalimschy)
  • [0df22380] name "_ENV" configurable through 'luaconf.h' (Roberto Ierusalimschy)
  • [6828f6d4] new parameter 'majorinc' to control frequency of major collections in generational mode (Roberto Ierusalimschy)
  • [daa5fe3e] 'loadin' should accept any value for the environment (not only tables) + it should check whether chunk has upvalue named '_ENV' (Roberto Ierusalimschy)
  • [8d9ea59d] 'pushclosure' -> 'codeclosure' (as there is another 'pushclosure' in 'lvm.c) + small detail (Roberto Ierusalimschy)
  • [5e7dbd0b] api checks to ensure that thread is OK when using lua_call/lua_pcall (Roberto Ierusalimschy)
  • [cd6c276e] use index 0 for header of list of free references (Roberto Ierusalimschy)
  • [fd4b4a2a] detail: registry._PRELOAD must be a table, no need to check (Roberto Ierusalimschy)
  • [d4479456] 'module'/'luaL_register' and associates are deprecated (Roberto Ierusalimschy)
  • [78f96351] several new comments (Roberto Ierusalimschy)
  • [8b7cf8c6] 'lua_[gs]etenv' -> 'lua_[gs]etuservalue' (Roberto Ierusalimschy)
  • [73b0a345] environment variables consulted by Lua may be version-specific (Roberto Ierusalimschy)
  • [85c14614] new macros LUA_VERSION_{MAJOR/MINOR/RELEASE} (Roberto Ierusalimschy)
  • [5ba556d2] using curly brackets to mark blocks of '#if/#else/#endif's (Roberto Ierusalimschy)
  • [81dd13f4] new way to distinguish between indexing tables in registers and tables in upvalues (+ fixed small bug when checking conflicts in multiple assignments) (Roberto Ierusalimschy)
  • [6a02bbe1] better organization for fields in struct 'expdesc' (Roberto Ierusalimschy)
  • [7631c29b] comand-line option '-l' creates global with given name after requiring module (Roberto Ierusalimschy)
  • [a9dc7c88] functions lua_tonumber/lua_tointeger replaced by lua_tonumberx/lua_tointegerx that have an extra out parameter with conversion status (Roberto Ierusalimschy)
  • [7192afaf] new module policy: C modules do not create globals and do not register themselves with 'require' (let 'require' do its work); new auxiliary functions luaL_newlib/luaL_newlibtable/luaL_setfuncs/luaL_requiref. Old luaL_register will be deprecated. (Roberto Ierusalimschy)
  • [a139e2e0] old (and complex) luaL_findtable now used only in compatibility code inside lauxlib.c (Roberto Ierusalimschy)
  • [a71c5f6f] typo in comments (Roberto Ierusalimschy)
  • [d9ea6eca] macro 'key2tal' replaced by 'gkey' (as both were equal) (Roberto Ierusalimschy)
  • [ca3865cf] 'getlocal' gets information about parameters of Lua functions (Roberto Ierusalimschy)
  • [bef59807] no more support for old Mac OS systems (Roberto Ierusalimschy)
  • [409741e9] 'what' may be NULL in 'kname' (Roberto Ierusalimschy)
  • [b98de30b] 'ipair' is back (Roberto Ierusalimschy)
  • [9f48712c] use ANSI versions of DLL functions in Windows (Roberto Ierusalimschy)
  • [bd262d59] 'coroutine' library separated from 'baselib' (Roberto Ierusalimschy)
  • [0d116c3a] unused '#include' removed (Roberto Ierusalimschy)
  • [79f11fb2] back with #-comments for binary files (Roberto Ierusalimschy)
  • [fabe4ec4] better barrier for prototypes (Roberto Ierusalimschy)
  • [575074fd] Lua closures are cached for reuse (Roberto Ierusalimschy)
  • [545f4306] 'luaF_newLclosure' gets prototype of new closure as argument (Roberto Ierusalimschy)
  • [3819c30e] better names for barrier macros (Roberto Ierusalimschy)
  • [e94fac89] bug: generational collection was not running collector! (must write a test for this...) (Roberto Ierusalimschy)
  • [2c1a5d67] factoring out common code in 'module' and 'luaL_openlib' (Roberto Ierusalimschy)
  • [bd619b93] new macro MAXUPVAL (maximum number of upvalues per closure) (Roberto Ierusalimschy)
  • [aca84ee1] correct definition for 'lua_cpcall' (tested) (Roberto Ierusalimschy)
  • [5038e3c5] corrected compatibility macro 'lua_cpcall' (untested) (Roberto Ierusalimschy)
  • [5a7dee0c] added class '%g' in patterns (for graphical characters) (Roberto Ierusalimschy)
  • [ddf1f2a0] GC should not run when stopped, even in hard tests (Roberto Ierusalimschy)
  • [e34d3c06] it is better to call open functions with lua_call to not mess the caller stack (Roberto Ierusalimschy)
  • [e8a2c369] more comments (Roberto Ierusalimschy)
  • [3c39a0e8] bug: loadfile of binary files read first character twice (Roberto Ierusalimschy)
  • [3d45a8eb] really stop collection during finalizers (Roberto Ierusalimschy)
  • [3d80aeab] lua_pushstring may reallocate the stack, making 'o' a dangling pointer (Roberto Ierusalimschy)
  • [3811e23b] detail (comment) (Roberto Ierusalimschy)
  • [12c764ed] semicolons now represent the empty statement (Roberto Ierusalimschy)
  • [e99e9a94] patches for last two bugs (string.format and io.read) (Roberto Ierusalimschy)
  • [f35ac38e] updated depenency lists + eliminated duplication of definitions for MYCFLAGS, MYLDFLAGS, and MYLIBS. (Roberto Ierusalimschy)
  • [058279d5] comments (Roberto Ierusalimschy)
  • [69ba1ac4] new "instruction" 'absindex' (Roberto Ierusalimschy)
  • [4a925c15] in 'absindex', do not need to call gettop (can inline it) (Roberto Ierusalimschy)
  • [cf531912] one more macro (mvdispatch) to easy experiments with alternative dispatch methods (Roberto Ierusalimschy)
  • [0d00729e] detail (breaking a long line) (Roberto Ierusalimschy)
  • [b6e9fcbd] use of macro ('vmcase') to format all cases in main switch of 'luaV_execute' (to facilitate experiences with direct threading) (Roberto Ierusalimschy)
  • [8554baea] small changes in 'luaV_execute' to make cases more regularly formatted (Roberto Ierusalimschy)
  • [f5b7f077] added comments to '#else' and '#endif' in long conditionals (Roberto Ierusalimschy)
  • [e924a7f9] new API function 'lua_absindex' (Roberto Ierusalimschy)
  • [4fd76b81] avoid "strong" cast (Roberto Ierusalimschy)
  • [de0f51a0] wrong type being assigned (not detected because of obj2gco macro) (Roberto Ierusalimschy)
  • [05672218] udata in 'tobefnz' list be have old bit on (it will be cleared when udata is moved to 'allgc' list) (Roberto Ierusalimschy)
  • [1c1a98e8] corrected some places where an old object could end up in front of a new one + minimal documentation about this problem (Roberto Ierusalimschy)
  • [c006f085] new macro 'resetoldbit' (Roberto Ierusalimschy)
  • [a48e330f] macros 'lua_number2int' and 'lua_number2uint' for Visual Studio corrected and tested (Roberto Ierusalimschy)
  • [dcc07068] avoid reserving LUA_RIDX_LAST slots in any table used by reference system. Store free list in a field indexed by a unique name, instead of using a numerical index. (Roberto Ierusalimschy)
  • [2d81cfa4] corrected definition of 'lua_register' (there is no LUA_ENVIRONINDEX anymore) (Roberto Ierusalimschy)
  • [0bccf03d] slightly better definition for 'changenvalue' (Roberto Ierusalimschy)
  • [ad2b5dec] 'lua_assert' can be empty when assertions are off (Roberto Ierusalimschy)
  • [32c1764b] slightly better definition for 'isgray' (Roberto Ierusalimschy)
  • [de971777] avoid 'else assert' (which may result in an empty else) (Roberto Ierusalimschy)
  • [fa2ddb07] details (to avoid too long strings in assertions) (Roberto Ierusalimschy)
  • [0fac33da] bug: incremental sweep was not cleaning old bits (as it stopped in the first old object) + bug: moving udata to 'udgc' list might put old object in front a new one + some new macros + generational mode may be in 'pause' state (it just skips 'markroot') (Roberto Ierusalimschy)
  • [8e1bdda6] stupid bug when calling 'luaC_changemode' (in function lua_gc) (Roberto Ierusalimschy)
  • [9c1347e6] more tests in 'lua_checkmemory' + more information in function 'gccolor' (Roberto Ierusalimschy)
  • [b373a401] new macro 'isgenerational' + new macro 'isold' + better deffinition for 'isdead', compatible with the code used by 'sweeplist' (Roberto Ierusalimschy)
  • [25951e0e] some cleaning in 'sweeplist' (threads do not need to be traversed if they are going to be collected + use of bit masks to unify differences in generational and incremental modes) (Roberto Ierusalimschy)
  • [a4f20e3c] comments (Roberto Ierusalimschy)
  • [8c583c61] more tests in 'lua_checkmemory' (Roberto Ierusalimschy)
  • [d2ea5b00] new function 'luaC_changemode' + bug: objects entering the 'allgc' list must have their OLDBIT cleared (upvalues being cleared) + bug: in 'checkSizes', KGC_EMERGENCY is stored in 'gckind' field, not in 'gcstate' + current white changes when entering sweep phase (so there are dead objects only in that phase) (Roberto Ierusalimschy)
  • [d7789859] new function 'luaC_changemode' (Roberto Ierusalimschy)
  • [237f755d] typos in comments (Roberto Ierusalimschy)
  • [7444b5a1] better documentation of GC costs (Roberto Ierusalimschy)
  • [e7ce7e18] changes in patch to monitor garbage collection (Roberto Ierusalimschy)
  • [3e662cec] full GC must run finalizers only after finishing everything else (including a return to generational mode if needed) (Roberto Ierusalimschy)
  • [fde866e3] details (comments) (Roberto Ierusalimschy)
  • [2d7a81a2] missing parentheses in declaration (Roberto Ierusalimschy)
  • [658ea875] no need to handle '\0' differently from other control chars in format '%q' (Roberto Ierusalimschy)
  • [aa73403b] no need of a KGC_FORCED collection kind; it has the same behavior of a normal collection (Roberto Ierusalimschy)
  • [0c27de2e] no more 'finalize' phase in GC; finalizers are called along the entire cycle (Roberto Ierusalimschy)
  • [d25f7f9d] items in 'tobefnz' are kept black (as before recent change) and changed to white only when needed (being moved to 'allgc' when not keeping invariant). (Roberto Ierusalimschy)
  • [85555646] invariant must be kept in atomic 'phase' too (Roberto Ierusalimschy)
  • [4d871ee9] "gray lists" only need to be valid when 'keepinvariant' is true (Roberto Ierusalimschy)
  • [b9e1dec2] added comment explaining a bit about the invariants of the collector (Roberto Ierusalimschy)
  • [dc2b8a00] detail (Roberto Ierusalimschy)
  • [9a9fe42d] wrong comment (Roberto Ierusalimschy)
  • [0062db1e] default PAUSE should be 200 (differences may be corrected in internal multiplers) + check for unbilt stack equal the one used by lgc.c (Roberto Ierusalimschy)
  • [23001d86] nasty GC bug: upvalue must be turned white when not keeping invariant, but barrier was not being called when uv->v were already white. (Roberto Ierusalimschy)
  • [5d79c668] removed commented-out debugging code (Roberto Ierusalimschy)
  • [3410dcd3] new way to control GC speed (Roberto Ierusalimschy)
  • [5a7a0c72] 'luaC_linkupval' embedded into call site (Roberto Ierusalimschy)
  • [ee7478e8] improved 'lua_checkmemory', with better control over gray objects (Roberto Ierusalimschy)
  • [aaa5d7ad] 'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed (Roberto Ierusalimschy)
  • [3eb1788b] new way to control GC speed (keeping a 'debt' counter) (Roberto Ierusalimschy)
  • [00114a95] lots of new comments + small changes in loop controls + other small "janitor work" (Roberto Ierusalimschy)
  • [4aaf0ef7] "to-be-finalized" objects marked and sweeped like all other objects (Roberto Ierusalimschy)
  • [ed720d09] upvalue barriers for Lua functions must act on the upvalue itself, not on its closure (Roberto Ierusalimschy)
  • [376e939e] missing parentheses around 'luaL_pushresultsize' declaration (Roberto Ierusalimschy)
  • [9d28e2b3] bug with io.read(op, "*n") (Roberto Ierusalimschy)
  • [49ca1f70] allows thread switches (when/if there are thread switches) in the same places that finalizers can run (so they should be safe...) (Roberto Ierusalimschy)
  • [4db6f207] ensure that 'luai_userstatethread' is always called (even if 'stack_init' throws a memory error) (Roberto Ierusalimschy)
  • [cca71912] 'gcinfo' was deprecated in version 5.0. (Roberto Ierusalimschy)
  • [8003e954] 'string.format' may get buffer as an argument when there are missing arguments and format string is too long (Roberto Ierusalimschy)
  • [973d81ef] complete control over number of each kind of object allocated (Roberto Ierusalimschy)
  • [26d4a739] with light C functions, 'pairs' does not need to keep 'next' as an upvalue. (Roberto Ierusalimschy)
  • [99a39f6f] tells the allocation function that the first block is a thread (Roberto Ierusalimschy)
  • [1bb407e4] in lua_gc/step, 'luaC_step' changes GCthreshold, so there was little control over the real step size. (Roberto Ierusalimschy)
  • [53f9499f] "light C function" is a better name than "C-function pointer" (Roberto Ierusalimschy)
  • [575befc3] comparsion tag methods follow the same rule as other binary TMs (Roberto Ierusalimschy)
  • [e7ffb1b5] macro LUA_USE_LONGJMP allows choosing longjmp when compiling Lua as C++ code (Roberto Ierusalimschy)
  • [c066ac10] better line numbers for function calls and unary/binary operators + null statement + no more "ambiguous syntax" restriction (Roberto Ierusalimschy)
  • [1e6940f2] 'gcstate' now also runs collector until given state + small changes in 'testC' to test 'lua_topointer' and 'lua_tocfunction' (Roberto Ierusalimschy)
  • [d8d81ba8] new escape sequence '*' + several comments + moving options from switch default into cases (as now locale is fixed) (Roberto Ierusalimschy)
  • [cf22133b] no need to avoid calling ctype functions as now they are implemented by us (no inefficiencies due to accessing locale information) (Roberto Ierusalimschy)
  • [b7be05ad] invalid instructions "cannot" happen (Roberto Ierusalimschy)
  • [afdb19ac] no more 'ccall' nor 'cpcall' functions. (With light C functions they are obsolete.) (Roberto Ierusalimschy)
  • [7dfa4cd6] first implementation of light C functions (Roberto Ierusalimschy)
  • [fc6203ee] BUG: 'string.format' may get buffer when there are missing arguments (Roberto Ierusalimschy)
  • [b2dd246b] better control in 'totalmem' over choosing counters (Roberto Ierusalimschy)
  • [d20ff606] new macro LUA_NUMTAGS (Roberto Ierusalimschy)
  • [d41b4673] check memory allows strings to live in the main GC list (it should work ok). (Roberto Ierusalimschy)
  • [45412433] patterns now accept '\0' as a regular character (Roberto Ierusalimschy)
  • [9100f747] new implementation for Generic Buffer manipulation (using userdata as temporary buffer space) (Roberto Ierusalimschy)
  • [055104f5] keep memory-error message in the global state, so that its use does not depend on Lua internalizing strings to avoid a string creation on memory errors (Roberto Ierusalimschy)
  • [28aa733c] macro 'eqstr' was being used to compare non-string entities (Roberto Ierusalimschy)
  • [6abde1b0] no need to keep "_ENV" name in global state (can be kept in lex state) (Roberto Ierusalimschy)
  • [d394d553] new macro 'eqstr' (Roberto Ierusalimschy)
  • [a2f98314] 'lua_pushstring' now uses 'luaS_new' (Roberto Ierusalimschy)
  • [a09c8d7b] cannot sweep main thread in sweepstring phase (Roberto Ierusalimschy)
  • [f80ff7a3] 'luaS_new' changed from macro to function (Roberto Ierusalimschy)
  • [a08fc34e] avoid using 'luaS_new' when can use 'luaS_newlstr' (Roberto Ierusalimschy)
  • [d00d2eaf] small changes in 'luaO_pushvfstring' (Roberto Ierusalimschy)
  • [11126422] option to return GC to normal (incremental, non generational) mode (Roberto Ierusalimschy)
  • [e54668b6] added proper code to trace garbage collection (Roberto Ierusalimschy)
  • [9eb832de] work related to hooks moved from 'luaV_execute' to 'traceexec' (Roberto Ierusalimschy)
  • [82a1f5d3] comments (Roberto Ierusalimschy)
  • [a8d3aa14] global table now is only kept in the registry (Roberto Ierusalimschy)
  • [064e406f] no more fenvs! (Roberto Ierusalimschy)
  • [5c87f61e] major collections in generational mode (Roberto Ierusalimschy)
  • [3aa95981] 'mainthread' is not inserted in the 'allgc' list anymore, but swept separately. (Roberto Ierusalimschy)
  • [64d39ed1] generational mode no longer sweep old objects (Roberto Ierusalimschy)
  • [4433dbb5] userdata with finalizers are kept in a separated list ('udgc'), instead of at the end of 'rootgc' (which was renamed to 'allgc', as it is not "root" in the usual meaning for collectors) (Roberto Ierusalimschy)
  • [5cb128ea] BUG: emergency collector might resize 'strt' (string table) when creating a new string + atomic and markroot steps has some cost + full collection must leave collector in proper state when mode is generational (Roberto Ierusalimschy)
  • [74123e96] draft version of a generational mode for garbage collection. (Not well tested; no major collections; ...) (Roberto Ierusalimschy)
  • [9c196beb] detail (wrong comment about LUAI_GCPAUSE) (Roberto Ierusalimschy)
  • [28b2566c] 'lua_assert' not visible from libraries (Roberto Ierusalimschy)
  • [caf74dd7] 'cpcall' renamed to 'ccall' as it does not do a protected call (Roberto Ierusalimschy)
  • [62840c5f] 'ipairs' is deprecated (Roberto Ierusalimschy)
  • [5ca7cdd7] for compatibility only: 'module' changes the first upvalue of calling function to affect its environment (Roberto Ierusalimschy)
  • [1514e49d] avoid using function environments in C libraries (as it probably will be deprecated) (Roberto Ierusalimschy)
  • [22ef84b6] '_ENV' name permanently stored in global state for easier access (Roberto Ierusalimschy)
  • [63a2b624] must include 'string.h' because a macro uses 'strlen' (Roberto Ierusalimschy)
  • [489253d7] better definitions for lua_[gs]etglobal + less uses of ENVIRONINDEX (Roberto Ierusalimschy)
  • [25c557ec] first version of _ENV; no more global variables (Roberto Ierusalimschy)
  • [f292760f] small optimization in luaL_addlstring (avoid adding chars one by one) (suggested by Chuck Coffing) (Roberto Ierusalimschy)
  • [1124cb12] first step towards _ENV: all chunks have an puvalues _ENV with the global table (Roberto Ierusalimschy)
  • [c2951478] when finding a 'name' for a function, handle the case when the function is a for iterator (Roberto Ierusalimschy)
  • [e560ac48] when searching for a variable name, look existing upvalues before goingg to upper levels (Roberto Ierusalimschy)
  • [915a9a91] just in case, better to flush error messages (Roberto Ierusalimschy)
  • [ae0a5e21] new option '*L' for io.read + options for io.lines (Roberto Ierusalimschy)
  • [347f0c33] avoid 'continue' unless necessary (Roberto Ierusalimschy)
  • [622e4487] removed useless test (argv[i] cannot be NULL when i<argc) (Roberto Ierusalimschy)
  • [0fe2576a] new instructions to optimize indexing on upvalues (Roberto Ierusalimschy)
  • [d08d237a] detail: in loadfile read function, no need to return NULL on EOF; size ==0 is enough to signal EOF. (Roberto Ierusalimschy)
  • [64a7ec98] avoid using 'ungetc' in loadfile (Roberto Ierusalimschy)
  • [4274738e] new macro 'luai_writestringerror' (Roberto Ierusalimschy)
  • [0d7d559d] no need to flush either stderr or \n-terminated outputs (Roberto Ierusalimschy)
  • [af512ad6] use of 'conventional' names for shift and rotate operations + right/left versions for them (Roberto Ierusalimschy)
  • [d27108cc] removed support for '#fist-line comment' on binary files (as binary files do not have lines...) (Roberto Ierusalimschy)
  • [a838b3b4] better usage messages, showing entire offending argument (Roberto Ierusalimschy)
  • [4c54cd3a] when yielding, original 'func' value must be kept and restored so that 'poscall' puts results in the right slot. (Roberto Ierusalimschy)
  • [c8ff7de7] field 'oldtop' renamed to 'extra', as it can be used for other purposes (Roberto Ierusalimschy)
  • [3bae8e04] typo (thanks to Gavin) (Roberto Ierusalimschy)
  • [4f5f2fe3] new function 'luaL_cpcall' (Roberto Ierusalimschy)
  • [01586d53] typo in comment (Roberto Ierusalimschy)
  • [c8ab34ab] better messages for invalid options (Roberto Ierusalimschy)
  • [36ab1ee1] __unm metamethod gets nil as its 2nd parameter (Roberto Ierusalimschy)
  • [193ce469] table.pack was locking last result, avoiding its collection (Roberto Ierusalimschy)
  • [b678f246] HINSTANCE -> HMODULE (they are the same thing, but the MS documentation uses the latter) + LoadLibrary -> LoadLibraryEx with optional arguments, to allow the option LOAD_WITH_ALTERED_SEARCH_PATH (Roberto Ierusalimschy)
  • [f270e7f0] warnings that are not compatible with C++ separated from other warning options (Roberto Ierusalimschy)
  • [070d3743] "no value" added to array luaT_typenames + occurrences of "userdata" in that array unified in a single address (Roberto Ierusalimschy)
  • [0c7de97d] correct error message when yielding from outside a coroutine (Roberto Ierusalimschy)
  • [900b7d45] on 64-bit machines, an address may not fit into a 'long', so it is better to convert from pointer to void to pointer to function directly, even if ANSI C does not like it. (Roberto Ierusalimschy)
  • [91f0b20a] missing standard defines (Roberto Ierusalimschy)
  • [e4b4623a] 'searchpath' changes dots into directory separators (Roberto Ierusalimschy)
  • [cef96b73] added casts from int to enumerations to follow C++ rules (Roberto Ierusalimschy)
  • [427e01eb] removed useless initialization (Roberto Ierusalimschy)
  • [d320c908] conversion from pointer to void to pointer to function seems more "correct" if done through an integral type (because conversions between pointers and numbers are allowed, only "implementation defined"). (Roberto Ierusalimschy)
  • [8bfc6966] missing 'external' in variable declaration (Roberto Ierusalimschy)
  • [97a35e70] pathes corrected to 5.2 (Roberto Ierusalimschy)
  • [03b556b9] corrected copyright notice to 2010 (Roberto Ierusalimschy)
  • [572b94bb] include of 'windows.h' moved to where it is needed (Roberto Ierusalimschy)
  • [692209fa] Dynamic C functions should be created with the global table as their initial environments (Roberto Ierusalimschy)
  • [953d499e] changed macro lua_number2int for Windows (added brackets; some recent compilers complain about the old format) + added missing definition for 'lua_number2int' in Windows case. (Roberto Ierusalimschy)
  • [a541ada1] "-"-trick in C packages now accept name-v13... (Roberto Ierusalimschy)
  • [55d31383] removed old prototype for 'luaI_openlib' (which does not exist anymore) (Roberto Ierusalimschy)
  • [e74e56f2] better may to force recompilation when makefile changes (Roberto Ierusalimschy)
  • [1ebf109c] 'setobj' must assing fields one by one, to allow trick of using pad space in table keys (Roberto Ierusalimschy)
  • [f75be1cb] removed parentheses around some function names in their definitions (Roberto Ierusalimschy)
  • [16d2ad88] some changes in compatibility macros: added LUA_COMPAT_ALL + compatibility macros from lua.h and lauxlib.h moved to luaconf.h (Roberto Ierusalimschy)
  • [f3a68150] compatibility code removed or moved to luaconf.h (Roberto Ierusalimschy)
  • [19f8c873] compatibility code moved to luaconf.h (Roberto Ierusalimschy)
  • [5bcfe0c7] new debug info 'isvararg' and 'nparams' (Roberto Ierusalimschy)
  • [8cd39556] no need to use two different defines (LUA_DL_DLOPEN and LUA_USE_DLOPEN) (Roberto Ierusalimschy)
  • [389c890e] again changing macro to function to save a few bytes (Roberto Ierusalimschy)
  • [e3866afa] macro 'luaY_checklimit' changed into a function (and renamed 'checklimit'). It makes no sense to trade space for time in the parser. (Roberto Ierusalimschy)
  • [25189b42] field 'nups' in struct 'lua_Debug' changed from 'int' to 'unsigned char' to save some space (even C functions cannot have more than maxchar upvalues). (Roberto Ierusalimschy)
  • [cec25167] new api_check that 'pcallk' cannot be called inside hooks (Roberto Ierusalimschy)
  • [1fd4c482] reorganization of switch in function 'match' (details) (Roberto Ierusalimschy)
  • [35e729fa] comments + small details (Roberto Ierusalimschy)
  • [0dc09cb4] 'unpack' moved to table library (and therefore "renamed" to 'table.unpack'. (Roberto Ierusalimschy)
  • [cc1cbd19] 'lua_cpcall' is deprecated + other small changes in 'pmain' (comments and reordering to check arguments before running any Lua code) (Roberto Ierusalimschy)
  • [cb3f95d5] 'lua_cpcall' is deprecated (Roberto Ierusalimschy)
  • [f84b575c] no more pseudoindex LUA_GLOBALSINDEX; global table now accessible through registry (Roberto Ierusalimschy)
  • [3cb343ef] code for error message for 'setn' removed (Roberto Ierusalimschy)
  • [ec0fc1a1] missing parentheses around 'lua_version' + moving typdef's before the extra include (Roberto Ierusalimschy)
  • [c3a6f3fa] 'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len' (Roberto Ierusalimschy)
  • [0bbdddc8] allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL. (Roberto Ierusalimschy)
  • [b3b8dfaa] yet more options moved from luaconf.h into internal files (Roberto Ierusalimschy)
  • [adc6a486] macro name change: LUA_INIT->LUA_INIT_VAR (Roberto Ierusalimschy)
  • [2108754e] macro name change: LUA_PATH->LUA_PATH_VAR, LUA_CPATH->LUA_CPATH_VAR, LUA_PATHSEP->LUA_PATH_SEP, LUA_EXECDIR->LUA_EXEC_DIR (Roberto Ierusalimschy)
  • [46f14299] more options moved from luaconf.h into internal files (Roberto Ierusalimschy)
  • [e0f9d1c8] removed export of function only for coco (Roberto Ierusalimschy)
  • [de6fc75d] several configuration options that do not change often moved out of luaconf.h and into more internal files (Roberto Ierusalimschy)
  • [2af0d3b4] allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL. (Roberto Ierusalimschy)
  • [9fbe0690] base-level C use global table as its environment (Roberto Ierusalimschy)
  • [a25b8ff6] detail ('lua_tolstring' instead of lua_objlen) (Roberto Ierusalimschy)
  • [15b823ce] cleaner way to add extra space in a lua state. (Roberto Ierusalimschy)
  • [8da245bf] better to keep GC state numbers sequential, to optimize switch in 'singlestep' (Roberto Ierusalimschy)
  • [a2a2abcb] new function 'luaC_runtilstate' to advance GC until a "valid" state (Roberto Ierusalimschy)
  • [2e517925] avoid using deprecated macros lua_[gs]etglobal (Roberto Ierusalimschy)
  • [3a9ae612] macro 'ngcotouv' is the same as 'gco2uv', so it was removed (Roberto Ierusalimschy)
  • [9db693a5] detail (comment) (Roberto Ierusalimschy)
  • [1375435e] several new features in testC to allow better testing of lua_resume at the C API level (Roberto Ierusalimschy)
  • [2bb19ccf] reordering of some functions + cleaner way to code lua_resume/resume + small bug in lua_resume (in case of calling errors lua_resume should remove only new arguments from the stack and push error message). (Roberto Ierusalimschy)
  • [64d5df77] detail (lua_resume should empty coroutine stack even if they do not fit into caller stack) (Roberto Ierusalimschy)
  • [2643da67] error messages from 'lua_resume' must be generated in protected mode, to avoid raising memory errors (Roberto Ierusalimschy)
  • [ed117bb4] lua_checkstack does not raise memory errors (instead it signals them) (Roberto Ierusalimschy)
  • [a4472490] new 'table.pack' function (Roberto Ierusalimschy)
  • [86312e1a] lua_objlen calls __len metamethod on tables (if present) (Roberto Ierusalimschy)
  • [df1dc3f1] strings in C scripts may be delimited by quotes + new functionality to set C scripts as C hooks (Roberto Ierusalimschy)
  • [513d0258] details (Roberto Ierusalimschy)
  • [cfa8bc3c] continuations may be upvalues too (Roberto Ierusalimschy)
  • [a654e82f] coroutines may have C bodies (Roberto Ierusalimschy)
  • [3e41afce] extra api checks for number of returns of C functions and for lua_yield (Roberto Ierusalimschy)
  • [3acf5ec5] update of file dependencies (gcc -MM) (Roberto Ierusalimschy)
  • [93695db9] 'table.maxn' deprecated (Roberto Ierusalimschy)
  • [9107dd11] no more compatibility code for 'string.gfind' (Roberto Ierusalimschy)
  • [dc4c4595] a few new warnings (Roberto Ierusalimschy)
  • [19a6c387] detail in 'currentpc' (only needs to work for Lua functions) (Roberto Ierusalimschy)
  • [3c4d970a] comment typos (Roberto Ierusalimschy)
  • [b0f2b288] new scheme for debug info about tail calls: no more 'fake' stack entries, but stack entry knows whether it was tail called (Roberto Ierusalimschy)
  • [2b25489b] 'notail' -> 'noextrachars' ('notail' may confuse with tail calls) (Roberto Ierusalimschy)
  • [a6f465f5] new mark LUAMOD_API for all luaopen_* functions (Roberto Ierusalimschy)
  • [9a41506b] 'os.exit' should close state only when second argument is true (Roberto Ierusalimschy)
  • [9a6d9ea5] GC may get stuck during a parser and avoids proper resizing of the string table, making its lists grow too much and degrading performance. (Roberto Ierusalimschy)
  • [062e809e] new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and definitions of non-static variables (Roberto Ierusalimschy)
  • [b4c18248] 'luaV_arith' must be marked 'LUAI_FUNC' (as all non-static functions) (Roberto Ierusalimschy)
  • [2e5ef6a9] new macro 'isdummy' (Roberto Ierusalimschy)
  • [1dea3930] small corrections for 'luaall.c' (Roberto Ierusalimschy)
  • [45dec345] comments (Roberto Ierusalimschy)
  • [b40a38a8] remove declaration of removed function (Roberto Ierusalimschy)
  • [ac899a63] 'debug.joinupvalue' -> 'debug.upvaluejoin' (Roberto Ierusalimschy)
  • [ce444bff] (huge) simplification of GC management (Roberto Ierusalimschy)
  • [2d5931eb] ensure that reader function cannot yield during parsing (Roberto Ierusalimschy)
  • [35fa2760] parser/scanner keep GC running (Roberto Ierusalimschy)
  • [b51d76ce] when doing hard memory tests, perform a full GC at every possible step (Roberto Ierusalimschy)
  • [95020afb] 'module' returns the new module (to be used with lexical environments) (Roberto Ierusalimschy)
  • [c5050b1c] functions 'getfenv' and 'setfenv' are deprecated (Roberto Ierusalimschy)
  • [b9063a08] new function 'loadin' (Roberto Ierusalimschy)
  • [7fe40573] renaming: 'lua_upvaladdr' -> 'lua_upvalueid', 'lua_upvaljoin' -> 'lua_upvaluejoin' (Roberto Ierusalimschy)
  • [1ce81933] new option 'isrunning' for 'lua_gc' (and 'collectgarbage') (Roberto Ierusalimschy)
  • [88eb901f] registry and global table may be changed through the API without a write barrier, so GC should visit them in the atomic phase. (Roberto Ierusalimschy)
  • [2583bac3] several small changes to simplify changing TValue if needed (Roberto Ierusalimschy)
  • [63a3b1a1] macro 'checkvalref' redefined as function (to avoid too long macros) (Roberto Ierusalimschy)
  • [fbf866a1] macro 'gkey' returns a "real" TValue* (Roberto Ierusalimschy)
  • [49a67c6d] new macro 'NILCONSTANT' to initialize nil constants (Roberto Ierusalimschy)
  • [a921d810] avoid using 'ttype' when there is an explicit test + macro 'checkdeadkey' to avoid repetitions (Roberto Ierusalimschy)
  • [155dd011] avoid using 'ttype' when there is an explicit test (Roberto Ierusalimschy)
  • [599789a9] better to enclose macros in 'if' bodies with brackets (Roberto Ierusalimschy)
  • [9756f563] better control over accesses to TValue fields (Roberto Ierusalimschy)
  • [b7d5f18d] api functions to manipulate upvalues do not need to check their arguments (the caller must check them before calling) (Roberto Ierusalimschy)
  • [5598b2bc] new functions to identify and join upvalues (Roberto Ierusalimschy)
  • [77077b39] comment explaining OP_VARARG was wrong (and corresponding code was not very clear) (Roberto Ierusalimschy)
  • [5bc91c64] no more one environment per thread: all threads share a single global environment (Roberto Ierusalimschy)
  • [f5073de0] 'ipairs' goes until length of array instead of stopping at the first nil (Roberto Ierusalimschy)
  • [f6ed285c] new hash for doubles based on frexp, to avoid low-level tricks (Roberto Ierusalimschy)
  • [1448e736] better documentation for constructor syntax (Roberto Ierusalimschy)
  • [6e415e93] local function definition does not need to correct debug information (Roberto Ierusalimschy)
  • [b114c99a] two small bugs: 'debug.getinfo' did not consider negative indices as out of range + 'debug.[gs]etlocal' crash on tail calls (Roberto Ierusalimschy)
  • [91658750] parser keeps list of active local variables in a single dynamic array, therefore saving C stack space (Roberto Ierusalimschy)
  • [a5382b76] new function lua_copy (Roberto Ierusalimschy)
  • [ba21aa8b] 'cpcall' must ensure correct environment for called function (Roberto Ierusalimschy)
  • [d119cf30] a few more instructions to testC (func2udata and getfield) (Roberto Ierusalimschy)
  • [0ac3d07e] first implementation of lexical environments (Roberto Ierusalimschy)
  • [59382127] information about upvalues (where they come from) kept in Proto structure, instead of sequence of pseudo-opcodes after OP_CLOSURE (Roberto Ierusalimschy)
  • [1829911d] some operations may shrink g->totalbytes so g->estimate must be more flexible (Roberto Ierusalimschy)
  • [bed2cb72] initialize g->estimate (just in case) (Roberto Ierusalimschy)
  • [ab75bd23] handle extended opcodes (with OP_EXTRAARG) when checking metamethod calls (Roberto Ierusalimschy)
  • [cee94df6] function list in luaL_register may be NULL for an empty list (Roberto Ierusalimschy)
  • [fcc46467] limit of constants per function changed to 2^26 using extra arguments to opcodes LOADK, GETGLOBAL, and SETGLOBAL (Roberto Ierusalimschy)
  • [f8e354e2] detail (space between function name and its parameter list) (Roberto Ierusalimschy)
  • [a6503788] 'cpcall' reimplemented as a predefined value in the registry (Roberto Ierusalimschy)
  • [99182c68] references must start after predefined values in the registry (Roberto Ierusalimschy)
  • [67cae285] 'lua_mainthread' replaced by new preregistered value LUA_RIDX_MAINTHREAD (Roberto Ierusalimschy)
  • [0e45ffb8] first implementation of 'lua_yieldk' (yield with continuation) (Roberto Ierusalimschy)
  • [071e54ae] extra facilities to testC: comments + commands print, callk and yield + Cfunc with extra upvalues (Roberto Ierusalimschy)
  • [a68494fb] 'debug.[gs]etupvalue' should be able to access C upvalues too (Roberto Ierusalimschy)
  • [4b44793d] "bug": lua_createtable with sizes changed (array <-> record) (Roberto Ierusalimschy)
  • [90e2a716] details + comments (Roberto Ierusalimschy)
  • [d9fbbe1f] "file:write" returns "file" in case of success (Roberto Ierusalimschy)
  • [4a714ceb] API checks now have explanatory messages (Roberto Ierusalimschy)
  • [5b6be841] ensures that argument 'mode' to 'io.open' matches "[rwa]%+?b?", to avoid passing invalid modes to 'fopen'. (Roberto Ierusalimschy)
  • [b2bb2f7f] better machinery to test continuations in the C API (Roberto Ierusalimschy)
  • [f096ab54] correct way to check arguments to 'strftime' (Roberto Ierusalimschy)
  • [4e1ffc48] test for 'fs' being NULL at the end of 'close_func' is useless ('fs' cannot be NULl and the new ls->fs can only be NULL when the token is EOS, in which case anchor_token has no effect). (Roberto Ierusalimschy)
  • [bc439e21] avoid an unprotected call to 'lua_tostring' which theoretically may cause a panicked exit (Roberto Ierusalimschy)
  • [1b448000] "stange numbers" (-0 and NaN) also go to the constant table (as strings with their binary representation). Therefore, constant folding may produce these results. (Roberto Ierusalimschy)
  • [42167804] luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers, not generic numbers). (Roberto Ierusalimschy)
  • [3135a6bb] luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers, not generic numbers) (Roberto Ierusalimschy)
  • [95cbc402] "But" -> "Bug" (misspelling) (Roberto Ierusalimschy)
  • [decada8d] 'debug.getfenv' does not check whether it has an argument (Roberto Ierusalimschy)
  • [ee5d03b4] small bug: debug.getfenv should check whether it has an argument (Roberto Ierusalimschy)
  • [323f33d0] 'collectgarbage"count"' returns a second argument with the count%1024. (Roberto Ierusalimschy)
  • [55dc7fb2] bug: stack must be cleared until its end (including extra size) + control of stack size moved to 'ldo.c' (Roberto Ierusalimschy)
  • [11d7ba79] tail calls do not need to move whole new frame down, only its slice up to last parameter (the rest has not been used yet) (Roberto Ierusalimschy)
  • [bd5fa9cc] new macro 'getproto' (Roberto Ierusalimschy)
  • [2658c949] detail (comment: 'correspoding' -> 'corresponding') (Roberto Ierusalimschy)
  • [21588576] 'index2adr' -> 'index2addr' (correct spelling) (Roberto Ierusalimschy)
  • [a5f68589] avoid using 'UNUSED' (not defined outside the kernel) (Roberto Ierusalimschy)
  • [28419c43] 'luaL_tolstring' uses 'lua_tolstring' instead of 'lua_tostring' and 'lua_objlen' (Roberto Ierusalimschy)
  • [5bff2aaf] calls with LUA_MULTRET may leave no free slots in the stack (Roberto Ierusalimschy)
  • [f76f4cb7] new way to control stack overflow, controling only total size of the stack (Roberto Ierusalimschy)
  • [abb85fc0] new definition for 'luaD_checkstack' to avoid possible overflows (Roberto Ierusalimschy)
  • [aabe3ddb] errors in 'resume' should be all protected (Roberto Ierusalimschy)
  • [0c258c84] smart use of varargs may create functions that return too many arguments and overflow the stack of C functions. (Roberto Ierusalimschy)
  • [d57c9cde] BUG: 'luaV_settable' may invalidate a reference to a table and try to reuse it. (Roberto Ierusalimschy)
  • [afb3f7e7] bug: 'luaV_settable' may invalidate a reference to a table and try to reuse it. (Roberto Ierusalimschy)
  • [88564c3a] Standard library for bitwise operations (Roberto Ierusalimschy)
  • [3abe3da9] new module 'lbitlib.c' for bitwise operations (Roberto Ierusalimschy)
  • [eb8499c8] use of LUAI_UINT32 replaced by 'unsigned LUA_INT32' (one less definition needed) (Roberto Ierusalimschy)
  • [47c56243] better error messages for luaL_checkversion (Roberto Ierusalimschy)
  • [02504d86] l_version may be local to 'lua_version' (Roberto Ierusalimschy)
  • [4a818f06] 'checkversion' implemented in the auxiliary library (Roberto Ierusalimschy)
  • [1d6ebce2] new function 'lua_version' (so that 'checkversion' can be implemented in the auxiliary library) (Roberto Ierusalimschy)
  • [bc3e02a1] default paths have dot option as the last one (to improve security) (Roberto Ierusalimschy)
  • [f4eed60c] better treatment of integer formats in string.format (Roberto Ierusalimschy)
  • [c1de1fda] small optimization in 'lua_arith' (avoids overhead in the common case of both arguments being numbers) (Roberto Ierusalimschy)
  • [a36c8e17] new macro 'changenvalue' (Roberto Ierusalimschy)
  • [d7872dcf] small optimization (reorder of BinOpr enum to unify some cases in switches) (Roberto Ierusalimschy)
  • [14115170] lua_objlen should not work for numbers (according to the manual) (Roberto Ierusalimschy)
  • [ec521494] 'lua_lessthan' replaced by more generic 'lua_compare' (Roberto Ierusalimschy)
  • [6980cb1a] new functions 'lua_arith' and 'lua_compare' (Roberto Ierusalimschy)
  • [59a59faf] exports luaV_arith to be used by lua_arith (Roberto Ierusalimschy)
  • [2bdd194f] exports luaV_arith to be used by lua_arith + uses 'luaO_arith' to perform basic arith. operations (Roberto Ierusalimschy)
  • [96fa34ec] constant folding uses 'luaO_arith' to perform basic operations (Roberto Ierusalimschy)
  • [6a024df4] new function 'luaO_arith' to perform basic arithmetic operations (Roberto Ierusalimschy)
  • [77fd9318] 'lessequal' renamed 'luaV_lessequal' and exported to be used by 'lua_compare' (Roberto Ierusalimschy)
  • [a21c89dd] new API function 'lua_mainthread' (Roberto Ierusalimschy)
  • [49b88b1c] patch for wrong code generation for some particular boolean expressions (Roberto Ierusalimschy)
  • [3db5f605] BUG: "(((1 or false) and true) or false)" gives wrong result (Roberto Ierusalimschy)
  • [2258ec6b] 'getline' renamed to 'getfuncline' (to avoid problems with POSIX) (Roberto Ierusalimschy)
  • [2598138e] new function 'luaK_codek' (detail) (Roberto Ierusalimschy)
  • [4a67e486] new macro 'condmovestack' instead of 'condhardstacktests' (Roberto Ierusalimschy)
  • [5cdec7d1] added "\n" at the end of 'package.config' (so that the string is a sequence of complete lines) (Roberto Ierusalimschy)
  • [9423e22a] no more L->base + ci->base only for Lua functions (C functions may use 'func') (Roberto Ierusalimschy)
  • [57f8414d] small bug in 'luaV_concat' (L->top was left incorrect in some cases) (Roberto Ierusalimschy)
  • [139d5628] type of 'luai_ctype_' array changed to unsigned (safer for bitwise operations) (Roberto Ierusalimschy)
  • [eea6d108] details (use ci->base instead of L->base when possible) (Roberto Ierusalimschy)
  • [019ebcb8] errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in __gc MetaMethod) (Roberto Ierusalimschy)
  • [889284eb] hexadecimal escape sequences in strings + better error messages for bad decimal escape sequences (Roberto Ierusalimschy)
  • [69563310] new macro 'zungetc' (Roberto Ierusalimschy)
  • [92479f1a] new property 'lisupper' (needed to compute values for hexa digits) (Roberto Ierusalimschy)
  • [e67dc3a2] 'symbexec' merged with 'getobjname' (as only use for symbolic execution now is to find a "good" name for an object) (Roberto Ierusalimschy)
  • [0cc3add9] variable renaming: 'lualibs' -> 'loadedlibs'; 'luareqlibs' -> 'preloadedlibs' (Roberto Ierusalimschy)
  • [71c2eeff] comments (Roberto Ierusalimschy)
  • [d7bc346d] no more code checking (Roberto Ierusalimschy)
  • [673c456c] resize string hash table only when new size is smaller than current one (Roberto Ierusalimschy)
  • [ea445708] hash table for strings is rehashed in place (Roberto Ierusalimschy)
  • [e091a254] new way to GC stacks: the entire stack must be correct all the times; the 'dead' part of a stack (after the top) must have only nil's, so that 'top' may go up without cleaning the stack. (Roberto Ierusalimschy)
  • [58c3aa8b] malicious zero-length string in binary code may segfault Lua + wrong code generation for some particular boolean expressions (Roberto Ierusalimschy)
  • [c1f78ff3] unused arguments removed (Roberto Ierusalimschy)
  • [e5249b9f] 'exit' changed to 'abort' in case of panic (+ some extra comments) 'abort' seems more in line with panic ("abnormal termination") (Roberto Ierusalimschy)
  • [d3037d97] several small improvements based on 'ci' being fixed now (including erasing savedpc from lua_State) (Roberto Ierusalimschy)
  • [c6b442bd] 'luaM_freearray' does not need array type as argument (Roberto Ierusalimschy)
  • [4f884181] 'CallInfo' stack implemented as double-linked list instead of an array (Roberto Ierusalimschy)
  • [311e9f3c] 'nresults' is saved in CallInfo from the caller, not the called (Roberto Ierusalimschy)
  • [8775f258] new function 'T.makeCfunc' (for later use) (Roberto Ierusalimschy)
  • [70a63fa5] first implementation of yieldable 'pcall' (Roberto Ierusalimschy)
  • [fffbaede] detail (Roberto Ierusalimschy)
  • [ae9ad6c6] added comment explaining why the 'feof' test when loading a file (Roberto Ierusalimschy)
  • [83d2dbb1] Lua will abort anyway, so 'panic' does not need to. (Roberto Ierusalimschy)
  • [4e437419] in 'lua_call', avoid preparing a continuation when thread cannot yield. (Roberto Ierusalimschy)
  • [a274596e] avoid making 'lastfree' an invalid pointer (Roberto Ierusalimschy)
  • [7e9bc41f] 'loadlib(lib, "*")' loads 'lib' with global names exported to all (Roberto Ierusalimschy)
  • [b1e1c15c] small bug: EOZ is a valid character to be tested (Roberto Ierusalimschy)
  • [3dbf3054] no more support for old-style varargs (Roberto Ierusalimschy)
  • [6d0ae11c] 'context' added to suspendable calls (Roberto Ierusalimschy)
  • [3ca739b4] 'math.random' uses lua_Number to manage its arguments (there is no reason to lose range). (Roberto Ierusalimschy)
  • [9e613b85] missing argument to 'assert' raises "assertion failed" error (Roberto Ierusalimschy)
  • [9428ec42] new optional argument to 'load', to control allowed modes (binary or textual chunks) (Roberto Ierusalimschy)
  • [6ffcf213] ctype 'lalpha' includes '' (as '' behaves as a letter from the point of view of Lua) (Roberto Ierusalimschy)
  • [6427c61e] added macro 'lisxdigit' (just in case :) (Roberto Ierusalimschy)
  • [ba484b9e] yielding across lua_call (first version) (Roberto Ierusalimschy)
  • [f9d01552] better notes about some opcodes (comments only) (Roberto Ierusalimschy)
  • [1817dfc3] initial separation, in CallInfo, of what is relevant only to Lua functions or only to C functions (Roberto Ierusalimschy)
  • [7837e34e] new states have a reasonable panic function + testC may run code on different threads + rename of some testC operations ('rawcall'->'call', 'call'->'pcall') (Roberto Ierusalimschy)
  • [910310d3] if thread has no error handling, try main thread handler before panicking (Roberto Ierusalimschy)
  • [facfcd49] detail (Roberto Ierusalimschy)
  • [b4033173] error functions search global space for a name for a function when no other name is available (Roberto Ierusalimschy)
  • [9bf05e73] code section 'Traceback' moved to the beginning of the file (Roberto Ierusalimschy)
  • [e39e758a] closing a "popen" file returns the process exit status (Roberto Ierusalimschy)
  • [5438d772] global array of ctypes renamed to 'luai_ctype_' (extern names must use a "lua" prefix...) (Roberto Ierusalimschy)
  • [6905ae90] Lua now uses "homemade" lctype (instead of ctype.h from ANSI C) (Roberto Ierusalimschy)
  • [ada82930] "homemade" version of ctype.h (Roberto Ierusalimschy)
  • [f36e3196] 'fputs' changed to 'luai_writestring' + use of 'lua_checkversion' (Roberto Ierusalimschy)
  • [0cea28a7] better error messages for 'lua_checkversion' (Roberto Ierusalimschy)
  • [d2ebdc04] new macro 'lua_checkversion' to check whether core and application are compatible (Roberto Ierusalimschy)
  • [81ede6bf] using light userdata to represent "remote" states (Roberto Ierusalimschy)
  • [2b579b4b] panic mode does not reset stack (so that panic function can gather debug information from it) (Roberto Ierusalimschy)
  • [a1d0e1a1] 'log10' is deprecated now (Roberto Ierusalimschy)
  • [89757398] better precision for log(x, 10) (Roberto Ierusalimschy)
  • [d07abcc6] finalizers always called protected (Roberto Ierusalimschy)
  • [18937814] buffer creation ensures buffer space plus MINSTACK in the stack (Roberto Ierusalimschy)
  • [82749b76] 'db_errorfb' changed to 'db_traceback' for consistency (Roberto Ierusalimschy)
  • [2b590aea] no more '__len' metamethod for strings (Roberto Ierusalimschy)
  • [547e4764] 'luaL_typeerror' spelled right (Roberto Ierusalimschy)
  • [41dd32e1] comment (should not use 'go trhough' when simply using multiple labels) (Roberto Ierusalimschy)
  • [5d3cc5de] 'writestring' changed into a configurable macro (Roberto Ierusalimschy)
  • [53db6079] avoid using 'fputs' in 'print' to avoid problems with embedded zeros (Roberto Ierusalimschy)
  • [cbf0c7a1] check for invalid use of '%' in replacement string in 'string.gsub' (Roberto Ierusalimschy)
  • [4c399c5d] detail (MAXSRC changed to LUA_IDSIZE) (Roberto Ierusalimschy)
  • [b4720984] concat TM can yield (Roberto Ierusalimschy)
  • [84b3daeb] generic for coded as two dedicated instructions to simplify resumption (Roberto Ierusalimschy)
  • [f6978173] yields accross metamethods and for iterators (except for __concat) (Roberto Ierusalimschy)
  • [e02483db] whole build depends on 'makefile' itself + better format for warning options (Roberto Ierusalimschy)
  • [9e58e0df] some cleaning (Roberto Ierusalimschy)
  • [690efef3] detail (added 'UNUSED' to unused argument) (Roberto Ierusalimschy)
  • [b9e92c8b] updating header dependencies (Roberto Ierusalimschy)
  • [4376c9bc] more specific test to avoid calling luaF_close when function returns (Roberto Ierusalimschy)
  • [f94cd220] better control of call status through CallInfo (Roberto Ierusalimschy)
  • [fdbb243f] first steps towards yielding through longjump (Roberto Ierusalimschy)
  • [c1565c16] small bug: lua_resume returning LUA_YIELD is not an error (Roberto Ierusalimschy)
  • [39464689] new field 'status' in CallInfo structure (Roberto Ierusalimschy)
  • [d69aa510] added missing parentheses around function names (Roberto Ierusalimschy)
  • [afe849c9] change in error message (Roberto Ierusalimschy)
  • [ccd678ea] 'module' may change the environment of a C function + internal macro 'svalue' is wrong (Roberto Ierusalimschy)
  • [bb92ef23] bug: string at the end of TString must consider the entire TString entity, not only its 'tsv' part (Roberto Ierusalimschy)
  • [bb48f456] bug: 'module' now checks that is caller is a Lua function (Roberto Ierusalimschy)
  • [df802dc7] larger alignment requirement helps to uncover some kinds of bugs (Roberto Ierusalimschy)
  • [e23da9ed] GC step does not unblock collector (when it is blocked by "stop") (Roberto Ierusalimschy)
  • [4db2cdde] LUA_COMPAT -> LUA_COMPAT_API (more specific) (Roberto Ierusalimschy)
  • [f9dec5fc] do not use compatibility macros in Lua (Roberto Ierusalimschy)
  • [6b8725b0] new macro LUA_COMPAT to control some compatibility macros (Roberto Ierusalimschy)
  • [69556662] 'string.byte' gets confused with some out-of-range negative indices + user-requested GC step may loop forever (Roberto Ierusalimschy)
  • [5298392c] bug: GC step could loop forever under very particular circumstances (Roberto Ierusalimschy)
  • [1ceec743] useless test removed (pointed by lint) (Roberto Ierusalimschy)
  • [2a84c29b] comment about exported function not used by Lua (Roberto Ierusalimschy)
  • [4d8a1103] useless #define removed (pointed by lint) (Roberto Ierusalimschy)
  • [202de592] useless #include removed (pointed by lint) (Roberto Ierusalimschy)
  • [f858a155] identation error (pointed by lint) (Roberto Ierusalimschy)
  • [9e7de947] message from -v option goes to stdout, as it is not an error message (Roberto Ierusalimschy)
  • [0c8f5fc2] simplification in the handling of finalizers: no more 'tmudata' list + no more GCSsweeptmu collector's state (Roberto Ierusalimschy)
  • [1527d8f0] GC called after errors now are called after showing error message (to avoid problems when there are other errors during GC itself) (Roberto Ierusalimschy)
  • [8efaf8af] added a comment about warnings for attribute(visibility) in some elf targets (Roberto Ierusalimschy)
  • [c3525610] bug: when closing the state, 'luaC_separateudata' might mark userdata in the wrong phase of collection, therefore avoiding their traversal (Roberto Ierusalimschy)
  • [7ba62e29] code reorganization (only changed comments and order of functions) (Roberto Ierusalimschy)
  • [8fd28611] outdated comment (Roberto Ierusalimschy)
  • [93869acb] "test trick" seems more useful with pointers instead of integers (Roberto Ierusalimschy)
  • [480a1da3] when error is 'bad self' original message probably makes no sense, so it is better not to show it. (Roberto Ierusalimschy)
  • [59e29733] removed static variable lua_state (not used) (Roberto Ierusalimschy)
  • [5d09be48] by default, 'os.exit' closes current state (Roberto Ierusalimschy)
  • [860e285f] 'luaL_gsub' moved into 'testC' (all auxlib should be tested through 'testC') (Roberto Ierusalimschy)
  • [eb8ac6e2] 'luaL_testudata' does not leave garbage on the stack in case of failure (Roberto Ierusalimschy)
  • [b1203e03] 'posrelat' avoids problems with -(-2^31) (Roberto Ierusalimschy)
  • [92a0d4c6] extra options in 'testC' for newmetatable and testudata (Roberto Ierusalimschy)
  • [5fa55df2] updated years in some comments/strings (Roberto Ierusalimschy)
  • [a3af42de] patch for "blow stack" bug (Roberto Ierusalimschy)
  • [198be23f] added structure for local-variable information to allow extra checkings if needed (Roberto Ierusalimschy)
  • [24359ae2] 'string.find' cannot find things after subject's end (Roberto Ierusalimschy)
  • [6c84722a] make default GC behavior a little more agressive (to avoid falling behind memory consumption) (Roberto Ierusalimschy)
  • [facb0519] two bugs: invalid boolean values in constant table + too deep recursion when reading nested functions (Roberto Ierusalimschy)
  • [ffdca352] 'table.sort' detects invalid order function before calling it for nil elements (Roberto Ierusalimschy)
  • [4d7469b6] avoid constant folding for -0 (to avoid it colapsing to 0) (Roberto Ierusalimschy)
  • [2b84e36b] patches for some bugs (Roberto Ierusalimschy)
  • [85bda9ee] bugs: precheck must use check (instead of assert) and ensures that code size is at least 1 (Roberto Ierusalimschy)
  • [a4d3080f] SETLIST extra argument now is an "instruction" (OP_EXTRAARG) (Roberto Ierusalimschy)
  • [5627d51e] corrected error message ("too many constants" -> "too many functions") (Roberto Ierusalimschy)
  • [e64b0cad] several bugs related to precompiled code (Roberto Ierusalimschy)
  • [7316d61a] 'coroutine.running' should work for the main thread too (Roberto Ierusalimschy)
  • [e2b366c7] userdata with finalizers are kept in a separated list (Roberto Ierusalimschy)
  • [fa19baab] proxies must be created with a __gc field in their metatables to work properly with new semantics for finalizers (Roberto Ierusalimschy)
  • [2f8351fe] turn off optimizations when testing (Roberto Ierusalimschy)
  • [32d42bdc] bugs: lua_checkstack may have arithmetic overflow for large 'size' + unpack with maximum indices may crash due to arithmetic overflow (Roberto Ierusalimschy)
  • [843d53aa] 'table.concat' may get confused with too large limits (Roberto Ierusalimschy)
  • [5ac33868] bug: unpack with maximum indices may crash due to arithmetic overflow (Roberto Ierusalimschy)
  • [6d182faa] bug: lua_checkstack may have arithmetic overflow for large 'size' (Roberto Ierusalimschy)
  • [f86f4116] micro-optimization: avoid one API call in 'read_chars' (Roberto Ierusalimschy)
  • [7f69f0ef] remove of useless test in 'read_chars' (if n == 0 then the resulting string cannot be empty). (Roberto Ierusalimschy)
  • [f6cab966] corrected name of 'Patrick Donnelly' (Roberto Ierusalimschy)
  • [3deb3881] added assertions checking maximum number of upvalues (Roberto Ierusalimschy)
  • [3b5b14a0] LUAI_MAXCSTACK must be smaller than -LUA_REGISTRYINDEX + coroutine.resume pushes element without ensuring stack size (Roberto Ierusalimschy)
  • [aec671c1] maximum C stack should reserve some values for pseudo-indices (Roberto Ierusalimschy)
  • [dd92af69] bug: pseudo-indices should be linked to maximum C stack size (Roberto Ierusalimschy)
  • [015e9738] bug: auxresume should reserve stack space for boolean result (Roberto Ierusalimschy)
  • [163f58da] in 'testC', booleans should be represented by booean values (Roberto Ierusalimschy)
  • [dcee7d2f] new instructions 'newtable' and 'checkstack' in 'testC' (Roberto Ierusalimschy)
  • [5f0a2f62] more options for 'kinds' of Garbage Collection + more agressive shrinking of stacks and string hash (Roberto Ierusalimschy)
  • [a7393022] more options for 'kinds' of Garbage Collection (Roberto Ierusalimschy)
  • [a76fa251] 'ceillog2' now is exported (other modules may need it) (Roberto Ierusalimschy)
  • [dd3519ab] comment (LUA_GLOBALSINDEX does not need write barrier in lua_replace) (Roberto Ierusalimschy)
  • [3a515df0] debug.sethook/gethook may overflow the thread's stack (Roberto Ierusalimschy)
  • [74897bc5] bug: debug.sethook/gethook may overflow thread's stack (Roberto Ierusalimschy)
  • [e7c989ba] avoid calling "tail return" hooks if the hook itself turns off the event (Roberto Ierusalimschy)
  • [7a3c8314] small bug (see http://lua-users.org/lists/lua-l/2007-08/msg00350.html) (Roberto Ierusalimschy)
  • [6f8257ec] it seems useless trying to avoid this warning... (Roberto Ierusalimschy)
  • [87b01917] better definition for LUAI_MAXCSTACK (Roberto Ierusalimschy)
  • [56c17ba4] detail (Roberto Ierusalimschy)
  • [daddc57a] luaL_tostring -> luaL_tolstring (more generic) (Roberto Ierusalimschy)
  • [f9cdd091] larger limit for MAXCSTACK (plus removing of some useless definitions) (Roberto Ierusalimschy)
  • [47b48583] detail ('name' of baselib is "_G") (Roberto Ierusalimschy)
  • [b8d23d6e] option to use Sun compiler (on lhf account) (Roberto Ierusalimschy)
  • [fdecdd0c] stand-alone interpreter shows incorrect error message when the 'message' is a coroutine (already fixed in 5.2) (Roberto Ierusalimschy)
  • [fabdaa37] 'lua_pushfstring' raises an error if called with invalid format (Roberto Ierusalimschy)
  • [bc82b4d7] new function 'package.searchpath' (Roberto Ierusalimschy)
  • [dae850e0] details (Roberto Ierusalimschy)
  • [abcc124d] BUG: lua_setfenv may crash if called over an invalid object (Roberto Ierusalimschy)
  • [b4164a9a] details (Roberto Ierusalimschy)
  • [9f0d62ad] BUG: table.remove removes last element of a table when given an out-of-bound index (Roberto Ierusalimschy)
  • [64ecf242] detail (Roberto Ierusalimschy)
  • [658e7caf] use prefix in extern names, even those in test files (Roberto Ierusalimschy)
  • [788506dd] detail (Roberto Ierusalimschy)
  • [62790ab1] detail (Roberto Ierusalimschy)
  • [ad60b3ea] avoid the use of "exotic" libc functions (Roberto Ierusalimschy)
  • [5e8dd555] first implementation of ephemerons (Roberto Ierusalimschy)
  • [0e961ad4] some changes toward ephemerons (Roberto Ierusalimschy)
  • [c06cc609] BUG: 'gsub' may go wild when wrongly called without its third > argument and with a large subject. (Roberto Ierusalimschy)
  • [2fa47665] detail (Roberto Ierusalimschy)
  • [7a78495f] avoid problems with 'ptrdiff_t' (Roberto Ierusalimschy)
  • [3138afbe] parser should not call 'luaX_lexerror' (Roberto Ierusalimschy)
  • [4eef0aaa] detail (Roberto Ierusalimschy)
  • [ab097329] new metamethods for '__pairs' and '__ipairs' (Roberto Ierusalimschy)
  • [b7fa6456] 27 is not a prime number :( (Roberto Ierusalimschy)
  • [2622ed25] better way to handle redefinitions of 'localeconv' (Roberto Ierusalimschy)
  • [9cb0607f] avoid warnings about exit; return (Roberto Ierusalimschy)
  • [8998032f] detail (Roberto Ierusalimschy)
  • [80b47535] better error message for 'concat' (Roberto Ierusalimschy)
  • [fe0838cd] tables and strings respect __len metamethod (Roberto Ierusalimschy)
  • [8acaa2ce] An error in a module loaded through the '-l' option shows no traceback. (Roberto Ierusalimschy)
  • [c676f13e] stand-alone error-message details (Roberto Ierusalimschy)
  • [9b47cee8] better to flush all files before starting new process with popen (Roberto Ierusalimschy)
  • [47e666c0] no need for ctype.h (Roberto Ierusalimschy)
  • [30595792] detail (Roberto Ierusalimschy)
  • [72c2f756] detail (LUA_COPYRIGHT includes release number) (Roberto Ierusalimschy)
  • [ec68ed66] detail (Roberto Ierusalimschy)
  • [f6a81dbe] BUG: too many variables in an assignment may cause a C stack overflow (Roberto Ierusalimschy)
  • [3904a66a] 'debug' library must be required before being used (Roberto Ierusalimschy)
  • [ffc5f782] detail (Roberto Ierusalimschy)
  • [3f78748e] traceback function moved to auxlib (Roberto Ierusalimschy)
  • [d26bfb5a] "spacial" reorganization to keep related functions in groups (Roberto Ierusalimschy)
  • [8d3dd041] clearing some old compatibility code (Roberto Ierusalimschy)
  • [791d8d85] detail (Roberto Ierusalimschy)
  • [e8551595] clearing some old compatibility code (Roberto Ierusalimschy)
  • [dc59444c] strong collision for very small numbers used as table keys (Roberto Ierusalimschy)
  • [6c042e17] avoid boolean equality (tricky for some compilers) (Roberto Ierusalimschy)
  • [18a58330] patch may be a little simpler (Roberto Ierusalimschy)
  • [fc8d0776] bug: wrong error message in some concatenations (Roberto Ierusalimschy)
  • [e64fcb9d] bug: recursive coroutines may overflow C stack (Roberto Ierusalimschy)
  • [6c0a9a27] assignment of nil to parameter may be optimized away __concat metamethod converts numbers to strings loadlib.c should not access Lua internals code generated for "-nil", "-true", and "-false" is wrong Count hook may be called without being set (Roberto Ierusalimschy)
  • [01fa1bc1] luaL_testudata (a luaL_checkudata that does not raise errors) is very needed. (Roberto Ierusalimschy)
  • [aa003eba] details (Roberto Ierusalimschy)
  • [becf19fe] better names for metamethods in debug information (Roberto Ierusalimschy)
  • [81fc3c4f] bug: code generated for "-nil", "-true", and "-false" is wrong (Roberto Ierusalimschy)
  • [e7fb0d8a] 'os.date' checks arguments before passing them to 'strftime' (Roberto Ierusalimschy)
  • [4eb49163] error handler in 'lua.c' tries '__tostring' metamethod if error message is not a string (Roberto Ierusalimschy)
  • [79cb336d] does not allow standard files to be closed (Roberto Ierusalimschy)
  • [38063345] several details (Roberto Ierusalimschy)
  • [ae00b3a7] another way to normalize -0 that avoids problems with very small numbers (adding 1 turns them all into 1) (Roberto Ierusalimschy)
  • [619be354] lua_pushstring/pushlstring return string (Roberto Ierusalimschy)
  • [94d40f39] luaO_log2 can be private to ltable.c (Roberto Ierusalimschy)
  • [585b81f9] remove of a non-used test function (Roberto Ierusalimschy)
  • [5f4f0d4a] no more optimization to avoid LOADNIL at function start (Roberto Ierusalimschy)
  • [8e36e1fe] details (randomseed calls rand once to dischard first value) (Roberto Ierusalimschy)
  • [97505caa] detail (Roberto Ierusalimschy)
  • [df50c84e] BUG: loadlib should not use Lua internals (lobject.h) (Roberto Ierusalimschy)
  • [1a455acc] two small bugs: some metamethods do not accept callable non-function objects + __concat converts numbers to strings before calling metamethod (Roberto Ierusalimschy)
  • [60bc151e] patch for last bug (Roberto Ierusalimschy)
  • [3b19bd4d] bug: wrong code when constant is coded after it should be (Roberto Ierusalimschy)
  • [08f902cf] better documentation for auxiliary functions (that should be called only through specific macros). (Roberto Ierusalimschy)
  • [d3c304e9] BUG: setfenv accepts invalid argument (Roberto Ierusalimschy)
  • [3bf0292c] two new bugs + one new patch (Roberto Ierusalimschy)
  • [a7861d9d] new year... (Roberto Ierusalimschy)
  • [d62a21b9] when formatting with '%q', all control characters are coded as \nnn. (Roberto Ierusalimschy)
  • [cf86576a] new function luaL_tostring (Roberto Ierusalimschy)
  • [92dc64e1] more regularity in the use of quotes in error messages (Roberto Ierusalimschy)
  • [593bfc96] should not manipulate NULL pointers (even without accessing them) (Roberto Ierusalimschy)
  • [850c60e8] detail for windows (Roberto Ierusalimschy)
  • [3d480b04] more specific ident labels (Roberto Ierusalimschy)
  • [c36e2265] detail (tab->space) (Roberto Ierusalimschy)
  • [a68df389] detail (Roberto Ierusalimschy)
  • [4d7cfff6] comments (Roberto Ierusalimschy)
  • [be822a5f] xpcall now may get arguments to function to be called (Roberto Ierusalimschy)
  • [9f5a052c] error message (Roberto Ierusalimschy)
  • [fc875334] detail (Roberto Ierusalimschy)
  • [80a267b1] avoid $URL for ident; it is reserved in subversion (Roberto Ierusalimschy)
  • [3182ac69] towards 5.2 + detail in authors + avoiding reverse plicks (Roberto Ierusalimschy)
  • [dead3858] detail (Roberto Ierusalimschy)
  • [afa0d0ac] new constant LUA_OK (Roberto Ierusalimschy)
  • [742b8be0] detail (Roberto Ierusalimschy)
  • [285f9261] avoid using index 0 for free list of references (because it is not as efficient as index 1...) (Roberto Ierusalimschy)
  • [3c8865cf] detail (Roberto Ierusalimschy)
  • [569a3269] small optimization for ""..x (Roberto Ierusalimschy)
  • [d1ef7e0e] avoid local "pc" in interpreter loop (tricky optimization with no real gain) (Roberto Ierusalimschy)
  • [d513c3c6] bug: os.date throws error when result is the empty string (Roberto Ierusalimschy)
  • [93d3c845] bug: string.format("%") reads past the string (Roberto Ierusalimschy)
  • [8667f29c] behavior of 'strchr(x, 0)' is ill defined. (Roberto Ierusalimschy)
  • [d22526ec] 'lua_strlen' is for compatibility only (Roberto Ierusalimschy)
  • [bd869c7b] details (Roberto Ierusalimschy)
  • [d5a23dde] little better error messages for internal arrays overflows (Roberto Ierusalimschy)
  • [a7c9e45c] avoid trailing white spaces (Roberto Ierusalimschy)
  • [cedd2092] 'coroutine.running' should return nil (instead of nothing) for main thread (Roberto Ierusalimschy)
  • [c4738180] avoid "too complex" conditional expression (some compilers get confused...) (Roberto Ierusalimschy)
  • [6087e677] no more compatibility option for long strings (Roberto Ierusalimschy)
  • [93bf6185] BUG: there is only one C stack, so nCcalls must be global (Roberto Ierusalimschy)
  • [dfe2f1ee] macros luai_num* take a state L (when available) as argument, to allow them to generate errors (and other facilities) (Roberto Ierusalimschy)
  • [ca7e5b5c] wrong message error in some cases involving closures (Roberto Ierusalimschy)
  • [5019b2dd] math.log now accepts an optional base (Roberto Ierusalimschy)
  • [33e7bc88] comment (Roberto Ierusalimschy)
  • [fa0c03aa] details (Roberto Ierusalimschy)
  • [3fa47c5d] bugs now are against 5.1.1 (Roberto Ierusalimschy)
  • [0782416a] bug: wrong limit for list constructors (Roberto Ierusalimschy)
  • [3ca9af51] emergency garbage collector (core forces a GC when allocation fails) (Roberto Ierusalimschy)
  • [c7b89dd2] small bug: should not use string after popping it (Roberto Ierusalimschy)
  • [74832b2a] detail (Roberto Ierusalimschy)
  • [ee41bc03] details (Roberto Ierusalimschy)

[v5.1.1]

  • [98194db4] details (Roberto Ierusalimschy)
  • [fad7582c] explicit test for common error (due to compatibility issue) (Roberto Ierusalimschy)
  • [a62fca1e] BUG: debug hooks may get wrong when mixed with coroutines (Roberto Ierusalimschy)
  • [2b5c1f99] small simplifications (Roberto Ierusalimschy)
  • [e2dc5f5d] extra assertion (Roberto Ierusalimschy)
  • [ed64346b] details (Roberto Ierusalimschy)
  • [475b0ecb] new macro LUA_RELEASE (Roberto Ierusalimschy)
  • [414359b2] new version number (Roberto Ierusalimschy)
  • [0079efc4] bug: collector did not compensate enough for userdata with finalizers (Roberto Ierusalimschy)
  • [ad0765b4] subtle problem with the garbage collector (Roberto Ierusalimschy)
  • [20f4bbdc] does not accept garbage after options (e.g., -ixxx) (Roberto Ierusalimschy)
  • [c4081580] only destroy state after running all finalizers (Roberto Ierusalimschy)
  • [55e32319] files should not be operated after fclose, even when fclose fails (Roberto Ierusalimschy)
  • [fe8f4c06] detail (better error message for invalid format) (Roberto Ierusalimschy)
  • [c3513929] details (Roberto Ierusalimschy)
  • [18330b60] lua_dostring/lua_dofile should return any values returned by the chunk (Roberto Ierusalimschy)
  • [84879136] BUG: option '%q' for string.format does not handle '\r' correctly (Roberto Ierusalimschy)
  • [672bb67e] environment variable names should be configurable (Roberto Ierusalimschy)
  • [90df6b7a] detail (Roberto Ierusalimschy)
  • [0238a0b0] BUG: luaL_checkudata may show wrong error message (Roberto Ierusalimschy)
  • [1ae0b6c0] BUG: should copy the union, not (some of) its fields (Roberto Ierusalimschy)
  • [e1dda047] unused macro (Roberto Ierusalimschy)
  • [2c8206d4] bug in Lua 4.0.2: weak tables that survive one collection are never collected (Roberto Ierusalimschy)
  • [ae763078] comment (Roberto Ierusalimschy)
  • [3d61c31e] 'lparser.h' should not include 'ltable.h' (Roberto Ierusalimschy)
  • [44a9bd6a] detail (Roberto Ierusalimschy)
  • [69ea087d] small change to strip file names when stripping debug information (Roberto Ierusalimschy)
  • [c05aaf3b] avoid warning in OS X - ansi (Roberto Ierusalimschy)
  • [298ae7e2] complete support for hexadecimal constants (Roberto Ierusalimschy)
  • [6316a866] compiler warning (Roberto Ierusalimschy)
  • [ea2cc2bc] small improvements for allignments (Roberto Ierusalimschy)
  • [64205e91] empty string may cause out-of-bound access (Roberto Ierusalimschy)
  • [81736885] detail (Roberto Ierusalimschy)
  • [3ef5a679] detail (Roberto Ierusalimschy)
  • [9e6e4398] details (Roberto Ierusalimschy)
  • [baffc37f] detail (Roberto Ierusalimschy)
  • [440113bb] unused macro removed (Roberto Ierusalimschy)
  • [73ebc5d8] compat code should keep compatibility (Roberto Ierusalimschy)
  • [a666752b] detail (Roberto Ierusalimschy)
  • [f8b7a558] avoid unnecessary exports (Roberto Ierusalimschy)
  • [ffb798e1] avoids type punning for table keys (Roberto Ierusalimschy)
  • [fa936f8f] detail (Roberto Ierusalimschy)
  • [dd122158] details (Roberto Ierusalimschy)
  • [bfdcbbcd] small optimizations (lua_newtable -> lua_createtable) (Roberto Ierusalimschy)
  • [30eebb2d] detail (stop collector while openning libraries) (Roberto Ierusalimschy)
  • [0fd64669] lua_assert is an internal matter, not to be configured (Roberto Ierusalimschy)
  • [6a516878] collectgarbage"count" returns kilobytes (where K = 1024) (Roberto Ierusalimschy)
  • [a486090a] copyright will be 2006 (Roberto Ierusalimschy)
  • [01605919] removal of dead code (Roberto Ierusalimschy)
  • [c505f341] small changes in casts (Roberto Ierusalimschy)
  • [428325ba] detail (Roberto Ierusalimschy)
  • [0561f71f] (much) better error messages for 'require' (Roberto Ierusalimschy)
  • [9fbefdf6] integer formats in 'string.format' may need to operate with larger-than-int types (Roberto Ierusalimschy)
  • [43c61fc1] details (Roberto Ierusalimschy)
  • [ea6b1b42] more robust way to test for decimal point separator (Roberto Ierusalimschy)
  • [87024e25] details (Roberto Ierusalimschy)
  • [6cd46163] clearer error message for uninstalled loadlib (Roberto Ierusalimschy)
  • [16fd4aba] corrects decimal point to follow current locale (Roberto Ierusalimschy)
  • [f26b85c5] small detail (Roberto Ierusalimschy)
  • [3592c08a] avoid printing two copyright messages with '-v -i' options (Roberto Ierusalimschy)
  • [db724e14] new macro luai_numisnan (Roberto Ierusalimschy)
  • [17029532] new macro LUA_WIN + new macro luai_numisnan (Roberto Ierusalimschy)

[v5.1-beta]

  • [33b4dec1] no more "auto-detection" (Roberto Ierusalimschy)
  • [7dd10a1d] new macro LUA_USE_POSIX to control POSIX-related macros (Roberto Ierusalimschy)
  • [521a452f] 'mod' may also raise an error when applied to zero (Roberto Ierusalimschy)
  • [2753134a] new versions by lhf (Roberto Ierusalimschy)
  • [cbbde11a] better position for lua_number2int (it is related to lua_Number) (Roberto Ierusalimschy)
  • [7b89cf3a] unused include's (Roberto Ierusalimschy)
  • [d2811e80] simpler checking for numbers (strtod does the rest) (Roberto Ierusalimschy)
  • [e43e9555] more privacy (Roberto Ierusalimschy)
  • [930018e2] lua_getlocal/setlocal work also for C locals and temporaries (Roberto Ierusalimschy)
  • [a160266c] details (Roberto Ierusalimschy)
  • [d4c99b26] new function 'getregistry' (Roberto Ierusalimschy)
  • [88f9843e] better error message (Roberto Ierusalimschy)
  • [9b5ae6fa] better control of which values macros use (Roberto Ierusalimschy)
  • [caf3cfc6] try to ensure that macros actually use their arguments (Roberto Ierusalimschy)
  • [ff7638b0] VC warnings (Roberto Ierusalimschy)
  • [8e48ebb6] no more L in numer-operator macros (some functions that use those macros have no access to L) (Roberto Ierusalimschy)
  • [c2bd68d2] detail (Roberto Ierusalimschy)
  • [201288b4] small bug (Roberto Ierusalimschy)
  • [62367dda] string.gsub accepts a table as the replacement value (Roberto Ierusalimschy)
  • [056b6a8e] more robust implementation for table.insert (Roberto Ierusalimschy)
  • [502d8f9a] comments (Roberto Ierusalimschy)
  • [7f376e6e] do a complete garbage collection in case of errors (Roberto Ierusalimschy)
  • [053e8731] new macro luaL_opt to avoid evaluating defaults when no needed (Roberto Ierusalimschy)
  • [9f421131] more precision for gc count (Roberto Ierusalimschy)
  • [515d5568] access to metamethods and metafields should be raw (Roberto Ierusalimschy)
  • [ed703902] avoid some warnings (Roberto Ierusalimschy)
  • [5511bf6b] avoid comparisons between (void *) and (int *) (Roberto Ierusalimschy)
  • [86704cff] detail in usage message (Roberto Ierusalimschy)
  • [fa41fafa] reorganization of argument handling (Roberto Ierusalimschy)
  • [ebf646ef] detail (Roberto Ierusalimschy)
  • [b3f81f1d] small bug when debugging dead threads (Roberto Ierusalimschy)
  • [a24eb3ef] different organization for platform dependencies (Roberto Ierusalimschy)
  • [4385e2ad] "conceptually", OP_TEST may change reg. A (Roberto Ierusalimschy)
  • [e9b06c50] small optimization (Roberto Ierusalimschy)
  • [cd12ab25] details (more uniform coding) (Roberto Ierusalimschy)
  • [e251e84e] constant folding optimizations (Roberto Ierusalimschy)
  • [e6bfbc38] 'luaopen_package' was missing in new states (Roberto Ierusalimschy)
  • [d31c04c0] missing macros 'luai_userstate*' (Roberto Ierusalimschy)
  • [522481a7] avoid some warnings (Roberto Ierusalimschy)
  • [37b49aa4] detail (Roberto Ierusalimschy)
  • [0fa9b161] details (Roberto Ierusalimschy)
  • [e41fb9a6] registry._LOADED created "on demand" (Roberto Ierusalimschy)
  • [5fc92cce] registry._LOADED created "on demand" and baselib created as module _G (Roberto Ierusalimschy)
  • [6dd0c6cc] numeral expressions keep their values in struct 'expdesc' (Roberto Ierusalimschy)
  • [a77413ac] include of math.h depends on luaconf (Roberto Ierusalimschy)
  • [5dbb8708] small optimization for local declarations without initializations (Roberto Ierusalimschy)
  • [ede19c91] (Roberto Ierusalimschy)
  • [9e88b336] unused assignment (Roberto Ierusalimschy)
  • [0fae476e] new function 'table.maxn' (Roberto Ierusalimschy)
  • [361a9adb] smaller initial tables (for programs that create many states) (Roberto Ierusalimschy)
  • [d8f1cca1] new function 'lua_setallocf' (Roberto Ierusalimschy)
  • [bf96d3fd] 'string.find' as it was in 5.0 (Roberto Ierusalimschy)
  • [c8c2e068] 'select' accepts negative indices (Roberto Ierusalimschy)
  • [8dcc6bc5] avoid the use of global lock (Roberto Ierusalimschy)
  • [38f585d2] separated macros for thread creation and state creation (Roberto Ierusalimschy)
  • [6887f917] ":" is not a good mark as it is not valid in Windows file names (Roberto Ierusalimschy)

[v5.1-alpha]

[v5.1]

  • [69ea087d] small change to strip file names when stripping debug information (Roberto Ierusalimschy)
  • [c05aaf3b] avoid warning in OS X - ansi (Roberto Ierusalimschy)
  • [298ae7e2] complete support for hexadecimal constants (Roberto Ierusalimschy)
  • [6316a866] compiler warning (Roberto Ierusalimschy)
  • [ea2cc2bc] small improvements for allignments (Roberto Ierusalimschy)
  • [64205e91] empty string may cause out-of-bound access (Roberto Ierusalimschy)
  • [81736885] detail (Roberto Ierusalimschy)
  • [3ef5a679] detail (Roberto Ierusalimschy)
  • [9e6e4398] details (Roberto Ierusalimschy)
  • [baffc37f] detail (Roberto Ierusalimschy)
  • [440113bb] unused macro removed (Roberto Ierusalimschy)
  • [73ebc5d8] compat code should keep compatibility (Roberto Ierusalimschy)
  • [a666752b] detail (Roberto Ierusalimschy)
  • [f8b7a558] avoid unnecessary exports (Roberto Ierusalimschy)
  • [ffb798e1] avoids type punning for table keys (Roberto Ierusalimschy)
  • [fa936f8f] detail (Roberto Ierusalimschy)
  • [dd122158] details (Roberto Ierusalimschy)
  • [bfdcbbcd] small optimizations (lua_newtable -> lua_createtable) (Roberto Ierusalimschy)
  • [30eebb2d] detail (stop collector while openning libraries) (Roberto Ierusalimschy)
  • [0fd64669] lua_assert is an internal matter, not to be configured (Roberto Ierusalimschy)
  • [6a516878] collectgarbage"count" returns kilobytes (where K = 1024) (Roberto Ierusalimschy)
  • [a486090a] copyright will be 2006 (Roberto Ierusalimschy)
  • [01605919] removal of dead code (Roberto Ierusalimschy)
  • [c505f341] small changes in casts (Roberto Ierusalimschy)
  • [428325ba] detail (Roberto Ierusalimschy)
  • [0561f71f] (much) better error messages for 'require' (Roberto Ierusalimschy)
  • [9fbefdf6] integer formats in 'string.format' may need to operate with larger-than-int types (Roberto Ierusalimschy)
  • [43c61fc1] details (Roberto Ierusalimschy)
  • [ea6b1b42] more robust way to test for decimal point separator (Roberto Ierusalimschy)
  • [87024e25] details (Roberto Ierusalimschy)
  • [6cd46163] clearer error message for uninstalled loadlib (Roberto Ierusalimschy)
  • [16fd4aba] corrects decimal point to follow current locale (Roberto Ierusalimschy)
  • [f26b85c5] small detail (Roberto Ierusalimschy)
  • [3592c08a] avoid printing two copyright messages with '-v -i' options (Roberto Ierusalimschy)
  • [db724e14] new macro luai_numisnan (Roberto Ierusalimschy)
  • [17029532] new macro LUA_WIN + new macro luai_numisnan (Roberto Ierusalimschy)
  • [33b4dec1] no more "auto-detection" (Roberto Ierusalimschy)
  • [7dd10a1d] new macro LUA_USE_POSIX to control POSIX-related macros (Roberto Ierusalimschy)
  • [521a452f] 'mod' may also raise an error when applied to zero (Roberto Ierusalimschy)
  • [2753134a] new versions by lhf (Roberto Ierusalimschy)
  • [cbbde11a] better position for lua_number2int (it is related to lua_Number) (Roberto Ierusalimschy)
  • [7b89cf3a] unused include's (Roberto Ierusalimschy)
  • [d2811e80] simpler checking for numbers (strtod does the rest) (Roberto Ierusalimschy)
  • [e43e9555] more privacy (Roberto Ierusalimschy)
  • [930018e2] lua_getlocal/setlocal work also for C locals and temporaries (Roberto Ierusalimschy)
  • [a160266c] details (Roberto Ierusalimschy)
  • [d4c99b26] new function 'getregistry' (Roberto Ierusalimschy)
  • [88f9843e] better error message (Roberto Ierusalimschy)
  • [9b5ae6fa] better control of which values macros use (Roberto Ierusalimschy)
  • [caf3cfc6] try to ensure that macros actually use their arguments (Roberto Ierusalimschy)
  • [ff7638b0] VC warnings (Roberto Ierusalimschy)
  • [8e48ebb6] no more L in numer-operator macros (some functions that use those macros have no access to L) (Roberto Ierusalimschy)
  • [c2bd68d2] detail (Roberto Ierusalimschy)
  • [201288b4] small bug (Roberto Ierusalimschy)
  • [62367dda] string.gsub accepts a table as the replacement value (Roberto Ierusalimschy)
  • [056b6a8e] more robust implementation for table.insert (Roberto Ierusalimschy)
  • [502d8f9a] comments (Roberto Ierusalimschy)
  • [7f376e6e] do a complete garbage collection in case of errors (Roberto Ierusalimschy)
  • [053e8731] new macro luaL_opt to avoid evaluating defaults when no needed (Roberto Ierusalimschy)
  • [9f421131] more precision for gc count (Roberto Ierusalimschy)
  • [515d5568] access to metamethods and metafields should be raw (Roberto Ierusalimschy)
  • [ed703902] avoid some warnings (Roberto Ierusalimschy)
  • [5511bf6b] avoid comparisons between (void *) and (int *) (Roberto Ierusalimschy)
  • [86704cff] detail in usage message (Roberto Ierusalimschy)
  • [fa41fafa] reorganization of argument handling (Roberto Ierusalimschy)
  • [ebf646ef] detail (Roberto Ierusalimschy)
  • [b3f81f1d] small bug when debugging dead threads (Roberto Ierusalimschy)
  • [a24eb3ef] different organization for platform dependencies (Roberto Ierusalimschy)
  • [4385e2ad] "conceptually", OP_TEST may change reg. A (Roberto Ierusalimschy)
  • [e9b06c50] small optimization (Roberto Ierusalimschy)
  • [cd12ab25] details (more uniform coding) (Roberto Ierusalimschy)
  • [e251e84e] constant folding optimizations (Roberto Ierusalimschy)
  • [e6bfbc38] 'luaopen_package' was missing in new states (Roberto Ierusalimschy)
  • [d31c04c0] missing macros 'luai_userstate*' (Roberto Ierusalimschy)
  • [522481a7] avoid some warnings (Roberto Ierusalimschy)
  • [37b49aa4] detail (Roberto Ierusalimschy)
  • [0fa9b161] details (Roberto Ierusalimschy)
  • [e41fb9a6] registry._LOADED created "on demand" (Roberto Ierusalimschy)
  • [5fc92cce] registry._LOADED created "on demand" and baselib created as module _G (Roberto Ierusalimschy)
  • [6dd0c6cc] numeral expressions keep their values in struct 'expdesc' (Roberto Ierusalimschy)
  • [a77413ac] include of math.h depends on luaconf (Roberto Ierusalimschy)
  • [5dbb8708] small optimization for local declarations without initializations (Roberto Ierusalimschy)
  • [ede19c91] (Roberto Ierusalimschy)
  • [9e88b336] unused assignment (Roberto Ierusalimschy)
  • [0fae476e] new function 'table.maxn' (Roberto Ierusalimschy)
  • [361a9adb] smaller initial tables (for programs that create many states) (Roberto Ierusalimschy)
  • [d8f1cca1] new function 'lua_setallocf' (Roberto Ierusalimschy)
  • [bf96d3fd] 'string.find' as it was in 5.0 (Roberto Ierusalimschy)
  • [c8c2e068] 'select' accepts negative indices (Roberto Ierusalimschy)
  • [8dcc6bc5] avoid the use of global lock (Roberto Ierusalimschy)
  • [38f585d2] separated macros for thread creation and state creation (Roberto Ierusalimschy)
  • [6887f917] ":" is not a good mark as it is not valid in Windows file names (Roberto Ierusalimschy)
  • [7fbbf1ad] explicit macro to control use of _longjmp (Roberto Ierusalimschy)
  • [6dd3a73c] detail (macro evaluates twice its arguments) (Roberto Ierusalimschy)
  • [1e6a559b] does not set isdst when undefined (Roberto Ierusalimschy)
  • [2d2f9557] detail (Roberto Ierusalimschy)
  • [669f6306] small corrections (Roberto Ierusalimschy)
  • [2bcbd3c7] avoid 'PathRemoveFileSpec' (not very portable) (Roberto Ierusalimschy)
  • [5fa6604f] detail (Roberto Ierusalimschy)
  • [ce67a9be] avoid exporting undefined functions (Roberto Ierusalimschy)
  • [506c89ce] just in case, flush all output (Roberto Ierusalimschy)
  • [8ead2ec3] wrong syntax for Windows-specific options (Roberto Ierusalimschy)
  • [c3cc4de3] small bug (zero is not error code) (Roberto Ierusalimschy)
  • [351f7dad] default for 'module' is opaque (with option 'seeall') (Roberto Ierusalimschy)
  • [3b19af44] new method to handle tests without values (negative values) (Roberto Ierusalimschy)
  • [3390f9a3] detail (Roberto Ierusalimschy)
  • [9273fbd1] no more 'luaL_get/setfield' (replaced by more direct luaL_findtable) (Roberto Ierusalimschy)
  • [be666a66] detail (Roberto Ierusalimschy)
  • [39cdbce2] no more '-w' option + new way to check module existence (Roberto Ierusalimschy)
  • [8974b59e] no more compatibility for {;} and similar syntax (Roberto Ierusalimschy)
  • [4ff1e5b4] details (Roberto Ierusalimschy)
  • [98296f6b] some bugs related to stack reallocation (Roberto Ierusalimschy)
  • [23b79c59] small changes to facilitate external C coroutines (Roberto Ierusalimschy)
  • [6fcd334c] small improvements (Roberto Ierusalimschy)
  • [43ad0637] small optimizations (Roberto Ierusalimschy)
  • [027e9e99] simpler implementation for userdata types (Roberto Ierusalimschy)
  • [3b828d9e] luaL_setfield does a non-raw set (Roberto Ierusalimschy)
  • [68548a02] fancier code ;) (Roberto Ierusalimschy)
  • [2f2b4a42] luaL_checkudata raises an error if value is not correct (like other luaL_check functions) (Roberto Ierusalimschy)
  • [07435291] new coding for while and repeat (with new scoping for repeat) (Roberto Ierusalimschy)
  • [5e8a9e32] luaL_openlib -> luaL_register, luaL_putchar -> luaL_addchar (Roberto Ierusalimschy)
  • [16ddf861] luaL_openlib -> luaL_register and new function luaL_loadstring (Roberto Ierusalimschy)
  • [e4d369c9] comments (Roberto Ierusalimschy)
  • [42a66233] simpler implementation for unary minus (Roberto Ierusalimschy)
  • [39c0f391] detail (Roberto Ierusalimschy)
  • [c7b4f447] correct name to open package library (Roberto Ierusalimschy)
  • [44b19075] small changes (to easy integration with Coco) (Roberto Ierusalimschy)
  • [ab3dfa55] store some configuration information (Roberto Ierusalimschy)
  • [62f786e0] new version (and new copyright)... (Roberto Ierusalimschy)
  • [bbfd2895] attempt to better control use of _longjmp (Roberto Ierusalimschy)
  • [894cd31c] #string is primitive (Roberto Ierusalimschy)
  • [f01a95d4] detail (Roberto Ierusalimschy)
  • [680fc88c] a small bug (Roberto Ierusalimschy)
  • [d96f088a] 'lua_lock' and similars should be hard to use (Roberto Ierusalimschy)
  • [d8be9a63] small changes (Roberto Ierusalimschy)
  • [95f3eefa] small optimization (Roberto Ierusalimschy)
  • [e82bdb24] new loader for "all-in-one" C packages (Roberto Ierusalimschy)
  • [1a343814] details (Roberto Ierusalimschy)
  • [280f7bec] "%0" stands for the whole pattern (in gsub) (Roberto Ierusalimschy)
  • [d6ff5d9f] searchpath is "private affair" of loadlib (Roberto Ierusalimschy)
  • [a05190fa] elimination of common code + better error message (Roberto Ierusalimschy)
  • [a569099b] no more path for loadfile + function lists sorted (Roberto Ierusalimschy)
  • [20131e54] no more "getc" when testing if file exists (Roberto Ierusalimschy)
  • [80ac5e83] details (alphabetical order for list of functions) (Roberto Ierusalimschy)
  • [289b5dc6] details (function list in alphabetical order) (Roberto Ierusalimschy)
  • [c2f065f4] detail (Roberto Ierusalimschy)
  • [b261cd11] new macro for conversion double->int + small changes (Roberto Ierusalimschy)
  • [e4324f54] ';;' in a path is replaced by default path + '!' (in Windows) is replaced by executable's directory (Roberto Ierusalimschy)
  • [3d08aa59] details (Roberto Ierusalimschy)
  • [0f30d00c] warnings from Visual C (Roberto Ierusalimschy)
  • [e86dab2d] details (Roberto Ierusalimschy)
  • [64b57db3] new test function for conversion from num to int (Roberto Ierusalimschy)
  • [57563731] better recovery at panic (Roberto Ierusalimschy)
  • [87be0159] warnings Visual C (Roberto Ierusalimschy)
  • [e84b11a4] avoid names starting with '_' (Roberto Ierusalimschy)
  • [bbf2cea9] more "polite" way to change a thread's environment (Roberto Ierusalimschy)
  • [b3f7a430] lua_setfenv/lua_getfenv should also manipulate threads (Roberto Ierusalimschy)
  • [7f97ec28] parent modules are also imported toghether with the module itself (Roberto Ierusalimschy)
  • [e82b41aa] several small improvements (Roberto Ierusalimschy)
  • [ee1edd57] detail (Roberto Ierusalimschy)
  • [8efb44b5] changes in 'string.find' and 'string.gfind' (new 'string.match' and 'string.gmatch') (Roberto Ierusalimschy)
  • [f7720beb] more precise way to check incomplete lines (Roberto Ierusalimschy)
  • [69cc0a12] small bug (Roberto Ierusalimschy)
  • [2f0955b9] detail (Roberto Ierusalimschy)
  • [999d55d8] several updates (Roberto Ierusalimschy)
  • [1f9f97e3] 'math.mod' -> 'math.fmod' (Roberto Ierusalimschy)
  • [34aac33c] detail (Roberto Ierusalimschy)
  • [3c2cf9db] some extra consistency checks (Roberto Ierusalimschy)
  • [0b71bfd6] syntax for length changed from '*' to '#' (Roberto Ierusalimschy)
  • [0d1685d7] bug: last tag is not the number of tags... (Roberto Ierusalimschy)
  • [bf2b342a] better control for compatibility code for varargs (Roberto Ierusalimschy)
  • [5fa2bec1] bug: current line should work for call hook (Roberto Ierusalimschy)
  • [746a1d61] small bug (type error) (Roberto Ierusalimschy)
  • [3ad03b33] optional size for 'setvbuf' (Roberto Ierusalimschy)
  • [86add535] 'popen' is back (Roberto Ierusalimschy)
  • [d987cf1f] new mark LUAI_DATA for extern data (Roberto Ierusalimschy)
  • [eca9fa02] small improvement (Roberto Ierusalimschy)
  • [e33d7bae] STRICT_ANSI -> LUA_ANSI (definition is independent of gcc) (Roberto Ierusalimschy)
  • [d6287959] lua_objsize -> lua_objlen (more compatible with use of `len´ in other places [opcode name, metamethod index, etc.]) (Roberto Ierusalimschy)
  • [05348d83] better error message (Roberto Ierusalimschy)
  • [90de38bf] warnings in VS .Net (Roberto Ierusalimschy)
  • [e8a7ecb9] luaL_findstring -> luaL_checkoption (Roberto Ierusalimschy)
  • [38da9d56] better use defined/undefined as flag values for macros (Roberto Ierusalimschy)
  • [f21e9c17] details (Roberto Ierusalimschy)
  • [67578ec5] several small details (Roberto Ierusalimschy)
  • [c2bb9abc] better quotes for strings in error messages (Roberto Ierusalimschy)
  • [da32450c] new API function `lua_tolstring' (Roberto Ierusalimschy)
  • [a2b78aad] debug information for active lines (Roberto Ierusalimschy)
  • [c6293a76] LUA_DL_DLOPEN is for internal use; makefile should use LUA_USE_DLOPEN (Roberto Ierusalimschy)
  • [1ab2b934] debug information for last line of a function definition (Roberto Ierusalimschy)
  • [6cf85dcc] metatables for all types (Roberto Ierusalimschy)
  • [65f4a0f6] no more compatibility code for traversing tables (Roberto Ierusalimschy)
  • [12acca7b] comments (Roberto Ierusalimschy)
  • [d5fd44d7] corrected definition of lua_number2int for Windows (Roberto Ierusalimschy)
  • [b0abc2ca] better control of local variables in luaV_execute (Roberto Ierusalimschy)
  • [b320d37a] better tests for correctness of `savedpc' (Roberto Ierusalimschy)
  • [9b8d136e] `*' operator is primitive only for tables (Roberto Ierusalimschy)
  • [9832f6b1] small bug (Roberto Ierusalimschy)
  • [8e696dd1] detail (Roberto Ierusalimschy)
  • [c3939f57] comment (Roberto Ierusalimschy)
  • [bcc4089a] comment (Roberto Ierusalimschy)
  • [cf5d1bdd] nesting of long strings only in compatibility mode (Roberto Ierusalimschy)
  • [8718fda9] added LUAI_FUNC to functions not in the API (Roberto Ierusalimschy)
  • [8c3c3e76] small bug for tail-recursive debugging (Roberto Ierusalimschy)
  • [04f657c7] new protocol to open standard libraries (Roberto Ierusalimschy)
  • [2873d4ef] stack could overflow with too many command-line arguments (Roberto Ierusalimschy)
  • [a7ea0c71] detail (Roberto Ierusalimschy)
  • [b1957b1e] detail for Windows (untested) (Roberto Ierusalimschy)
  • [a17e1fe1] new organization using only one library (Roberto Ierusalimschy)
  • [fabf5db2] C stack is the same for the parser and the interpreter, so depth control should be unified in both parts. (Roberto Ierusalimschy)
  • [de0bfe33] new definition for `lua_number2int' for Windows (not tested yet!) (Roberto Ierusalimschy)
  • [9768e2f6] detail (Roberto Ierusalimschy)
  • [71eb8240] details (Roberto Ierusalimschy)
  • [7b6c3b46] small optimizations (Roberto Ierusalimschy)
  • [0316308c] removed dirt optimizations that gave small gains (Roberto Ierusalimschy)
  • [409ee999] detail (Roberto Ierusalimschy)
  • [445eda7e] details (Roberto Ierusalimschy)
  • [092dc95b] using require' to implement -l' (Roberto Ierusalimschy)
  • [e6e543a5] better control for compatibility code (Roberto Ierusalimschy)
  • [1c9c8869] standard configuration should run out-of-the-box in "any" system (Roberto Ierusalimschy)
  • [ade585bd] no more LUA_FIRSTINDEX (Roberto Ierusalimschy)
  • [04c41444] wrong comment corrected (Roberto Ierusalimschy)
  • [03fb3c39] change #ifdef' for #if defined' (Roberto Ierusalimschy)
  • [8af1ca02] LUA_USERCONFIG is no longer necessary (Roberto Ierusalimschy)
  • [f1eb79fd] some line-edit facilities must free the line after its use (Roberto Ierusalimschy)
  • [408cb717] avoid name conflict with some spurious included header files (Roberto Ierusalimschy)
  • [390256ed] better name for GC pause (Roberto Ierusalimschy)
  • [ad24cff0] lua_gc(STEP) returns whether collection cycle finished (Roberto Ierusalimschy)
  • [6d475731] cleaner configuration for lua.c (Roberto Ierusalimschy)
  • [f41fc0eb] small bug: a GC step was not proportional to its "size" (Roberto Ierusalimschy)
  • [d8720902] small errors in previous `ci' of luaconf.h. (Roberto Ierusalimschy)
  • [fb0f95a2] call limit may be larger than shorts (Roberto Ierusalimschy)
  • [d3a6d95b] more cleaning on configurations (Roberto Ierusalimschy)
  • [47984a0c] internal definitions have prefix `luai_' (Roberto Ierusalimschy)
  • [086d6b09] avoid name colision with `close' function (Roberto Ierusalimschy)
  • [bfe29056] avoid too much configuration options (Roberto Ierusalimschy)
  • [2cbd9eec] try to avoid warnings (Roberto Ierusalimschy)
  • [44940940] detail (Roberto Ierusalimschy)
  • [04bbd011] new operation *t (for size of t) (may yet be removed...) (Roberto Ierusalimschy)
  • [9ffae705] new "primitive" getn (Roberto Ierusalimschy)
  • [6bfef60e] bug: rawset/rawget do not ignore extra arguments (Roberto Ierusalimschy)
  • [370d31a5] luac´ -> luai' (to avoid confusion with other luac stuff) (Roberto Ierusalimschy)
  • [f8df21bd] `luaconf.h´ exports all its definitions always (so all of them must have a lua/LUA prefix). (Roberto Ierusalimschy)
  • [d3902cfa] entries `{[...] = ...}' need space too. (Roberto Ierusalimschy)
  • [b5b230d9] fewer #include's in luaconf.h (Roberto Ierusalimschy)
  • [7d57ea70] new mod' (%') operator (Roberto Ierusalimschy)
  • [2d5b9237] details (Roberto Ierusalimschy)
  • [192d1854] C module names may have an optional `l' prefix (Roberto Ierusalimschy)
  • [e010ef89] detail (Roberto Ierusalimschy)
  • [1e48b20c] loadlib' not global anymore (packaged inside package') (Roberto Ierusalimschy)
  • [d1ed6e4c] small bug: must use original (previous) base (Roberto Ierusalimschy)
  • [b6a7983b] USHRT_MAX may not fit in a (16-bit) int (Roberto Ierusalimschy)
  • [49f90ffd] new functions (to complete math.h) (Roberto Ierusalimschy)
  • [dcabf721] "coroutine.current" -> "running" (compatible with "running" status) (Roberto Ierusalimschy)
  • [5eeff89f] comments (Roberto Ierusalimschy)
  • [d6143b1d] avoid access to undefined global variables (Roberto Ierusalimschy)
  • [d55bb795] details (Roberto Ierusalimschy)
  • [d84cc9d2] small bug (Roberto Ierusalimschy)
  • [7d45a5f4] C functions and userdata also have environments (Roberto Ierusalimschy)
  • [73d76402] more secure way to stop GC cycles during finalizers (Roberto Ierusalimschy)
  • [a9af455b] detail (Roberto Ierusalimschy)
  • [678d2fb2] all collected userdata must go to the end of the list of finalizers (Roberto Ierusalimschy)
  • [af393526] LUA_PATH_SEP -> LUA_PATHSEP (Roberto Ierusalimschy)
  • [4df8800a] cleaner way to free all objects (Roberto Ierusalimschy)
  • [0e605726] values holded in open upvalues of suspended threads may be incorrectly collected (Roberto Ierusalimschy)
  • [621ef9f7] better control over GC collors of upvalues (Roberto Ierusalimschy)
  • [d89a56f8] small warning in C++ (Roberto Ierusalimschy)
  • [334ba813] cleaner way to remark open upvalues (Roberto Ierusalimschy)
  • [ac71a089] detail (Roberto Ierusalimschy)
  • [8e346d87] auxiliar patch to monitor garbage collection (Roberto Ierusalimschy)
  • [5be51760] no more generational collector (and no more `noinc' mode) (Roberto Ierusalimschy)
  • [d2bda804] new implementation for loaders (Roberto Ierusalimschy)
  • [a72fbf79] detail (Roberto Ierusalimschy)
  • [8ddfe3df] macros for all arithmetic operations over lua_Numbers (Roberto Ierusalimschy)
  • [6eb68ba5] all function declarations surround name with parentheses (Roberto Ierusalimschy)
  • [a27497aa] debug.traceback' gets an optional initial level' parameter (Roberto Ierusalimschy)
  • [0480ea08] gets `debug.traceback' current when error occurs (Roberto Ierusalimschy)
  • [162b6662] no more `lua_userinit' macro (Roberto Ierusalimschy)
  • [e791f025] no more `_TRACEBACK' variable (Roberto Ierusalimschy)
  • [f61d435a] a^b calls `pow´ (from math.h) directly (Roberto Ierusalimschy)
  • [071b2ae0] details (Roberto Ierusalimschy)
  • [e2498e07] change in hash algorithm so that it does not need empty slot (tables can be 100% full) (Roberto Ierusalimschy)
  • [65726f3e] cleaner interface to `ltable' (Roberto Ierusalimschy)
  • [9fe2d026] better configuration for Windows (Roberto Ierusalimschy)
  • [e22cdf77] better error messages when require fails for C module (Roberto Ierusalimschy)
  • [a5eb48a3] redesigned loadlib (Windows version not tested yet) (Roberto Ierusalimschy)
  • [49fe79e9] small change (Roberto Ierusalimschy)
  • [96727c61] several improvements/corrections (Roberto Ierusalimschy)
  • [d5ebc3ff] small changes (Roberto Ierusalimschy)
  • [3d19aee7] `luac' may generate code without upvalue names (Roberto Ierusalimschy)
  • [4194de70] details (Roberto Ierusalimschy)
  • [c6254dce] a different option for the GC (Roberto Ierusalimschy)
  • [a56d889f] corrections for `absent' implementation (Roberto Ierusalimschy)
  • [2ec4fc42] simpler code for `print' (Roberto Ierusalimschy)
  • [70751dd2] details (Roberto Ierusalimschy)
  • [39a8082f] more options for controling the GC (Roberto Ierusalimschy)
  • [531874f6] better (correct?) way to handle `next' over removed keys (Roberto Ierusalimschy)
  • [61a88851] details (Roberto Ierusalimschy)
  • [c78940f2] static names do not need `luaX_' prefix (Roberto Ierusalimschy)
  • [8b239eeb] details (Roberto Ierusalimschy)
  • [a5330b77] static names do not need `luaX_' prefix (Roberto Ierusalimschy)
  • [e1c2fb6e] details (Roberto Ierusalimschy)
  • [12dacd3c] added an `L' parameter to macros L_TRY & L_THROW (someone may need it). (Roberto Ierusalimschy)
  • [23b38176] `LUA_FIRSTINDEX' should not be configurable (Roberto Ierusalimschy)
  • [97e2dab1] better control of overflows in size computations (Roberto Ierusalimschy)
  • [0ed85191] detail (Roberto Ierusalimschy)
  • [0e002005] better names for `luaM_free...' macros (Roberto Ierusalimschy)
  • [1d99a736] details (Roberto Ierusalimschy)
  • [2f82bf6f] better support for 64-bit machines (Roberto Ierusalimschy)
  • [087df82a] detail (Roberto Ierusalimschy)
  • [10e48b91] details (Roberto Ierusalimschy)
  • [6f1ea817] better control over memory-size overflows (Roberto Ierusalimschy)
  • [cdcb2367] needs to include stdlib.h' to access getenv' (Roberto Ierusalimschy)
  • [9be58447] first full implementation of new package system (Roberto Ierusalimschy)
  • [497f042f] detail (Roberto Ierusalimschy)
  • [2ed07ea8] towards "requiring" C libraries (Roberto Ierusalimschy)
  • [cfd7bc47] better patch for buffer overflow error (Roberto Ierusalimschy)
  • [737ec947] better implementation for `floating-point bytes' (Roberto Ierusalimschy)
  • [45d566f6] small corrections (thanks to Mike Pall) (Roberto Ierusalimschy)
  • [cfb79b17] more secure way to compute final string length (Roberto Ierusalimschy)
  • [3e1a1f28] better configuration for loadlib + tested Mac OS X version (Roberto Ierusalimschy)
  • [b32e9a46] better configuration for loadlib (Roberto Ierusalimschy)
  • [e5cfa7a3] use of parentheses around macro parameters in call lists, to avoid problems with comma expressions (Roberto Ierusalimschy)
  • [aae16127] avoid name chash in `all.c' (Roberto Ierusalimschy)
  • [8050e75f] bug: gc metamethod must disable GC steps (to avoid nested calls) (Roberto Ierusalimschy)
  • [3bec76ab] first version of loadlib for Mac OS X (not tested yet!!) (Roberto Ierusalimschy)
  • [5cb6037d] cannot jump to a setlist count (Roberto Ierusalimschy)
  • [f1c2dd3a] detail (Roberto Ierusalimschy)
  • [bd38017d] small optimization for table size in machines with double allignment (Roberto Ierusalimschy)
  • [652f885c] detail (Roberto Ierusalimschy)
  • [f7e9465a] new format for SETLIST opcode (Roberto Ierusalimschy)
  • [5ee87acd] small optimization for boolean constants + new format for SETLIST opcode (Roberto Ierusalimschy)
  • [5d834bdf] function constants may include boolean values (Roberto Ierusalimschy)
  • [67391a35] details (Roberto Ierusalimschy)
  • [36541dec] towards new package system (Roberto Ierusalimschy)
  • [cf2a194e] better API for luaL_getfield/setfield (Roberto Ierusalimschy)
  • [66845f41] small optimizations (Roberto Ierusalimschy)
  • [b2820f39] long string delimiter changed from [*[' to [=[' (Roberto Ierusalimschy)
  • [8b5bb605] removal of unused variable (Roberto Ierusalimschy)
  • [49736822] small bug with coroutine tracebacks (Roberto Ierusalimschy)
  • [6acfb91c] new auxiliary functions to implement new package system (Roberto Ierusalimschy)
  • [2419f2bf] cleaner API for coroutines (Roberto Ierusalimschy)
  • [0e54d2be] bug: barrier was wrong for generational phase (Roberto Ierusalimschy)
  • [226c57fe] simpler configuration to turn on all asserts (Roberto Ierusalimschy)
  • [0de2065f] tighter tests for stack overflow (Roberto Ierusalimschy)
  • [ee165043] two bugs related to varargs (Roberto Ierusalimschy)
  • [3c394b12] detail (Roberto Ierusalimschy)
  • [79fc7dea] simpler implementation for generic reader (Roberto Ierusalimschy)
  • [9c34e232] new libs loslib´ and linit´ (Roberto Ierusalimschy)
  • [2aba14b6] details (Roberto Ierusalimschy)
  • [1dd8c9b6] detail (Roberto Ierusalimschy)
  • [7d309480] new way to handle _PATH (old LUA_PATH) (Roberto Ierusalimschy)
  • [bcb2cb59] select' returns all values after given n' (Roberto Ierusalimschy)
  • [0b062414] better control for GC cycles (Roberto Ierusalimschy)
  • [857253cd] detail (Roberto Ierusalimschy)
  • [5dcd908a] detail (Roberto Ierusalimschy)
  • [32d4f304] first implementation of generational GC (Roberto Ierusalimschy)
  • [4b12eff8] small correction (less conservative write barrier for tables) (Roberto Ierusalimschy)
  • [271e0591] bug: lua_getupvalue and setupvalue do not check for index too small. (Roberto Ierusalimschy)
  • [fe8c3652] default state (created by `luaL_newstate´) has a default panic function (Roberto Ierusalimschy)
  • [2d8b0992] better checking for read errors (with `ferror´) (Roberto Ierusalimschy)
  • [ff4f8fe5] small bug: calls to upvalues were not correctly traced (Roberto Ierusalimschy)
  • [a7c74c06] small bug: lua_gc(count) was falling through to next option (Roberto Ierusalimschy)
  • [c7dda42c] bug (due to new handling of varargs) (Roberto Ierusalimschy)
  • [26ae9921] less conservative write barrier for tables (Roberto Ierusalimschy)
  • [f8705769] `io.lines' also can give the file name in its error message (Roberto Ierusalimschy)
  • [9e6aa878] string.byte truncates indices out of range (Roberto Ierusalimschy)
  • [c0fdaf58] string.byte may return multiple values (Roberto Ierusalimschy)
  • [2430d3cb] small changes (due to Rici Lake) to allow testing non-supported OS functions (Roberto Ierusalimschy)
  • [6bddbbde] details (opcode may not be the first field) (Roberto Ierusalimschy)
  • [31e48f26] small bug (Roberto Ierusalimschy)
  • [0d9007b6] no more LUA_OPNAMES (Roberto Ierusalimschy)
  • [9609236f] no more LUA_OPNAMES; it is simpler to "waste" 400 bytes (Roberto Ierusalimschy)
  • [942496d7] small bug (Roberto Ierusalimschy)
  • [a535ad6f] several small changes (mainly function names) (Roberto Ierusalimschy)
  • [4206d7ed] `lua_Chunkwriter' returns 0 in case of success (Roberto Ierusalimschy)
  • [7a796a06] new macro `luaL_typename' (Roberto Ierusalimschy)
  • [76d8b8db] lua_pushfstring' now supports %p' option too (Roberto Ierusalimschy)
  • [ce455481] separation between io lib and os lib (Roberto Ierusalimschy)
  • [85f1d70e] OS lib (finally separated from io lib) (Roberto Ierusalimschy)
  • [31f6540f] back with an "open all libs" function (Roberto Ierusalimschy)
  • [eab1965c] bug: `lua_setfenv' needs a write barrier (Roberto Ierusalimschy)
  • [3d5187f6] require' uses its private reference to _LOADED' table (Roberto Ierusalimschy)
  • [80ec8192] `lua.c' also needs the default path, so auxlib should provide it (Roberto Ierusalimschy)
  • [96917ff4] "step" option in lua_gc also need to lock Lua. (Roberto Ierusalimschy)
  • [a6179adf] detail (Roberto Ierusalimschy)
  • [02a2c01c] new way to code RK values (Roberto Ierusalimschy)
  • [23e08a68] detail (Roberto Ierusalimschy)
  • [0f5a497e] new interface for search-path function + small changes in require (Roberto Ierusalimschy)
  • [753625c3] new interface for search-path function (Roberto Ierusalimschy)
  • [42b74ccf] libraries may want to use `lua_assert' too... (Roberto Ierusalimschy)
  • [0c49857c] new scheme to search paths (Roberto Ierusalimschy)
  • [6b41e84d] `assert' returns all its parameters (not only the first) (Roberto Ierusalimschy)
  • [359840c2] new coroutines inherit hook from creator (Roberto Ierusalimschy)
  • [dba17070] optional error for accesss to undefined variables/fields (Roberto Ierusalimschy)
  • [569eefbf] detail (Roberto Ierusalimschy)
  • [5e4ea9a8] `setn' returns its "self" (the table) (Roberto Ierusalimschy)
  • [6311e310] `setfenv' returns "self" (Roberto Ierusalimschy)
  • [9b854e6d] BUG: string concatenation may cause arithmetic overflow, leading to a buffer overflow. (Roberto Ierusalimschy)
  • [2b2d8ecd] details (Roberto Ierusalimschy)
  • [75057dfc] (Roberto Ierusalimschy)
  • [345379b5] option for garbage-collector `step' (Roberto Ierusalimschy)
  • [118e471f] details (Roberto Ierusalimschy)
  • [ba9878fc] lock stuff defined in `luaconf.h' (Roberto Ierusalimschy)
  • [fa38421c] `testC' can operate on other states (Roberto Ierusalimschy)
  • [e8d4fe72] new macro lua_threadyield' + lock stuff in luaconf.h' + details (Roberto Ierusalimschy)
  • [b8691f13] `getn' uses binary search if it has to count elements (Roberto Ierusalimschy)
  • [f4718544] what is provided by lauxlib.c should be defined at lauxlib.h (Roberto Ierusalimschy)
  • [50f9cd20] no more `__fenv' (Roberto Ierusalimschy)
  • [9d8426ba] better error messages for `loadfile' (Roberto Ierusalimschy)
  • [557f0009] clear definition for `lua_number2int' (Roberto Ierusalimschy)
  • [0dfd04eb] lua_strlen' upgraded to lua_objsize' (which also works with userdata) (Roberto Ierusalimschy)
  • [1e0aaf21] luaL_dofile' and luaL_dostring' are deprecated (Roberto Ierusalimschy)
  • [616438fe] new way to use vararg' parameters (with ...') (Roberto Ierusalimschy)
  • [47eda6eb] main must return status from original main! (Roberto Ierusalimschy)
  • [0f49b3e6] new function `select' (Roberto Ierusalimschy)
  • [0733c83b] other modules may need FILEHANDLE definition (Roberto Ierusalimschy)
  • [e9844a4f] `popen' is not ANSI and therefore was removed from the basic library (Roberto Ierusalimschy)
  • [c61bb89d] details (Roberto Ierusalimschy)
  • [0bda88e6] small steps towards yields in iterators and tag methods (Roberto Ierusalimschy)
  • [7966a4ac] avoid name clashes among different files (Roberto Ierusalimschy)
  • [37cd9865] in time', uses default if isdst' is absent (Roberto Ierusalimschy)
  • [a17dd24b] no more USE_DEGREES option (Roberto Ierusalimschy)
  • [b072e4ea] tinsert' and tremove' also use LUA_FIRSTINDEX (Roberto Ierusalimschy)
  • [7e41612e] code parameterized by LUA_FIRSTINDEX (first index of an array) (Roberto Ierusalimschy)
  • [b0f341ee] LUAL_BUFFERSIZE is used in `lauxlib.h' and so everybody may need it (Roberto Ierusalimschy)
  • [1c459b88] accept `\r' as newline when looking for line end (Roberto Ierusalimschy)
  • [9629508a] configuration file for Lua project (Roberto Ierusalimschy)
  • [763b8fba] more stuff goes to configuration file (Roberto Ierusalimschy)
  • [b4cd38ba] new scheme for configuration through `luaconf.h' (Roberto Ierusalimschy)
  • [079facab] ensures own top is corrected after calling function with multiple results (Roberto Ierusalimschy)
  • [4c5d7b2d] small optimization for {f()} (Roberto Ierusalimschy)
  • [d7cb6228] `unpack' has two optional arguments (to give a range) (Roberto Ierusalimschy)
  • [26a9b249] details (Roberto Ierusalimschy)
  • [227bddaf] new copyright year (Roberto Ierusalimschy)
  • [5008e3d7] new states must use controlled malloc, too (Roberto Ierusalimschy)
  • [21bc05c9] write barrier for C upvalues (Roberto Ierusalimschy)
  • [29a13b41] detail (Roberto Ierusalimschy)
  • [ef8c0d7d] better message for errors with upvalues (Roberto Ierusalimschy)
  • [17824606] reuse `sweeplist' for all lists (Roberto Ierusalimschy)
  • [24f2d118] detail (Roberto Ierusalimschy)
  • [8e1f25e3] bug in `dofile' (Roberto Ierusalimschy)
  • [48a8d781] new tests to check memory consistency (for incremental GC) (Roberto Ierusalimschy)
  • [a4e1230f] better way to control open upvalues (Roberto Ierusalimschy)
  • [9804467e] detail (Roberto Ierusalimschy)
  • [a003e891] better error messages for some limits (Roberto Ierusalimschy)
  • [b876ec61] new (temporary?) API for garbage collector (Roberto Ierusalimschy)
  • [898e8a67] added include to stdarg.h (as it uses vararg facilities) (Roberto Ierusalimschy)
  • [1edea346] details (Roberto Ierusalimschy)
  • [2aaf7394] more and better tools (assertions & inspectors) to check incremental GC (Roberto Ierusalimschy)
  • [b3ce4505] avoid calling `memcmp' with a NULL argument (Roberto Ierusalimschy)
  • [24434b59] '%' must be '%%' to avoid formatting problems (Roberto Ierusalimschy)
  • [beb2aa5a] atomic operations are not GC "states" (Roberto Ierusalimschy)
  • [47fc57a2] TObject' renamed to TValue' + other name changes and better assertions for incremental garbage collection (Roberto Ierusalimschy)
  • [4d5fe1f5] detail (Roberto Ierusalimschy)
  • [df429f16] First version of incremental GC (Roberto Ierusalimschy)
  • [fe595a45] `grayagain' list (Roberto Ierusalimschy)
  • [9db1942b] sweep of strings also incremental (Roberto Ierusalimschy)
  • [c6eac44a] two different white flags (to distinguish dead elements from new ones) (Roberto Ierusalimschy)
  • [8878554b] single list for all collectible objects, with udata separated at the end of the list (Roberto Ierusalimschy)
  • [af850484] default metatable can be NULL (Roberto Ierusalimschy)
  • [1d10acb3] incremental GC phases (Roberto Ierusalimschy)
  • [da616247] avoid overflow when doubling size (Roberto Ierusalimschy)
  • [8b97b072] details (Roberto Ierusalimschy)
  • [5ee63257] macros for closure sizes are global (Roberto Ierusalimschy)
  • [8bc6c680] details (Roberto Ierusalimschy)
  • [57b6ed68] initial implementation of white/gray/black coloring (Roberto Ierusalimschy)
  • [9b9cdfee] gclist for upvalues must be available even when upvalue is still open (Roberto Ierusalimschy)
  • [366e4af3] towards incremental GC (Roberto Ierusalimschy)
  • [53c7f861] details (Roberto Ierusalimschy)
  • [ab7d9bfd] cleaner code for manipulation of `marked' field (Roberto Ierusalimschy)
  • [921b1723] comments (Roberto Ierusalimschy)
  • [fa198197] lua_(set)getglobal are ok to use (Roberto Ierusalimschy)
  • [1e944de6] towards a "stackless" call of metamethods (?) (Roberto Ierusalimschy)
  • [275c150b] error()' (and error(nil)') generates errors with no error messages (Roberto Ierusalimschy)
  • [d6d896b9] lua_set(get)global may use lua_set(get)field (Roberto Ierusalimschy)
  • [07201066] core does not look for function name in globals (too particular) (Roberto Ierusalimschy)
  • [97b838d9] new semantics for setn/getn (no more changes to `n') (Roberto Ierusalimschy)
  • [c51bcf47] it's ok to dump functions with upvalues (Roberto Ierusalimschy)
  • [03bab903] new function `lua_getallocf' to retrieve allocation function and data (Roberto Ierusalimschy)
  • [8502331f] `luaX_errorline' was used only in one place (Roberto Ierusalimschy)
  • [9914e1bc] detail (Roberto Ierusalimschy)
  • [10de467c] new function `lua_createtable' (Roberto Ierusalimschy)
  • [533737f2] new functions lua_getfield' and lua_setfield' (Roberto Ierusalimschy)
  • [a41d60e1] debugger can only see `local function' after it has a meaningful value (Roberto Ierusalimschy)
  • [f04fe526] new functions `lua_tointeger' and lua_pushinteger' (Roberto Ierusalimschy)
  • [21947ded] new bug + correction in path for coroutine bug (Roberto Ierusalimschy)
  • [3087636c] detail (Roberto Ierusalimschy)
  • [7b850484] buffer should better use `size_t' for its size (Roberto Ierusalimschy)
  • [3a508b8b] avoid the use of `strlen' (strings are literals) (Roberto Ierusalimschy)
  • [6becdb3e] details (Roberto Ierusalimschy)
  • [b97fb932] Lua kernel does not use malloc/free functions. (Roberto Ierusalimschy)
  • [c7cf92e6] avoid unecessary includes of `stdlib' (Roberto Ierusalimschy)
  • [a62d39aa] detail: `luaL_where' does not use the name information (Roberto Ierusalimschy)
  • [5d4bf35e] bug: syntax `local function' does not increment stack size (Roberto Ierusalimschy)
  • [6063c5c6] bug: cannot invalidate a running coroutine (Roberto Ierusalimschy)
  • [2a701075] detail (Roberto Ierusalimschy)
  • [7dae7899] main thread and global state are allocated in a single block (Roberto Ierusalimschy)
  • [30e51f09] some changes in error reporting (Roberto Ierusalimschy)
  • [994a37c8] IBM AS400 (OS400) has sizeof(void *)==16, and a %p' may generate up to 60 characters in a printf'. That causes a buffer overflow in `tostring'.. (Roberto Ierusalimschy)
  • [0ff15964] new form of long strings: `[[...]]' (Roberto Ierusalimschy)
  • [b27664e0] simpler manipulation of buffer count in scanner (Roberto Ierusalimschy)
  • [beb896b0] new function (generic) `load' (Roberto Ierusalimschy)
  • [8332d5c8] parser fully reentrant(!) (Roberto Ierusalimschy)
  • [885961be] reader runs outside core Lua (Roberto Ierusalimschy)
  • [b1141427] new auxiliary function `luaH_setstr' (Roberto Ierusalimschy)
  • [4b2e71dd] ZIO passes Lua state to chunk reader (Roberto Ierusalimschy)
  • [9fcc4851] zio does not keep "source" name (nobody uses it) (Roberto Ierusalimschy)
  • [64066359] bug: IBM AS400 (OS400) has sizeof(void *)==16, and a %p' may generate up to 60 characters in a printf'. That causes a buffer overflow in `tostring'.. (Roberto Ierusalimschy)
  • [97af24ea] newlines can be \n', \r', \r\n', or \n\r' (Roberto Ierusalimschy)
  • [433cb1d1] no more checks for non-default compilation options + luaU_dump has new option to strip debug info (Roberto Ierusalimschy)
  • [d6619871] several bugs for Lua 5.0 + new format for bug entries (Roberto Ierusalimschy)
  • [91bf7753] no need for a maximum number of parameters (maximum number of locals take care of that). (Roberto Ierusalimschy)
  • [a0a384a6] bug: userdata to be collected still counts into new GC threshold, increasing memory consumption (Roberto Ierusalimschy)
  • [e89945aa] syntax ...=var' changed to var=...' (Roberto Ierusalimschy)
  • [d407d3fe] details (Roberto Ierusalimschy)
  • [522407e2] we do not need a default panic (that does nothing anyway...) (Roberto Ierusalimschy)
  • [fa26d294] new way to control `pc' of running functions (Roberto Ierusalimschy)
  • [5a761e3a] opcode number may be invalid (Roberto Ierusalimschy)
  • [26553047] more changes to reduce stack usage by the parser (Roberto Ierusalimschy)
  • [00180bb1] small changes to reduce stack usage by the parser (Roberto Ierusalimschy)
  • [66ed154c] details (Roberto Ierusalimschy)
  • [f52f357a] correct handling when a thread turns on line hooks in another thread (Roberto Ierusalimschy)
  • [79fee990] `debug' library can operate over other threads (Roberto Ierusalimschy)
  • [a73ded21] Move nothing when there is nothing to move (Roberto Ierusalimschy)
  • [0ec4c473] bug: file:close cannot be called without a file. (Roberto Ierusalimschy)
  • [9e05503f] bug: C functions also may have stacks larger than current top (Roberto Ierusalimschy)
  • [17f69515] define a `lua_isthread' for completeness (Roberto Ierusalimschy)
  • [b93f67f2] detail (Roberto Ierusalimschy)
  • [60aa01d8] fully-weak tables are more efficient (Roberto Ierusalimschy)
  • [ecf5730c] (much) smarter way to clear weak tables (Roberto Ierusalimschy)
  • [b10bfd49] comments (Roberto Ierusalimschy)
  • [176cd7d1] `#!' is detected by loadfile, not by the lexer (Roberto Ierusalimschy)
  • [859c7f7c] LUA_SIGNATURE is public (Roberto Ierusalimschy)
  • [56c5e749] no more compatibility code (`lua_pushupvalues') (Roberto Ierusalimschy)
  • [9ec9a012] details (Roberto Ierusalimschy)
  • [dae99205] no more compatibility code (Roberto Ierusalimschy)
  • [9eb0f25a] no more compatibility code for 4.0 (Roberto Ierusalimschy)
  • [f9305115] ok to use #elif' and #if defined()' (Roberto Ierusalimschy)
  • [524ae9fc] new function `setvbuf' (Roberto Ierusalimschy)
  • [0ddedaee] new function `string.reverse' (Roberto Ierusalimschy)
  • [5cc44838] new syntax: `... [= name]' (Roberto Ierusalimschy)
  • [c116dcb9] better information about instruction behavior (use of arguments) (Roberto Ierusalimschy)
  • [6d268b0b] new semantics for "for" local variables (Roberto Ierusalimschy)
  • [c7677471] new (internal) macros for error handling (Roberto Ierusalimschy)
  • [f966404e] simpler implementation for valid/acceptable indices (Roberto Ierusalimschy)
  • [ee07ad34] `getn' doesn't need this field (values cannot be nil) (Roberto Ierusalimschy)
  • [fee9e473] inlining of `luaV_gettable' were too complex (dirty) (Roberto Ierusalimschy)
  • [82dfacbc] detail (Roberto Ierusalimschy)
  • [26097b6c] uses integers as keys to standard i/o files (Roberto Ierusalimschy)
  • [f1f8f0ca] simpler way to check maximum gc threshold (Roberto Ierusalimschy)
  • [bcc5f140] test function for lua_setgcthreshold (Roberto Ierusalimschy)
  • [b1b752fb] comments (Roberto Ierusalimschy)
  • [572a69df] Lua does not need all those different types... (Roberto Ierusalimschy)
  • [943c82b3] avoid unnecessary call to log2 on too large indices (Roberto Ierusalimschy)
  • [17149b7d] avoid warnings (Instruction' may not fit into an int') (Roberto Ierusalimschy)
  • [01b303c8] simpler log2 implementation (Roberto Ierusalimschy)
  • [762c7370] last changes by lhf (Roberto Ierusalimschy)
  • [de57dc26] new scheme to control `loadlib' configuration (default for dlopen implementation is not to include it) (Roberto Ierusalimschy)
  • [d1df829f] lua_getmetatable must accept any acceptable index (Roberto Ierusalimschy)
  • [2ad947fe] new test options for luaL_getn/setn (Roberto Ierusalimschy)
  • [f0cc013a] luaL_getn/setn must operate correctly over negative indices (Roberto Ierusalimschy)
  • [0d88545b] warnings from several compilers (mainly typecasts when lua_Number is float) (Roberto Ierusalimschy)
  • [f84c5a5f] avoid conflicts in (re)definition of `isatty' (Roberto Ierusalimschy)
  • [05d35d8f] comments (Roberto Ierusalimschy)
  • [3a6230ef] error-message format (Roberto Ierusalimschy)
  • [a424a112] clearance of debuging code (left by mistake) (Roberto Ierusalimschy)
  • [b858161f] new hash method for lua_Number (double) (due to a performance problem) (Roberto Ierusalimschy)
  • [80bac182] do not mix --help' with --' (Roberto Ierusalimschy)
  • [30a411ab] chars from zio are always unsigned (Roberto Ierusalimschy)
  • [5bb5a183] details (Roberto Ierusalimschy)
  • [b518d140] bug: zio mixes a 255 as first char in a buffer with EOZ (Roberto Ierusalimschy)
  • [15dbb534] towards 5.0 final (Roberto Ierusalimschy)
  • [abc304f9] avoid name colision (for alllua.c) (Roberto Ierusalimschy)
  • [1a553f91] better error messages (Roberto Ierusalimschy)
  • [0ca225d3] better error message (Roberto Ierusalimschy)
  • [70e2b7ab] name changes to avoid name collision between macros and variables (Roberto Ierusalimschy)
  • [5a144e89] __globals' -> __fenv' (Roberto Ierusalimschy)
  • [b12776f2] `luaL_getmetafield' was leaving extra value on the stack (Roberto Ierusalimschy)
  • [ab9e0629] name changes to avoid name collision between macros and variables (Roberto Ierusalimschy)
  • [81cdbabf] detail (change place of a prototype) (Roberto Ierusalimschy)
  • [40cfb069] new auxiliary functions for `type' manipulation (Roberto Ierusalimschy)
  • [9b7af7e4] tests for Windows version (Roberto Ierusalimschy)
  • [2e66248f] unused argument (Roberto Ierusalimschy)
  • [79db7510] detail (Roberto Ierusalimschy)
  • [b0c40e24] first version of `loadlib' (Roberto Ierusalimschy)
  • [4734e2de] `loadlib' now an official library (Roberto Ierusalimschy)
  • [7ea180af] detail (Roberto Ierusalimschy)
  • [05d567d5] io.input'/io.output' always return current file (Roberto Ierusalimschy)
  • [d8a3a00d] `string.find' also accepts out-of-range indices (Roberto Ierusalimschy)
  • [c9ea94ec] out-of-bound upvalues (in C) are acceptable indices (Roberto Ierusalimschy)
  • [fa4b4c11] loadstring/loadfile use global environment + setfenv(0) changes global environment (Roberto Ierusalimschy)
  • [4039bf45] ^ operator is defined by global `__pow' (Roberto Ierusalimschy)
  • [034de1fe] new names for functions that open C libraries (Roberto Ierusalimschy)
  • [430d6db9] LUA_PATH components may have multiple interrogation marks (Roberto Ierusalimschy)
  • [7c3857cd] comments (Roberto Ierusalimschy)
  • [8ce6f0b4] avoid including system headers after program headers (Roberto Ierusalimschy)
  • [572bddc0] LUA_USETMPNAME -> USE_TMPNAME (Roberto Ierusalimschy)
  • [3684f677] details (text of an error message) (Roberto Ierusalimschy)
  • [69dd9461] bug: GC metamethod calls could mess C/Lua stack syncronization (Roberto Ierusalimschy)
  • [6b6bc532] better error message for (deprecated) "%global" (Roberto Ierusalimschy)
  • [ea16ee41] no more attempt to optimize GC when parsing new modules (too complex) (Roberto Ierusalimschy)
  • [60d11ec3] by default, gcc does not get tmpname (Roberto Ierusalimschy)
  • [e1a424e8] avoid the identifier index' (clashes with BSD index' function) (Roberto Ierusalimschy)
  • [59ce42db] detail (Roberto Ierusalimschy)
  • [92f6e0c1] no-nonsense debug information about tail calls (Roberto Ierusalimschy)
  • [5cd99b82] set/getenvtable' -> set/getfenv' (Roberto Ierusalimschy)
  • [07e210e6] `require' returns value returned by package (Roberto Ierusalimschy)
  • [feb724c1] ULONG_MAX>>10 may not fit into an int (old bug) (Roberto Ierusalimschy)
  • [67f9a2a9] details (Roberto Ierusalimschy)
  • [c4f9c887] expressions too complex for an ARM compiler... (Roberto Ierusalimschy)
  • [9866fb0e] set/getglobals' -> set/getenvtable' (Roberto Ierusalimschy)
  • [60c83ded] small optimization for sizes of array constructors (Roberto Ierusalimschy)
  • [07948c31] restore _REQUIREDNAME after requiring a file (Roberto Ierusalimschy)
  • [dce9a49a] final version (Roberto Ierusalimschy)
  • [15db58a2] create arg table with correct size (Roberto Ierusalimschy)
  • [d6826dbc] simpler way to count uses (Roberto Ierusalimschy)
  • [e75a6ae9] `defaultmeta' is always empty, but registry needs some space for names and numbers (references) (Roberto Ierusalimschy)
  • [2866fb2d] reset _REQUIREDNAME after loading module (Roberto Ierusalimschy)
  • [4b6f436d] unpack' uses getn' to get table size (Roberto Ierusalimschy)
  • [8f105d6b] string.byte returns nil if index is out-of-range (Roberto Ierusalimschy)
  • [2fef8c77] auxiliary function to check userdata with types (Roberto Ierusalimschy)
  • [7285fa39] use C names for C types (Roberto Ierusalimschy)
  • [5085f09c] small optimizations (Roberto Ierusalimschy)
  • [d6746263] compatibility with '%' syntax is optional (Roberto Ierusalimschy)
  • [7a40cdbd] different variables for number of upvalues and size of upvalue array (makes code clearer) (Roberto Ierusalimschy)
  • [3cdeacbb] reference system also uses getn/setn (plus small corrections) (Roberto Ierusalimschy)
  • [6f207b15] resist errors in finalizers during lua_close (Roberto Ierusalimschy)
  • [3184314b] warning (Roberto Ierusalimschy)
  • [7964f7cb] more complete information for coroutine errors (Roberto Ierusalimschy)
  • [383a6e88] argv[0] may be NULL (Roberto Ierusalimschy)
  • [871166d7] test for panic function (Roberto Ierusalimschy)
  • [592cf233] "panic" cannot happen in lua.c, with lua_cpcall + argv[0] may be empty (Roberto Ierusalimschy)
  • [0175f8d5] dump/undump of upvalue names (Roberto Ierusalimschy)
  • [e79bf02f] correct semantics for comparison metamethods (they are only valid when both operands have the same metamethod). (Roberto Ierusalimschy)
  • [41ed3c47] getn/setn in C moved to lauxlib (Roberto Ierusalimschy)
  • [635b7c70] details (Roberto Ierusalimschy)
  • [83f0d6ef] DEPRECATED (new manual uses an independent format instead of LaTeX) (Roberto Ierusalimschy)
  • [3088ebd9] last changes before leaving Latex (Roberto Ierusalimschy)
  • [797d964d] detail (Roberto Ierusalimschy)
  • [e44e579d] bug: luaD_protectedparser must protect its garbage collection too (Roberto Ierusalimschy)
  • [a153cafd] starting translation to new format (@comand{...}). (Roberto Ierusalimschy)
  • [3b5158f2] corrections from Asko Kauppi (Roberto Ierusalimschy)
  • [60a8b94f] corrections/suggestions by Ed Ferguson (Roberto Ierusalimschy)
  • [c499442e] compatibility macros must be available by default (Roberto Ierusalimschy)
  • [9a5bab82] use the more modern _POSIX_C_SOURCE instead of older _POSIX_SOURCE (Roberto Ierusalimschy)
  • [32fd039b] `openlib' functions return new module (Roberto Ierusalimschy)
  • [75f73172] bug: `resume' was checking the wrong value for stack overflow (Roberto Ierusalimschy)
  • [754c6307] details (Roberto Ierusalimschy)
  • [dd8edeca] new functions to manipulate upvales (get/setupvalue) (Roberto Ierusalimschy)

[v5.0-beta]

  • [28021c5c] better explanation (+ example) for coroutines (Roberto Ierusalimschy)
  • [73517e86] OP_TFORLOOP uses extra stack space (Roberto Ierusalimschy)
  • [9e8face8] must move call results in the last iteration, too (Roberto Ierusalimschy)
  • [64864f09] new options for debugging Lua (HARDSTACKTESTS & EXTERNMEMCHECK) (Roberto Ierusalimschy)
  • [9bd3fc10] TFORLOOP makes a call that affects all values above it on the stack (Roberto Ierusalimschy)
  • [cc4a22eb] bug: scope of generic for variables is not sound (Roberto Ierusalimschy)
  • [acf62ddf] "load*" creates chunk with same global table than caller (Roberto Ierusalimschy)
  • [04f95ce8] hook counts are integers now (Roberto Ierusalimschy)
  • [27c6b4d4] each .c file defines its own name (Roberto Ierusalimschy)
  • [0bb8eb51] new function `lua_cpcall' (Roberto Ierusalimschy)
  • [38da8c0d] new facilities to test memory overflow in main.c (Roberto Ierusalimschy)
  • [76de7327] avoid non-raw accesses to globals when variable may not exist (Roberto Ierusalimschy)
  • [90d78920] new function `io.type' (Roberto Ierusalimschy)
  • [041cb969] small bug: `write' must return three values in case of errors (Roberto Ierusalimschy)
  • [c75c3cfd] avoid names `str...' (may conflict with string.h) (Roberto Ierusalimschy)
  • [24471525] details (Roberto Ierusalimschy)
  • [1f55dbc6] details (Roberto Ierusalimschy)
  • [c194a46b] detail (Roberto Ierusalimschy)
  • [8954bdc7] new `coroutine.status' function (Roberto Ierusalimschy)
  • [5a228bb1] new function `lua_version' (Roberto Ierusalimschy)
  • [5f698f8b] simpler interface to hooks + use of `int' to count hooks (Roberto Ierusalimschy)
  • [9b1c586b] renaming stringdump' -> string.dump' (Roberto Ierusalimschy)
  • [d9340154] `__tostring' for files + small bug (could do invalid read inside a userdata when it was not a file) (Roberto Ierusalimschy)
  • [e47baca7] warnings from Visual C++ (Roberto Ierusalimschy)
  • [b8a680c1] resets hook count even in case of errors (Roberto Ierusalimschy)
  • [709b27b4] ULONG_MAX>>10 may not fit into an int (Roberto Ierusalimschy)
  • [dbc5451b] comments (Roberto Ierusalimschy)
  • [2d2d4597] separated control over C recursion level (Roberto Ierusalimschy)
  • [0050d983] make more clear "primitive" recursive definitions (Roberto Ierusalimschy)
  • [04b143dd] avoid C stack overflow during parsing (Roberto Ierusalimschy)
  • [007f2295] detail (Roberto Ierusalimschy)
  • [84488c56] small bug: previous call may change `base' (Roberto Ierusalimschy)
  • [5142e630] new macro `condhardstacktests' to control hard stack tests (Roberto Ierusalimschy)
  • [010bbd9d] simpler definition for incr_top (Roberto Ierusalimschy)
  • [be00cd2a] easier way to keep `base' correct (Roberto Ierusalimschy)
  • [2e4e888d] Lua functions must have a frame or a saved pc. (Roberto Ierusalimschy)
  • [ddc144e4] keep L->ci->base in L->base for faster access (Roberto Ierusalimschy)
  • [b48c6e76] no problem keeping some dead meat while doing collection (Roberto Ierusalimschy)
  • [aff97fff] C functions cannot increase its top without filling the stack (Roberto Ierusalimschy)
  • [16486746] must check GC every time it can create new objects (Roberto Ierusalimschy)
  • [d404f0c2] global_State must be deallocated (and so allocated) with NULL also (otherwise it trys to decrement inside itself after its own free) (Roberto Ierusalimschy)
  • [48e42261] details (Roberto Ierusalimschy)
  • [be762f38] better organization of "malloc responsabilities" (Roberto Ierusalimschy)
  • [c8a79057] option -l does a require', instead of dofile' (Roberto Ierusalimschy)
  • [642af82e] small bugs (state could keep its CI_HASFRAME attribute after returning) (Roberto Ierusalimschy)
  • [636c629e] new assertions (Roberto Ierusalimschy)
  • [96ba5d0b] include file name in error messages (Roberto Ierusalimschy)
  • [f0185f76] support for tests of yield inside hooks + better support for tests with valgrind and other memory checkers (Roberto Ierusalimschy)
  • [9bab2cf5] support for yield inside hooks (Roberto Ierusalimschy)
  • [c4ae00a3] details (Roberto Ierusalimschy)
  • [f4d3bc52] towards 5.0 beta (Roberto Ierusalimschy)
  • [18765d90] messages (Roberto Ierusalimschy)
  • [43013b39] new representation for hooks (to allow asynchronous calls to sethook) (Roberto Ierusalimschy)
  • [94912d99] details (Roberto Ierusalimschy)
  • [b40c9f7a] better code to signal write barriers (Roberto Ierusalimschy)
  • [41fd639c] documentation for write barriers (Roberto Ierusalimschy)
  • [a845a46c] C function may leave garbage on the stack (besides return values) (Roberto Ierusalimschy)
  • [097edd38] better names for auxiliar functions (Roberto Ierusalimschy)
  • [5c5d9b27] back to `__mode' metafield to specify weakness (Roberto Ierusalimschy)
  • [43d1a6af] detail (Roberto Ierusalimschy)
  • [3010eb05] all objects with several children (tables, closures, stacks, prototypes) go to `gray' queue (Roberto Ierusalimschy)
  • [2f91f95d] better control over GCObjects (Roberto Ierusalimschy)
  • [42dd080a] details (Roberto Ierusalimschy)
  • [9957f7d5] better way to open libraries (Roberto Ierusalimschy)
  • [ac27b7a8] avoid traversing extra elements when cleaning weak tables (Roberto Ierusalimschy)
  • [81e142fc] detail (`key' is always on stack) (Roberto Ierusalimschy)
  • [63633c5b] better name for `lua_movethread' (Roberto Ierusalimschy)
  • [dff9be42] new macros to distinguish different types of object moves (for future GC evolution). (Roberto Ierusalimschy)
  • [118347d8] new API for coroutines (Roberto Ierusalimschy)
  • [6820da50] detail (Roberto Ierusalimschy)
  • [c3eb4675] new module, ldump.c (Roberto Ierusalimschy)
  • [7e0f880b] C++ demands cast from void to specific types (Roberto Ierusalimschy)
  • [118e9cd8] new facility for dumping chunks (Roberto Ierusalimschy)
  • [de00d0d0] module for dumping chunks (Roberto Ierusalimschy)
  • [1713b640] Writer type must be public (so, in lua.h) (Roberto Ierusalimschy)
  • [671dc6ee] new version (from lhf) (Roberto Ierusalimschy)
  • [e356a43d] C needs "union" (unlike C++) (Roberto Ierusalimschy)
  • [f36038e4] assertion must be always valid (not only in debug mode) (Roberto Ierusalimschy)
  • [96e15b85] threads now are real Lua objects, subject to garbage collection (Roberto Ierusalimschy)
  • [0fd91b1b] optional limits for table.concat (Roberto Ierusalimschy)
  • [a2b353e0] details (Roberto Ierusalimschy)
  • [92a2ef9d] field `__globals' protect global tables (Roberto Ierusalimschy)
  • [4fb9110a] tests for compatibility functions lua_dostring/lua_dofile (Roberto Ierusalimschy)
  • [11886dc7] print error on stderr when _ALERT is not defined (Roberto Ierusalimschy)
  • [81bc5711] only one instance of registry and default metatable per global state (Roberto Ierusalimschy)
  • [6a77a6b7] avoid too much precision when printing numbers (Roberto Ierusalimschy)
  • [84e0b1bc] small changes in type configuration facilities (Roberto Ierusalimschy)
  • [6823a2f5] better tokens for error messages (Roberto Ierusalimschy)
  • [313b2fe9] detail (Roberto Ierusalimschy)
  • [425e5813] free prototype in (more or less) the same order it is created by `undump' (Roberto Ierusalimschy)
  • [6505503b] do not pretend that file is closed when close fails (Roberto Ierusalimschy)
  • [ec748fcb] correct handling of opened files in presence of memory allocation errors (Roberto Ierusalimschy)
  • [c1963487] in case of memory allocation errors, sizecode and sizelineinfo can be different (Roberto Ierusalimschy)
  • [669129a6] io.lines() iterate over the standard input file (Roberto Ierusalimschy)
  • [46b063ef] `undump' also uses private buffer (Roberto Ierusalimschy)
  • [e1d5153a] details (Roberto Ierusalimschy)
  • [b3d0682f] use of different buffers for scanner and concatenation (Roberto Ierusalimschy)
  • [02afc892] new ANSI C does not assure that realloc(p,0) == free(p) (Roberto Ierusalimschy)
  • [fa2f1ec7] to avoid `strerror', define itself to something else; nil has a special, fixed reference (Roberto Ierusalimschy)
  • [829befcc] small optimization for object comparison (Roberto Ierusalimschy)
  • [d477e4ff] detail (Roberto Ierusalimschy)
  • [ce09af1e] easier to define api_check' using assert' (Roberto Ierusalimschy)
  • [98d0b796] EXIT_SUCCESS may be different from 0 (Roberto Ierusalimschy)
  • [e8f35fc4] unification of __index & __gettable (and __newindex & __settable) (Roberto Ierusalimschy)
  • [6fb0fd50] avoid `reclearing' weak tables (Roberto Ierusalimschy)
  • [565e6d74] state's buffer is used only for chars (Roberto Ierusalimschy)
  • [f6bc7884] new generators for reading a file line by line (Roberto Ierusalimschy)
  • [32a5d96d] `setmetatable' cannot change protected objects (Roberto Ierusalimschy)
  • [8dae071f] details (Roberto Ierusalimschy)
  • [afe1305b] avoid luaS_resize (which may need extra memory) during `main' activities (Roberto Ierusalimschy)
  • [728fa167] cannot raise memory error when realloc to smaller block (Roberto Ierusalimschy)
  • [1bdde38b] no more newlines at the end of error messages (Roberto Ierusalimschy)
  • [b2bc3b44] no more reserved word "global" (Roberto Ierusalimschy)
  • [7c0ccdfd] avoid the use of "enum" in the API, as they do not have a fixed representation (Roberto Ierusalimschy)
  • [4964e7c8] details (Roberto Ierusalimschy)
  • [2c670baf] avoid the use of "obvious" names in header files to avoid conflicts (Roberto Ierusalimschy)
  • [fdafd4f4] new structure for collectable objects, sharing a common header (Roberto Ierusalimschy)
  • [beeff4cc] GC metamethod stored in a weak metatable being collected together with userdata may not be cleared properly (Roberto Ierusalimschy)
  • [12c4e485] `frontier' patterns (Roberto Ierusalimschy)
  • [c78aaa9a] better line number for function definitions (Roberto Ierusalimschy)
  • [4d7a5549] style for switch statements (Roberto Ierusalimschy)
  • [fbc23d02] details (Roberto Ierusalimschy)
  • [81a8845e] detail (Roberto Ierusalimschy)
  • [6c283b2f] new simetric format for ABC instructions, to avoid exchanging operands for `commutative' operators (Roberto Ierusalimschy)
  • [576bded5] details (Roberto Ierusalimschy)
  • [ecc7769d] names... (Roberto Ierusalimschy)
  • [da19c436] cleaning the stage for generational collection (Roberto Ierusalimschy)
  • [0039feb9] warning from Visual C (Roberto Ierusalimschy)

[v5.0-alpha]

[v5.0]

  • [762c7370] last changes by lhf (Roberto Ierusalimschy)
  • [de57dc26] new scheme to control `loadlib' configuration (default for dlopen implementation is not to include it) (Roberto Ierusalimschy)
  • [d1df829f] lua_getmetatable must accept any acceptable index (Roberto Ierusalimschy)
  • [2ad947fe] new test options for luaL_getn/setn (Roberto Ierusalimschy)
  • [f0cc013a] luaL_getn/setn must operate correctly over negative indices (Roberto Ierusalimschy)
  • [0d88545b] warnings from several compilers (mainly typecasts when lua_Number is float) (Roberto Ierusalimschy)
  • [f84c5a5f] avoid conflicts in (re)definition of `isatty' (Roberto Ierusalimschy)
  • [05d35d8f] comments (Roberto Ierusalimschy)
  • [3a6230ef] error-message format (Roberto Ierusalimschy)
  • [a424a112] clearance of debuging code (left by mistake) (Roberto Ierusalimschy)
  • [b858161f] new hash method for lua_Number (double) (due to a performance problem) (Roberto Ierusalimschy)
  • [80bac182] do not mix --help' with --' (Roberto Ierusalimschy)
  • [30a411ab] chars from zio are always unsigned (Roberto Ierusalimschy)
  • [5bb5a183] details (Roberto Ierusalimschy)
  • [b518d140] bug: zio mixes a 255 as first char in a buffer with EOZ (Roberto Ierusalimschy)
  • [15dbb534] towards 5.0 final (Roberto Ierusalimschy)
  • [abc304f9] avoid name colision (for alllua.c) (Roberto Ierusalimschy)
  • [1a553f91] better error messages (Roberto Ierusalimschy)
  • [0ca225d3] better error message (Roberto Ierusalimschy)
  • [70e2b7ab] name changes to avoid name collision between macros and variables (Roberto Ierusalimschy)
  • [5a144e89] __globals' -> __fenv' (Roberto Ierusalimschy)
  • [b12776f2] `luaL_getmetafield' was leaving extra value on the stack (Roberto Ierusalimschy)
  • [ab9e0629] name changes to avoid name collision between macros and variables (Roberto Ierusalimschy)
  • [81cdbabf] detail (change place of a prototype) (Roberto Ierusalimschy)
  • [40cfb069] new auxiliary functions for `type' manipulation (Roberto Ierusalimschy)
  • [9b7af7e4] tests for Windows version (Roberto Ierusalimschy)
  • [2e66248f] unused argument (Roberto Ierusalimschy)
  • [79db7510] detail (Roberto Ierusalimschy)
  • [b0c40e24] first version of `loadlib' (Roberto Ierusalimschy)
  • [4734e2de] `loadlib' now an official library (Roberto Ierusalimschy)
  • [7ea180af] detail (Roberto Ierusalimschy)
  • [05d567d5] io.input'/io.output' always return current file (Roberto Ierusalimschy)
  • [d8a3a00d] `string.find' also accepts out-of-range indices (Roberto Ierusalimschy)
  • [c9ea94ec] out-of-bound upvalues (in C) are acceptable indices (Roberto Ierusalimschy)
  • [fa4b4c11] loadstring/loadfile use global environment + setfenv(0) changes global environment (Roberto Ierusalimschy)
  • [4039bf45] ^ operator is defined by global `__pow' (Roberto Ierusalimschy)
  • [034de1fe] new names for functions that open C libraries (Roberto Ierusalimschy)
  • [430d6db9] LUA_PATH components may have multiple interrogation marks (Roberto Ierusalimschy)
  • [7c3857cd] comments (Roberto Ierusalimschy)
  • [8ce6f0b4] avoid including system headers after program headers (Roberto Ierusalimschy)
  • [572bddc0] LUA_USETMPNAME -> USE_TMPNAME (Roberto Ierusalimschy)
  • [3684f677] details (text of an error message) (Roberto Ierusalimschy)
  • [69dd9461] bug: GC metamethod calls could mess C/Lua stack syncronization (Roberto Ierusalimschy)
  • [6b6bc532] better error message for (deprecated) "%global" (Roberto Ierusalimschy)
  • [ea16ee41] no more attempt to optimize GC when parsing new modules (too complex) (Roberto Ierusalimschy)
  • [60d11ec3] by default, gcc does not get tmpname (Roberto Ierusalimschy)
  • [e1a424e8] avoid the identifier index' (clashes with BSD index' function) (Roberto Ierusalimschy)
  • [59ce42db] detail (Roberto Ierusalimschy)
  • [92f6e0c1] no-nonsense debug information about tail calls (Roberto Ierusalimschy)
  • [5cd99b82] set/getenvtable' -> set/getfenv' (Roberto Ierusalimschy)
  • [07e210e6] `require' returns value returned by package (Roberto Ierusalimschy)
  • [feb724c1] ULONG_MAX>>10 may not fit into an int (old bug) (Roberto Ierusalimschy)
  • [67f9a2a9] details (Roberto Ierusalimschy)
  • [c4f9c887] expressions too complex for an ARM compiler... (Roberto Ierusalimschy)
  • [9866fb0e] set/getglobals' -> set/getenvtable' (Roberto Ierusalimschy)
  • [60c83ded] small optimization for sizes of array constructors (Roberto Ierusalimschy)
  • [07948c31] restore _REQUIREDNAME after requiring a file (Roberto Ierusalimschy)
  • [dce9a49a] final version (Roberto Ierusalimschy)
  • [15db58a2] create arg table with correct size (Roberto Ierusalimschy)
  • [d6826dbc] simpler way to count uses (Roberto Ierusalimschy)
  • [e75a6ae9] `defaultmeta' is always empty, but registry needs some space for names and numbers (references) (Roberto Ierusalimschy)
  • [2866fb2d] reset _REQUIREDNAME after loading module (Roberto Ierusalimschy)
  • [4b6f436d] unpack' uses getn' to get table size (Roberto Ierusalimschy)
  • [8f105d6b] string.byte returns nil if index is out-of-range (Roberto Ierusalimschy)
  • [2fef8c77] auxiliary function to check userdata with types (Roberto Ierusalimschy)
  • [7285fa39] use C names for C types (Roberto Ierusalimschy)
  • [5085f09c] small optimizations (Roberto Ierusalimschy)
  • [d6746263] compatibility with '%' syntax is optional (Roberto Ierusalimschy)
  • [7a40cdbd] different variables for number of upvalues and size of upvalue array (makes code clearer) (Roberto Ierusalimschy)
  • [3cdeacbb] reference system also uses getn/setn (plus small corrections) (Roberto Ierusalimschy)
  • [6f207b15] resist errors in finalizers during lua_close (Roberto Ierusalimschy)
  • [3184314b] warning (Roberto Ierusalimschy)
  • [7964f7cb] more complete information for coroutine errors (Roberto Ierusalimschy)
  • [383a6e88] argv[0] may be NULL (Roberto Ierusalimschy)
  • [871166d7] test for panic function (Roberto Ierusalimschy)
  • [592cf233] "panic" cannot happen in lua.c, with lua_cpcall + argv[0] may be empty (Roberto Ierusalimschy)
  • [0175f8d5] dump/undump of upvalue names (Roberto Ierusalimschy)
  • [e79bf02f] correct semantics for comparison metamethods (they are only valid when both operands have the same metamethod). (Roberto Ierusalimschy)
  • [41ed3c47] getn/setn in C moved to lauxlib (Roberto Ierusalimschy)
  • [635b7c70] details (Roberto Ierusalimschy)
  • [83f0d6ef] DEPRECATED (new manual uses an independent format instead of LaTeX) (Roberto Ierusalimschy)
  • [3088ebd9] last changes before leaving Latex (Roberto Ierusalimschy)
  • [797d964d] detail (Roberto Ierusalimschy)
  • [e44e579d] bug: luaD_protectedparser must protect its garbage collection too (Roberto Ierusalimschy)
  • [a153cafd] starting translation to new format (@comand{...}). (Roberto Ierusalimschy)
  • [3b5158f2] corrections from Asko Kauppi (Roberto Ierusalimschy)
  • [60a8b94f] corrections/suggestions by Ed Ferguson (Roberto Ierusalimschy)
  • [c499442e] compatibility macros must be available by default (Roberto Ierusalimschy)
  • [9a5bab82] use the more modern _POSIX_C_SOURCE instead of older _POSIX_SOURCE (Roberto Ierusalimschy)
  • [32fd039b] `openlib' functions return new module (Roberto Ierusalimschy)
  • [75f73172] bug: `resume' was checking the wrong value for stack overflow (Roberto Ierusalimschy)
  • [754c6307] details (Roberto Ierusalimschy)
  • [dd8edeca] new functions to manipulate upvales (get/setupvalue) (Roberto Ierusalimschy)
  • [28021c5c] better explanation (+ example) for coroutines (Roberto Ierusalimschy)
  • [73517e86] OP_TFORLOOP uses extra stack space (Roberto Ierusalimschy)
  • [9e8face8] must move call results in the last iteration, too (Roberto Ierusalimschy)
  • [64864f09] new options for debugging Lua (HARDSTACKTESTS & EXTERNMEMCHECK) (Roberto Ierusalimschy)
  • [9bd3fc10] TFORLOOP makes a call that affects all values above it on the stack (Roberto Ierusalimschy)
  • [cc4a22eb] bug: scope of generic for variables is not sound (Roberto Ierusalimschy)
  • [acf62ddf] "load*" creates chunk with same global table than caller (Roberto Ierusalimschy)
  • [04f95ce8] hook counts are integers now (Roberto Ierusalimschy)
  • [27c6b4d4] each .c file defines its own name (Roberto Ierusalimschy)
  • [0bb8eb51] new function `lua_cpcall' (Roberto Ierusalimschy)
  • [38da8c0d] new facilities to test memory overflow in main.c (Roberto Ierusalimschy)
  • [76de7327] avoid non-raw accesses to globals when variable may not exist (Roberto Ierusalimschy)
  • [90d78920] new function `io.type' (Roberto Ierusalimschy)
  • [041cb969] small bug: `write' must return three values in case of errors (Roberto Ierusalimschy)
  • [c75c3cfd] avoid names `str...' (may conflict with string.h) (Roberto Ierusalimschy)
  • [24471525] details (Roberto Ierusalimschy)
  • [1f55dbc6] details (Roberto Ierusalimschy)
  • [c194a46b] detail (Roberto Ierusalimschy)
  • [8954bdc7] new `coroutine.status' function (Roberto Ierusalimschy)
  • [5a228bb1] new function `lua_version' (Roberto Ierusalimschy)
  • [5f698f8b] simpler interface to hooks + use of `int' to count hooks (Roberto Ierusalimschy)
  • [9b1c586b] renaming stringdump' -> string.dump' (Roberto Ierusalimschy)
  • [d9340154] `__tostring' for files + small bug (could do invalid read inside a userdata when it was not a file) (Roberto Ierusalimschy)
  • [e47baca7] warnings from Visual C++ (Roberto Ierusalimschy)
  • [b8a680c1] resets hook count even in case of errors (Roberto Ierusalimschy)
  • [709b27b4] ULONG_MAX>>10 may not fit into an int (Roberto Ierusalimschy)
  • [dbc5451b] comments (Roberto Ierusalimschy)
  • [2d2d4597] separated control over C recursion level (Roberto Ierusalimschy)
  • [0050d983] make more clear "primitive" recursive definitions (Roberto Ierusalimschy)
  • [04b143dd] avoid C stack overflow during parsing (Roberto Ierusalimschy)
  • [007f2295] detail (Roberto Ierusalimschy)
  • [84488c56] small bug: previous call may change `base' (Roberto Ierusalimschy)
  • [5142e630] new macro `condhardstacktests' to control hard stack tests (Roberto Ierusalimschy)
  • [010bbd9d] simpler definition for incr_top (Roberto Ierusalimschy)
  • [be00cd2a] easier way to keep `base' correct (Roberto Ierusalimschy)
  • [2e4e888d] Lua functions must have a frame or a saved pc. (Roberto Ierusalimschy)
  • [ddc144e4] keep L->ci->base in L->base for faster access (Roberto Ierusalimschy)
  • [b48c6e76] no problem keeping some dead meat while doing collection (Roberto Ierusalimschy)
  • [aff97fff] C functions cannot increase its top without filling the stack (Roberto Ierusalimschy)
  • [16486746] must check GC every time it can create new objects (Roberto Ierusalimschy)
  • [d404f0c2] global_State must be deallocated (and so allocated) with NULL also (otherwise it trys to decrement inside itself after its own free) (Roberto Ierusalimschy)
  • [48e42261] details (Roberto Ierusalimschy)
  • [be762f38] better organization of "malloc responsabilities" (Roberto Ierusalimschy)
  • [c8a79057] option -l does a require', instead of dofile' (Roberto Ierusalimschy)
  • [642af82e] small bugs (state could keep its CI_HASFRAME attribute after returning) (Roberto Ierusalimschy)
  • [636c629e] new assertions (Roberto Ierusalimschy)
  • [96ba5d0b] include file name in error messages (Roberto Ierusalimschy)
  • [f0185f76] support for tests of yield inside hooks + better support for tests with valgrind and other memory checkers (Roberto Ierusalimschy)
  • [9bab2cf5] support for yield inside hooks (Roberto Ierusalimschy)
  • [c4ae00a3] details (Roberto Ierusalimschy)
  • [f4d3bc52] towards 5.0 beta (Roberto Ierusalimschy)
  • [18765d90] messages (Roberto Ierusalimschy)
  • [43013b39] new representation for hooks (to allow asynchronous calls to sethook) (Roberto Ierusalimschy)
  • [94912d99] details (Roberto Ierusalimschy)
  • [b40c9f7a] better code to signal write barriers (Roberto Ierusalimschy)
  • [41fd639c] documentation for write barriers (Roberto Ierusalimschy)
  • [a845a46c] C function may leave garbage on the stack (besides return values) (Roberto Ierusalimschy)
  • [097edd38] better names for auxiliar functions (Roberto Ierusalimschy)
  • [5c5d9b27] back to `__mode' metafield to specify weakness (Roberto Ierusalimschy)
  • [43d1a6af] detail (Roberto Ierusalimschy)
  • [3010eb05] all objects with several children (tables, closures, stacks, prototypes) go to `gray' queue (Roberto Ierusalimschy)
  • [2f91f95d] better control over GCObjects (Roberto Ierusalimschy)
  • [42dd080a] details (Roberto Ierusalimschy)
  • [9957f7d5] better way to open libraries (Roberto Ierusalimschy)
  • [ac27b7a8] avoid traversing extra elements when cleaning weak tables (Roberto Ierusalimschy)
  • [81e142fc] detail (`key' is always on stack) (Roberto Ierusalimschy)
  • [63633c5b] better name for `lua_movethread' (Roberto Ierusalimschy)
  • [dff9be42] new macros to distinguish different types of object moves (for future GC evolution). (Roberto Ierusalimschy)
  • [118347d8] new API for coroutines (Roberto Ierusalimschy)
  • [6820da50] detail (Roberto Ierusalimschy)
  • [c3eb4675] new module, ldump.c (Roberto Ierusalimschy)
  • [7e0f880b] C++ demands cast from void to specific types (Roberto Ierusalimschy)
  • [118e9cd8] new facility for dumping chunks (Roberto Ierusalimschy)
  • [de00d0d0] module for dumping chunks (Roberto Ierusalimschy)
  • [1713b640] Writer type must be public (so, in lua.h) (Roberto Ierusalimschy)
  • [671dc6ee] new version (from lhf) (Roberto Ierusalimschy)
  • [e356a43d] C needs "union" (unlike C++) (Roberto Ierusalimschy)
  • [f36038e4] assertion must be always valid (not only in debug mode) (Roberto Ierusalimschy)
  • [96e15b85] threads now are real Lua objects, subject to garbage collection (Roberto Ierusalimschy)
  • [0fd91b1b] optional limits for table.concat (Roberto Ierusalimschy)
  • [a2b353e0] details (Roberto Ierusalimschy)
  • [92a2ef9d] field `__globals' protect global tables (Roberto Ierusalimschy)
  • [4fb9110a] tests for compatibility functions lua_dostring/lua_dofile (Roberto Ierusalimschy)
  • [11886dc7] print error on stderr when _ALERT is not defined (Roberto Ierusalimschy)
  • [81bc5711] only one instance of registry and default metatable per global state (Roberto Ierusalimschy)
  • [6a77a6b7] avoid too much precision when printing numbers (Roberto Ierusalimschy)
  • [84e0b1bc] small changes in type configuration facilities (Roberto Ierusalimschy)
  • [6823a2f5] better tokens for error messages (Roberto Ierusalimschy)
  • [313b2fe9] detail (Roberto Ierusalimschy)
  • [425e5813] free prototype in (more or less) the same order it is created by `undump' (Roberto Ierusalimschy)
  • [6505503b] do not pretend that file is closed when close fails (Roberto Ierusalimschy)
  • [ec748fcb] correct handling of opened files in presence of memory allocation errors (Roberto Ierusalimschy)
  • [c1963487] in case of memory allocation errors, sizecode and sizelineinfo can be different (Roberto Ierusalimschy)
  • [669129a6] io.lines() iterate over the standard input file (Roberto Ierusalimschy)
  • [46b063ef] `undump' also uses private buffer (Roberto Ierusalimschy)
  • [e1d5153a] details (Roberto Ierusalimschy)
  • [b3d0682f] use of different buffers for scanner and concatenation (Roberto Ierusalimschy)
  • [02afc892] new ANSI C does not assure that realloc(p,0) == free(p) (Roberto Ierusalimschy)
  • [fa2f1ec7] to avoid `strerror', define itself to something else; nil has a special, fixed reference (Roberto Ierusalimschy)
  • [829befcc] small optimization for object comparison (Roberto Ierusalimschy)
  • [d477e4ff] detail (Roberto Ierusalimschy)
  • [ce09af1e] easier to define api_check' using assert' (Roberto Ierusalimschy)
  • [98d0b796] EXIT_SUCCESS may be different from 0 (Roberto Ierusalimschy)
  • [e8f35fc4] unification of __index & __gettable (and __newindex & __settable) (Roberto Ierusalimschy)
  • [6fb0fd50] avoid `reclearing' weak tables (Roberto Ierusalimschy)
  • [565e6d74] state's buffer is used only for chars (Roberto Ierusalimschy)
  • [f6bc7884] new generators for reading a file line by line (Roberto Ierusalimschy)
  • [32a5d96d] `setmetatable' cannot change protected objects (Roberto Ierusalimschy)
  • [8dae071f] details (Roberto Ierusalimschy)
  • [afe1305b] avoid luaS_resize (which may need extra memory) during `main' activities (Roberto Ierusalimschy)
  • [728fa167] cannot raise memory error when realloc to smaller block (Roberto Ierusalimschy)
  • [1bdde38b] no more newlines at the end of error messages (Roberto Ierusalimschy)
  • [b2bc3b44] no more reserved word "global" (Roberto Ierusalimschy)
  • [7c0ccdfd] avoid the use of "enum" in the API, as they do not have a fixed representation (Roberto Ierusalimschy)
  • [4964e7c8] details (Roberto Ierusalimschy)
  • [2c670baf] avoid the use of "obvious" names in header files to avoid conflicts (Roberto Ierusalimschy)
  • [fdafd4f4] new structure for collectable objects, sharing a common header (Roberto Ierusalimschy)
  • [beeff4cc] GC metamethod stored in a weak metatable being collected together with userdata may not be cleared properly (Roberto Ierusalimschy)
  • [12c4e485] `frontier' patterns (Roberto Ierusalimschy)
  • [c78aaa9a] better line number for function definitions (Roberto Ierusalimschy)
  • [4d7a5549] style for switch statements (Roberto Ierusalimschy)
  • [fbc23d02] details (Roberto Ierusalimschy)
  • [81a8845e] detail (Roberto Ierusalimschy)
  • [6c283b2f] new simetric format for ABC instructions, to avoid exchanging operands for `commutative' operators (Roberto Ierusalimschy)
  • [576bded5] details (Roberto Ierusalimschy)
  • [ecc7769d] names... (Roberto Ierusalimschy)
  • [da19c436] cleaning the stage for generational collection (Roberto Ierusalimschy)
  • [0039feb9] warning from Visual C (Roberto Ierusalimschy)
  • [aa5b15f2] detail (Roberto Ierusalimschy)
  • [653416d5] angles in radians(!) (Roberto Ierusalimschy)
  • [82a3be06] some corrections + angles in radians (Roberto Ierusalimschy)
  • [94b5ad31] details (Roberto Ierusalimschy)
  • [90d26b92] update of `debug' library (Lua binding) (Roberto Ierusalimschy)
  • [a048d71e] new LUA_USERCONFIG to include user options (Roberto Ierusalimschy)
  • [27f8a4a6] towards 5.0 (one more step)... (Roberto Ierusalimschy)
  • [8e4ac679] use a linear count for count hook (Roberto Ierusalimschy)
  • [221b5be7] use of `LoadState' struct (instead of several separate arguments) (Roberto Ierusalimschy)
  • [b6791f5f] details (Roberto Ierusalimschy)
  • [3b058177] towards 5.0 alpha... (Roberto Ierusalimschy)
  • [586e5105] details (Roberto Ierusalimschy)
  • [99980828] external messages add their own extra information (Roberto Ierusalimschy)
  • [08da48a7] detail (Roberto Ierusalimschy)
  • [00a40f4d] ensure proper rounding (Roberto Ierusalimschy)
  • [3bb5079d] ensure fixed order for library initialization (Roberto Ierusalimschy)
  • [5016f43a] (much) cleaner way to control function states (Roberto Ierusalimschy)
  • [c1c100a0] warnings in other compilers (Roberto Ierusalimschy)
  • [b6e2f1a8] small bugs when stack is reallocated (Roberto Ierusalimschy)
  • [260e35f5] the usual... (Roberto Ierusalimschy)
  • [a56e01a9] towards 5.0 alpha... (Roberto Ierusalimschy)
  • [4664f2e9] any Lua closure has a table of globals (not only active functions) (Roberto Ierusalimschy)
  • [2e38c6ae] luadebug.h' content now is included in lua.h' (Roberto Ierusalimschy)
  • [d3dd337f] lua_Chunkreader gets a lua_State, to avoid future incompatibilities (Roberto Ierusalimschy)
  • [634344d6] new API for weak mode (Roberto Ierusalimschy)
  • [a2fa48a5] new (old?) error handling scheme (Roberto Ierusalimschy)
  • [8b2b8790] small bug: basic `ci' must have a valid func (base - 1) (Roberto Ierusalimschy)
  • [0b3d380f] internal names (Roberto Ierusalimschy)
  • [4e23699a] new implementation for error handling (Roberto Ierusalimschy)
  • [1c0ac3c0] new implementation for tailcall (Roberto Ierusalimschy)
  • [4a4f2437] new API for error handling (Roberto Ierusalimschy)
  • [0417a4bb] new implementation for tailcalls and error handling (Roberto Ierusalimschy)
  • [5037196f] new macros `ttis*' (Roberto Ierusalimschy)
  • [9fb80bde] tailcall is executed together with call (Roberto Ierusalimschy)
  • [2dcc3157] new function xpcall (Roberto Ierusalimschy)
  • [390fc99a] xpcall now is builtin + new macros `ttis*' (Roberto Ierusalimschy)
  • [79c8edb6] new names for light userdata operations (Roberto Ierusalimschy)
  • [e5146fb0] CallInfo has different fields for C functions and Lua functions (Roberto Ierusalimschy)
  • [ce6b9304] `isdst' should be a boolean (and not 0/1!!) (Roberto Ierusalimschy)
  • [ac7006d3] ^D in interactive mode finish interaction (no questions asked) (Roberto Ierusalimschy)
  • [12bee999] new way to handle macros read_line/save_line (Roberto Ierusalimschy)
  • [a8c9eec4] bug: chunk can end just after a '' in a string (Roberto Ierusalimschy)
  • [a885b826] LUA_ALERT is no longer used (Roberto Ierusalimschy)
  • [a960e62c] new options; no more _ALERT; no more getargs (Roberto Ierusalimschy)
  • [c51aa6ee] details (Roberto Ierusalimschy)
  • [d8886013] new macro `lua_isudataval' (for completude) (Roberto Ierusalimschy)
  • [44752fc9] hook count is quadratic (Roberto Ierusalimschy)
  • [39b2d58c] new interface for debug hooks (Roberto Ierusalimschy)
  • [d2d24f09] details to allow compilation of Lua as a single file (Roberto Ierusalimschy)
  • [0436c968] C++ warning (Roberto Ierusalimschy)
  • [f8279f6c] optimizations for gettable (temporary) (Roberto Ierusalimschy)
  • [1fe280df] new priority for and/or (Roberto Ierusalimschy)
  • [1ede9815] strings are always `strong' in weaktables (Roberto Ierusalimschy)
  • [3e52573c] details (error messages) (Roberto Ierusalimschy)
  • [84ad1eea] use of NaN as key breaks some invariants (Roberto Ierusalimschy)
  • [b30ec253] details (Roberto Ierusalimschy)
  • [68ee518e] only tables need `lua_number2int' (Roberto Ierusalimschy)
  • [76a73cb2] new getn' (and setn') (Roberto Ierusalimschy)
  • [aa3da160] `newproxy' uses its own weaktable (Roberto Ierusalimschy)
  • [9f4b5b52] weak keys are removed only after finalization (Roberto Ierusalimschy)
  • [5fabed21] getglobals(0) is the C global table (Roberto Ierusalimschy)
  • [f67ccfbd] no more `lua_getn' function (Roberto Ierusalimschy)
  • [cfcf2008] concat' goes to table' library (Roberto Ierusalimschy)
  • [f32a8c04] details (temporary?) (Roberto Ierusalimschy)
  • [88607acc] details (Roberto Ierusalimschy)
  • [6de93e29] two new bugs in 4.0 :-( (both were already corrected in 5.0 :-) (Roberto Ierusalimschy)
  • [25dc9b7f] new functions dofile' and pairs'; correct way to check proxies (Roberto Ierusalimschy)
  • [78c507b7] lua_upcall' -> lua_call' (Roberto Ierusalimschy)
  • [69906cb5] error message ends with `\n' (is already formatted) (Roberto Ierusalimschy)
  • [9d6556fd] userdata are removed from weaktables before invoking their GC fallbacks (Roberto Ierusalimschy)
  • [35707e94] __weakmode' -> __mode' (Roberto Ierusalimschy)
  • [89b102bd] new `luaL_weakregistry' function (Roberto Ierusalimschy)
  • [fdfd5b44] TM_GETTABLE/TM_SETTABLE don't need fast access anymore (Roberto Ierusalimschy)
  • [1a4c428d] new function `newproxy' (Roberto Ierusalimschy)
  • [2394604d] assertion may fail when closing a state (Roberto Ierusalimschy)
  • [922f36a0] details (Roberto Ierusalimschy)
  • [ad41fc11] details in arithmetic implementation (Roberto Ierusalimschy)
  • [e182cf45] `^' operator is defined in registry.__pow (Roberto Ierusalimschy)
  • [e34f2823] `luaV_gettable' returns element position (Roberto Ierusalimschy)
  • [3941af53] first implementation of independent global table per function (Roberto Ierusalimschy)
  • [5610fdd7] avoid using obsolete lua_dostring (Roberto Ierusalimschy)
  • [b449a5e5] more robust when printing error messages (Roberto Ierusalimschy)
  • [e572dffa] small bug building error messages (Roberto Ierusalimschy)
  • [5893fcb7] accept option arguments without spaces (e.g. "-eprint(a)") (Roberto Ierusalimschy)
  • [eec09051] better tests (assertions) for debug hooks (Roberto Ierusalimschy)
  • [a44f3751] better treatment for error messages (Roberto Ierusalimschy)
  • [6ee2dbdf] traceback stops at first protected call (Roberto Ierusalimschy)
  • [1dbe708a] new protocol for error handling (Roberto Ierusalimschy)
  • [8f080fd6] `traceback' returns only the traceback (Roberto Ierusalimschy)
  • [d8678edd] luaL_verror -> luaL_error (Roberto Ierusalimschy)
  • [e812aa20] avoid assignments to TObject access macros (Roberto Ierusalimschy)
  • [c31494df] avoid gotos when possible (Roberto Ierusalimschy)
  • [8fd0f6a8] new macro to check conditions on expression macros (Roberto Ierusalimschy)
  • [eb3de876] rawcall' -> upcall' (unprotected call) (Roberto Ierusalimschy)
  • [864c96f3] new fallback for equality `__eq' (Roberto Ierusalimschy)
  • [0052930f] details (Roberto Ierusalimschy)
  • [eeab473f] new fallback __le (less equal), for partial order (Roberto Ierusalimschy)
  • [6b8cdc9c] Lua now uses only `realloc' for all its memory management (Roberto Ierusalimschy)
  • [000d081f] warnings from other compilers (Roberto Ierusalimschy)
  • [65d66ba2] new "local function" (Roberto Ierusalimschy)
  • [cff22f57] some refactoring (Roberto Ierusalimschy)
  • [168ea16a] details (Roberto Ierusalimschy)
  • [dc6e6c48] on the way to 5.0 (Roberto Ierusalimschy)
  • [e3cddc95] C is not C++... (Roberto Ierusalimschy)
  • [630acb20] _ERRORMESSAGE `accepts' non-string arguments (at least for now...) (Roberto Ierusalimschy)
  • [16f47233] names & names (Roberto Ierusalimschy)
  • [f1c43bbe] new function `xpcall' (at least for now...) (Roberto Ierusalimschy)
  • [5a8f383e] io.close() closes standard output file; `close' now is method (Roberto Ierusalimschy)
  • [711b9368] new versions from lhf (Roberto Ierusalimschy)
  • [5b8ee9fa] new names for standard libraries (Roberto Ierusalimschy)
  • [2cd61610] don't need stdio (Roberto Ierusalimschy)
  • [a102221a] better error messages (Roberto Ierusalimschy)
  • [6dd0b6c6] details (Roberto Ierusalimschy)
  • [fa233012] defintions for lua_number2str and lua_str2number don't need to be public (Roberto Ierusalimschy)
  • [94c2449d] undump may return LUA_ERRRUN (Roberto Ierusalimschy)
  • [c398a021] uses `isspace' to recognize space characters (Roberto Ierusalimschy)
  • [ad7103ea] lua_load* defined in auxlib (and so renamed to luaL_load*) (Roberto Ierusalimschy)
  • [0079e0f5] core tests whether file is binary (Roberto Ierusalimschy)
  • [cfff0135] detail (Roberto Ierusalimschy)
  • [35a22ed1] lua_load* replaced by a simple lua_load (Roberto Ierusalimschy)
  • [ff91b355] no more use of stdio inside the core (except for `tostring'...) (Roberto Ierusalimschy)
  • [5094c379] strconc' -> concat' (Roberto Ierusalimschy)
  • [46c471d7] new `__newindex' eventfield (Roberto Ierusalimschy)
  • [859ecf36] new copyright notice (Roberto Ierusalimschy)
  • [a1700bbc] details (Roberto Ierusalimschy)
  • [8876a1bf] details (Roberto Ierusalimschy)
  • [f53fd8d5] _ALERT is a private afair of lua.c (Roberto Ierusalimschy)
  • [955def03] new names for string formating functions (Roberto Ierusalimschy)
  • [9c3b3f82] new commands to test `load' (Roberto Ierusalimschy)
  • [b7a0503c] new format for error messages (Roberto Ierusalimschy)
  • [1c328a19] no more `global' declarations (Roberto Ierusalimschy)
  • [58bf77bc] no more extra space when growing hash (Roberto Ierusalimschy)
  • [8da6fe62] `nexti' returns correct indices (Roberto Ierusalimschy)
  • [c18fe57e] quick-and-dirty function to print code (for debugging Lua) (Roberto Ierusalimschy)
  • [af19d556] generic for also coded to make test at the end of the loop (Roberto Ierusalimschy)
  • [b55fded1] details about jump optimization (Roberto Ierusalimschy)
  • [2dadc818] cleaner implementation of code generation for jumps (Roberto Ierusalimschy)
  • [b4879753] optimization for `while' (first version) (Roberto Ierusalimschy)
  • [94e55458] comment (Roberto Ierusalimschy)
  • [78b40bf5] `skip' instructions must be followed by a jump (Roberto Ierusalimschy)
  • [01f1ac36] `global' tables (registry, etc.) stored in proper place, not in the stack (Roberto Ierusalimschy)
  • [a4d06736] correct implementation for arrays of size 1 (Roberto Ierusalimschy)
  • [dea6b6da] new function lua_vpushstr' to replace uses of sprintf' (Roberto Ierusalimschy)
  • [71144e3f] errors return' int, to avoid warnings + home-made sprintf' (first version) (Roberto Ierusalimschy)
  • [0dbf0c59] new format for test intructions (handle NaN correctly) (Roberto Ierusalimschy)
  • [85dcb411] all textual errors go through `luaL_verror' (Roberto Ierusalimschy)
  • [3c6a383d] avoid limits in filename size (Roberto Ierusalimschy)
  • [9a0f0dcc] precompiler may create functions without `lineinfo' (Roberto Ierusalimschy)
  • [751cd867] new way to handle errors (Roberto Ierusalimschy)
  • [b36b2a06] new way to handle errors (Roberto Ierusalimschy)
  • [ab52fc60] new macro to `fix' strings (Roberto Ierusalimschy)
  • [e68d0df1] function `zsopen' is not used (Roberto Ierusalimschy)
  • [9b38a696] avoid names that differ only in capitalization (Roberto Ierusalimschy)
  • [383e8b9e] use of a common `dummynode' for all empty tables (Roberto Ierusalimschy)
  • [f1a1bb23] good stack limit to compute ack(8,3) (Roberto Ierusalimschy)
  • [151ba1cc] details (Roberto Ierusalimschy)
  • [ee4859b3] new way to handle errors (temporary version) (Roberto Ierusalimschy)
  • [f388ee4a] new way to handle errors (Roberto Ierusalimschy)
  • [30ad4c75] bug: 'local a,b; a,b = 1,f()' did not close f() (Roberto Ierusalimschy)
  • [3ee1efa7] some simplifications (Roberto Ierusalimschy)
  • [c11d374c] `panic' function configurable via API (Roberto Ierusalimschy)
  • [13230c45] details (Roberto Ierusalimschy)
  • [391c5459] new implementation for `require' (with templates) (Roberto Ierusalimschy)
  • [62dd4cbe] check for errors while loading file (Roberto Ierusalimschy)
  • [ae5283dc] co' library goes with basic library (and not with tab') (Roberto Ierusalimschy)
  • [1ce6cb60] no more option `*u' in read (too complex) (Roberto Ierusalimschy)
  • [11c63bc3] error in calls signalled in first line (instead of last) (Roberto Ierusalimschy)
  • [f1f271ae] details (Roberto Ierusalimschy)
  • [6c7334a9] line trace uses savedpc' to save last pc' seen (Roberto Ierusalimschy)
  • [8e1e6186] baselib' splited in baselib' and `tablib' (Roberto Ierusalimschy)
  • [af4721f7] library with table manipulation functions (Roberto Ierusalimschy)
  • [018e50ad] use addresses as keys to hooks (Roberto Ierusalimschy)
  • [7b65328c] new semantics for `generic for' (with state) (Roberto Ierusalimschy)
  • [d2e05589] bug: `resume' was returning its arguments, too (Roberto Ierusalimschy)
  • [23796972] support for light' userdata + simpler support for boxed' udata (Roberto Ierusalimschy)
  • [f438d00e] correct #args for calls with self (a:foo(...)) (Roberto Ierusalimschy)
  • [c3b90061] new design for iolib (object style) (Roberto Ierusalimschy)
  • [a2e414d6] `pow' must be global (as the implementation of '^') (Roberto Ierusalimschy)
  • [93bcb65a] debug interface uses method' to describe calls like a:foo()' (Roberto Ierusalimschy)
  • [49c95648] getmetatable doesn't push nil when there is no metatable (Roberto Ierusalimschy)
  • [13ab5a6b] details (Roberto Ierusalimschy)
  • [cd99bbcd] better support for new libraries (Roberto Ierusalimschy)
  • [2cbbf7e9] tostring' uses __tostring' when available (Roberto Ierusalimschy)
  • [e5919be1] bug: end of block may not be end of stat (Roberto Ierusalimschy)
  • [b795d4b5] details (Roberto Ierusalimschy)
  • [c3714135] small bug if LUA_USERINIT leaves garbage on the stack (Roberto Ierusalimschy)
  • [d1f22021] when possible, library functions accept nil as none (Roberto Ierusalimschy)
  • [405e3a45] metatable always return some value (Roberto Ierusalimschy)
  • [81215cd5] simpler way to control stack overflow (Roberto Ierusalimschy)
  • [0b9b53e2] details (Roberto Ierusalimschy)
  • [44a5484d] small bug (L->ci->top may be larger than L->top...) (Roberto Ierusalimschy)
  • [801aaf37] simpler implementation for line information (Roberto Ierusalimschy)
  • [00af2faa] first implementation of proper tail call (Roberto Ierusalimschy)
  • [e9ef7ed2] first implementation for tail call (Roberto Ierusalimschy)
  • [2626708b] details (Roberto Ierusalimschy)
  • [19ac0fad] don't need to mark the stacks twice ;-) (Roberto Ierusalimschy)
  • [ca2ceef6] simpler solution for finalizing udata (Roberto Ierusalimschy)
  • [5023aaee] reserve one more bit for GC (Roberto Ierusalimschy)
  • [88c9bf99] standard libraries in packages (Roberto Ierusalimschy)
  • [63a614e1] some improvements in stack control (Roberto Ierusalimschy)
  • [48e732e0] improvements in stack control (Roberto Ierusalimschy)
  • [93809248] erroneous objects may not live in the stack (Roberto Ierusalimschy)
  • [578d1da0] new names for tag methods (Roberto Ierusalimschy)
  • [24d6d052] api.c only needs to check pushes when api_check is defined (Roberto Ierusalimschy)
  • [0b00e7f1] new macro to convert double->int (Roberto Ierusalimschy)
  • [b7ed502d] configurable macros should live in llimits.h (Roberto Ierusalimschy)
  • [58badbab] special treatment for 'global in nil' (Roberto Ierusalimschy)
  • [da81845c] an error may call GC and find an incomplete `ci' (Roberto Ierusalimschy)
  • [9681ff09] small optimization when returning a single local value (Roberto Ierusalimschy)
  • [7ff21273] implementation of `global' statement (Roberto Ierusalimschy)
  • [207dad86] comments (Roberto Ierusalimschy)
  • [c97dc294] first implementation of `gfind' (Roberto Ierusalimschy)
  • [71c716e5] avoid C identifiers beginning with '_' (Roberto Ierusalimschy)
  • [51ad2f11] error message (Roberto Ierusalimschy)
  • [ecda9c19] details (Roberto Ierusalimschy)
  • [e19eba72] cannot store `top' in local variables... (Roberto Ierusalimschy)
  • [bd8b9c94] generic for (with any number of control variables) (Roberto Ierusalimschy)
  • [4db04555] implementation of long comments (Roberto Ierusalimschy)
  • [c16a35d6] lua_stackspace' replaced by lua_checkstack' (Roberto Ierusalimschy)
  • [8f837e83] using `ci->top' to control acceptable indices in C calls (Roberto Ierusalimschy)
  • [6658b958] details (Roberto Ierusalimschy)
  • [457d88ea] configurable minimum size for the string table (Roberto Ierusalimschy)
  • [8a1a512c] lu_byte is enough for those fields (maxstack < 256) (Roberto Ierusalimschy)
  • [6b0c38c2] `inline' of tonumber (Roberto Ierusalimschy)
  • [1a3f1756] small optimization (Roberto Ierusalimschy)
  • [88c7b574] `luaA_index' is a local macro now (Roberto Ierusalimschy)
  • [51bf91a9] detail (Roberto Ierusalimschy)
  • [1b6315ba] not all unfinished strings with "..." end in EOF (Roberto Ierusalimschy)
  • [3b001d9a] more tests for boolean API (Roberto Ierusalimschy)
  • [c36b5cc7] detail (Roberto Ierusalimschy)
  • [2c1eb62a] get error messages from luaL_errstr (Roberto Ierusalimschy)
  • [63e2d921] no more -DOLD_ANSI option + details (Roberto Ierusalimschy)
  • [e966dd93] towards next version... (Roberto Ierusalimschy)
  • [2f8e3c55] prints any results returned by chunk (Roberto Ierusalimschy)
  • [b0a5e156] no more maximum stack size (Roberto Ierusalimschy)
  • [ac178ee4] new constructor syntax + new generic `for' (Roberto Ierusalimschy)
  • [1e602a61] new generic `for' (Roberto Ierusalimschy)
  • [57fb51f9] luaH_next' works like next' (Roberto Ierusalimschy)
  • [1c423d26] LFIELDS_PER_FLUSH is an opcode detail (Roberto Ierusalimschy)
  • [b3ffaca6] details (Roberto Ierusalimschy)
  • [bee86e23] luaH_next' works like next' + better hash for pointers (Roberto Ierusalimschy)
  • [0056ed41] better(?) order for types (nil == 0) (Roberto Ierusalimschy)
  • [e01f5e68] better order of record fields for 64-bit machines (Roberto Ierusalimschy)
  • [cbfc5819] details. (Roberto Ierusalimschy)
  • [d3651c1d] `getstr' now gives const char * (Roberto Ierusalimschy)
  • [57a7baaf] error message compatible with incomplete lines of lua.c (Roberto Ierusalimschy)
  • [252e01e3] `setlocale' may be used to query the current locale (Roberto Ierusalimschy)
  • [87b0e3d4] no more `lua_istrue' function (Roberto Ierusalimschy)
  • [cb50fcf4] incomplete lines (by lhf) (Roberto Ierusalimschy)
  • [c6a108e0] test for lua_pushbool (Roberto Ierusalimschy)
  • [d5ceb369] boolean type must be 0 or 1 (Roberto Ierusalimschy)
  • [86a4de25] no more lua_[gs]etstr (Roberto Ierusalimschy)
  • [53aaee6e] comments (Roberto Ierusalimschy)
  • [67bda7e1] details. (Roberto Ierusalimschy)
  • [7c8f1823] bug: true 1 != true 2 + no more lua_getstr + some new macros (Roberto Ierusalimschy)
  • [ca181f31] line number in listcode (and tests for replace) (Roberto Ierusalimschy)
  • [38b0e612] simpler implementation for `for' loops (Roberto Ierusalimschy)
  • [addbe8c8] protected execution of `resume' (Roberto Ierusalimschy)
  • [6bb5cb1c] comments (Roberto Ierusalimschy)
  • [d070506a] new function luaL_errstr (Roberto Ierusalimschy)
  • [0a87d9d3] new function `lua_replace' (Roberto Ierusalimschy)
  • [f856fdea] details (Roberto Ierusalimschy)
  • [653977a0] callhook can be static (Roberto Ierusalimschy)
  • [d6fd33e7] eventtable' renamed to metatable' (Roberto Ierusalimschy)
  • [50e29525] first version of dynamic stack (Roberto Ierusalimschy)
  • [b217ae64] details (Roberto Ierusalimschy)
  • [a048cc96] nil is a `valid' eventtable (Roberto Ierusalimschy)
  • [eb262bc6] 2^15 does not fit in a 16-bit int (Roberto Ierusalimschy)
  • [74907fb7] OP_LOADINT can be done by OP_LOADK (Roberto Ierusalimschy)
  • [b38e594e] small improvements (Roberto Ierusalimschy)
  • [448517e4] no more linehook field in CallInfo (Roberto Ierusalimschy)
  • [931ee346] legacy declaration (Roberto Ierusalimschy)
  • [dea98702] preparations for stack reallocation (Roberto Ierusalimschy)
  • [7ab7703b] cleaner semantics for test instructions (skips) (Roberto Ierusalimschy)
  • [566310fa] small optimization (Roberto Ierusalimschy)
  • [6272c843] yield' passes its arguments to resume' (Roberto Ierusalimschy)
  • [5d14ce61] details (Roberto Ierusalimschy)
  • [d56d4cf7] distinct functions to create/destroy states and threads (Roberto Ierusalimschy)
  • [b7ae43d4] detail (Roberto Ierusalimschy)
  • [f083812c] first implementation of coroutines (Roberto Ierusalimschy)
  • [3533382a] dependencies updated (Roberto Ierusalimschy)
  • [ea2a75d1] new macro lua_userstateopen (Roberto Ierusalimschy)
  • [b3bb0f13] new interface for weak modes (Roberto Ierusalimschy)
  • [facfec06] small optimizations (Roberto Ierusalimschy)
  • [34df9976] some compatibility macros (Roberto Ierusalimschy)
  • [cfaa8fbf] better check for option in `strfind' (Roberto Ierusalimschy)
  • [f42cc90d] some warnings (Roberto Ierusalimschy)
  • [9d2e454d] BUG: seg. fault when rawget/rawset get extra arguments (Roberto Ierusalimschy)
  • [09e15692] rename of lua_isnull to lua_isnone (Roberto Ierusalimschy)
  • [42754c0f] small optimizations (Roberto Ierusalimschy)
  • [18afb903] first version of stackless Lua (Roberto Ierusalimschy)
  • [22dd271c] another bug in next (when n is a power of 2) (Roberto Ierusalimschy)
  • [e04f7ed4] first version of Lua "stackless" (Roberto Ierusalimschy)
  • [101cee30] LUA_ERRERR also cannot generate error message (Roberto Ierusalimschy)
  • [eb7312d9] comments (Roberto Ierusalimschy)
  • [21259a50] run GC tag methods in protected mod (Roberto Ierusalimschy)
  • [9aff171f] new type `boolean' (Roberto Ierusalimschy)
  • [ed9be5e1] reentrant implementation of garbage collection (Roberto Ierusalimschy)
  • [9d801f43] details (Roberto Ierusalimschy)
  • [e043b72a] simpler way to collect userdata (Roberto Ierusalimschy)
  • [a4c35a32] it doesn't pay to optimize absence when it is an error (Roberto Ierusalimschy)
  • [9cd36059] new API functions lua_getstr/lua_setstr (Roberto Ierusalimschy)
  • [592a3091] tag system replaced by event tables (Roberto Ierusalimschy)
  • [413fc733] new implementation for lua upvalues (sugested by E.T.): simpler and solves a bug for multi-stacks (Roberto Ierusalimschy)
  • [fca0a12e] avoid clashing names between macros and fields (Roberto Ierusalimschy)
  • [72659a06] no more explicit support for wide-chars; too much troble... (Roberto Ierusalimschy)
  • [dfaf8c52] details (Roberto Ierusalimschy)
  • [657f6521] bug: `next' did not work for numeric indices (Roberto Ierusalimschy)
  • [39395e12] `luaX_syntaxerror' does not need to be public (Roberto Ierusalimschy)
  • [26bf2ada] optimizations for space in LClosures and time cleanning weak tables (Roberto Ierusalimschy)
  • [fd48dcc7] details. (Roberto Ierusalimschy)
  • [617008f5] field G renamed to _G to avoid problemas with bugged macro-systems (there is a macro named G too) (Roberto Ierusalimschy)
  • [ec9d8308] global table is also pseudo-index (Roberto Ierusalimschy)
  • [af598482] tables of globals accessible through pseudo-index in C API (Roberto Ierusalimschy)
  • [46347d76] `ref' support goes to auxlib (Roberto Ierusalimschy)
  • [36eb6658] no more refs, upvalues; lexical scoping;pseudo-indices (Roberto Ierusalimschy)
  • [07020430] more consistent names for auxlib functions (Roberto Ierusalimschy)
  • [21aa7e55] optimization for array part of a Table (Roberto Ierusalimschy)
  • [fffb6f38] no more MINPOWER2 (Roberto Ierusalimschy)
  • [0b551a24] Hash' -> Table' (Roberto Ierusalimschy)
  • [8069f77c] C++ warning (Roberto Ierusalimschy)
  • [1e81da51] new API for registry and C upvalues + new implementation for references (Roberto Ierusalimschy)
  • [7cd37142] details (Roberto Ierusalimschy)
  • [e7c2eebd] new function `concat' (Roberto Ierusalimschy)
  • [0c3ea965] no more copytagmethod function (Roberto Ierusalimschy)
  • [babaa96e] URL in indentification (Roberto Ierusalimschy)
  • [15462edb] new definitions for closure structures (Roberto Ierusalimschy)
  • [6f936bc7] "compatibility module" no longer exists (Roberto Ierusalimschy)
  • [b840a751] details (Roberto Ierusalimschy)
  • [f54cdb33] small bug in close x return (Roberto Ierusalimschy)
  • [8e9b1e4a] details (Roberto Ierusalimschy)
  • [328d53e7] restricted syntax for function call/table accesses prefixes (Roberto Ierusalimschy)
  • [c04d9b9e] small bug when closing closures in error conditions (Roberto Ierusalimschy)
  • [c44c6845] changes by lhf (Roberto Ierusalimschy)
  • [abdbe883] first implementation of unrestricted static scoping (Roberto Ierusalimschy)
  • [4d0935ec] better definition for `luaM_freelem' (Roberto Ierusalimschy)
  • [e1d07257] better syntax for type casts (Roberto Ierusalimschy)
  • [7651a5c6] start of new version (Roberto Ierusalimschy)
  • [8c8ad5f3] better locality of assignment of table values (Roberto Ierusalimschy)
  • [34a09b65] some changes of arguments from char to int (Roberto Ierusalimschy)
  • [29d883b9] avoid augmenting alignment of pointers (Roberto Ierusalimschy)
  • [b0d5bd8c] tinsert gets 3d argument instead of last one (Roberto Ierusalimschy)
  • [9fca43f5] details (Roberto Ierusalimschy)
  • [33d820d4] new syntax "= exp" to rpint exp + simplifications (Roberto Ierusalimschy)
  • [c3d72096] use a table to find (and reuse) constants when parsing (Roberto Ierusalimschy)
  • [7afc74ff] avoid some warnings from strange compilers (Roberto Ierusalimschy)
  • [022bf272] extra parenteses to avoid warnings (Roberto Ierusalimschy)
  • [fd40af92] the parser is not LL(1) (Roberto Ierusalimschy)

[v4.1-alpha]

  • [01715437] better optimization options (Roberto Ierusalimschy)
  • [ebd1d1f8] no more deprecated code (Roberto Ierusalimschy)
  • [04320e04] warnings from Visual C++ (plus small details) (Roberto Ierusalimschy)
  • [5d2d2b17] the usual stuff (Roberto Ierusalimschy)
  • [f34001fa] details (Roberto Ierusalimschy)
  • [95988676] small bug when creating AsBc instructions in 16-bit machines (Roberto Ierusalimschy)
  • [767abdfd] `newtype' returns old tag when given an old name (Roberto Ierusalimschy)
  • [45b173cb] warnings/details (Roberto Ierusalimschy)
  • [a94cba4b] ready for 4.1 alpha? (Roberto Ierusalimschy)
  • [f9f35522] version -> 4.1 alpha (Roberto Ierusalimschy)
  • [b3dd9b1b] `format' can handle \0 in format string (why not?) (Roberto Ierusalimschy)
  • [d8f37bf4] weakregistry has its keys weak, too (Roberto Ierusalimschy)
  • [a598804a] small bug in luaK_self (side effects) (Roberto Ierusalimschy)
  • [6c8e652a] use macros for 'getc' (Roberto Ierusalimschy)
  • [9f25df02] new definition for headers of binary files (Roberto Ierusalimschy)
  • [ae1cf643] better names for type-related functions (Roberto Ierusalimschy)
  • [a264fd08] small bug in read_chars (fread x eof) (Roberto Ierusalimschy)
  • [a3d03ff6] bug: error message for `%a' gave wrong line number (Roberto Ierusalimschy)
  • [654b16e8] better performance for table operations (mainly for integer indices) (Roberto Ierusalimschy)
  • [dc4e0ecd] new versions by lhf (Roberto Ierusalimschy)
  • [99246689] LUA_MINSTACK has a fixed value (Roberto Ierusalimschy)
  • [89ef91a7] `opmodes' table also generated automatically by mkprint (Roberto Ierusalimschy)
  • [00aaee0a] details (Roberto Ierusalimschy)
  • [18d3e82c] check C is independent from check B (Roberto Ierusalimschy)
  • [2a4afb97] new module lopcodes.c for tables describing opcodes (Roberto Ierusalimschy)
  • [87a5fae4] tables describing opcodes (Roberto Ierusalimschy)
  • [afed6c68] missing an opcode name (Roberto Ierusalimschy)
  • [77095451] rename of kproto' to p' (Roberto Ierusalimschy)
  • [b346834a] new macros for changing numbers (Roberto Ierusalimschy)
  • [61a036ea] new macro to control format for `read"*n"' (Roberto Ierusalimschy)
  • [37f3a1c0] too much optimization to "break" keys in tables; keep them as TObjects... (Roberto Ierusalimschy)
  • [9559c111] new read' option *u' (read-until) + simpler implementation for `read' (Roberto Ierusalimschy)
  • [777061e4] resurect userdata before calling its GC tag method (Roberto Ierusalimschy)
  • [fccadba4] new reserved words in' and global' (Roberto Ierusalimschy)
  • [b940f099] no more "compat mode" with 3.2 (deprecated functions) (Roberto Ierusalimschy)
  • [878979ce] no more opnames in binary tag methods (Roberto Ierusalimschy)
  • [8e586c13] cleaner way to ensure alignment for strings and userdata (Roberto Ierusalimschy)
  • [eadf2aaa] small optimizations (Roberto Ierusalimschy)
  • [ae19b2f5] more relaxed rules for syncronized access (Roberto Ierusalimschy)
  • [a3fbf5f5] details (Roberto Ierusalimschy)
  • [7fae1c17] detail (Roberto Ierusalimschy)
  • [89e8303f] more robust treatment of GC tag methods (now they can create new objects while running...) (Roberto Ierusalimschy)
  • [89c301d1] `(exp)' adjusts exp to 1 result (Roberto Ierusalimschy)
  • [186111dc] unused definition (Roberto Ierusalimschy)
  • [0a1b1acd] details about opcode parameters (Roberto Ierusalimschy)
  • [79acf5ea] details (Roberto Ierusalimschy)
  • [cbc59592] new definition for luaD_call' and luaD_adjusttop' (Roberto Ierusalimschy)
  • [4905fdd1] C++ warning (Roberto Ierusalimschy)
  • [02671686] details. (Roberto Ierusalimschy)
  • [ba11831d] smaller structs for udata and for strings (Roberto Ierusalimschy)
  • [190ddd43] details (rests of debug code) (Roberto Ierusalimschy)
  • [65c289b0] details (Roberto Ierusalimschy)
  • [d5b83ead] new implementation for userdatas, without `keys' (Roberto Ierusalimschy)
  • [da673d31] user can define extra alignment requirements (Roberto Ierusalimschy)
  • [323da725] weakmode' queries must have an explicit ?' (Roberto Ierusalimschy)
  • [943b8f5b] details (Roberto Ierusalimschy)
  • [762d059a] new implementation for the Virtual Machine (Roberto Ierusalimschy)
  • [572a69b6] name changes (Roberto Ierusalimschy)
  • [beee01b1] re-implementation of refs through weak tables (Roberto Ierusalimschy)
  • [6473f965] new API functions to load (parse?) a chunk without running it. (Roberto Ierusalimschy)
  • [0e0e4a48] first implementation for weak tables (Roberto Ierusalimschy)
  • [2a501882] avoid use of l_char outside INTERNALs (use lua_char instead) (Roberto Ierusalimschy)
  • [9aedea6e] small bug (when parser fails, there is no function on the stack...) (Roberto Ierusalimschy)
  • [a68635a9] list constructors do not adjust last expression (Roberto Ierusalimschy)
  • [21121426] allow syntax << function (x) ... end (...) >> as a statement (Roberto Ierusalimschy)
  • [dd3a63c2] new way to handle `profiles' (Roberto Ierusalimschy)
  • [cb49b088] old signature for lua_open (Roberto Ierusalimschy)
  • [c5a23cf0] details (Roberto Ierusalimschy)
  • [6048c4f7] better way to link callinfo's and stack (Roberto Ierusalimschy)
  • [5e870f86] optimization for tailcall does not seem to pay itself (Roberto Ierusalimschy)
  • [f81b8adb] string [[...]] ignores initial \n (Roberto Ierusalimschy)
  • [2b226706] new functions pack' and unpack' (Roberto Ierusalimschy)
  • [72d3d155] detail (Roberto Ierusalimschy)
  • [6d4db868] open functions are lua_Cfunctions (Roberto Ierusalimschy)
  • [e9a38203] sizeof(string) != strlen(string)+1 when sizeof(char) != 1 (Roberto Ierusalimschy)
  • [9e8a46da] details (identation) (Roberto Ierusalimschy)
  • [7b84f9e6] lower-case for macros with arguments (Roberto Ierusalimschy)
  • [1e40b4dc] buffer should be void *, as char now is not that neutral... + little bug in pointer arithmetic (Roberto Ierusalimschy)
  • [dfd7ce74] buffer should be void *, as char now is not that neutral... (Roberto Ierusalimschy)
  • [8399df5d] detail (Roberto Ierusalimschy)
  • [d2a64bb6] `llimits' may need definitions from LUA_USER_H (Roberto Ierusalimschy)
  • [a90f06dc] `atoi' does not have a wide-char equivalent (Roberto Ierusalimschy)
  • [35023355] details for wchar (Roberto Ierusalimschy)
  • [39b79783] first (big) step to support wide chars (Roberto Ierusalimschy)
  • [d164e229] _ERRORMESSAGE called through get global tag method (Roberto Ierusalimschy)
  • [2cc94ac8] avoid name clash with `sys/stat' (Roberto Ierusalimschy)
  • [5f37134e] avoid '...' and "..." inside comments (Roberto Ierusalimschy)
  • [52ee91dd] better encapsulation of some types (Roberto Ierusalimschy)
  • [191fd35f] warnings from Visual C++ (Roberto Ierusalimschy)
  • [d6978d03] small bug in testing (pushuserdata needs some memory to work...) (Roberto Ierusalimschy)
  • [68b08848] `dostring' now is safe to run binary code. (Roberto Ierusalimschy)
  • [888f91fa] code check for upvalues (Roberto Ierusalimschy)
  • [c1db0b2b] detail (Roberto Ierusalimschy)
  • [099442c4] better separation between basic types (Roberto Ierusalimschy)
  • [27600fe8] better strucuture for code checker (Roberto Ierusalimschy)
  • [f8509668] details. (Roberto Ierusalimschy)
  • [40f4e931] more liberal syntax for expressions (Roberto Ierusalimschy)
  • [29371ecf] better way to handle multi-line input (with concat) (Roberto Ierusalimschy)
  • [5d9b8b7c] more secure definition for lua_concat (Roberto Ierusalimschy)
  • [1c2501fa] tests for string alignment (Roberto Ierusalimschy)
  • [a4ae1475] details (smaller code) (Roberto Ierusalimschy)
  • [b3da4ee9] checking consistency of jumps. (Roberto Ierusalimschy)
  • [3c649ce1] checking consistency of jumps (and some other details) (Roberto Ierusalimschy)
  • [95da574d] some compilers (wrongly) complain about that (Roberto Ierusalimschy)
  • [255052b6] better API checks (Roberto Ierusalimschy)
  • [1bdc156b] details (Roberto Ierusalimschy)
  • [03d8a9bf] details (Roberto Ierusalimschy)
  • [d2e340f4] string pointers are always fully aligned (Roberto Ierusalimschy)
  • [6875fdc8] new semantics for pushuserdata (no more different userdatas with same value) (Roberto Ierusalimschy)
  • [dc17a9cc] new semantics for pushuserdata (Roberto Ierusalimschy)
  • [81e63f75] `tostring' uses type names (when available) (Roberto Ierusalimschy)
  • [c81404ca] first version of code verification (Roberto Ierusalimschy)
  • [b6ce5904] details (Roberto Ierusalimschy)
  • [e70e6a3b] <read(0)> tests for EOF (Roberto Ierusalimschy)
  • [6548bf74] warnings from Visual C (Roberto Ierusalimschy)
  • [7178a5e3] new way to handle top x L->top (Roberto Ierusalimschy)
  • [322b7b5f] easier to add new initialization functions (Roberto Ierusalimschy)
  • [1f917e70] better use of extra include files (both for tests and for old_ansi) (Roberto Ierusalimschy)
  • [d444153d] ESC (which starts precompiled code) in C is \33, not \27 (Roberto Ierusalimschy)
  • [a8944995] details (Roberto Ierusalimschy)
  • [d1fc6244] extended syntax to allow function a.b.c (x) (Roberto Ierusalimschy)
  • [7e3d3e1f] details (Roberto Ierusalimschy)
  • [1f9e3731] back to the basics (well-behaved variant record...) (Roberto Ierusalimschy)
  • [42224ca5] loop of 'dostring' may never reclaim memory (Roberto Ierusalimschy)
  • [426d3e43] lock/unlock may use L + better structure for internal debug stuff (Roberto Ierusalimschy)
  • [8823f371] new header to put together debug-related declarations (Roberto Ierusalimschy)
  • [e506b864] no need for tags in boxed values :-( (Roberto Ierusalimschy)
  • [9a231afa] top must be updated when there is any error (Roberto Ierusalimschy)
  • [4ab6acac] better control of relationship top x L->top (Roberto Ierusalimschy)
  • [68587639] bug in lua_pushuserdata(L, NULL) (Roberto Ierusalimschy)
  • [b68fb7f6] `assert' returns its first argument (Roberto Ierusalimschy)
  • [60ff7945] detail in error message (Roberto Ierusalimschy)
  • [44a53df6] better to avoid dirty tricks (Roberto Ierusalimschy)
  • [63a822c8] all boxed types start with their tags (Roberto Ierusalimschy)
  • [09def5da] small corrections (Roberto Ierusalimschy)
  • [6b71a9cf] smaller tables for machines with 8-bit alignment (Roberto Ierusalimschy)
  • [fa8c44b5] avoid the use of "reopen" (not that standard) (Roberto Ierusalimschy)
  • [3b6f8bfb] simpler implementation of for loops (Roberto Ierusalimschy)
  • [caf01b5b] better implementation for list "for" (Roberto Ierusalimschy)
  • [ca1f28b8] avoid side-effects on macros that may use twice their arguments (Roberto Ierusalimschy)
  • [b82242d4] detail (Roberto Ierusalimschy)
  • [ac390020] optimizations based on all types but number and nil are pointers (Roberto Ierusalimschy)
  • [9b454398] details (Roberto Ierusalimschy)
  • [7959f3ae] easier way to erase 'dead' keys (Roberto Ierusalimschy)
  • [bce65725] new macros + new names to facilitate compilation of threaded version (Roberto Ierusalimschy)
  • [a53d9b66] first implementation for type names (Roberto Ierusalimschy)
  • [c8559e3c] a small optimization (Roberto Ierusalimschy)
  • [71ae4801] macros LUA_ENTRY/LUA_EXIT to control exclusive access to Lua core (Roberto Ierusalimschy)
  • [6fda6a53] support for multiple stacks sharing the same global environment (Roberto Ierusalimschy)
  • [4ac58853] thead-specific state separated from "global" state (Roberto Ierusalimschy)
  • [f2c451d7] all accesses to TObjects done through macros (Roberto Ierusalimschy)
  • [619edfd9] details (Roberto Ierusalimschy)
  • [a04de4f0] no more END opcode (Roberto Ierusalimschy)
  • [a653d93a] string comparison only needs to test for "less than" (Roberto Ierusalimschy)
  • [321c7fb6] details (Roberto Ierusalimschy)
  • [dabb19fc] specialized versions for luaH_set (numbers and strings) (Roberto Ierusalimschy)
  • [08496eea] small changes in lstring (Roberto Ierusalimschy)
  • [4ff55457] new macro pushliteral (Roberto Ierusalimschy)
  • [595e4495] tighter size for error buffers (Roberto Ierusalimschy)
  • [a907aeeb] general corrections (Roberto Ierusalimschy)
  • [76f62fc5] correct size only after malloc success (Roberto Ierusalimschy)
  • [0183b803] `free' gets size of the block: complete control over memory use (Roberto Ierusalimschy)
  • [8c49e198] explicit control of size for growing vectors (Roberto Ierusalimschy)
  • [6af005ec] bug: when `read' fails it must return nil (and not no value) (Roberto Ierusalimschy)
  • [f8a0fd26] temporary version (Roberto Ierusalimschy)
  • [0066bbbb] details (Roberto Ierusalimschy)
  • [1db05793] time' does not need to correct its table argument (use date' for that) (Roberto Ierusalimschy)
  • [af97be02] new function for time and date (Roberto Ierusalimschy)
  • [cce8ebd3] obsolete `format' option (d$). (Roberto Ierusalimschy)
  • [4894c279] lua_Number defined in lua.h (1st version) (Roberto Ierusalimschy)
  • [10ac68c6] first implementation for position captures (Roberto Ierusalimschy)
  • [01b00cc2] better control over extensions of char/short to int (Roberto Ierusalimschy)
  • [fc7b167a] BUG: parser does not accept a ;' after a return' (Roberto Ierusalimschy)
  • [96253ed8] better support for 64-bit machines (avoid excessive use of longs) (Roberto Ierusalimschy)
  • [35d6b150] some cleaning (Roberto Ierusalimschy)
  • [22914afa] avoid the use of (non const) static data (Roberto Ierusalimschy)
  • [523c5d8e] last changes by lhf. (Roberto Ierusalimschy)
  • [40a4c767] setlinehook/setcallhook return old hook (Roberto Ierusalimschy)
  • [1385d81d] (Roberto Ierusalimschy)
  • [906d5dcc] details (Roberto Ierusalimschy)
  • [93a5649d] hooks may call `error' to break a chunk. (Roberto Ierusalimschy)
  • [df416661] many changes (Roberto Ierusalimschy)
  • [67c1afff] lua_settagmethod does not return old tag method (Roberto Ierusalimschy)
  • [03770ecf] comments (Roberto Ierusalimschy)
  • [7409678b] DEBUG renamed to LUA_DEBUG (Roberto Ierusalimschy)
  • [d1c689af] subtelties in layout of TString (Roberto Ierusalimschy)
  • [37e9c2e7] macro DEBUG renamed to LUA_DEBUG (Roberto Ierusalimschy)
  • [e42a219e] `lua_typename' accepts LUA_TNONE (Roberto Ierusalimschy)
  • [b3959d58] (Roberto Ierusalimschy)
  • [f379d06e] all API functions are declared in a single line (to facilitate pre-processing). (Roberto Ierusalimschy)
  • [728ff207] details (Roberto Ierusalimschy)
  • [2cbbf393] new macro LUALIB_API (so the lib can be a separate DLL) (Roberto Ierusalimschy)
  • [e2b6b7de] details (Roberto Ierusalimschy)
  • [563b1f57] new way to ensure uniqueness of registry keys (Roberto Ierusalimschy)
  • [46704765] details. (Roberto Ierusalimschy)
  • [89f98c09] in function `read_file', realloc() doesn't free the buffer if it can't allocate new memory (Roberto Ierusalimschy)
  • [b892f0a8] new API function `createuserdata' (Roberto Ierusalimschy)
  • [aadc3544] lua_settag does not pop its argument (Roberto Ierusalimschy)
  • [cdc8139e] registry mechanism (Roberto Ierusalimschy)
  • [e833bd47] comments (Roberto Ierusalimschy)
  • [b7ffb128] it is unsafe to allow Lua to get gc tag methods (Roberto Ierusalimschy)
  • [64eecc0b] new macro LUA_API (Roberto Ierusalimschy)
  • [8b88ab07] more controled use of `sprintf' (Roberto Ierusalimschy)
  • [2779ceeb] ((n)-1) may be negative (-1), and so it is not wise to keep it as unsigned (Roberto Ierusalimschy)
  • [e93c4547] no more USERINIT (macro) (Roberto Ierusalimschy)
  • [0ffc676c] details (Roberto Ierusalimschy)
  • [18fb3ddb] details. (Roberto Ierusalimschy)
  • [2bddbe66] cannot change filename' before eventual call to freopen' (Roberto Ierusalimschy)
  • [e323338f] `nlineinfo' must include end flag. (Roberto Ierusalimschy)
  • [46b543eb] better treatment for errors inside _ERRORMETHOD (Roberto Ierusalimschy)
  • [79909a92] details (Roberto Ierusalimschy)
  • [d6232a0b] better treatment for source names (Roberto Ierusalimschy)
  • [ae63a0e6] new implementation for some API functions (Roberto Ierusalimschy)
  • [cd3d4469] detail (Roberto Ierusalimschy)
  • [f01e6c6f] small optimization in `sort' (Roberto Ierusalimschy)
  • [ad3816d0] luaD_call is more uniform (Roberto Ierusalimschy)
  • [046a3d61] tag methods are always functions, so don't need to store a whole object (Roberto Ierusalimschy)
  • [001f2bdd] new definition for types-tags (Roberto Ierusalimschy)
  • [cd2ddade] call hooks can only be called when pc' is active (that is, inside execute'...) (Roberto Ierusalimschy)
  • [d68209e8] details. (Roberto Ierusalimschy)
  • [1088cde0] easier way to change type Number (Roberto Ierusalimschy)
  • [6759f3ec] no more `proprietary' convertion algorithm (too complex) (Roberto Ierusalimschy)
  • [f6834f43] new API function `lua_type' + new type lua_Type (Roberto Ierusalimschy)
  • [78bc8e55] new API for garbage collector (Roberto Ierusalimschy)
  • [dad808a7] new way to count `nblocks' for GC (try to count bytes). (Roberto Ierusalimschy)
  • [ca7fd50a] small optimizations (Roberto Ierusalimschy)
  • [282ab366] bug: parser overwrites semantic information when looking ahead (Roberto Ierusalimschy)
  • [444d6a10] lua_tag should return LUA_NOTAG for non-valid indices (Roberto Ierusalimschy)
  • [13635f7d] new version of protected execution (Roberto Ierusalimschy)
  • [d8a44220] lua_state (now called `L') should not be global (Roberto Ierusalimschy)
  • [c9c6f974] GC may crash when checking C closures (Roberto Ierusalimschy)
  • [c2aa7bd7] bug: lua_gettable does not get key from stack top (Roberto Ierusalimschy)
  • [f9dd50ce] `read("*w")' should return nil at EOF (Roberto Ierusalimschy)

[v4.0-beta]

  • [dbde9f88] wrong assert (Roberto Ierusalimschy)
  • [857a1204] by lhf (Roberto Ierusalimschy)
  • [d742b88f] final version (by lhf) (Roberto Ierusalimschy)
  • [eb822c31] macros to do jumps (Roberto Ierusalimschy)
  • [ab7aceb9] Tochange (Roberto Ierusalimschy)
  • [72b12e09] error messages in lower case. (Roberto Ierusalimschy)
  • [5ed3bcd4] warnings in Solaris (Roberto Ierusalimschy)
  • [7508fed6] final version for 4.0 beta (Roberto Ierusalimschy)
  • [aab4fde4] changes by lhf (Roberto Ierusalimschy)
  • [6ec4a0ef] updates by lhf (Roberto Ierusalimschy)
  • [42ca3105] small "by 1" bug (Roberto Ierusalimschy)
  • [6030d5fe] avoid assignment to local structure (Roberto Ierusalimschy)
  • [91c003dc] details (Roberto Ierusalimschy)
  • [620d22f2] new API function lua_rawget (Roberto Ierusalimschy)
  • [f45cba42] details for OLD_ANSI (Roberto Ierusalimschy)
  • [2628a424] re-implementation of deprecated functions (wiht compiler option) (Roberto Ierusalimschy)
  • [0b3b6850] `back-up' definition for ERRORMESSAGE (Roberto Ierusalimschy)
  • [5d033f33] details in ERRORMESSAGE (Roberto Ierusalimschy)
  • [e143fed4] better standard error messages (Roberto Ierusalimschy)
  • [01ce1ce4] field short_src (Roberto Ierusalimschy)
  • [024ed421] better name for source_id (short_src) (Roberto Ierusalimschy)
  • [c1f725ba] read patterns (deprecated) use new auxlib's buffer system (Roberto Ierusalimschy)
  • [5d699607] error codes as strings for dofile and dostring (Roberto Ierusalimschy)
  • [d1c35185] ERRORMESSAGE uses auxlib's buffer to build message string (Roberto Ierusalimschy)
  • [4ef14ba2] new function `luaL_addstring' (Roberto Ierusalimschy)
  • [b8d57092] topointer handles only types that have no other "to" function (Roberto Ierusalimschy)
  • [0f59e3d7] details (Roberto Ierusalimschy)
  • [55c3bc2b] _ALERT is used (and assumed) only by the libs (Roberto Ierusalimschy)
  • [80601937] `lauxlib' is now part of the libraries (not used by core Lua) (Roberto Ierusalimschy)
  • [2779e81f] API functions check stack overflow (Roberto Ierusalimschy)
  • [30f6e658] lua_newstate' renamed to lua_open' (Roberto Ierusalimschy)
  • [787a78f8] new scheme for buffers (Roberto Ierusalimschy)
  • [70c8a310] obsolete module (Roberto Ierusalimschy)
  • [2018380e] late `lbuiltin.c', now implemented through the official API (and therefore distributed as a regular library). (Roberto Ierusalimschy)
  • [6e80c1cd] new version for API (Roberto Ierusalimschy)
  • [f67f3243] deprecated files (Roberto Ierusalimschy)
  • [eebc9729] new versions by lhf (Roberto Ierusalimschy)
  • [6990b064] finish with parse data before doing main chunk. (Roberto Ierusalimschy)
  • [cad91499] no more support for single state (Roberto Ierusalimschy)
  • [ebdd4e84] `call' doesn't use pack anymore (Roberto Ierusalimschy)
  • [9a21e819] more builtin functions using official API (Roberto Ierusalimschy)
  • [f0b3cd1d] new API functions pop', insert', and `move' (Roberto Ierusalimschy)
  • [fb5e6d5a] more functions implemented through the official API (Roberto Ierusalimschy)
  • [d63afba9] negative stack sizes are invalid, too. (Roberto Ierusalimschy)
  • [100bfec3] new implementation for `next' (Roberto Ierusalimschy)
  • [a290b84c] dohook' to abstract callhook' and `linehook' (Roberto Ierusalimschy)
  • [1022b3c8] minimum size for stack (Roberto Ierusalimschy)
  • [a1d3e001] comments (Roberto Ierusalimschy)
  • [10b4799c] details (Roberto Ierusalimschy)
  • [a0de89d6] simpler tests for simpler API (Roberto Ierusalimschy)
  • [21dc77b2] errors may happen before function start running (with pc=-1) (Roberto Ierusalimschy)
  • [2d3ebba5] last version before new API (Roberto Ierusalimschy)
  • [a97f29f1] explicit stack control in the API (Roberto Ierusalimschy)
  • [4135f4f5] new API does not need tests that complex (Roberto Ierusalimschy)
  • [808525e4] new asserts for hooks (Roberto Ierusalimschy)
  • [48a968e6] gc tag method for nil could call line hook (Roberto Ierusalimschy)
  • [58adbde2] details (Roberto Ierusalimschy)
  • [9e74ca62] tests for lua_is* (Roberto Ierusalimschy)
  • [d396562b] lua_equal also accepts out-of-range indices (Roberto Ierusalimschy)
  • [9d605982] better definitions for MULTRET (Roberto Ierusalimschy)
  • [4e56c0d5] better implementation for luaV_pack (Roberto Ierusalimschy)
  • [ac12f4db] C upvalues are the last arguments to a function (Roberto Ierusalimschy)
  • [b691d434] L is not unused. (Roberto Ierusalimschy)
  • [9fdf73bc] first version for new API (Roberto Ierusalimschy)
  • [f1fd9b5c] intermediate version (only to avoid compiler errors) (Roberto Ierusalimschy)
  • [3723d790] checkstack needs a correct stack (Roberto Ierusalimschy)
  • [b800c38b] simpler code for settable and gettable (Roberto Ierusalimschy)
  • [5c0e7984] pragmas are no longer supported (Roberto Ierusalimschy)
  • [e662e0f1] simpler way to access _INPUT and _OUTPUT (Roberto Ierusalimschy)
  • [c85162be] new way to store local-variable information. (Roberto Ierusalimschy)
  • [bd39db46] details (Roberto Ierusalimschy)
  • [90fb2e18] pushref' is more efficient (and probably more useful) than getref'. (Roberto Ierusalimschy)
  • [4365c31c] new name for globaltable. (Roberto Ierusalimschy)
  • [44eb7d91] comments (Roberto Ierusalimschy)
  • [ddc8d94a] new name for `lua_[sg]etglobaltable' (Roberto Ierusalimschy)
  • [5d9cbdad] cannot run symbolic execution for non-active functions (Roberto Ierusalimschy)
  • [58453dc1] small bug in symbolic execution (Roberto Ierusalimschy)
  • [f555e493] lua_state may not exist (Roberto Ierusalimschy)
  • [d1ffd1a1] details (Roberto Ierusalimschy)
  • [9e84bf18] still more debug information (Roberto Ierusalimschy)
  • [daf09c47] still better error messages (Roberto Ierusalimschy)
  • [e238efc5] default now is multi-state (Roberto Ierusalimschy)
  • [fdd04e7a] first version of manual for 4.0 beta (Roberto Ierusalimschy)
  • [fb55c967] obsolete module; not part of the oficial distribution (Roberto Ierusalimschy)
  • [c39bec81] bug: lastpc was not initialized (Roberto Ierusalimschy)
  • [5f22f896] better code for unary/binary operators (Roberto Ierusalimschy)
  • [a7c1390f] syntax "function foo (...)" can be nested (Roberto Ierusalimschy)
  • [0802a9df] no more options for debug information: it is always on (Roberto Ierusalimschy)
  • [f90bc248] new structure for line information (Roberto Ierusalimschy)
  • [d9e61e8c] new algorithm for traversing in GC to avoid deep recursion calls (Roberto Ierusalimschy)
  • [397905ef] (much) better handling of memory alloction errors (Roberto Ierusalimschy)
  • [435f587e] (much) better handling of memory alloction errors (Roberto Ierusalimschy)
  • [ae55f3ee] no varargs in Lua API (Roberto Ierusalimschy)
  • [cfba5720] remove dummy argument in LUA_ASSERT (Roberto Ierusalimschy)
  • [aa01d256] symbolic execution must handle return and tailcall (Roberto Ierusalimschy)
  • [014a09c5] better error messages (Roberto Ierusalimschy)
  • [b6222829] local is valid only after adjust (Roberto Ierusalimschy)
  • [7f867eb0] tests for locals and line numbers (Roberto Ierusalimschy)
  • [5362426f] error message (Roberto Ierusalimschy)
  • [90643401] better (?) treatment for 16-bit machines (Roberto Ierusalimschy)
  • [c07cebbb] details (Roberto Ierusalimschy)
  • [afef009f] new version of debug system (Roberto Ierusalimschy)
  • [b69e7127] new way to generate SETLINEs (Roberto Ierusalimschy)
  • [f5177595] details (Roberto Ierusalimschy)
  • [52062684] better control over use of `errno' (Roberto Ierusalimschy)
  • [83e3ec01] no more labels (Roberto Ierusalimschy)
  • [feb20837] better control of source name (Roberto Ierusalimschy)
  • [8d2baf71] comment (Roberto Ierusalimschy)
  • [88657809] details (Roberto Ierusalimschy)
  • [2e1b32d8] optimizations for "while 1", "until nil", and the like (Roberto Ierusalimschy)
  • [89a3ec08] function lua_userinit is used only in single-state mode (by lua.c) (Roberto Ierusalimschy)
  • [e3ea3074] small changes to allow redefinition of some buffer sizes. (Roberto Ierusalimschy)
  • [18b0e827] 32 characteres are more than enough for a good hash (Roberto Ierusalimschy)
  • [094880ef] details (Roberto Ierusalimschy)
  • [1de55871] `lua.h' is included before any other Lua header file (Roberto Ierusalimschy)
  • [8ca9534d] access to `values' in TObject always through macros (Roberto Ierusalimschy)
  • [8bcf6228] new signature for `luaH_set' (Roberto Ierusalimschy)
  • [dbbf6c07] 0 (in MAX_SIZET) may be shorter than size_t (Roberto Ierusalimschy)
  • [292c9530] new auxiliar function `luaH_setstr' (Roberto Ierusalimschy)
  • [c542aac0] collect dead indices in tables (Roberto Ierusalimschy)
  • [dbfb8102] cleansing of lparser.c (Roberto Ierusalimschy)
  • [9c14b5e4] new test function to list strings from a function (Roberto Ierusalimschy)
  • [6b9bf492] better to keep foreach' and foreachi'. (Roberto Ierusalimschy)
  • [989ad723] changed to test macros for single-state use (Roberto Ierusalimschy)
  • [190c3be7] details (Roberto Ierusalimschy)
  • [7e30900d] better field name (Roberto Ierusalimschy)
  • [f63d7753] files are closed when collected (again) (Roberto Ierusalimschy)
  • [50a82ec1] gc tag methods for udata are called in (reverse) tag order (Roberto Ierusalimschy)
  • [ed1751bc] details (Roberto Ierusalimschy)
  • [8e617985] functions for...' and raw...' are obsolete now (Roberto Ierusalimschy)
  • [c39345fb] no more pragmas (Roberto Ierusalimschy)
  • [ed94a85f] type details (Roberto Ierusalimschy)
  • [58fbdc76] better implementation for looh-ahead (Roberto Ierusalimschy)
  • [a3013046] accepts `$debug' in the middle of a function. (Roberto Ierusalimschy)
  • [677313da] bug: record-constructor starting with an upvalue name gets an error (Roberto Ierusalimschy)
  • [ef62b340] code cleaner for 16 bits. (Roberto Ierusalimschy)
  • [5c2dd7a9] array `luaK_opproperties' keeps delta stack and mode for each opcode (Roberto Ierusalimschy)
  • [93d93a0b] first implementation of `for' over tables (Roberto Ierusalimschy)
  • [9e1f94fc] cannot change value of private locals (used to implement `for') (Roberto Ierusalimschy)
  • [8714cc02] `getinfo' gets information about non-active functions, too. (Roberto Ierusalimschy)
  • [69b45bb4] changes by lhf (Roberto Ierusalimschy)
  • [843f84f4] first element in a list constructor is not adjusted to one value. (Roberto Ierusalimschy)
  • [b803c060] details (Roberto Ierusalimschy)
  • [8ac0bbf6] new option `-c' to close lua. (Roberto Ierusalimschy)
  • [dc1e4f50] missing define for `lua_dobuffer' single-state (Roberto Ierusalimschy)
  • [330e51be] string hash uses one single hash table (Roberto Ierusalimschy)
  • [44b71ca8] defines for _ERRORMESSAGE and _ALERT (Roberto Ierusalimschy)
  • [bad63655] details (Roberto Ierusalimschy)
  • [91f34fb0] lua.h should not use names without prefix lua_ (`TObject', for instance) (Roberto Ierusalimschy)
  • [11a70220] global variables are stored in a Lua table (Roberto Ierusalimschy)
  • [35a6ed28] detail (error message) (Roberto Ierusalimschy)
  • [cfe6ca81] default for `getstack' is to get everything (Roberto Ierusalimschy)
  • [fe5c37ae] BUG: `strfind' gets wrong subject length when there is an offset (Roberto Ierusalimschy)
  • [c31f0294] [C++ Warning] lparser.c(326): W8066 Unreachable code. [C++ Warning] lparser.c(486): W8004 'nargs' is assigned a value that is never used. (Roberto Ierusalimschy)
  • [c9f91c6f] [C++ Warning]: W8084 Suggest parentheses to clarify precedence. (Roberto Ierusalimschy)
  • [66d62067] IntPoint does not need L (Roberto Ierusalimschy)
  • [84790bb9] "conceptual" bug (Roberto Ierusalimschy)
  • [534c3a64] small optimizations for table access (Roberto Ierusalimschy)

[v4.0-alpha]

[v4.0]

  • [523c5d8e] last changes by lhf. (Roberto Ierusalimschy)
  • [40a4c767] setlinehook/setcallhook return old hook (Roberto Ierusalimschy)
  • [1385d81d] (Roberto Ierusalimschy)
  • [906d5dcc] details (Roberto Ierusalimschy)
  • [93a5649d] hooks may call `error' to break a chunk. (Roberto Ierusalimschy)
  • [df416661] many changes (Roberto Ierusalimschy)
  • [67c1afff] lua_settagmethod does not return old tag method (Roberto Ierusalimschy)
  • [03770ecf] comments (Roberto Ierusalimschy)
  • [7409678b] DEBUG renamed to LUA_DEBUG (Roberto Ierusalimschy)
  • [d1c689af] subtelties in layout of TString (Roberto Ierusalimschy)
  • [37e9c2e7] macro DEBUG renamed to LUA_DEBUG (Roberto Ierusalimschy)
  • [e42a219e] `lua_typename' accepts LUA_TNONE (Roberto Ierusalimschy)
  • [b3959d58] (Roberto Ierusalimschy)
  • [f379d06e] all API functions are declared in a single line (to facilitate pre-processing). (Roberto Ierusalimschy)
  • [728ff207] details (Roberto Ierusalimschy)
  • [2cbbf393] new macro LUALIB_API (so the lib can be a separate DLL) (Roberto Ierusalimschy)
  • [e2b6b7de] details (Roberto Ierusalimschy)
  • [563b1f57] new way to ensure uniqueness of registry keys (Roberto Ierusalimschy)
  • [46704765] details. (Roberto Ierusalimschy)
  • [89f98c09] in function `read_file', realloc() doesn't free the buffer if it can't allocate new memory (Roberto Ierusalimschy)
  • [b892f0a8] new API function `createuserdata' (Roberto Ierusalimschy)
  • [aadc3544] lua_settag does not pop its argument (Roberto Ierusalimschy)
  • [cdc8139e] registry mechanism (Roberto Ierusalimschy)
  • [e833bd47] comments (Roberto Ierusalimschy)
  • [b7ffb128] it is unsafe to allow Lua to get gc tag methods (Roberto Ierusalimschy)
  • [64eecc0b] new macro LUA_API (Roberto Ierusalimschy)
  • [8b88ab07] more controled use of `sprintf' (Roberto Ierusalimschy)
  • [2779ceeb] ((n)-1) may be negative (-1), and so it is not wise to keep it as unsigned (Roberto Ierusalimschy)
  • [e93c4547] no more USERINIT (macro) (Roberto Ierusalimschy)
  • [0ffc676c] details (Roberto Ierusalimschy)
  • [18fb3ddb] details. (Roberto Ierusalimschy)
  • [2bddbe66] cannot change filename' before eventual call to freopen' (Roberto Ierusalimschy)
  • [e323338f] `nlineinfo' must include end flag. (Roberto Ierusalimschy)
  • [46b543eb] better treatment for errors inside _ERRORMETHOD (Roberto Ierusalimschy)
  • [79909a92] details (Roberto Ierusalimschy)
  • [d6232a0b] better treatment for source names (Roberto Ierusalimschy)
  • [ae63a0e6] new implementation for some API functions (Roberto Ierusalimschy)
  • [cd3d4469] detail (Roberto Ierusalimschy)
  • [f01e6c6f] small optimization in `sort' (Roberto Ierusalimschy)
  • [ad3816d0] luaD_call is more uniform (Roberto Ierusalimschy)
  • [046a3d61] tag methods are always functions, so don't need to store a whole object (Roberto Ierusalimschy)
  • [001f2bdd] new definition for types-tags (Roberto Ierusalimschy)
  • [cd2ddade] call hooks can only be called when pc' is active (that is, inside execute'...) (Roberto Ierusalimschy)
  • [d68209e8] details. (Roberto Ierusalimschy)
  • [1088cde0] easier way to change type Number (Roberto Ierusalimschy)
  • [6759f3ec] no more `proprietary' convertion algorithm (too complex) (Roberto Ierusalimschy)
  • [f6834f43] new API function `lua_type' + new type lua_Type (Roberto Ierusalimschy)
  • [78bc8e55] new API for garbage collector (Roberto Ierusalimschy)
  • [dad808a7] new way to count `nblocks' for GC (try to count bytes). (Roberto Ierusalimschy)
  • [ca7fd50a] small optimizations (Roberto Ierusalimschy)
  • [282ab366] bug: parser overwrites semantic information when looking ahead (Roberto Ierusalimschy)
  • [444d6a10] lua_tag should return LUA_NOTAG for non-valid indices (Roberto Ierusalimschy)
  • [13635f7d] new version of protected execution (Roberto Ierusalimschy)
  • [d8a44220] lua_state (now called `L') should not be global (Roberto Ierusalimschy)
  • [c9c6f974] GC may crash when checking C closures (Roberto Ierusalimschy)
  • [c2aa7bd7] bug: lua_gettable does not get key from stack top (Roberto Ierusalimschy)
  • [f9dd50ce] `read("*w")' should return nil at EOF (Roberto Ierusalimschy)
  • [dbde9f88] wrong assert (Roberto Ierusalimschy)
  • [857a1204] by lhf (Roberto Ierusalimschy)
  • [d742b88f] final version (by lhf) (Roberto Ierusalimschy)
  • [eb822c31] macros to do jumps (Roberto Ierusalimschy)
  • [ab7aceb9] Tochange (Roberto Ierusalimschy)
  • [72b12e09] error messages in lower case. (Roberto Ierusalimschy)
  • [5ed3bcd4] warnings in Solaris (Roberto Ierusalimschy)
  • [7508fed6] final version for 4.0 beta (Roberto Ierusalimschy)
  • [aab4fde4] changes by lhf (Roberto Ierusalimschy)
  • [6ec4a0ef] updates by lhf (Roberto Ierusalimschy)
  • [42ca3105] small "by 1" bug (Roberto Ierusalimschy)
  • [6030d5fe] avoid assignment to local structure (Roberto Ierusalimschy)
  • [91c003dc] details (Roberto Ierusalimschy)
  • [620d22f2] new API function lua_rawget (Roberto Ierusalimschy)
  • [f45cba42] details for OLD_ANSI (Roberto Ierusalimschy)
  • [2628a424] re-implementation of deprecated functions (wiht compiler option) (Roberto Ierusalimschy)
  • [0b3b6850] `back-up' definition for ERRORMESSAGE (Roberto Ierusalimschy)
  • [5d033f33] details in ERRORMESSAGE (Roberto Ierusalimschy)
  • [e143fed4] better standard error messages (Roberto Ierusalimschy)
  • [01ce1ce4] field short_src (Roberto Ierusalimschy)
  • [024ed421] better name for source_id (short_src) (Roberto Ierusalimschy)
  • [c1f725ba] read patterns (deprecated) use new auxlib's buffer system (Roberto Ierusalimschy)
  • [5d699607] error codes as strings for dofile and dostring (Roberto Ierusalimschy)
  • [d1c35185] ERRORMESSAGE uses auxlib's buffer to build message string (Roberto Ierusalimschy)
  • [4ef14ba2] new function `luaL_addstring' (Roberto Ierusalimschy)
  • [b8d57092] topointer handles only types that have no other "to" function (Roberto Ierusalimschy)
  • [0f59e3d7] details (Roberto Ierusalimschy)
  • [55c3bc2b] _ALERT is used (and assumed) only by the libs (Roberto Ierusalimschy)
  • [80601937] `lauxlib' is now part of the libraries (not used by core Lua) (Roberto Ierusalimschy)
  • [2779e81f] API functions check stack overflow (Roberto Ierusalimschy)
  • [30f6e658] lua_newstate' renamed to lua_open' (Roberto Ierusalimschy)
  • [787a78f8] new scheme for buffers (Roberto Ierusalimschy)
  • [70c8a310] obsolete module (Roberto Ierusalimschy)
  • [2018380e] late `lbuiltin.c', now implemented through the official API (and therefore distributed as a regular library). (Roberto Ierusalimschy)
  • [6e80c1cd] new version for API (Roberto Ierusalimschy)
  • [f67f3243] deprecated files (Roberto Ierusalimschy)
  • [eebc9729] new versions by lhf (Roberto Ierusalimschy)
  • [6990b064] finish with parse data before doing main chunk. (Roberto Ierusalimschy)
  • [cad91499] no more support for single state (Roberto Ierusalimschy)
  • [ebdd4e84] `call' doesn't use pack anymore (Roberto Ierusalimschy)
  • [9a21e819] more builtin functions using official API (Roberto Ierusalimschy)
  • [f0b3cd1d] new API functions pop', insert', and `move' (Roberto Ierusalimschy)
  • [fb5e6d5a] more functions implemented through the official API (Roberto Ierusalimschy)
  • [d63afba9] negative stack sizes are invalid, too. (Roberto Ierusalimschy)
  • [100bfec3] new implementation for `next' (Roberto Ierusalimschy)
  • [a290b84c] dohook' to abstract callhook' and `linehook' (Roberto Ierusalimschy)
  • [1022b3c8] minimum size for stack (Roberto Ierusalimschy)
  • [a1d3e001] comments (Roberto Ierusalimschy)
  • [10b4799c] details (Roberto Ierusalimschy)
  • [a0de89d6] simpler tests for simpler API (Roberto Ierusalimschy)
  • [21dc77b2] errors may happen before function start running (with pc=-1) (Roberto Ierusalimschy)
  • [2d3ebba5] last version before new API (Roberto Ierusalimschy)
  • [a97f29f1] explicit stack control in the API (Roberto Ierusalimschy)
  • [4135f4f5] new API does not need tests that complex (Roberto Ierusalimschy)
  • [808525e4] new asserts for hooks (Roberto Ierusalimschy)
  • [48a968e6] gc tag method for nil could call line hook (Roberto Ierusalimschy)
  • [58adbde2] details (Roberto Ierusalimschy)
  • [9e74ca62] tests for lua_is* (Roberto Ierusalimschy)
  • [d396562b] lua_equal also accepts out-of-range indices (Roberto Ierusalimschy)
  • [9d605982] better definitions for MULTRET (Roberto Ierusalimschy)
  • [4e56c0d5] better implementation for luaV_pack (Roberto Ierusalimschy)
  • [ac12f4db] C upvalues are the last arguments to a function (Roberto Ierusalimschy)
  • [b691d434] L is not unused. (Roberto Ierusalimschy)
  • [9fdf73bc] first version for new API (Roberto Ierusalimschy)
  • [f1fd9b5c] intermediate version (only to avoid compiler errors) (Roberto Ierusalimschy)
  • [3723d790] checkstack needs a correct stack (Roberto Ierusalimschy)
  • [b800c38b] simpler code for settable and gettable (Roberto Ierusalimschy)
  • [5c0e7984] pragmas are no longer supported (Roberto Ierusalimschy)
  • [e662e0f1] simpler way to access _INPUT and _OUTPUT (Roberto Ierusalimschy)
  • [c85162be] new way to store local-variable information. (Roberto Ierusalimschy)
  • [bd39db46] details (Roberto Ierusalimschy)
  • [90fb2e18] pushref' is more efficient (and probably more useful) than getref'. (Roberto Ierusalimschy)
  • [4365c31c] new name for globaltable. (Roberto Ierusalimschy)
  • [44eb7d91] comments (Roberto Ierusalimschy)
  • [ddc8d94a] new name for `lua_[sg]etglobaltable' (Roberto Ierusalimschy)
  • [5d9cbdad] cannot run symbolic execution for non-active functions (Roberto Ierusalimschy)
  • [58453dc1] small bug in symbolic execution (Roberto Ierusalimschy)
  • [f555e493] lua_state may not exist (Roberto Ierusalimschy)
  • [d1ffd1a1] details (Roberto Ierusalimschy)
  • [9e84bf18] still more debug information (Roberto Ierusalimschy)
  • [daf09c47] still better error messages (Roberto Ierusalimschy)
  • [e238efc5] default now is multi-state (Roberto Ierusalimschy)
  • [fdd04e7a] first version of manual for 4.0 beta (Roberto Ierusalimschy)
  • [fb55c967] obsolete module; not part of the oficial distribution (Roberto Ierusalimschy)
  • [c39bec81] bug: lastpc was not initialized (Roberto Ierusalimschy)
  • [5f22f896] better code for unary/binary operators (Roberto Ierusalimschy)
  • [a7c1390f] syntax "function foo (...)" can be nested (Roberto Ierusalimschy)
  • [0802a9df] no more options for debug information: it is always on (Roberto Ierusalimschy)
  • [f90bc248] new structure for line information (Roberto Ierusalimschy)
  • [d9e61e8c] new algorithm for traversing in GC to avoid deep recursion calls (Roberto Ierusalimschy)
  • [397905ef] (much) better handling of memory alloction errors (Roberto Ierusalimschy)
  • [435f587e] (much) better handling of memory alloction errors (Roberto Ierusalimschy)
  • [ae55f3ee] no varargs in Lua API (Roberto Ierusalimschy)
  • [cfba5720] remove dummy argument in LUA_ASSERT (Roberto Ierusalimschy)
  • [aa01d256] symbolic execution must handle return and tailcall (Roberto Ierusalimschy)
  • [014a09c5] better error messages (Roberto Ierusalimschy)
  • [b6222829] local is valid only after adjust (Roberto Ierusalimschy)
  • [7f867eb0] tests for locals and line numbers (Roberto Ierusalimschy)
  • [5362426f] error message (Roberto Ierusalimschy)
  • [90643401] better (?) treatment for 16-bit machines (Roberto Ierusalimschy)
  • [c07cebbb] details (Roberto Ierusalimschy)
  • [afef009f] new version of debug system (Roberto Ierusalimschy)
  • [b69e7127] new way to generate SETLINEs (Roberto Ierusalimschy)
  • [f5177595] details (Roberto Ierusalimschy)
  • [52062684] better control over use of `errno' (Roberto Ierusalimschy)
  • [83e3ec01] no more labels (Roberto Ierusalimschy)
  • [feb20837] better control of source name (Roberto Ierusalimschy)
  • [8d2baf71] comment (Roberto Ierusalimschy)
  • [88657809] details (Roberto Ierusalimschy)
  • [2e1b32d8] optimizations for "while 1", "until nil", and the like (Roberto Ierusalimschy)
  • [89a3ec08] function lua_userinit is used only in single-state mode (by lua.c) (Roberto Ierusalimschy)
  • [e3ea3074] small changes to allow redefinition of some buffer sizes. (Roberto Ierusalimschy)
  • [18b0e827] 32 characteres are more than enough for a good hash (Roberto Ierusalimschy)
  • [094880ef] details (Roberto Ierusalimschy)
  • [1de55871] `lua.h' is included before any other Lua header file (Roberto Ierusalimschy)
  • [8ca9534d] access to `values' in TObject always through macros (Roberto Ierusalimschy)
  • [8bcf6228] new signature for `luaH_set' (Roberto Ierusalimschy)
  • [dbbf6c07] 0 (in MAX_SIZET) may be shorter than size_t (Roberto Ierusalimschy)
  • [292c9530] new auxiliar function `luaH_setstr' (Roberto Ierusalimschy)
  • [c542aac0] collect dead indices in tables (Roberto Ierusalimschy)
  • [dbfb8102] cleansing of lparser.c (Roberto Ierusalimschy)
  • [9c14b5e4] new test function to list strings from a function (Roberto Ierusalimschy)
  • [6b9bf492] better to keep foreach' and foreachi'. (Roberto Ierusalimschy)
  • [989ad723] changed to test macros for single-state use (Roberto Ierusalimschy)
  • [190c3be7] details (Roberto Ierusalimschy)
  • [7e30900d] better field name (Roberto Ierusalimschy)
  • [f63d7753] files are closed when collected (again) (Roberto Ierusalimschy)
  • [50a82ec1] gc tag methods for udata are called in (reverse) tag order (Roberto Ierusalimschy)
  • [ed1751bc] details (Roberto Ierusalimschy)
  • [8e617985] functions for...' and raw...' are obsolete now (Roberto Ierusalimschy)
  • [c39345fb] no more pragmas (Roberto Ierusalimschy)
  • [ed94a85f] type details (Roberto Ierusalimschy)
  • [58fbdc76] better implementation for looh-ahead (Roberto Ierusalimschy)
  • [a3013046] accepts `$debug' in the middle of a function. (Roberto Ierusalimschy)
  • [677313da] bug: record-constructor starting with an upvalue name gets an error (Roberto Ierusalimschy)
  • [ef62b340] code cleaner for 16 bits. (Roberto Ierusalimschy)
  • [5c2dd7a9] array `luaK_opproperties' keeps delta stack and mode for each opcode (Roberto Ierusalimschy)
  • [93d93a0b] first implementation of `for' over tables (Roberto Ierusalimschy)
  • [9e1f94fc] cannot change value of private locals (used to implement `for') (Roberto Ierusalimschy)
  • [8714cc02] `getinfo' gets information about non-active functions, too. (Roberto Ierusalimschy)
  • [69b45bb4] changes by lhf (Roberto Ierusalimschy)
  • [843f84f4] first element in a list constructor is not adjusted to one value. (Roberto Ierusalimschy)
  • [b803c060] details (Roberto Ierusalimschy)
  • [8ac0bbf6] new option `-c' to close lua. (Roberto Ierusalimschy)
  • [dc1e4f50] missing define for `lua_dobuffer' single-state (Roberto Ierusalimschy)
  • [330e51be] string hash uses one single hash table (Roberto Ierusalimschy)
  • [44b71ca8] defines for _ERRORMESSAGE and _ALERT (Roberto Ierusalimschy)
  • [bad63655] details (Roberto Ierusalimschy)
  • [91f34fb0] lua.h should not use names without prefix lua_ (`TObject', for instance) (Roberto Ierusalimschy)
  • [11a70220] global variables are stored in a Lua table (Roberto Ierusalimschy)
  • [35a6ed28] detail (error message) (Roberto Ierusalimschy)
  • [cfe6ca81] default for `getstack' is to get everything (Roberto Ierusalimschy)
  • [fe5c37ae] BUG: `strfind' gets wrong subject length when there is an offset (Roberto Ierusalimschy)
  • [c31f0294] [C++ Warning] lparser.c(326): W8066 Unreachable code. [C++ Warning] lparser.c(486): W8004 'nargs' is assigned a value that is never used. (Roberto Ierusalimschy)
  • [c9f91c6f] [C++ Warning]: W8084 Suggest parentheses to clarify precedence. (Roberto Ierusalimschy)
  • [66d62067] IntPoint does not need L (Roberto Ierusalimschy)
  • [84790bb9] "conceptual" bug (Roberto Ierusalimschy)
  • [534c3a64] small optimizations for table access (Roberto Ierusalimschy)
  • [b9c98cd4] entry for new version (4.0a) (Roberto Ierusalimschy)
  • [0e8855e1] final version (by lhf) (Roberto Ierusalimschy)
  • [2ae9c856] more uniform names (Roberto Ierusalimschy)
  • [c4409f69] details (Roberto Ierusalimschy)
  • [89a9c362] no more `register' declarations: leave it to the compiler. (Roberto Ierusalimschy)
  • [8f2fba58] using new constructs (for & break) in the examples and code fragments (Roberto Ierusalimschy)
  • [62824137] no more `seterrormethod' function (Roberto Ierusalimschy)
  • [71219ccc] simpler version of `luaK_tostack' (Roberto Ierusalimschy)
  • [870f61d2] code redistribution (Roberto Ierusalimschy)
  • [c845ec77] new order for modules (better locality??) (Roberto Ierusalimschy)
  • [e408cf61] new version number (Roberto Ierusalimschy)
  • [4e907686] lots of changes (almost ready for 4.0) (Roberto Ierusalimschy)
  • [c1666a13] better code organization (Roberto Ierusalimschy)
  • [e02750ec] new type for CFunction (for "pure" C) (Roberto Ierusalimschy)
  • [0b56646b] new function `getargs' (Roberto Ierusalimschy)
  • [634c3d57] optimization for SETLOCAL was too specific. (Roberto Ierusalimschy)
  • [4aa9ad65] functions must return explicit `nil' on failure (Roberto Ierusalimschy)
  • [d76b1a0e] base' for tonumber' must be >= 2. (Roberto Ierusalimschy)
  • [e7c83936] optimization INCLOCAL is not necessary, with `for' (Roberto Ierusalimschy)
  • [ceaa97ff] tonumber must return `nil' when convertion fails. (Roberto Ierusalimschy)
  • [2bb77cda] keep opcodes in the right order (Roberto Ierusalimschy)
  • [f9cf402f] first implementation of FOR (Roberto Ierusalimschy)
  • [0c3fe2c4] comment (Roberto Ierusalimschy)
  • [0433e420] no more repeat ... end. (Roberto Ierusalimschy)
  • [0810bc70] new syntax: |label| (Roberto Ierusalimschy)
  • [c3b73cbe] comments (detail) (Roberto Ierusalimschy)
  • [1eabd054] comments (Roberto Ierusalimschy)
  • [54dd5cc7] reorganization of lcode.c (Roberto Ierusalimschy)
  • [03197879] more optimizations (Roberto Ierusalimschy)
  • [14251c5a] name changes + new operation - old operation (Roberto Ierusalimschy)
  • [42130ed7] name changes (Roberto Ierusalimschy)
  • [d615e78e] new optimization: jumps to jumps (Roberto Ierusalimschy)
  • [c6965ce5] new functions: disassembler and get limit. (Roberto Ierusalimschy)
  • [22329e4c] implementation of BREAK (Roberto Ierusalimschy)
  • [9f734094] `nil' is optional for next and nextvar (and is not for tonumber & tag). (Roberto Ierusalimschy)
  • [4e7e9e8d] new opcode INCLOCAL. (Roberto Ierusalimschy)
  • [3e454962] syntactical details (Roberto Ierusalimschy)
  • [e3032772] BUG: tostring() without arguments gives seg. fault. (Roberto Ierusalimschy)
  • [36e13906] details. (Roberto Ierusalimschy)
  • [8f0f54ec] name change (Roberto Ierusalimschy)
  • [556a89e5] new names for debug types (Roberto Ierusalimschy)
  • [e2c60eda] `luaT_validevent' is exported, because compatibility module for fallbacks uses it. (Roberto Ierusalimschy)
  • [a69356e9] no more special cases for closures with 0 upvalues (performance is the same, memory use a little higher, code much simpler). (Roberto Ierusalimschy)
  • [b53dc0c4] TAG_ARRAY -> TAG_TABLE (Roberto Ierusalimschy)
  • [63e230a1] comments (Roberto Ierusalimschy)
  • [102a1be6] no more support for gc TM for tables (Roberto Ierusalimschy)
  • [4c031966] lua_setstate makes no sense with explicit multiple states (Roberto Ierusalimschy)
  • [54633d7c] new name for llimits.h (Roberto Ierusalimschy)
  • [13578517] new file to keep all limits and instalation-dependent definitions (Roberto Ierusalimschy)
  • [213e9feb] limits now are in `llims.n' (Roberto Ierusalimschy)
  • [47b4bf59] small refactoring. (Roberto Ierusalimschy)
  • [415ee1a2] SETLINEs for reserved words, too. (Roberto Ierusalimschy)
  • [5f3c5ace] message detail (Roberto Ierusalimschy)
  • [441469f8] new option `-s' + argv ends with NULL (so we don't need argc). (Roberto Ierusalimschy)
  • [1157c2a7] better(?) treatment for SETLINE + while optimization is too complex for only 3% of maximum improvement. (Roberto Ierusalimschy)
  • [374cc888] better(?) treatment for SETLINE (Roberto Ierusalimschy)
  • [bb9605bb] tags can be positive values (Roberto Ierusalimschy)
  • [67592998] new implementation for handling I/O tags + setglobal TM for tracing changes in _INPUT/_OUTPUT (Roberto Ierusalimschy)
  • [da7eb34c] optimization for "while 1" and "repeat until nil" (Roberto Ierusalimschy)
  • [2c8e28d7] small changes (Roberto Ierusalimschy)
  • [4fb8e93c] small optimization for i..'' (Roberto Ierusalimschy)
  • [7f774319] detail (Roberto Ierusalimschy)
  • [87367e97] more information about memory use (Roberto Ierusalimschy)
  • [06f08f56] small problems with limits and jumps (Roberto Ierusalimschy)
  • [3860c593] details. (Roberto Ierusalimschy)
  • [f0b697e0] details (Roberto Ierusalimschy)
  • [73aa465a] some name changes (Roberto Ierusalimschy)
  • [3d0577f4] small optimizations. (Roberto Ierusalimschy)
  • [977b8f65] comment detail. (Roberto Ierusalimschy)
  • [e3cf93dd] first implementation of "threaded code" for boolean operations (Roberto Ierusalimschy)
  • [88b306f4] some optimizations (Roberto Ierusalimschy)
  • [563de491] a better way to control optimizations. (Roberto Ierusalimschy)
  • [29e01934] details (Roberto Ierusalimschy)
  • [61f97a8a] maybe a concat right associative allows some optimizations... (Roberto Ierusalimschy)
  • [d1ea3858] change of code generation design (independent functions for each opcode) (Roberto Ierusalimschy)
  • [3c9d9994] many details (most by lhf). (Roberto Ierusalimschy)
  • [f7840a3e] new algorithm to parse expressions + distribution of code between lparser and lcode. (Roberto Ierusalimschy)
  • [1780e2c9] lua_settable should check stack space (it could call a T.M.) (Roberto Ierusalimschy)
  • [fa14cbf8] comments (Roberto Ierusalimschy)
  • [4d4e6f07] all order operators use a single tag method (<) (Roberto Ierusalimschy)
  • [5cecf0ea] it is better to control stack space where it is needed. (Roberto Ierusalimschy)
  • [3bc92513] first version of code optimizer (Roberto Ierusalimschy)
  • [39e1f079] code generator (and optimizer) for Lua (Roberto Ierusalimschy)
  • [075da266] there is no need to use shorts... (Roberto Ierusalimschy)
  • [228a62f7] details (Roberto Ierusalimschy)
  • [7c2fb15b] need "string.h" to use "strchr". (Roberto Ierusalimschy)
  • [1f019985] nobody uses memmove any more. (Roberto Ierusalimschy)
  • [c929376d] must include a definition for NULL (Roberto Ierusalimschy)
  • [3afe85b2] new version for INSTRUCTION formats (Roberto Ierusalimschy)
  • [52aad0ab] removing implementation for better error messages (must rethink it...) (Roberto Ierusalimschy)
  • [74f1c3d0] small changes for "clean C" (Roberto Ierusalimschy)
  • [1f691a4f] renaming of some opcodes and fields (Roberto Ierusalimschy)
  • [d6b9f49a] only need to reset buffer for strings, numbers, and names. (Roberto Ierusalimschy)
  • [d83c2a84] performance details. (Roberto Ierusalimschy)
  • [d11e5adf] `const' array in protos breaked in 3 arrays (for strings, numbers, and prototypes). (Roberto Ierusalimschy)
  • [99e340b2] keep `top' in registers when running basic tasks (settable, getglobal, ...) (Roberto Ierusalimschy)
  • [9744255a] error in call must be propagated (Roberto Ierusalimschy)
  • [512b15b6] small optimizations (relational operators) (Roberto Ierusalimschy)
  • [33d35048] new debug API (Roberto Ierusalimschy)
  • [2877bad4] new debug API (first version) (Roberto Ierusalimschy)
  • [27163f03] Auxiliary functions from Debug Interface module (Roberto Ierusalimschy)
  • [eab57ed6] details (Roberto Ierusalimschy)
  • [ea45f3eb] better separation between debug code and regular code (Roberto Ierusalimschy)
  • [46ec57cb] little change when calling tag methods (Roberto Ierusalimschy)
  • [62787f1b] `exp' is "reserved word" in Visual-C++ ;-) (Roberto Ierusalimschy)
  • [dcb7bb51] details (error messages) (Roberto Ierusalimschy)
  • [b3aaa048] bug: cannot reopen stdin (for binary mode) (Roberto Ierusalimschy)
  • [aee07c65] details (Roberto Ierusalimschy)
  • [bcdbdacc] more debug information (still with bug for tag methods...) (Roberto Ierusalimschy)
  • [5cafe5af] tag method must be a function (Roberto Ierusalimschy)
  • [607012ec] tag method must be a function + error message must be a string (Roberto Ierusalimschy)
  • [0652906e] details. (Roberto Ierusalimschy)
  • [4d1b815b] return gives wrong line in debug information. (Roberto Ierusalimschy)
  • [4ebc183e] bug: return gives wrong line in debug information. (Roberto Ierusalimschy)
  • [298d0abf] first version of extra debug information (NAME) (Roberto Ierusalimschy)
  • [4fbe7751] details (Roberto Ierusalimschy)
  • [aabefe9d] details. (Roberto Ierusalimschy)
  • [fb602839] better error messages (Roberto Ierusalimschy)
  • [acdb0b74] comments. (Roberto Ierusalimschy)
  • [5b08fcd5] no more "lua" in error messages (Roberto Ierusalimschy)
  • [b1b0c219] new ttypes to distinguish between C closures and Lua closures. (Roberto Ierusalimschy)
  • [be3212de] details (Roberto Ierusalimschy)
  • [2eaf9a00] little bug: `1ea' got a wrong token at the error message (Roberto Ierusalimschy)
  • [6c79a0a8] new way to control hooks inside hooks (now the control is done inside Lua) (Roberto Ierusalimschy)
  • [3daeabb6] new way to pass arguments: with option `-f' (Roberto Ierusalimschy)
  • [cfdebfbc] debug information for parameters use line 0 for them (as they are always visible). (Roberto Ierusalimschy)
  • [d61d5bef] details (Roberto Ierusalimschy)
  • [4450efc9] new chunkid for C functions (`luaL_chunkid') (Roberto Ierusalimschy)
  • [de65253f] new way to handle _PROMPT (Roberto Ierusalimschy)
  • [12b45c2d] luaS_newfixedstring renamed to luaS_newfixed (Roberto Ierusalimschy)
  • [1b15206c] many details + code redistribution (Roberto Ierusalimschy)
  • [e6d56cd2] module for internal use only, with functions for internal tests (Roberto Ierusalimschy)
  • [c16c63cc] new module with the debug API functions (Roberto Ierusalimschy)
  • [dea54a7c] comments (Roberto Ierusalimschy)
  • [544eeb1f] details (Roberto Ierusalimschy)
  • [b3fe203c] keep it simple (Roberto Ierusalimschy)
  • [9c142740] stack may not be empty after a correct run... (Roberto Ierusalimschy)
  • [7621cc2a] for the future... (Roberto Ierusalimschy)
  • [ba1f5049] `optimization' doesn't seem to make any difference... (Roberto Ierusalimschy)
  • [617be660] better control (and error recovery) for begin/end blocks (Roberto Ierusalimschy)
  • [f356eb01] configurable stack size + some corrections in error recovery in `protectedrun' (Roberto Ierusalimschy)
  • [3e38fd24] `lua_setfallback' leaves things on the stack, so it is better to protect it. (Roberto Ierusalimschy)
  • [533beeda] new tests for begin/end blocks and multi-state (Roberto Ierusalimschy)
  • [968ad49d] `lua_newstate' gets the inital stack size and other arguments (Roberto Ierusalimschy)
  • [1fdb445e] details. (Roberto Ierusalimschy)
  • [c7119a93] new language for testC (debugging facility) (Roberto Ierusalimschy)
  • [3c9e29f5] details (Roberto Ierusalimschy)
  • [72afb6de] modifications by lhf (Roberto Ierusalimschy)
  • [b0970766] missing include (Roberto Ierusalimschy)
  • [8223ff47] lua_Object is a pointer to the stack (because now the stack doen't move) (Roberto Ierusalimschy)
  • [fe237ad8] fixed stack; first version. (Roberto Ierusalimschy)
  • [3181dfef] details (Roberto Ierusalimschy)
  • [764e095d] object' and string' are very busy names... (Roberto Ierusalimschy)
  • [2b3ea613] mistake in change for multi-state (gc threshold was not corrected) (Roberto Ierusalimschy)
  • [49af08e3] new name for lua_equal(obj); LUA_NOOBJECT is equal to LUA_NOOBJECT (Roberto Ierusalimschy)
  • [c5fa0895] table sizes don't need to be primes; power of 2 gives the same performance. (Roberto Ierusalimschy)
  • [d015f1fc] table sizes don't need to be primes; power of 2 gives the same performance. (Roberto Ierusalimschy)
  • [790690a2] new way to keep function arguments (with StkId instead of copy) (Roberto Ierusalimschy)
  • [33b8a010] new way to code CALLs + passing multiple arguments between function calls (Roberto Ierusalimschy)
  • [d29ce757] new signature for function luaD_call (old luaD_calln) (Roberto Ierusalimschy)
  • [878ef961] comment (Roberto Ierusalimschy)
  • [e5743adb] macros key', val', and `node' don't need the state (Roberto Ierusalimschy)
  • [514783de] simpler without `init_hash' (Roberto Ierusalimschy)
  • [7d1499ba] new macro luaL_openl (Roberto Ierusalimschy)
  • [29ede6aa] first implementation of multiple states (reentrant code). (Roberto Ierusalimschy)
  • [951897c0] last warnings in Visual C (Roberto Ierusalimschy)
  • [a34677e4] details (Roberto Ierusalimschy)
  • [57337266] new API function `lua_equalobj' (Roberto Ierusalimschy)
  • [a6755e2f] BUG: `strfind' does not handle \0 in plain search. (Roberto Ierusalimschy)
  • [a4628a02] better ways to test lock mechanism (Roberto Ierusalimschy)
  • [0c725b24] buffer can shrink when too big (Roberto Ierusalimschy)
  • [d915cf4f] ways to measure number of `blocks' for GC + details (Roberto Ierusalimschy)
  • [53fb65d3] better implementation of `lua_ref' (much better...) (Roberto Ierusalimschy)
  • [a7fa7baf] new warnings with option "-W" (gcc) (Roberto Ierusalimschy)
  • [cde179b3] new implementation for global variable values (separated from strings) (Roberto Ierusalimschy)
  • [80b39d83] default `success' for exit is more useful. (Roberto Ierusalimschy)
  • [5a48255c] invariant tests over tables performed externally, through a built-in function (when DEBUG is ion). (Roberto Ierusalimschy)
  • [bbab9747] details (comments) (Roberto Ierusalimschy)
  • [910836fb] warnings from Visual C++ (Roberto Ierusalimschy)
  • [8e745151] some more `const's (Roberto Ierusalimschy)
  • [4e9f2d13] new implementation of hash tables. (Roberto Ierusalimschy)
  • [b6ebbb2f] better assertions. (Roberto Ierusalimschy)
  • [c5fee761] new implementation for string hashing, with chaining. (Roberto Ierusalimschy)
  • [cca78b5c] Visual C++ warning (Roberto Ierusalimschy)
  • [d435b7ac] read patterns are deprecated; new option `read(n)' to read n bytes. (Roberto Ierusalimschy)
  • [63ccf423] new API function 'lua_type'. (Roberto Ierusalimschy)
  • [1942b586] details (Roberto Ierusalimschy)
  • [4343420d] simplified version of `gc' tag method (only for userdata now). (Roberto Ierusalimschy)
  • [1f7103e0] implementation of lua_ref (previously in module `lmem'). (Roberto Ierusalimschy)
  • [dcc10acc] temporary version (Roberto Ierusalimschy)
  • [e2fc5aa6] checks table size only when element is a new one (Roberto Ierusalimschy)
  • [d53e2d23] details (Roberto Ierusalimschy)
  • [cf9a2239] "luaH_set" only needs to check size when key is new (Roberto Ierusalimschy)
  • [17374d2d] put_luaObjectonTop' must be public (to be used by lfback.c), and so it must have a "public" name: luaA_putObjectOnTop' (Roberto Ierusalimschy)
  • [04265655] compatibility with old fallback system now provided by external module (Roberto Ierusalimschy)
  • [e10788b2] reorganization of `stat' function. (Roberto Ierusalimschy)
  • [7eb2f186] remove of some useless #includes (Roberto Ierusalimschy)
  • [a8a75fb7] details (Roberto Ierusalimschy)
  • [ae3ecc2d] tonumber'e1' and tonumber(' ', x), for x!=10, gave 0 instead of nil. (Roberto Ierusalimschy)
  • [2e13cd77] new interface for `luaO_strtod', which now checks signal, too. (Roberto Ierusalimschy)
  • [ff9c0da7] test first the most common case. (Roberto Ierusalimschy)
  • [f7fe04d4] details. (Roberto Ierusalimschy)
  • [82699d0c] new interface for `luaO_strtod', which now checks signal, too. (Roberto Ierusalimschy)
  • [88866208] luaL_arg_check' always has an extramsg'. (Roberto Ierusalimschy)
  • [7d365a5c] in the (old) expression << ls->fs->f->consts[checkname(ls)] >>, checkname could realloc f->consts. (Roberto Ierusalimschy)
  • [52a20636] bug: in the (old) expression << ls->fs->f->consts[checkname(ls)] >>, checkname could realloc f->consts. (Roberto Ierusalimschy)
  • [b2c89ed2] new mechanism to access argv from a script (Roberto Ierusalimschy)
  • [2a03170e] random(0) and random(x,0) are wrong (0 is read as no argument!). (Roberto Ierusalimschy)
  • [05f55cc0] more warning checking (mainly related to const strings). (Roberto Ierusalimschy)
  • [c787dccd] "const" !!! (Roberto Ierusalimschy)
  • [b44e35b7] new constants LUA_NOREF and LUA_REFNIL. (Roberto Ierusalimschy)
  • [21843f02] writeto, readfrom, and closefile must return an error code when closing a file. (Roberto Ierusalimschy)
  • [900257e8] char-set may contain '%]' (Roberto Ierusalimschy)
  • [a82c8185] details (Roberto Ierusalimschy)
  • [4bbe0679] variables _INPUT and _OUTPUT should be read as rawglobal. (Roberto Ierusalimschy)
  • [438598ae] details. (Roberto Ierusalimschy)
  • [e9a67069] details (Roberto Ierusalimschy)
  • [16024861] new format for numbers in precompiled code (as strings) (Roberto Ierusalimschy)
  • [3f43aaa2] new RedHat defines PI :-( (Roberto Ierusalimschy)
  • [3b4c831c] some systems do not reset signal handlers when a signal happens (Roberto Ierusalimschy)
  • [3fdab398] no more automatic setlocale. (Roberto Ierusalimschy)
  • [88b65da4] simplifications. (Roberto Ierusalimschy)
  • [521b3853] better interfaces for luaD_calln (x luaD_call) (Roberto Ierusalimschy)
  • [36b6fe8d] better treatment for arbitrary limits (Roberto Ierusalimschy)
  • [d4dce57f] cannot assign to unlimited variables, because it causes overflow in the number of returns of a function. (Roberto Ierusalimschy)
  • [5c19ed2a] bigger limit for number of local variables and upvalues (Roberto Ierusalimschy)
  • [5caf7f4a] tremove erases its previous last element (to avoid locking potential garbagge). (Roberto Ierusalimschy)
  • [3b533ea7] foreach, foreachi, foreachvar points to function in stack when stack can be reallocated. (Roberto Ierusalimschy)
  • [995775e1] tighter control on the stack when debugging (Roberto Ierusalimschy)
  • [abfc8850] when debugging, move and erase old blocks to realloc. (Roberto Ierusalimschy)
  • [613b60c1] detail (Roberto Ierusalimschy)
  • [cdd0fe99] some C compilers cannot initialize a local struct (Roberto Ierusalimschy)
  • [bc861934] better control of stack size (only for DEBUG). (Roberto Ierusalimschy)
  • [48326500] longer marks when controling memory leaks (Roberto Ierusalimschy)
  • [c8d21979] lhf (Roberto Ierusalimschy)
  • [34695d4f] details (message text) (Roberto Ierusalimschy)
  • [924bbe02] bigger limits (Roberto Ierusalimschy)
  • [3aa500b5] new pattern item '+' (Roberto Ierusalimschy)
  • [f1861ee2] no more beta (Roberto Ierusalimschy)
  • [705eae9f] there is no need for a size for Cblocks (Roberto Ierusalimschy)
  • [6eb1399a] array Cblocks should grow dynamically (Roberto Ierusalimschy)
  • [c390f73e] block must always have a power-of-2 size (even at the limit) (Roberto Ierusalimschy)
  • [73308c76] warnings by clinio (Roberto Ierusalimschy)
  • [288fa056] opcodes with LONGARG do not use byte variants. (Roberto Ierusalimschy)
  • [7808ea3a] new implementation for '*' in patterns + new option '+' (Roberto Ierusalimschy)
  • [732741b6] cannot use (i=i+1) (Roberto Ierusalimschy)
  • [cc0f635e] '$' at end of pattern was matching regular '$', too. (Roberto Ierusalimschy)

[v3.2-beta]

[v3.2]

  • [16024861] new format for numbers in precompiled code (as strings) (Roberto Ierusalimschy)
  • [3f43aaa2] new RedHat defines PI :-( (Roberto Ierusalimschy)
  • [3b4c831c] some systems do not reset signal handlers when a signal happens (Roberto Ierusalimschy)
  • [3fdab398] no more automatic setlocale. (Roberto Ierusalimschy)
  • [88b65da4] simplifications. (Roberto Ierusalimschy)
  • [521b3853] better interfaces for luaD_calln (x luaD_call) (Roberto Ierusalimschy)
  • [36b6fe8d] better treatment for arbitrary limits (Roberto Ierusalimschy)
  • [d4dce57f] cannot assign to unlimited variables, because it causes overflow in the number of returns of a function. (Roberto Ierusalimschy)
  • [5c19ed2a] bigger limit for number of local variables and upvalues (Roberto Ierusalimschy)
  • [5caf7f4a] tremove erases its previous last element (to avoid locking potential garbagge). (Roberto Ierusalimschy)
  • [3b533ea7] foreach, foreachi, foreachvar points to function in stack when stack can be reallocated. (Roberto Ierusalimschy)
  • [995775e1] tighter control on the stack when debugging (Roberto Ierusalimschy)
  • [abfc8850] when debugging, move and erase old blocks to realloc. (Roberto Ierusalimschy)
  • [613b60c1] detail (Roberto Ierusalimschy)
  • [cdd0fe99] some C compilers cannot initialize a local struct (Roberto Ierusalimschy)
  • [bc861934] better control of stack size (only for DEBUG). (Roberto Ierusalimschy)
  • [48326500] longer marks when controling memory leaks (Roberto Ierusalimschy)
  • [c8d21979] lhf (Roberto Ierusalimschy)
  • [34695d4f] details (message text) (Roberto Ierusalimschy)
  • [924bbe02] bigger limits (Roberto Ierusalimschy)
  • [3aa500b5] new pattern item '+' (Roberto Ierusalimschy)
  • [f1861ee2] no more beta (Roberto Ierusalimschy)
  • [705eae9f] there is no need for a size for Cblocks (Roberto Ierusalimschy)
  • [6eb1399a] array Cblocks should grow dynamically (Roberto Ierusalimschy)
  • [c390f73e] block must always have a power-of-2 size (even at the limit) (Roberto Ierusalimschy)
  • [73308c76] warnings by clinio (Roberto Ierusalimschy)
  • [288fa056] opcodes with LONGARG do not use byte variants. (Roberto Ierusalimschy)
  • [7808ea3a] new implementation for '*' in patterns + new option '+' (Roberto Ierusalimschy)
  • [732741b6] cannot use (i=i+1) (Roberto Ierusalimschy)
  • [cc0f635e] '$' at end of pattern was matching regular '$', too. (Roberto Ierusalimschy)
  • [e64dbc39] new version is beta. (Roberto Ierusalimschy)
  • [a0fd8d17] manual for 3.2 beta should be the same one that for 3.2. (Roberto Ierusalimschy)
  • [d9d04a92] "read_pattern" could lock when reading a lookahead from stdin. (Roberto Ierusalimschy)
  • [b4ad600b] numbers are stored in ascii format for better portability and simplicity (Roberto Ierusalimschy)
  • [cb7f0273] IMtable must be initialized (and IMtable_size is not needed any more) due to new way to handle growing vectors (previous modification). (Roberto Ierusalimschy)
  • [0bbd96bd] details. (Roberto Ierusalimschy)
  • [4eb67aa7] changes from lhf. (Roberto Ierusalimschy)
  • [01336103] format for function prototypes. (Roberto Ierusalimschy)
  • [de04533d] better the old way, using upvalues to keep iotag. (Roberto Ierusalimschy)
  • [7c9aee64] new version by lhf. (Roberto Ierusalimschy)
  • [e0ff4e5d] first version about Lua debug library. (Roberto Ierusalimschy)
  • [bf7f85d6] GC of files is tricky when Lua is being closed... (Roberto Ierusalimschy)
  • [a775a2d8] check first whether function is global. (Roberto Ierusalimschy)
  • [e9aa98d5] do not generate SETLINE after main (it will be after last line) (Roberto Ierusalimschy)
  • [3e9c6a8a] details (Roberto Ierusalimschy)
  • [1f4e2ba7] more precise debug information about local variables (Roberto Ierusalimschy)
  • [d6ff0675] new functions openfile and closefile; new way to keep file handle tags. (Roberto Ierusalimschy)
  • [7a11c7f8] details (Roberto Ierusalimschy)
  • [c454dc7b] no more if expressions. (Roberto Ierusalimschy)
  • [82ad0d57] details (Roberto Ierusalimschy)
  • [256d1bea] missing #include (Roberto Ierusalimschy)
  • [f2d35bdc] format for file source is independent of "ldo". (Roberto Ierusalimschy)
  • [26794616] no more assignment expressions (they don't fit in Lua...) (Roberto Ierusalimschy)
  • [0870a2d1] new opcode TAILCALL (Roberto Ierusalimschy)
  • [78edc241] details about debug info. (Roberto Ierusalimschy)
  • [e907c711] "feof" may be a macro. (Roberto Ierusalimschy)
  • [5a8bb00d] storing chunk "sources" instead of "filenames". (Roberto Ierusalimschy)
  • [677188de] details. (Roberto Ierusalimschy)
  • [6233d21c] file stream cannot call fread after EOF. (Roberto Ierusalimschy)
  • [ab8ea5c3] warnings (Roberto Ierusalimschy)
  • [ae9fd122] vector do not need to grow until MINSIZE (Roberto Ierusalimschy)
  • [da18ec5d] warnings... (Roberto Ierusalimschy)
  • [038848ec] better control of vector when DEBUGing (Roberto Ierusalimschy)
  • [b678e465] warnings in Solaris (Roberto Ierusalimschy)
  • [72d675ab] macros "growvector" and "reallocvector" more compact (Roberto Ierusalimschy)
  • [ba57f7d9] details (Roberto Ierusalimschy)
  • [e63b542c] comments (Roberto Ierusalimschy)
  • [6a853fcb] details (from lhf) (Roberto Ierusalimschy)
  • [31bea219] small correction (Roberto Ierusalimschy)
  • [4b954e9b] details (from lhf) (Roberto Ierusalimschy)
  • [055823c0] "L->Mbuffbase" is better kept as offset instead of pointer (Roberto Ierusalimschy)
  • [26d1e21c] new way to handle "growing" vectors (Roberto Ierusalimschy)
  • [24a2c081] details (Roberto Ierusalimschy)
  • [9d7bae0b] better instrumentation for internal debugging (Roberto Ierusalimschy)
  • [082aded1] warnings (Roberto Ierusalimschy)
  • [aa9c75c0] no more EXTRALIBS (and new dependencies) (Roberto Ierusalimschy)
  • [f04c83e0] new function "lua_next" (+ new implementation for "next") (Roberto Ierusalimschy)
  • [c364e9f9] LONGARGW (for completeness). (Roberto Ierusalimschy)
  • [e3a02e6a] comments (Roberto Ierusalimschy)
  • [d5feffdb] new function lua_nextvar (Roberto Ierusalimschy)
  • [bb5627f3] better control over calls to _ALERT and _ERRORMESSAGE (to avoid error loops) (Roberto Ierusalimschy)
  • [21107d7c] debug state is restored after a dofile/dostring (Roberto Ierusalimschy)
  • [b5cd7d42] details (Roberto Ierusalimschy)
  • [bf6d2ccf] details (Roberto Ierusalimschy)
  • [b82ff713] new name for opcode (Roberto Ierusalimschy)
  • [77113ee0] new year for Copyright. (Roberto Ierusalimschy)
  • [ad6c7b0d] small corrections in opcodes. (Roberto Ierusalimschy)
  • [8b2d97d1] assignment expression may be multiple (Roberto Ierusalimschy)
  • [fb1cf6ab] clearer way to set tables. (Roberto Ierusalimschy)
  • [19ca2087] another (silly) debuging function. (Roberto Ierusalimschy)
  • [7bdbd833] userdata and strings are kept in separate stringtables (Roberto Ierusalimschy)
  • [b22baf38] Lua cannot have static variables. (Roberto Ierusalimschy)
  • [8fdd06ba] lots of new stuff from 3.2 (Roberto Ierusalimschy)
  • [028ec00a] details (Roberto Ierusalimschy)
  • [1dcf1c9c] format "%s" may break limit of "sprintf" on some machines. (Roberto Ierusalimschy)
  • [76179a10] compile option EXTRALIB for builtin functions that can be written in Lua. (Roberto Ierusalimschy)
  • [bdfab46c] "errorim" now is _ERRORMESSAGE. (Roberto Ierusalimschy)
  • [56879495] "lua_debug", "lua_callhook" and "lua_linehook" must be inside "lua_state". (Roberto Ierusalimschy)
  • [19de5b22] new dependencies (Roberto Ierusalimschy)
  • [cbc58af2] new opcode for "long" arguments (3 bytes) (Roberto Ierusalimschy)
  • [80001ab0] getlocal cannot return the local itself, since lua_isstring and lua_isnumber can modify it. (Roberto Ierusalimschy)
  • [ae29ab98] only parser uses MAX_WORD (Roberto Ierusalimschy)
  • [27407fc1] new syntax: assignment expressions + better order for opcodes (Roberto Ierusalimschy)
  • [1a17da2f] opcodes with builtin parameters are too complicated for very little extra performance. (Roberto Ierusalimschy)
  • [50248e44] "if" expression leaves only one of its expressions on the stack (Roberto Ierusalimschy)
  • [0f0079f3] "if" expressions. (Roberto Ierusalimschy)
  • [68267ed8] negative numerals do not need a MINUSOPeration; go directly to contant table. (Roberto Ierusalimschy)
  • [fd25d4ad] no need to define functions for macros... (Roberto Ierusalimschy)
  • [2431534f] details (Roberto Ierusalimschy)
  • [fd7d0774] luaH_set does the set and protect its value; luaH_move can then be a macro. New algorithm for double hashing (does not use "%"). (Roberto Ierusalimschy)
  • [57ffc3f0] luaH_set does the set, and protects its value, so luaH_move can be a macro. (Roberto Ierusalimschy)
  • [4a13f513] luaH_set does the set! (Roberto Ierusalimschy)
  • [13ad46b6] uses the same double hashing that is used for tables (Roberto Ierusalimschy)
  • [1b45e967] table entries with ref=null always have val=null too. (Roberto Ierusalimschy)
  • [933bead9] small optimizations(?) (Roberto Ierusalimschy)
  • [3314f49e] C cannot initialize a struct. (Roberto Ierusalimschy)
  • [bc930aa5] "free" usually handles NULL; handle non ANSI case separately. (Roberto Ierusalimschy)
  • [67b44c94] local names are all in the constant pool, so they do not need to be marked in GC. (Roberto Ierusalimschy)
  • [758a3816] "realloc" usually implements "malloc"; handle non ANSI case separately. (Roberto Ierusalimschy)
  • [eec31aac] <string.h> is needed because of "memcpy". (Roberto Ierusalimschy)
  • [595738f6] small optimizations (Roberto Ierusalimschy)
  • [b5eb4f31] small optimization in getglobal (Roberto Ierusalimschy)
  • [3fecf187] names... (Roberto Ierusalimschy)
  • [54840fb2] new functions to manipulate C global variables (Roberto Ierusalimschy)
  • [e87fddf1] GC can be called during parsing, if needed. (Roberto Ierusalimschy)
  • [dea400bc] "getstack" returns func, too. (Roberto Ierusalimschy)
  • [fb663f76] "%.16g" already formats integers as integers, so we do not need an alternative "%ld" convertion in "tostring". (Roberto Ierusalimschy)
  • [e03767b3] details (comments) (Roberto Ierusalimschy)
  • [83960275] better precision when converting numbers to strings. (Roberto Ierusalimschy)
  • [e24f7fd2] details (Roberto Ierusalimschy)
  • [8081f39d] header missing. (Roberto Ierusalimschy)
  • [3cc4ca82] initialization module (to load libraries) (Roberto Ierusalimschy)
  • [01772cef] new library for debbuging (Roberto Ierusalimschy)
  • [dc90d4bc] when handling signals (^C), deep old hook values. (Roberto Ierusalimschy)
  • [f5bc6710] "goto" for tail recursion changed to "while" (Roberto Ierusalimschy)
  • [d7294c6d] double hashing for string tables. (Roberto Ierusalimschy)
  • [63a752f9] small improvements. (Roberto Ierusalimschy)
  • [03d38b66] new sort algorithm. (Roberto Ierusalimschy)
  • [b9c9ccfb] function "move" for tables is better implemented with some "inside information". (Roberto Ierusalimschy)
  • [b94110a6] bug: "format" does not check size of format item (such as "%00000...00000d"). (Roberto Ierusalimschy)
  • [82784680] comments (Roberto Ierusalimschy)
  • [4fbb2531] don´t need the "+1", the "%" is enough to garantee r<1. (Roberto Ierusalimschy)
  • [59f8e6fb] details ("settable") (Roberto Ierusalimschy)
  • [05d89b5c] new option for function "random": random(a,b) returns a<=x<=b (Roberto Ierusalimschy)
  • [fe5c41fb] new functions "tinsert" and "tremove" (Roberto Ierusalimschy)
  • [9a455438] tables are better manipulated via "Hash *" instead of "TObject" or "lua_Object". (Roberto Ierusalimschy)
  • [766e67ef] to avoid warnings about "typecast" (Visual C++) (Roberto Ierusalimschy)
  • [4c94d8cc] new function "luaO_str2d" to convert strings to numbers, because old "lex" algorithm had aproximation errors, but strtod (and atof and scanf) are too slow. (Roberto Ierusalimschy)
  • [d2de2d5e] format for double is always "%g", do not need #defines (Roberto Ierusalimschy)
  • [96a76952] reorder and rename of most functions, for better documentation. (Roberto Ierusalimschy)
  • [63166c0c] new implementation of function "read", with predifined options. (Roberto Ierusalimschy)
  • [a881abfd] "strtod" is cleaner than "scanf" for this job. (Roberto Ierusalimschy)
  • [d3ac7075] better error message (Roberto Ierusalimschy)
  • [0c9080c7] "tonumber" goes crazy with negative numbers in other bases (not 10), because "strtol" returns long, not unsigned long. (Roberto Ierusalimschy)
  • [b8fcb7b1] details (Roberto Ierusalimschy)
  • [5d6de907] "print" uses fputs instead of printf (easier to reimplement). (Roberto Ierusalimschy)
  • [21cff301] details (for regularity) (Roberto Ierusalimschy)
  • [5ca2709b] small warnings (Roberto Ierusalimschy)
  • [bb1cb7b9] NUMBER_FMT also may be predefined in makefile (Roberto Ierusalimschy)
  • [c64f36ab] better behavior for "strsub" when indices are out-of-range (Roberto Ierusalimschy)
  • [e4830ddc] new option "mode" in "readfrom", "writeto" and "appendto" (for binary files). (Roberto Ierusalimschy)
  • [758e330d] new functions "getn" and "foreachi" (Roberto Ierusalimschy)
  • [8e3bd752] small optimization in "sort" + new functions "getn" and "foreachi" (Roberto Ierusalimschy)
  • [a84bca67] bug: gsub/strfind do not check whether captures are properly finished. (Roberto Ierusalimschy)
  • [4ccfb2f9] "_TRIGMODE" was still being declared. (Roberto Ierusalimschy)
  • [ce960929] function "luaL_argerror" prints wrong argument number (from a user's point of view) when functions have upvalues. (Roberto Ierusalimschy)
  • [b1450721] new function "lua_nups" (number of upvalues). (Roberto Ierusalimschy)
  • [b04294d3] details. (Roberto Ierusalimschy)
  • [22c27048] "lua_state" is already declared in lua.h, which is included here. (Roberto Ierusalimschy)
  • [ee22af5c] new functions "seek" and "flush". (Roberto Ierusalimschy)
  • [cc117253] new implementation for error handling: on error, function _ERRORMESSAGE is called, which in turn calls _ALERT to write a message to stderr. (Roberto Ierusalimschy)
  • [8e226e6a] small bug: nuse may change when table is rehashed; 3/2 is a good fraction for hash limit (instead of 0.7, using floats) (Roberto Ierusalimschy)
  • [1d420c2c] better error message for code too long (old one was misleading when the problem was SETLINE after 64k lines...) (Roberto Ierusalimschy)
  • [5378331f] hash tables may shrink if use rate is too small. (Roberto Ierusalimschy)
  • [894a2646] new hash function. (Roberto Ierusalimschy)
  • [e1a12724] details ("luaX_token2str" doesn't need LexState) (Roberto Ierusalimschy)
  • [afb5ef72] new function "sort" + many small changes (Roberto Ierusalimschy)
  • [1d8edd34] small changes to use new auxiliar functions (Roberto Ierusalimschy)
  • [41d9ea94] auxiliar functions "luaH_setint" & "luaH_getint". (Roberto Ierusalimschy)
  • [ee912e5a] auxiliar function "luaD_calln". (Roberto Ierusalimschy)
  • [ad446a0e] "%q" can handle strings with '\0'. (Roberto Ierusalimschy)
  • [176cb39f] macro encapsulates de "-". (Roberto Ierusalimschy)
  • [64ad009f] "fileName" cannot be NULL (Roberto Ierusalimschy)
  • [dcb1a089] "exp" changed to "exp0" to avoid problems with math.h. (Roberto Ierusalimschy)
  • [1788501e] double constant used in integer expression (Roberto Ierusalimschy)
  • [bee1a5ae] spelling (Roberto Ierusalimschy)
  • [994aba06] when debuging, blocks must be kept in double allignment. (Roberto Ierusalimschy)
  • [e869d17e] functions should return explicit "nil"s. (Roberto Ierusalimschy)
  • [9a0221ef] detail (Roberto Ierusalimschy)
  • [07008b5d] details (by lhf) (Roberto Ierusalimschy)
  • [8f31eda6] details in comments (Roberto Ierusalimschy)
  • [da941301] stupid bug (in syntax print "hello") (Roberto Ierusalimschy)
  • [468fbdbd] details (Roberto Ierusalimschy)
  • [eb45f8b6] details (dependencies) (Roberto Ierusalimschy)
  • [df0df08b] "dostring" accepts chunk name. (Roberto Ierusalimschy)
  • [9618aaf0] small corrections in comments (Roberto Ierusalimschy)
  • [bec9bc41] sugestions by lhf (Roberto Ierusalimschy)
  • [955a811a] category for "setlocale" is given by name (Roberto Ierusalimschy)
  • [c9902be2] "findname" moved from lobject.c to lauxlib.c (so libraries may use it). (Roberto Ierusalimschy)
  • [112c9d53] new version by lhf (Roberto Ierusalimschy)
  • [07894514] details (Roberto Ierusalimschy)
  • [d97af0de] "lua_dobuffer" gets an extra argument, with the chunk name (Roberto Ierusalimschy)
  • [1917149f] details. (Roberto Ierusalimschy)
  • [0845e73b] new copyright notice (Roberto Ierusalimschy)
  • [7dfa9520] no more error for '\x' (with "invalid" x) (Roberto Ierusalimschy)
  • [02134b4a] name: lua_pushCclosure -> lua_pushcclosure. (Roberto Ierusalimschy)
  • [bdb1db4d] "read" more efficient when reading lines and whole files ('.*') (Roberto Ierusalimschy)
  • [02a68919] API for functions to manipulate global state. (Roberto Ierusalimschy)
  • [741c6f50] 'dobuffer' addpoted. (Roberto Ierusalimschy)
  • [6152973f] new names for 'ascii' ('strbyte') and 'int2str' ('strchar') (Roberto Ierusalimschy)
  • [243a8080] 'print' now calls 'tostring' (Roberto Ierusalimschy)
  • [62c36a60] better error message when '^' is not defined. (Roberto Ierusalimschy)
  • [74719afc] new functions "frexp" and "ldexp" (Roberto Ierusalimschy)
  • [7e59a890] NEW LL(1) PARSER (Roberto Ierusalimschy)
  • [abc6eac4] new function "clock" (Roberto Ierusalimschy)
  • [054e0b88] number type in Lua changed for double (by default). (Roberto Ierusalimschy)
  • [da252eef] arguments for "format" 'x', 'X', 'o' and 'u' must be unsigned int. (Roberto Ierusalimschy)
  • [9890beda] details (format for html) (Roberto Ierusalimschy)
  • [0a0c9593] many small corrections; strings with '\0' (Roberto Ierusalimschy)
  • [d4707925] words are stored in hi-lo order (easier to print) (Roberto Ierusalimschy)
  • [43923677] changes by lhf (Roberto Ierusalimschy)
  • [2a2b64d6] opcode "CLOSURE" gets the prototipe (instead of a previous pushconstant) (Roberto Ierusalimschy)
  • [daa937c0] pattern-matching support for '\0'. (Roberto Ierusalimschy)
  • [21455162] details (and new escape sequences: \a, \b, ...) (Roberto Ierusalimschy)
  • [99cc4b20] details (Roberto Ierusalimschy)
  • [0969a971] better use of "ASSERT". (Roberto Ierusalimschy)
  • [be6d215f] BUG: gsub('a', '(b?)%1*' ...) loops (because the capture is empty). (Roberto Ierusalimschy)
  • [e74817f8] correct way to handle string delimiters (Roberto Ierusalimschy)
  • [043c2ac2] new names for "lua_pushlstr" and "lua_getstrlen" (Roberto Ierusalimschy)
  • [88a2023c] support for strings with '\0' (Roberto Ierusalimschy)
  • [5ef1989c] "settag" returns its first argument. (Roberto Ierusalimschy)
  • [f380d627] usefull macros also available as functions (Roberto Ierusalimschy)
  • [aafa106d] implementation of numerical escape sequences in strings ("\12"); better error messages for wrong tokens (Roberto Ierusalimschy)
  • [29b7b8e5] better error messages for wrong tokens (Roberto Ierusalimschy)
  • [a9dd2c67] interrupts lua loops with "^C" (via signals) (Roberto Ierusalimschy)
  • [aee3f97a] put back quotes (") when string in dostring ends with a \n (Roberto Ierusalimschy)
  • [46968b8f] "volatile is the only reliable way to ensure that a local variable retains the value it had at the time of the call to longjmp" (Roberto Ierusalimschy)
  • [6cdf0d87] tables can become full of "emptys" slots, and keep growing without limits. (Roberto Ierusalimschy)
  • [07ff251a] details in "dostring" identification (Roberto Ierusalimschy)
  • [b3b7cf73] BUG: "lua_getstring" may create a new string, so should check GC (Roberto Ierusalimschy)
  • [8622dc18] bug: format size limits with little problems (Roberto Ierusalimschy)
  • [d22e2644] wrong line number (+1) in error report when file starts with "#..." (Roberto Ierusalimschy)
  • [f529a22c] BUG: wrong line number (+1) in error report when file starts with "#..." (Roberto Ierusalimschy)
  • [783ba751] needs "stdlib.h" (calls "exit") (Roberto Ierusalimschy)
  • [d49e4dd7] MAX_WORD should not be bigger than MAX_INT (Roberto Ierusalimschy)

[v3.1-alpha]

[v3.1]

  • [dcb1a089] "exp" changed to "exp0" to avoid problems with math.h. (Roberto Ierusalimschy)
  • [1788501e] double constant used in integer expression (Roberto Ierusalimschy)
  • [bee1a5ae] spelling (Roberto Ierusalimschy)
  • [994aba06] when debuging, blocks must be kept in double allignment. (Roberto Ierusalimschy)
  • [e869d17e] functions should return explicit "nil"s. (Roberto Ierusalimschy)
  • [9a0221ef] detail (Roberto Ierusalimschy)
  • [07008b5d] details (by lhf) (Roberto Ierusalimschy)
  • [8f31eda6] details in comments (Roberto Ierusalimschy)
  • [da941301] stupid bug (in syntax print "hello") (Roberto Ierusalimschy)
  • [468fbdbd] details (Roberto Ierusalimschy)
  • [eb45f8b6] details (dependencies) (Roberto Ierusalimschy)
  • [df0df08b] "dostring" accepts chunk name. (Roberto Ierusalimschy)
  • [9618aaf0] small corrections in comments (Roberto Ierusalimschy)
  • [bec9bc41] sugestions by lhf (Roberto Ierusalimschy)
  • [955a811a] category for "setlocale" is given by name (Roberto Ierusalimschy)
  • [c9902be2] "findname" moved from lobject.c to lauxlib.c (so libraries may use it). (Roberto Ierusalimschy)
  • [112c9d53] new version by lhf (Roberto Ierusalimschy)
  • [07894514] details (Roberto Ierusalimschy)
  • [d97af0de] "lua_dobuffer" gets an extra argument, with the chunk name (Roberto Ierusalimschy)
  • [1917149f] details. (Roberto Ierusalimschy)
  • [0845e73b] new copyright notice (Roberto Ierusalimschy)
  • [7dfa9520] no more error for '\x' (with "invalid" x) (Roberto Ierusalimschy)
  • [02134b4a] name: lua_pushCclosure -> lua_pushcclosure. (Roberto Ierusalimschy)
  • [bdb1db4d] "read" more efficient when reading lines and whole files ('.*') (Roberto Ierusalimschy)
  • [02a68919] API for functions to manipulate global state. (Roberto Ierusalimschy)
  • [741c6f50] 'dobuffer' addpoted. (Roberto Ierusalimschy)
  • [6152973f] new names for 'ascii' ('strbyte') and 'int2str' ('strchar') (Roberto Ierusalimschy)
  • [243a8080] 'print' now calls 'tostring' (Roberto Ierusalimschy)
  • [62c36a60] better error message when '^' is not defined. (Roberto Ierusalimschy)
  • [74719afc] new functions "frexp" and "ldexp" (Roberto Ierusalimschy)
  • [7e59a890] NEW LL(1) PARSER (Roberto Ierusalimschy)
  • [abc6eac4] new function "clock" (Roberto Ierusalimschy)
  • [054e0b88] number type in Lua changed for double (by default). (Roberto Ierusalimschy)
  • [da252eef] arguments for "format" 'x', 'X', 'o' and 'u' must be unsigned int. (Roberto Ierusalimschy)
  • [9890beda] details (format for html) (Roberto Ierusalimschy)
  • [0a0c9593] many small corrections; strings with '\0' (Roberto Ierusalimschy)
  • [d4707925] words are stored in hi-lo order (easier to print) (Roberto Ierusalimschy)
  • [43923677] changes by lhf (Roberto Ierusalimschy)
  • [2a2b64d6] opcode "CLOSURE" gets the prototipe (instead of a previous pushconstant) (Roberto Ierusalimschy)
  • [daa937c0] pattern-matching support for '\0'. (Roberto Ierusalimschy)
  • [21455162] details (and new escape sequences: \a, \b, ...) (Roberto Ierusalimschy)
  • [99cc4b20] details (Roberto Ierusalimschy)
  • [0969a971] better use of "ASSERT". (Roberto Ierusalimschy)
  • [be6d215f] BUG: gsub('a', '(b?)%1*' ...) loops (because the capture is empty). (Roberto Ierusalimschy)
  • [e74817f8] correct way to handle string delimiters (Roberto Ierusalimschy)
  • [043c2ac2] new names for "lua_pushlstr" and "lua_getstrlen" (Roberto Ierusalimschy)
  • [88a2023c] support for strings with '\0' (Roberto Ierusalimschy)
  • [5ef1989c] "settag" returns its first argument. (Roberto Ierusalimschy)
  • [f380d627] usefull macros also available as functions (Roberto Ierusalimschy)
  • [aafa106d] implementation of numerical escape sequences in strings ("\12"); better error messages for wrong tokens (Roberto Ierusalimschy)
  • [29b7b8e5] better error messages for wrong tokens (Roberto Ierusalimschy)
  • [a9dd2c67] interrupts lua loops with "^C" (via signals) (Roberto Ierusalimschy)
  • [aee3f97a] put back quotes (") when string in dostring ends with a \n (Roberto Ierusalimschy)
  • [46968b8f] "volatile is the only reliable way to ensure that a local variable retains the value it had at the time of the call to longjmp" (Roberto Ierusalimschy)
  • [6cdf0d87] tables can become full of "emptys" slots, and keep growing without limits. (Roberto Ierusalimschy)
  • [07ff251a] details in "dostring" identification (Roberto Ierusalimschy)
  • [b3b7cf73] BUG: "lua_getstring" may create a new string, so should check GC (Roberto Ierusalimschy)
  • [8622dc18] bug: format size limits with little problems (Roberto Ierusalimschy)
  • [d22e2644] wrong line number (+1) in error report when file starts with "#..." (Roberto Ierusalimschy)
  • [f529a22c] BUG: wrong line number (+1) in error report when file starts with "#..." (Roberto Ierusalimschy)
  • [783ba751] needs "stdlib.h" (calls "exit") (Roberto Ierusalimschy)
  • [d49e4dd7] MAX_WORD should not be bigger than MAX_INT (Roberto Ierusalimschy)
  • [981fddea] module to load bytecodes from files. (Roberto Ierusalimschy)
  • [81b953f2] details (Roberto Ierusalimschy)
  • [b9acf4b4] "strcoll" may not exist in ond ansi machines (Roberto Ierusalimschy)
  • [44ace0ae] we don't need a type "Word". (Roberto Ierusalimschy)
  • [59811613] small optimizations (?) (Roberto Ierusalimschy)
  • [763c64be] details (Roberto Ierusalimschy)
  • [f0dffaa2] new way to hanlde arg information (Roberto Ierusalimschy)
  • [77a6836f] we don't need a type "Word". (Roberto Ierusalimschy)
  • [9f043e80] luaL_arg_check now is inlined (Roberto Ierusalimschy)
  • [6ac047af] details (Roberto Ierusalimschy)
  • [0e1058cf] small optimizations in switch order (Roberto Ierusalimschy)
  • [26679b1a] back to upavalues as extra arguments for C closures; this way it's trivial to make currying. (Roberto Ierusalimschy)
  • [e04c2b9a] details (Roberto Ierusalimschy)
  • [0c031dcc] details (Roberto Ierusalimschy)
  • [c332c4e9] reference manual of the Lua language (Roberto Ierusalimschy)
  • [964c503a] LUA_COMPAT2.5 may use #ifdef instead of #if (Roberto Ierusalimschy)
  • [90d87e3a] details (Roberto Ierusalimschy)
  • [f76bca23] variants for "ARGS". (Roberto Ierusalimschy)
  • [a5fd7d72] opctional "base" in "tonumber" convertion. (Roberto Ierusalimschy)
  • [4e0bf956] variant opcodes for PUSHSELF (Roberto Ierusalimschy)
  • [498a934a] new syntax possibilities: f(x).x, etc; on the other hand, "function ... (x)" now is more restricted. (Roberto Ierusalimschy)
  • [ce538726] new syntax: f´s´ for f(´s´). (Roberto Ierusalimschy)
  • [da96eb2c] some details related to OLD_ANSI (Roberto Ierusalimschy)
  • [fada8efd] "rand()", in SunOS, may return values bigger than "RAND_MAX"... (Roberto Ierusalimschy)
  • [d916487d] auxlib split in two parts (lauxlib and lbuffer) (Roberto Ierusalimschy)
  • [1bf762ba] Generic buffer facilities for Lua (and libraries) (Roberto Ierusalimschy)
  • [541e7223] details (Roberto Ierusalimschy)
  • [807ba630] error method always gets a string (otherwise it is not called at all) (Roberto Ierusalimschy)
  • [03f3f9e7] "zio" now keeps its "name". (Roberto Ierusalimschy)
  • [a78eecee] details (aborts with invalid arguments) (Roberto Ierusalimschy)
  • [43461d26] help message (Roberto Ierusalimschy)
  • [fae0b528] small bugs in error report (Roberto Ierusalimschy)
  • [22439a75] new syntax for constructors (a={n=3;1,2,3}). (Roberto Ierusalimschy)
  • [7ecc3ce8] new command line options (Roberto Ierusalimschy)
  • [4e91384e] sorting the includes... (Roberto Ierusalimschy)
  • [de79e7fc] back to "lua_upvalue"... (seems better choice) (Roberto Ierusalimschy)
  • [8b5b4256] "lua_dobuffer" (is not official, but its there...) (Roberto Ierusalimschy)
  • [502343b4] new scheme for buffers, centralized in auxlib. (Roberto Ierusalimschy)
  • [82d09fbf] new structure for closures, without static variables. (Roberto Ierusalimschy)
  • [9be85d16] new year (Roberto Ierusalimschy)
  • [45e53359] optimization: closures without upvalues don't need to be closures (Roberto Ierusalimschy)
  • [94144a78] otimization: closures without upvalues don't need to be closures (Roberto Ierusalimschy)
  • [4daae216] new API function and built-in "lua_copytagmethods" (Roberto Ierusalimschy)
  • [cdd261f3] new option "-q" (quiet), and multi-line commands (ending with '') (Roberto Ierusalimschy)
  • [034f1689] better treatment of MARKs and DEBUG cases. (Roberto Ierusalimschy)
  • [c759520b] safer way to put #defines in error messages... (Roberto Ierusalimschy)
  • [80b3d28f] details (mainly error messages) (Roberto Ierusalimschy)
  • [69d97712] arguments "var=value" doesn't need quotes for value (Roberto Ierusalimschy)
  • [5d89dad9] bug log (Roberto Ierusalimschy)
  • [525a91fe] BUG: "lastline" was not reset on function entry, so debug information started only in the 2nd line of a function. (Roberto Ierusalimschy)
  • [868d16de] comments (Roberto Ierusalimschy)
  • [3393fd7f] first version of "lua_close" (Roberto Ierusalimschy)
  • [00c122cc] other distribution of memory debug information. (Roberto Ierusalimschy)
  • [03160920] store "functofind" in stack top, so doesn't need this field in global state. (Roberto Ierusalimschy)
  • [b42cc6a4] no more protected global variables; using upvalues to store tags. (Roberto Ierusalimschy)
  • [a6ad644b] no more protected global variables (Roberto Ierusalimschy)
  • [39fd5bb9] details (Roberto Ierusalimschy)
  • [5482992d] other access method for C upvalues (as arguments) (Roberto Ierusalimschy)
  • [024528e0] global variables starting with '.' are protected in Lua (temporarily at least...) (Roberto Ierusalimschy)
  • [ef37c87e] no more 'globalbag' (Roberto Ierusalimschy)
  • [9e029f98] details (Roberto Ierusalimschy)
  • [e962330d] "stacklimit" is not necessary. (Roberto Ierusalimschy)
  • [b291e500] extra argument for "assert" (Roberto Ierusalimschy)
  • [9ae0c082] small details by lint. (Roberto Ierusalimschy)
  • [accd7bc2] small modifications (format, small optimizations, etc) (Roberto Ierusalimschy)
  • [6153200b] make sure there is no mem problems, using %.ns instead of %s for luaV_error. (Roberto Ierusalimschy)
  • [2e759552] allows '\r' at the end of pragmas, so one can mix Windows and Unix files (Roberto Ierusalimschy)
  • [b79ffdc4] global state for Lua interpreter (Roberto Ierusalimschy)
  • [592a3f28] first implementation of centralized global state. (Roberto Ierusalimschy)
  • [9cdeb275] details (Roberto Ierusalimschy)
  • [c957b270] "call" now handles errors (instead of "dostring") (Roberto Ierusalimschy)
  • [92791b9d] small details (Roberto Ierusalimschy)
  • [45cad43c] "lua_open": now lua has an explicit open operation. (Roberto Ierusalimschy)
  • [dad5a01f] trigonometric mode stored in a Lua global variable. (Roberto Ierusalimschy)
  • [66713181] no need of "emergency error"... (Roberto Ierusalimschy)
  • [7135803c] "global" version of a nil object. (Roberto Ierusalimschy)
  • [b7567b66] "read" & "write" may receive a file handler as first argument (Roberto Ierusalimschy)
  • [f8c95fa9] new "block" syntax (DO ... END) (Roberto Ierusalimschy)
  • [9c965d0f] more precise error messages for compiler limits. (Roberto Ierusalimschy)
  • [6103dca8] small bug. (Roberto Ierusalimschy)
  • [18cd7ada] optimization to handle <a.x> (new opcode). (Roberto Ierusalimschy)
  • [41223a01] definition of "PI" and modes for angles. (Roberto Ierusalimschy)
  • [e78cf96c] first version of Cclosures. (Roberto Ierusalimschy)
  • [0cb38439] "foreach" and "foreachvar" more robust (to survive GCs), and with termination test. (Roberto Ierusalimschy)
  • [907368ea] GC now considers an "estimate" of object size, instead of just the number of objects. (Roberto Ierusalimschy)
  • [81489bee] functions may use many upvalues, to keep global values. (Roberto Ierusalimschy)
  • [ac30aad0] new functions "foreach" and "foreachvar" (Roberto Ierusalimschy)
  • [2c89651f] macro "val" should live together with macro "ref". (Roberto Ierusalimschy)
  • [3a89c973] details (Roberto Ierusalimschy)
  • [52d5e803] better identification of types which are tags (Roberto Ierusalimschy)
  • [19c178fa] new (smaller) prompt (Roberto Ierusalimschy)
  • [45ccb0e8] "nupvalues" is kept in Closure, not in prototype (as a preparation for C closures...) (Roberto Ierusalimschy)
  • [4be18fa8] details (Roberto Ierusalimschy)
  • [7c261a13] more uniform treatment to opcode variants. (Roberto Ierusalimschy)
  • [2bb94d9e] using bison instead of yacc; lparser.c renamed to lstx.c (to avoid confusion with lparser.h...) (Roberto Ierusalimschy)
  • [a3235ad2] prompt for interactive mode (Roberto Ierusalimschy)
  • [f6a9cc9a] jumps are relative to next instruction (Roberto Ierusalimschy)
  • [28d47a0a] all jumps have byte variants; WHILE optimization (Roberto Ierusalimschy)
  • [eb617df2] better way to traverse GCnode lists. (Roberto Ierusalimschy)
  • [a580480b] new implementation for globals: Global value is stored in TaggedString (Roberto Ierusalimschy)
  • [0dd6d108] new opcode variants. (Roberto Ierusalimschy)
  • [3c820d62] better control over closed files (Roberto Ierusalimschy)
  • [d6c867ea] better way to cope with opcode variants (Roberto Ierusalimschy)
  • [2079cfe8] new way to code globals, using const table instead of putting global index inside the opcode. (Roberto Ierusalimschy)
  • [dfe03c7a] small optimizations (bit scrubbing) (Roberto Ierusalimschy)
  • [8cd67ac6] Syntax analizer and code generator (Roberto Ierusalimschy)
  • [9828893f] Makefile (Roberto Ierusalimschy)
  • [6990da00] Lua virtual machine (Roberto Ierusalimschy)
  • [d985dc06] Opcodes for Lua virtual machine (Roberto Ierusalimschy)
  • [45112400] Standard I/O (and system) library (Roberto Ierusalimschy)
  • [2f1fa3d4] Type definitions for Lua objects (Roberto Ierusalimschy)
  • [189d6440] Garbage Collector (Roberto Ierusalimschy)
  • [60cc473b] Lexical Analizer (Roberto Ierusalimschy)
  • [43a2ee6e] Stack and Call structure of Lua (Roberto Ierusalimschy)
  • [4b91e9cd] Tag methods (Roberto Ierusalimschy)
  • [26c5f56a] Built-in functions (Roberto Ierusalimschy)
  • [daa858ef] String table (keep all strings handled by Lua) (Roberto Ierusalimschy)
  • [ea169d20] auxiliar functions from Lua API (Roberto Ierusalimschy)
  • [c31aa863] Auxiliar functions for building Lua libraries (Roberto Ierusalimschy)
  • [ff08b0f4] Lua Function structures (Roberto Ierusalimschy)
  • [c1801e62] Some generic functions over Lua objects (Roberto Ierusalimschy)
  • [a404f6e0] Lua tables (hash) (Roberto Ierusalimschy)
  • [2d2440a7] Lua stand-alone interpreter (Roberto Ierusalimschy)
  • [0c4ed2b3] main header file (Roberto Ierusalimschy)
  • [b945fae4] Lua standard mathematical library (Roberto Ierusalimschy)
  • [dadba4d6] Interface to Memory Manager (Roberto Ierusalimschy)
  • [d600a6b5] a generic input stream interface (Roberto Ierusalimschy)
  • [75ac0d21] Standard library for strings and pattern-matching (Roberto Ierusalimschy)
  • [9f3785a2] Lua standard libraries (Roberto Ierusalimschy)
  • [84e92e09] Debuging API (Roberto Ierusalimschy)
  • [b8a049ab] Global variables (Roberto Ierusalimschy)
  • [e18f6813] very small corrections... (Roberto Ierusalimschy)
  • [dd1aa283] small optimization in opcodes for "and" and "or" (Roberto Ierusalimschy)
  • [abbf14cd] small optimizations; try to find previous use when coding a real constant. (Roberto Ierusalimschy)
  • [e8292f07] new dependencies (Roberto Ierusalimschy)
  • [3037dcca] prime numbers spread better. (Roberto Ierusalimschy)
  • [a7793468] correct support for changing real to double (optional) (Roberto Ierusalimschy)
  • [caa987fa] "random" accepts an 'n' to return between 1 and 'n'. (Roberto Ierusalimschy)
  • [0892f0e5] BIG CHANGE: functions have their own "constant table". (Roberto Ierusalimschy)
  • [1d7857bc] free(b) is equivalent to realloc(b, 0) (Roberto Ierusalimschy)
  • [72a1d81b] bug: lua_getlocal breaks when called with a CFunction. (Roberto Ierusalimschy)
  • [2c580a0a] new way to handle global state during compilation. (Roberto Ierusalimschy)
  • [05e8b0ae] new opcode, ENDCODE, to signal end of code vector. (Roberto Ierusalimschy)
  • [16dd77e8] unused field "size" in struct TFunc. (Roberto Ierusalimschy)
  • [0600f968] BUG: LUA_COMPAT2_5 written wrong... (Roberto Ierusalimschy)
  • [971b1d55] bug log. Most of the log is done automatically by RCS, and not in the file itself :-) (Roberto Ierusalimschy)
  • [11d97c34] skipping of '#' in first line is done by lex.c. (Roberto Ierusalimschy)
  • [66be4254] BUG: files starting with '#' get wrong line numbers (Roberto Ierusalimschy)
  • [067db30d] "next" & "nextvar" check if argument is a result of previous calls (Roberto Ierusalimschy)
  • [da4dbe65] new functionality for "format": "%d$...". (Roberto Ierusalimschy)
  • [4321fde2] error inside an error method could break the stack. (Roberto Ierusalimschy)
  • [8f3df1d4] small details. (Roberto Ierusalimschy)
  • [1a172117] auxliar support for "locale" (to avoid portability problems) (Roberto Ierusalimschy)
  • [d56e3a64] "locale" support + better uniformity in formating (Roberto Ierusalimschy)
  • [7820a471] LOCALE support (Roberto Ierusalimschy)
  • [88b185ad] more uniform source (more macros...) (Roberto Ierusalimschy)
  • [ef3c45d5] for security reasons, one cannot change the tag of a udata from Lua. (Roberto Ierusalimschy)
  • [20a48a81] a file handle must be a userdata. (Roberto Ierusalimschy)
  • [c9e6ed1d] small corrections. (Roberto Ierusalimschy)
  • [56fdab67] believe it or not, this makes a difference... (Roberto Ierusalimschy)
  • [3a98c867] new name for _VERSION (standard of _UPPERCASES for pre-defined global variable) (Roberto Ierusalimschy)
  • [da585783] new method to handle current files, with global variables _INPUT and _OUTPUT. (Roberto Ierusalimschy)
  • [e81f1841] new #define LUA_COMPAT2_5 to select "compatibility mode". (Roberto Ierusalimschy)
  • [3e432753] incompatibilities with 2.5 + restrictions on tag methods (Roberto Ierusalimschy)
  • [f97307b5] zio should not care about how a user creates a FILE (pipe, socket, popen, etc). (Roberto Ierusalimschy)
  • [6402bfb1] better error message for dostring (2nd argument) (Roberto Ierusalimschy)
  • [27b6bbdc] "testC" inactive (active only for tests) (Roberto Ierusalimschy)
  • [5a198de3] new prefix luaZ (Roberto Ierusalimschy)
  • [c5d7ba73] dostring has an optional error method argument (Roberto Ierusalimschy)
  • [f84c2ebc] dostring has an optional error method argument; counter for gsub only when there is a table (to keep full compatibility) (Roberto Ierusalimschy)
  • [c8897f2b] counter for gsub only when there is a table (to keep full compatibility) (Roberto Ierusalimschy)
  • [6bb2cac3] setparsedfile is extern; luaz_... changed to luaZ_... (Roberto Ierusalimschy)
  • [88f020b6] new interface to "lua_seterrormethod" and "lua_settagmethod", to allow the use of Lua functions too. (Roberto Ierusalimschy)
  • [a38f093f] luaI_initTFunc initializes fileName. (Roberto Ierusalimschy)
  • [b6adfdd0] gsub aborts if error occurs. (Roberto Ierusalimschy)
  • [b90b4bbd] macros don't need prototypes. (Roberto Ierusalimschy)
  • [f6d95140] using old version functions. (Roberto Ierusalimschy)
  • [eca17b24] #if wraps compatibility issue (Roberto Ierusalimschy)
  • [6b61582e] do not use $...$ to italic. (Roberto Ierusalimschy)
  • [60bdc370] new functions lua_doFILE and lua_dobuffer to help users... (Roberto Ierusalimschy)
  • [b9e31f73] exported functions follow "lua" prefix rule. (Roberto Ierusalimschy)
  • [ea98620d] new arguments for gsub (Roberto Ierusalimschy)
  • [6b780408] lhf corrections + new gsub (Roberto Ierusalimschy)
  • [e931c7c0] error message always shows file names. (Roberto Ierusalimschy)
  • [70160320] first version for Lua 3.0 (with tag methods, etc) (Roberto Ierusalimschy)
  • [bfbf56f1] extra parameter for "call" is "pack" or "plain". (Roberto Ierusalimschy)
  • [732ef82c] "luaI_undump1" cannot be static; luac uses it. (Roberto Ierusalimschy)
  • [2a1da648] "lua_getobjname" must return "tag-method" and not "fallback". (Roberto Ierusalimschy)
  • [3c5d71cf] "nil" may have fallbacks too. (Roberto Ierusalimschy)
  • [1848bcc1] "strsub" accepts negative indices (count from the end of the string). (Roberto Ierusalimschy)
  • [4d2de484] "lua_seterrormethod" should return the previous handler. (Roberto Ierusalimschy)
  • [312f78d9] default error method is not nil (nil does nothing). (Roberto Ierusalimschy)
  • [e4b69d6c] "order" and "concat" operations choose tag methods the same way that "arith" operations do (first the first parameter, etc). (Roberto Ierusalimschy)
  • [c9a2dfeb] using "zio" for parsing Lua code. (Roberto Ierusalimschy)
  • [9fe5be3a] library for uniform buffered input. (Roberto Ierusalimschy)
  • [611680af] functions "lua_settagmethod" and similars should be safe too. (Roberto Ierusalimschy)
  • [cb1d8f0f] missing small dependency. (Roberto Ierusalimschy)
  • [33f4fef4] BUG: did not handle properly pragmas $endinput/$debug inside a $if. (Roberto Ierusalimschy)
  • [e77534c0] small 'improvement' (Roberto Ierusalimschy)
  • [a22b54bb] format more uniform, to facilitate filters .tex->.html (Roberto Ierusalimschy)
  • [414ebe8c] power method (^) acts only in numbers. (Roberto Ierusalimschy)
  • [33ace03b] udata is just void * again, so there is no point for function "getbyte". (Roberto Ierusalimschy)
  • [085181a0] new function "testC", to help debug the API. (Roberto Ierusalimschy)
  • [dd22ea4d] new implementation for udata (again they are just void *); new implementation for the API: most operations now do not disturb structures lua2C and C2lua. (Roberto Ierusalimschy)
  • [5fdcfeb3] new lua_Objects are created below the C2lua stack, so most API functions don't need to adjust stack. (Roberto Ierusalimschy)
  • [d68d8287] new lua_Objects are created below the C2lua stack, so most API functions don't need to adjust stack. So lua_getref does not change the stack, and lua_pushref can use it as a macro. (Roberto Ierusalimschy)
  • [e1249970] new API function to force garbage collection. (Roberto Ierusalimschy)
  • [9d6f4e48] unused declaration. (Roberto Ierusalimschy)
  • [b546a042] another (better?) implementation for "pushsubscript". (Roberto Ierusalimschy)
  • [bd9e68cf] new implementation of gc: "Pre-collect" garbage in temporary lists and then call fallbacks. (Roberto Ierusalimschy)
  • [9747f3c8] double hashing + tables do not grow if there are empty slots (Roberto Ierusalimschy)
  • [12d9731a] bug: string table must be initialized. (Roberto Ierusalimschy)
  • [4aade854] correction of name (and "iternal" was wrong, any way). (Roberto Ierusalimschy)
  • [369dd653] small optimization in the access to i.m. table. (Roberto Ierusalimschy)
  • [209602ac] BUG: input file must be closed just after parser. (Roberto Ierusalimschy)
  • [6251d889] missing definition of "lua_storesubscript", for compatibility (Roberto Ierusalimschy)
  • [faec0b08] new pragma "$endinput" (Roberto Ierusalimschy)
  • [64d93e7c] global variables (in $if) may have '_'. (Roberto Ierusalimschy)
  • [d73c5bcf] function name is only needed if there is an error. (Roberto Ierusalimschy)

[v3.0-alpha]

[v3.0]

  • [ef3c45d5] for security reasons, one cannot change the tag of a udata from Lua. (Roberto Ierusalimschy)
  • [20a48a81] a file handle must be a userdata. (Roberto Ierusalimschy)
  • [c9e6ed1d] small corrections. (Roberto Ierusalimschy)
  • [56fdab67] believe it or not, this makes a difference... (Roberto Ierusalimschy)
  • [3a98c867] new name for _VERSION (standard of _UPPERCASES for pre-defined global variable) (Roberto Ierusalimschy)
  • [da585783] new method to handle current files, with global variables _INPUT and _OUTPUT. (Roberto Ierusalimschy)
  • [e81f1841] new #define LUA_COMPAT2_5 to select "compatibility mode". (Roberto Ierusalimschy)
  • [3e432753] incompatibilities with 2.5 + restrictions on tag methods (Roberto Ierusalimschy)
  • [f97307b5] zio should not care about how a user creates a FILE (pipe, socket, popen, etc). (Roberto Ierusalimschy)
  • [6402bfb1] better error message for dostring (2nd argument) (Roberto Ierusalimschy)
  • [27b6bbdc] "testC" inactive (active only for tests) (Roberto Ierusalimschy)
  • [5a198de3] new prefix luaZ (Roberto Ierusalimschy)
  • [c5d7ba73] dostring has an optional error method argument (Roberto Ierusalimschy)
  • [f84c2ebc] dostring has an optional error method argument; counter for gsub only when there is a table (to keep full compatibility) (Roberto Ierusalimschy)
  • [c8897f2b] counter for gsub only when there is a table (to keep full compatibility) (Roberto Ierusalimschy)
  • [6bb2cac3] setparsedfile is extern; luaz_... changed to luaZ_... (Roberto Ierusalimschy)
  • [88f020b6] new interface to "lua_seterrormethod" and "lua_settagmethod", to allow the use of Lua functions too. (Roberto Ierusalimschy)
  • [a38f093f] luaI_initTFunc initializes fileName. (Roberto Ierusalimschy)
  • [b6adfdd0] gsub aborts if error occurs. (Roberto Ierusalimschy)
  • [b90b4bbd] macros don't need prototypes. (Roberto Ierusalimschy)
  • [f6d95140] using old version functions. (Roberto Ierusalimschy)
  • [eca17b24] #if wraps compatibility issue (Roberto Ierusalimschy)
  • [6b61582e] do not use $...$ to italic. (Roberto Ierusalimschy)
  • [60bdc370] new functions lua_doFILE and lua_dobuffer to help users... (Roberto Ierusalimschy)
  • [b9e31f73] exported functions follow "lua" prefix rule. (Roberto Ierusalimschy)
  • [ea98620d] new arguments for gsub (Roberto Ierusalimschy)
  • [6b780408] lhf corrections + new gsub (Roberto Ierusalimschy)
  • [e931c7c0] error message always shows file names. (Roberto Ierusalimschy)
  • [70160320] first version for Lua 3.0 (with tag methods, etc) (Roberto Ierusalimschy)
  • [bfbf56f1] extra parameter for "call" is "pack" or "plain". (Roberto Ierusalimschy)
  • [732ef82c] "luaI_undump1" cannot be static; luac uses it. (Roberto Ierusalimschy)
  • [2a1da648] "lua_getobjname" must return "tag-method" and not "fallback". (Roberto Ierusalimschy)
  • [3c5d71cf] "nil" may have fallbacks too. (Roberto Ierusalimschy)
  • [1848bcc1] "strsub" accepts negative indices (count from the end of the string). (Roberto Ierusalimschy)
  • [4d2de484] "lua_seterrormethod" should return the previous handler. (Roberto Ierusalimschy)
  • [312f78d9] default error method is not nil (nil does nothing). (Roberto Ierusalimschy)
  • [e4b69d6c] "order" and "concat" operations choose tag methods the same way that "arith" operations do (first the first parameter, etc). (Roberto Ierusalimschy)
  • [c9a2dfeb] using "zio" for parsing Lua code. (Roberto Ierusalimschy)
  • [9fe5be3a] library for uniform buffered input. (Roberto Ierusalimschy)
  • [611680af] functions "lua_settagmethod" and similars should be safe too. (Roberto Ierusalimschy)
  • [cb1d8f0f] missing small dependency. (Roberto Ierusalimschy)
  • [33f4fef4] BUG: did not handle properly pragmas $endinput/$debug inside a $if. (Roberto Ierusalimschy)
  • [e77534c0] small 'improvement' (Roberto Ierusalimschy)
  • [a22b54bb] format more uniform, to facilitate filters .tex->.html (Roberto Ierusalimschy)
  • [414ebe8c] power method (^) acts only in numbers. (Roberto Ierusalimschy)
  • [33ace03b] udata is just void * again, so there is no point for function "getbyte". (Roberto Ierusalimschy)
  • [085181a0] new function "testC", to help debug the API. (Roberto Ierusalimschy)
  • [dd22ea4d] new implementation for udata (again they are just void *); new implementation for the API: most operations now do not disturb structures lua2C and C2lua. (Roberto Ierusalimschy)
  • [5fdcfeb3] new lua_Objects are created below the C2lua stack, so most API functions don't need to adjust stack. (Roberto Ierusalimschy)
  • [d68d8287] new lua_Objects are created below the C2lua stack, so most API functions don't need to adjust stack. So lua_getref does not change the stack, and lua_pushref can use it as a macro. (Roberto Ierusalimschy)
  • [e1249970] new API function to force garbage collection. (Roberto Ierusalimschy)
  • [9d6f4e48] unused declaration. (Roberto Ierusalimschy)
  • [b546a042] another (better?) implementation for "pushsubscript". (Roberto Ierusalimschy)
  • [bd9e68cf] new implementation of gc: "Pre-collect" garbage in temporary lists and then call fallbacks. (Roberto Ierusalimschy)
  • [9747f3c8] double hashing + tables do not grow if there are empty slots (Roberto Ierusalimschy)
  • [12d9731a] bug: string table must be initialized. (Roberto Ierusalimschy)
  • [4aade854] correction of name (and "iternal" was wrong, any way). (Roberto Ierusalimschy)
  • [369dd653] small optimization in the access to i.m. table. (Roberto Ierusalimschy)
  • [209602ac] BUG: input file must be closed just after parser. (Roberto Ierusalimschy)
  • [6251d889] missing definition of "lua_storesubscript", for compatibility (Roberto Ierusalimschy)
  • [faec0b08] new pragma "$endinput" (Roberto Ierusalimschy)
  • [64d93e7c] global variables (in $if) may have '_'. (Roberto Ierusalimschy)
  • [d73c5bcf] function name is only needed if there is an error. (Roberto Ierusalimschy)
  • [e78c1c54] mem.h is now luamem.h removed warn added support for new opcodes (VARARGS, STOREMAP) better error messages with luaL_verror (Luiz Henrique de Figueiredo)
  • [42049b42] fix comment in VERSION (Luiz Henrique de Figueiredo)
  • [a8cd072c] nested "$if's", "$else", and "$if" constants (nil & 1). (Roberto Ierusalimschy)
  • [83e9897c] correction on comments about opcodes. (Roberto Ierusalimschy)
  • [f9370472] one cannot "create" a userdata. (Roberto Ierusalimschy)
  • [c9e3d321] first implementation of "$if"; new function "findstring" (useful in good places) (Roberto Ierusalimschy)
  • [00050b8a] detail: local names (Roberto Ierusalimschy)
  • [19a1e19a] detail: better way to put a "..." in message. (Roberto Ierusalimschy)
  • [3a9516ff] luaL check functions do not need the function name (it can be accessed via luadebug interface). (Roberto Ierusalimschy)
  • [42fa3056] better error messages; better names for some API functions. (Roberto Ierusalimschy)
  • [93197357] using new lib auxlib. (Roberto Ierusalimschy)
  • [1ea6e806] "setintmethod" returns old method (to be coerent with seterrormethod). BUG: wrong pointer arithmetic (index out of range when comparing). obs: version 4 is due to internal methods. (Roberto Ierusalimschy)
  • [c1746340] obs: version 4 is due to internal methods. (some small details in comments) (Roberto Ierusalimschy)
  • [d0339e7b] "setintmethod" returns old method (to be coerent with seterrormethod). obs: version 2 is due to internal methods. (Roberto Ierusalimschy)
  • [075b7918] new function "getintmethod" (Roberto Ierusalimschy)
  • [7c99149a] "tostring" gives an overview of a userdata. (Roberto Ierusalimschy)
  • [27d95f18] "newtag" does not need a type name. (Roberto Ierusalimschy)
  • [f0d52388] lua_getuserdata must return NULL if object is not userdata (Roberto Ierusalimschy)
  • [f29fbf2b] lua_getuserdata must return NULL if object is not userdata; small BUG: wrong error message for a=b[1] (b not a table) (Roberto Ierusalimschy)
  • [4355e1af] "getbyte" returns userdata size when called without second parameter. (Roberto Ierusalimschy)
  • [cae1eff9] small "bugs" detected by Purify: cannot read "next" after 0. (Roberto Ierusalimschy)
  • [f83bc86e] small "bugs" detected by Purify: some blocks may be smaller than sizeof(int). (Roberto Ierusalimschy)
  • [59744f03] "storeglobal" changed to "setglobal" (Roberto Ierusalimschy)
  • [bb2e2bec] new lua function "tag" (Roberto Ierusalimschy)
  • [efaaf99c] first version of "setglobal" and "getglobal" internal methods. (Roberto Ierusalimschy)
  • [f8a571ee] some new options for warnings and optimizations. (Roberto Ierusalimschy)
  • [397e3239] update of ".h" dependencies (Roberto Ierusalimschy)
  • [373363cb] new name for old "mem.h" (conflicts with some compiler libraries) (Roberto Ierusalimschy)
  • [ad5574c4] "Object" renamed to "TObject" (Tagged Object), to avoid conflicts with pre-defined names in some C compilers. (Roberto Ierusalimschy)
  • [264f8c5e] new (internal?) functions to manipulate userdata (Roberto Ierusalimschy)
  • [9e9e2ea2] BUG: must mark userdata in garbage collection. (Roberto Ierusalimschy)
  • [03d917f2] some corrections, improvements; (Roberto Ierusalimschy)
  • [c3488f51] must call "gc" i.m. for nil after all others. (Roberto Ierusalimschy)
  • [6fef372f] mathlib now uses i.m. for "pow" operator. (Roberto Ierusalimschy)
  • [052a1cc4] files now have proper tags. (Roberto Ierusalimschy)
  • [ae067dcd] BUG: lua_newtag can be called before luaI_IMtable is initialized. (Roberto Ierusalimschy)
  • [5d604705] i.m. "arith" and "order" splited for different operations (Roberto Ierusalimschy)
  • [88d7ffb0] luaI_type moved to fallback.c (Roberto Ierusalimschy)
  • [47527d2d] setmethods should return old methods. (Roberto Ierusalimschy)
  • [1444d284] first full implementation of internal methods (Roberto Ierusalimschy)
  • [2de803c2] new header 'auxlib.h' + new function luaL_verror (Roberto Ierusalimschy)
  • [fa08b42d] new header for auxiliar functions. (Roberto Ierusalimschy)
  • [eea734aa] new module 'auxlib' centralizes functions to get/check parameters. (Roberto Ierusalimschy)
  • [b6d91e24] "tag" changed to "ttype" (since now tag has other meaning) (Roberto Ierusalimschy)
  • [a82ab085] new explanation about communication between Lua and C. (Roberto Ierusalimschy)
  • [b8af9c56] new form for constructors: {[exp] = exp, ...} (Roberto Ierusalimschy)
  • [c3c0b52a] atualization of #include dependencies. (Roberto Ierusalimschy)
  • [ec422ec7] skips can be nested (why not?). (Roberto Ierusalimschy)
  • [a8a15ff1] "mem.c.debug" incorporated (with "#if"). (Roberto Ierusalimschy)
  • [131d66ef] first step in implementing internal methods. (Roberto Ierusalimschy)
  • [bbf1b306] small correction. (Roberto Ierusalimschy)
  • [8b7f271e] new pattern item ".-"; empty patterns may be used in gsub. (Roberto Ierusalimschy)
  • [bc323435] new facilities for pattern matching (%b and .-); explanations about next-nextvar. (Roberto Ierusalimschy)
  • [6769f348] lua_Type is private (preparation for tags) (Roberto Ierusalimschy)
  • [0b110f79] small syntax error (yacc does not complain, but bison does). (Roberto Ierusalimschy)
  • [205ee1ec] userdata can handle arbitrary binary data; user tag is stored with data; (Roberto Ierusalimschy)
  • [b48847c5] BUG: "inclinenumber" cannot use public buffer, since it could change the buffer pointer (luaY_lex and read_long_string have local pointers to it). (Roberto Ierusalimschy)
  • [1143bf92] better check when converting from float to int, to avoid overflow (on some machines it may result in run-time error) (Roberto Ierusalimschy)
  • [d9ecc135] lhf revisions/sugestions (Roberto Ierusalimschy)
  • [f00d6924] small correction to avoid "wrong" default action (Roberto Ierusalimschy)
  • [d8b0bbb2] BUG: pointer arithmetic does not have to work when pointing outside an array. (Roberto Ierusalimschy)
  • [1f4ee4a4] ANSI ctype only works for unsigned chars (or EOF) (Roberto Ierusalimschy)
  • [6a9efa8b] useless include. (Roberto Ierusalimschy)
  • [65459e79] small BUG: pragma deletes 0 at end of yytext, so a syntax error just after it may have a wrong token in message. (Roberto Ierusalimschy)

[v2.5.1]

  • [42359b8b] new version (Roberto Ierusalimschy)
  • [169870e3] BUG: ISO chars are negative, ISO ints are not. (Roberto Ierusalimschy)
  • [78e454d8] BUG: ISO chars are negative, ISO ints are not. new "balanced" pattern. (Roberto Ierusalimschy)
  • [dbfe28e1] correction in inheritance code in C (Roberto Ierusalimschy)
  • [d59c5275] undump needs file in binary mode (Roberto Ierusalimschy)
  • [62e1a4c8] BUG: problems with negative indexes (Roberto Ierusalimschy)
  • [81411e89] headers includes sizeof(Word) not sizeof(int) (Luiz Henrique de Figueiredo)
  • [62aa717f] stdlib.h for exit blocks are void* (Luiz Henrique de Figueiredo)
  • [a5614eae] spelling corrections. (Roberto Ierusalimschy)
  • [536bae58] corrected version test (0x23 not 23) (Luiz Henrique de Figueiredo)
  • [679eddf2] (Luiz Henrique de Figueiredo)
  • [d991def3] added 3 new bytes to header (sizeof's) (Luiz Henrique de Figueiredo)
  • [8b195533] new header version (Luiz Henrique de Figueiredo)
  • [3ccdd57c] new version (Roberto Ierusalimschy)
  • [a103455d] better format for error messages. (Roberto Ierusalimschy)
  • [60242e19] error message for syntax "1..2"; syntax error function is in "lex.c" (it has the token) (Roberto Ierusalimschy)
  • [a0e9bfbb] syntax error function is in "lex.c" (it has the token) (Roberto Ierusalimschy)
  • [2f19e0ba] SunOS is not ANSI about the return value of "sprintf". (Roberto Ierusalimschy)
  • [ab7fdcbb] corrected copyright notice (Roberto Ierusalimschy)
  • [48cf1de3] replaced unions by memcpy (Luiz Henrique de Figueiredo)
  • [8d50122a] replaced unions by memcpy (Luiz Henrique de Figueiredo)

[v2.5-beta]

[v2.5]

  • [dbfe28e1] correction in inheritance code in C (Roberto Ierusalimschy)
  • [d59c5275] undump needs file in binary mode (Roberto Ierusalimschy)
  • [62e1a4c8] BUG: problems with negative indexes (Roberto Ierusalimschy)
  • [81411e89] headers includes sizeof(Word) not sizeof(int) (Luiz Henrique de Figueiredo)
  • [62aa717f] stdlib.h for exit blocks are void* (Luiz Henrique de Figueiredo)
  • [a5614eae] spelling corrections. (Roberto Ierusalimschy)
  • [536bae58] corrected version test (0x23 not 23) (Luiz Henrique de Figueiredo)
  • [679eddf2] (Luiz Henrique de Figueiredo)
  • [d991def3] added 3 new bytes to header (sizeof's) (Luiz Henrique de Figueiredo)
  • [8b195533] new header version (Luiz Henrique de Figueiredo)
  • [3ccdd57c] new version (Roberto Ierusalimschy)
  • [a103455d] better format for error messages. (Roberto Ierusalimschy)
  • [60242e19] error message for syntax "1..2"; syntax error function is in "lex.c" (it has the token) (Roberto Ierusalimschy)
  • [a0e9bfbb] syntax error function is in "lex.c" (it has the token) (Roberto Ierusalimschy)
  • [2f19e0ba] SunOS is not ANSI about the return value of "sprintf". (Roberto Ierusalimschy)
  • [ab7fdcbb] corrected copyright notice (Roberto Ierusalimschy)
  • [48cf1de3] replaced unions by memcpy (Luiz Henrique de Figueiredo)
  • [8d50122a] replaced unions by memcpy (Luiz Henrique de Figueiredo)
  • [fd379b38] new flag for STRERROR; libs now are called lib... (Roberto Ierusalimschy)
  • [aa4d8650] anna's comments (Roberto Ierusalimschy)
  • [3e94febf] pragmas should not be recognized inside literal strings. (Roberto Ierusalimschy)
  • [243b3a1a] i/o functions return an error message (Roberto Ierusalimschy)
  • [389e808c] although an ANSI function, some systems do not offer "strerror" (Roberto Ierusalimschy)
  • [450465c4] new parameters for "read" and "write". BIG CHANGE. (Roberto Ierusalimschy)
  • [2f44cc9f] new pattern matching facilities; new version of i/o lib; other small corrections. (Roberto Ierusalimschy)
  • [d106f3f4] pre-defined variable VERSION (Roberto Ierusalimschy)
  • [bf3091d9] new version number (Roberto Ierusalimschy)
  • [4dbf7285] small omission corrected ("s_tsvalue") (Roberto Ierusalimschy)
  • [a1e41e3a] small corrections in error messages (Roberto Ierusalimschy)
  • [9d0044ce] "strfind" has an extra parameter to turn off all special characteres. (Roberto Ierusalimschy)
  • [37bf74ef] some compilers do not accept "stdin"/"stdout" as constants. (Roberto Ierusalimschy)
  • [8c37d3b9] documentation of opcode meanings (thanks to lhf) (Roberto Ierusalimschy)
  • [0af581f0] new way to handle pragmas (at the lexical level, instead of parsing). (Roberto Ierusalimschy)
  • [2a506ea9] lua_linenumber is initialized in lex.c (Roberto Ierusalimschy)
  • [e5ec547e] "call" returns separate results, instead of a table. (Roberto Ierusalimschy)
  • [6d383202] "dofile" and "dostring" may return values. (Roberto Ierusalimschy)
  • [7b8166d7] a chunk may end with a return. (Roberto Ierusalimschy)
  • [3636bbad] new function "strrep" (Roberto Ierusalimschy)
  • [82f9f3e5] better structure to control stack interface lua-C. beginblock-endblock keeps better control over stack (Roberto Ierusalimschy)
  • [c96ad1c9] "strmap" replaced by "strupper" and "strlower" (that's what people will use, anyway). "gsub" aceppts a function to give the replacement string. (Roberto Ierusalimschy)
  • [5b9fbfa0] "dostring" now stores the prefix of its string, to improve error messages. (Roberto Ierusalimschy)
  • [f0cc2d55] BUG: a program ending in a comment without EOL made lex loops forever. (Roberto Ierusalimschy)
  • [d289ac81] functions may have tags CMARK and MARK, too. (Roberto Ierusalimschy)
  • [15791f93] lhf's corrections. (Roberto Ierusalimschy)
  • [d763b697] skip first line of a lua file if it starts with a '#' (to allow shell scripts). (Roberto Ierusalimschy)
  • [36dd1af9] "[^]]" must mean "not ]". (Roberto Ierusalimschy)
  • [25b6dae7] singlematch and item_end are used by "read", in iolib. (Roberto Ierusalimschy)
  • [1630c253] Pattern-Matching! plus several other changes... (Roberto Ierusalimschy)
  • [1d373d77] more functions exported. (Roberto Ierusalimschy)
  • [f025b0d1] "pushnil" is not needed (default return is nil). (Roberto Ierusalimschy)
  • [cc02b472] new mod implementation (more portable). (Roberto Ierusalimschy)
  • [2bb3830f] "memcpy" is defined in "string.h". (Roberto Ierusalimschy)
  • [7a38bdd4] "exit" is defined in "stdlib". (Roberto Ierusalimschy)
  • [7614b17e] very small corrections (Roberto Ierusalimschy)
  • [6dfdb765] C functions don't need to "pushnil" to return nil value (this is the default value). (Roberto Ierusalimschy)
  • [9a3c51cf] new name for POSIX flag (this one turns on some posix stuff in standard header files). (Roberto Ierusalimschy)
  • [6336d2f9] flag for direct execution is "-e"; argument with an "=" goes to direct execution, independently of flags. (Roberto Ierusalimschy)
  • [ec6677e5] when "block" is computed, "nentity" == "block". So the change is only a simpler way to write the same expression. (Roberto Ierusalimschy)
  • [20cbca69] "lua_dofile" has a more informative return code. (Roberto Ierusalimschy)
  • [3211a964] "lua_dofile" returns different error codes if it could not open the file (Roberto Ierusalimschy)
  • [0baa9153] new option "-x" to execute a string given as argument. (Roberto Ierusalimschy)
  • [5cddb264] lexical analiser may use luaI_buffer, instead of waste space with a separate buffer. (Roberto Ierusalimschy)
  • [9863223f] first version of vararg facility (plus new function "call"). (Roberto Ierusalimschy)
  • [9a1948e6] small correction. (Roberto Ierusalimschy)
  • [f9deeac6] "luaI_malloc(s)" is just a macro to "luaI_realloc(NULL, s)". (Roberto Ierusalimschy)
  • [29f00218] variables which contain string lengths must be long (if they also may be negative) or size_t. (Roberto Ierusalimschy)
  • [7acddb87] memory manager for old versions of Lua. It should be in RCS since the beginning. (Roberto Ierusalimschy)
  • [a7ca4640] unused "#include". (Roberto Ierusalimschy)
  • [0e2297af] update of dependencies from "#include"s. (Roberto Ierusalimschy)
  • [0a1891f6] new version. (Roberto Ierusalimschy)
  • [1936a9e5] tables may grow bigger than words. (Roberto Ierusalimschy)
  • [820ec63b] as strings are no more duplicated, "nextvar" can use "pushstring". (Roberto Ierusalimschy)
  • [01ea523b] small corrections. (Roberto Ierusalimschy)
  • [88cf0836] "isatty" is POSIX, but not ANSI. (Roberto Ierusalimschy)
  • [3ec9ee0d] new function "luaI_openlib" to help open libs. (Roberto Ierusalimschy)
  • [21c9ebf4] new algotithm to adjust garbage collection: it tries to adapt gc calls so that it collects half of the total objects when it is called. (Roberto Ierusalimschy)
  • [4fb77c43] no more "lua_Reference"; new return value for "append"; documentation of "exit" (it was not in the manual). (Roberto Ierusalimschy)
  • [bced00ab] lua_Reference is int, so say so. (Roberto Ierusalimschy)
  • [25116a30] "malloc.h" is not ansi. (Roberto Ierusalimschy)
  • [eadbb9cf] "stat" is not ansi. (Roberto Ierusalimschy)
  • [42b94729] "fileno" is not ansi. (Roberto Ierusalimschy)
  • [f37e65d1] "exit" has an optional parameter of status. (Roberto Ierusalimschy)
  • [0ef5cf22] lock mechanism seperseded by the REFERENCE mechanism. (Roberto Ierusalimschy)
  • [fed9408a] page size "letter". (Roberto Ierusalimschy)

[v2.4-beta]

[v2.4]

  • [a7ca4640] unused "#include". (Roberto Ierusalimschy)
  • [0e2297af] update of dependencies from "#include"s. (Roberto Ierusalimschy)
  • [0a1891f6] new version. (Roberto Ierusalimschy)
  • [1936a9e5] tables may grow bigger than words. (Roberto Ierusalimschy)
  • [820ec63b] as strings are no more duplicated, "nextvar" can use "pushstring". (Roberto Ierusalimschy)
  • [01ea523b] small corrections. (Roberto Ierusalimschy)
  • [88cf0836] "isatty" is POSIX, but not ANSI. (Roberto Ierusalimschy)
  • [3ec9ee0d] new function "luaI_openlib" to help open libs. (Roberto Ierusalimschy)
  • [21c9ebf4] new algotithm to adjust garbage collection: it tries to adapt gc calls so that it collects half of the total objects when it is called. (Roberto Ierusalimschy)
  • [4fb77c43] no more "lua_Reference"; new return value for "append"; documentation of "exit" (it was not in the manual). (Roberto Ierusalimschy)
  • [bced00ab] lua_Reference is int, so say so. (Roberto Ierusalimschy)
  • [25116a30] "malloc.h" is not ansi. (Roberto Ierusalimschy)
  • [eadbb9cf] "stat" is not ansi. (Roberto Ierusalimschy)
  • [42b94729] "fileno" is not ansi. (Roberto Ierusalimschy)
  • [f37e65d1] "exit" has an optional parameter of status. (Roberto Ierusalimschy)
  • [0ef5cf22] lock mechanism seperseded by the REFERENCE mechanism. (Roberto Ierusalimschy)
  • [fed9408a] page size "letter". (Roberto Ierusalimschy)
  • [ce23901f] smaller limit to stack size (otherwise C stack can finish first) (Roberto Ierusalimschy)
  • [df1ee1fb] small "abstraction" (Roberto Ierusalimschy)
  • [f1d02766] small bug in strfind. (Roberto Ierusalimschy)
  • [7ecc2ea5] new version (Roberto Ierusalimschy)
  • [7a35f23c] a simplification about memory error messages. (Roberto Ierusalimschy)
  • [9284742a] better control when growing arrays. (Roberto Ierusalimschy)
  • [9704ff4c] hook variables are global, no more "lua_set...hook" functions. (Roberto Ierusalimschy)
  • [e3c0ce9a] dofile accepts pre-compiled chunks. lua_is... do coercion. small correction: = versus ==. (Roberto Ierusalimschy)
  • [85b76bcc] functions "lua_is..." consider coercions. small change when calling call hook. (Roberto Ierusalimschy)
  • [a275d9a2] functions "lua_is..." consider coercions. (Roberto Ierusalimschy)
  • [7e0be1fb] unused "#include" (Roberto Ierusalimschy)
  • [54ba642c] new module "undump.o" (Roberto Ierusalimschy)
  • [8826eb79] small correction (Roberto Ierusalimschy)
  • [e701a863] "openfile" now returns the file (Roberto Ierusalimschy)
  • [3e1f7318] integration with undump (execution of pre-compiled chuncks) (Roberto Ierusalimschy)
  • [f86c1367] new functions "rename" and "tmpname". new option 'q' for function "format". new example, about vararg. (Roberto Ierusalimschy)
  • [58fd8aa8] added cast instead of union [lazy?] (Luiz Henrique de Figueiredo)
  • [3226ac2d] "lua_ntable" and "lua_nconstant" are public (undump.c uses them). (Roberto Ierusalimschy)
  • [3e9daa74] creation of strings must call garbage collector. (Roberto Ierusalimschy)
  • [7236df87] new function "luaI_buffer". (Roberto Ierusalimschy)
  • [675e6083] new functions "rename" and "tmpname". (Roberto Ierusalimschy)
  • [1dc0e82a] "freefunc" now is public. (Roberto Ierusalimschy)
  • [c2eb02aa] both "write" and "format" need "addquoted". (Roberto Ierusalimschy)
  • [2fee7e42] new option 'q' in function "format". (Roberto Ierusalimschy)
  • [281db390] no more "ugly" programs. no more comments with '#'. (Roberto Ierusalimschy)
  • [df8cf53c] removed tf->marked=0; (Luiz Henrique de Figueiredo)
  • [40306b10] small corrections. (Roberto Ierusalimschy)
  • [5eff5d3e] moved some includes from undump.h LoadString now uses luaI_buffer added LoadNewString needs tf->marked=0 luaI_undump now returns int and aborts if luaI_dorun fails (Luiz Henrique de Figueiredo)
  • [8ad8426c] moved some includes to undump.c luaI_undump now returns int (Luiz Henrique de Figueiredo)
  • [3cab7cd0] undump.c is now a module panic is now lua_error included swap.c tries float permutation earlier new functions: luaI_undump1 and luaI_undump (Luiz Henrique de Figueiredo)
  • [bb26efbb] definitions for lua decompiler undump is now a module (Luiz Henrique de Figueiredo)
  • [5c0e5fd3] details. (Roberto Ierusalimschy)
  • [621322a3] "PrintCode" now is defined in luac. (Roberto Ierusalimschy)
  • [e33a3b8e] now loads size as two words (Luiz Henrique de Figueiredo)
  • [9a6cccb0] removed support for local vars (Luiz Henrique de Figueiredo)
  • [b58225e9] unused declaration removed. (Roberto Ierusalimschy)
  • [852b9194] now swaps bytes (but need to make it more robust) (Luiz Henrique de Figueiredo)
  • [ef949996] parse.o was included twice in lua.a (Roberto Ierusalimschy)
  • [6f30fa98] small change to avoid error on "lua_pushstring(NULL)". (Roberto Ierusalimschy)
  • [74102bd7] small corrections. (Roberto Ierusalimschy)
  • [8d82aa82] small correction (about types) (Roberto Ierusalimschy)
  • [cec1ffb8] uses ID_* constants simplified signature checking loads local vars (Luiz Henrique de Figueiredo)
  • [870967ca] headers for Main and others are different (Luiz Henrique de Figueiredo)
  • [66fc0f55] using double to read numbers. (Roberto Ierusalimschy)
  • [d6e4c297] fixed strings (not collectable) don't need to be inserted in the constant table. (Roberto Ierusalimschy)
  • [3e429699] main always reads "luac.out" (Luiz Henrique de Figueiredo)
  • [712ac505] small correction (Roberto Ierusalimschy)
  • [f935d339] check if jump is bigger than 2^16. (Roberto Ierusalimschy)
  • [30dd3a2d] small changes (preparing for new module of pre-compilation) (Roberto Ierusalimschy)
  • [b04f88d5] functions now linked into a list headed by main (Luiz Henrique de Figueiredo)
  • [b3c10c8c] fix to PUSHFUNCTION now correctly at tf->marked (Luiz Henrique de Figueiredo)
  • [5c1bd89a] added fix to PUSHFUNCTION and support for main function (Luiz Henrique de Figueiredo)
  • [15f3ab09] load bytecodes from files (Luiz Henrique de Figueiredo)
  • [c7e834f4] function "write_quoted" rewritten more clearly. (Roberto Ierusalimschy)
  • [8c1a9899] functions "luaI_free" and "luaI_realloc" (or macro "growvector") may be called with NULL. (Roberto Ierusalimschy)

[v2.3-beta]

  • [05caf09a] list of incompatibilities with version 2.2. new macro \Version. (Roberto Ierusalimschy)
  • [168a865e] more appropriate error message for "date" (Roberto Ierusalimschy)
  • [15c17c24] small improvements (Roberto Ierusalimschy)
  • [45cf2448] useless #include. (Roberto Ierusalimschy)
  • [c56e2b2e] new version (Roberto Ierusalimschy)
  • [d1608c59] reserved words are stored in main string table; "marked" field is used to indicate its type. Table initializations centralized by "tree.c". (Roberto Ierusalimschy)
  • [0f4903a5] new header "lex.h". (Roberto Ierusalimschy)
  • [772f25d3] new header for lex.c (Roberto Ierusalimschy)
  • [f1a1eda7] old trick in "strsub" does not work with new hash table for strings. (Roberto Ierusalimschy)
  • [41259bff] BIG CHANGE: new data structure for constants, strings and globals, using an array of hash tables for all them. (Roberto Ierusalimschy)
  • [afaa98a6] no more "lua_pushliteral". (Roberto Ierusalimschy)
  • [73be9182] a backslash followed by a newline allows the newline to go into a string. (Roberto Ierusalimschy)
  • [ca412214] new function "date", replaces old "date" and "time". (Roberto Ierusalimschy)
  • [80172282] "lua_check_number" accepts strings convertible to numbers. (Roberto Ierusalimschy)
  • [3abc25fa] new functions "random" and "randomseed". (Roberto Ierusalimschy)
  • [f4d67761] new section describing the debug interface. (Roberto Ierusalimschy)
  • [369c5fe3] lock mechanism more robust; nil is pseudo-locked under index -1. (Roberto Ierusalimschy)
  • [7918c6cf] small bug (Roberto Ierusalimschy)
  • [826d70fc] new type lua_Function for activation records (Roberto Ierusalimschy)
  • [bbb23048] correction of dependencies (include's). (Roberto Ierusalimschy)
  • [5a3a1fe4] debug interface functions to manipulated local variables: "lua_getlocal" and "lua_setlocal". (Roberto Ierusalimschy)
  • [56fb06b6] "lua_debug" now is exported through debug interface (luadebug.h) (Roberto Ierusalimschy)
  • [995a9f71] no more "Bool" type (Roberto Ierusalimschy)
  • [a0ef046e] elimination of unused declarations (left from old modifications) (Roberto Ierusalimschy)
  • [5fa51fc4] new option "q" in function "write", to write literal strings. (Roberto Ierusalimschy)
  • [15057aa0] new examples showing data structures and object-oriented programming. generic improvements and corrections. (Roberto Ierusalimschy)
  • [1431b52e] improve of compiling error messages. (Roberto Ierusalimschy)
  • [98fe770c] small bug (Roberto Ierusalimschy)
  • [43382ce5] new fallback "getglobal". (Roberto Ierusalimschy)
  • [abfebf1e] new example showing how to build modules. (Roberto Ierusalimschy)
  • [b1c02c7f] new fallback "getglobal". modifications to generate an index (not automatically yet). (Roberto Ierusalimschy)
  • [84df3ac2] new functions "tostring", "assert", and "format". (Roberto Ierusalimschy)
  • [55a70c97] "read('s')" was "eating" delimiter. (Roberto Ierusalimschy)
  • [0d50b87a] lua_table now has references to global variable names (TreeNode's). (Roberto Ierusalimschy)
  • [19290a8e] "dofile" issues an error when called with non string arguments, and runs stdin when called without arguments. (Roberto Ierusalimschy)
  • [d8459633] "setglobal" and "getglobal" moved to inout.c, as it concentrates pre-defined library. new function "assert". (Roberto Ierusalimschy)
  • [8dae4657] "setglobal" and "getglobal" moved to inout.c, as it concentrates pre-defined library. (Roberto Ierusalimschy)
  • [ca7be1cf] elimination of function "int2str", as it can be replaced by "format('%c', .)" (Roberto Ierusalimschy)
  • [445872a6] "dofile" does not issue a warning when unable to open the file, but only returns an error code. (Roberto Ierusalimschy)
  • [3681d025] new function "assert" (Roberto Ierusalimschy)
  • [2998049f] local variable stack needs only the name of the variable (TreeNode); this way is simpler and faster than old way. (Roberto Ierusalimschy)
  • [24ccc7c0] correction of some order dependencies in debug code. (Roberto Ierusalimschy)
  • [be48c4d9] add_char now is global. time returns week-day. (Roberto Ierusalimschy)
  • [a19f9056] new function "tostring". (Roberto Ierusalimschy)
  • [5b71ab78] add_char now is global. new function format. (Roberto Ierusalimschy)
  • [481bafd5] add_char now is global. (Roberto Ierusalimschy)
  • [e74b250d] memory overflow tries a garbage collection; if it fails then exit the program. (Roberto Ierusalimschy)
  • [cd54c95e] bug: "read" with format MUST read given number of chars (if file ends before that reports an error, returning nil). "readuntil" can be called with nil or no parameters to read until EOF. (Roberto Ierusalimschy)
  • [bf006eea] "getobjectname" got a "lua_" prefix. (Roberto Ierusalimschy)
  • [b2afc410] hooks for line change and function calls; first version. (Roberto Ierusalimschy)
  • [19cfa323] correction of dependencies from "luadebug.h". (Roberto Ierusalimschy)
  • [27ae8432] names generated by yacc (starting with "yy") are changed to start with "luaY_", to avoid name clashes with hosts using yacc. (Roberto Ierusalimschy)
  • [415ee250] bug: luaI_findconstantbyname may change the value of lua_constant. (Roberto Ierusalimschy)

[v2.2]

  • [f188e100] useless "#include math.h" (Roberto Ierusalimschy)
  • [07d64e78] reference manual (Roberto Ierusalimschy)
  • [fa649fbc] new distribution (Roberto Ierusalimschy)
  • [0c3e0fd9] "read" must return 'nil' on EOF. (Roberto Ierusalimschy)
  • [3bb64431] changes to improve portability (Roberto Ierusalimschy)
  • [f57afd6e] re-implementation of functions "write" and "read" (Roberto Ierusalimschy)
  • [5f664a45] error functions are shared by all libraries (Roberto Ierusalimschy)
  • [87fe07c0] little improvement (Roberto Ierusalimschy)
  • [f9a9bd77] print_stack now gets a parameter (file to print); small changes. (Roberto Ierusalimschy)
  • [63b8a6fd] "getobjname" checks first fallbacks (so, if a function is global and a fallback, it is reported as a fallback). (Roberto Ierusalimschy)
  • [024f2374] "AUTHORS" separated from COPYRIGHT. (Roberto Ierusalimschy)
  • [9d9f9c48] local variables may appear inside blocks in main code. (Roberto Ierusalimschy)
  • [15d48576] functions now may be declared with any "var" as a name; therefore they do not have a "baptism" name. Changes in debug API to acomodate that. (Roberto Ierusalimschy)
  • [39b071f7] new syntax for function declarations: "function a.x () ... " new semantics for function declarations: function f () is valid only at run-time. (Roberto Ierusalimschy)
  • [9efc257d] new method to keep debug line information: current line is stored on the Lua stack, just below (new) base, with tag LUA_T_LINE. SETLINE opcodes are generated by lex. (Roberto Ierusalimschy)
  • [fa71304e] "dofile" now accepts NULL as parameter, to run stdin. (Roberto Ierusalimschy)
  • [b5745d11] uses "isatty" to check if executes stdin line by line or as a file. (Roberto Ierusalimschy)
  • [ebcf546a] small changes in the format of debug information. (Roberto Ierusalimschy)
  • [2b45f896] small bug (Roberto Ierusalimschy)
  • [a66404ac] function "setfallback" now gives an error if called with wrong parameters. (Roberto Ierusalimschy)
  • [d8065975] new module luadebug.h. (Roberto Ierusalimschy)
  • [d24253d9] module to declare API for debuging. (Roberto Ierusalimschy)
  • [2cffb08a] new style for debug information about functions: no more SETFUNCTION opcodes. When a function is called, its entry in the stack is marked with LUA_T_(C)MARK, so function 'luaD_stackedfunction' can find it if needed. Functions now have their file names in the headers, so there is no need of 'addfile' and the like. (Roberto Ierusalimschy)
  • [15f40fdd] 'nextvar' now traverses the symbol array, instead of the constant tree. (Roberto Ierusalimschy)
  • [970995c3] 'luaI_travfallbacks' now can look for a fallback. (Roberto Ierusalimschy)
  • [b17c7681] new function "luaI_findconstantbyname". (Roberto Ierusalimschy)
  • [b0743062] bug. "fgets" reads n-1 chars. (Roberto Ierusalimschy)
  • [3c75b755] new module "func", for GC of functions, and new "defines" for configuration setup. (Roberto Ierusalimschy)
  • [36a7fda0] bug: stack overflow error must leave space on the stack for error function. (Roberto Ierusalimschy)
  • [1bb3fb73] fallback table now has number of parameters and results of each fallback. This information is used by opcode.c, when calling a fallback. (Roberto Ierusalimschy)
  • [7e013486] "docall" now assumes that called function is always on the stack, just below "base". That gives more regularity for the stack shape, and prevents fallbacks of being garbage collected if they are redefined during execution. (Roberto Ierusalimschy)
  • [28b3017b] lua function "type" now returns the string "function" both for lua functions and c functions. (Roberto Ierusalimschy)
  • [ae808860] new functions: "ascii" and "int2str", small "re-engineering" on parameter checking. (Roberto Ierusalimschy)
  • [a47e8c7d] small "re-engineering" on parameter checking. correction of function "atan2". (Roberto Ierusalimschy)
  • [79ce6198] new command line options: -v to print Copyright message, and - to read stdin. (Roberto Ierusalimschy)
  • [233f0b0c] definitions for Copyright and version notices (Roberto Ierusalimschy)
  • [025589f7] nova forma de comentarios: de '#' ate' fim de linha (para uso de lua como shell) (Roberto Ierusalimschy)
  • [68f337df] Garbage collection of functions + header structure for functions (Roberto Ierusalimschy)
  • [f132ac03] Module to manipulate function headers. (Roberto Ierusalimschy)
  • [ec785a1d] new option for "writeto" and "readfrom", to allow piped I/O on machines that support it. (Roberto Ierusalimschy)
  • [e0621e61] new function "atan2". (Roberto Ierusalimschy)
  • [38411aa1] small correction to avoid problems with DOS/Windows (Roberto Ierusalimschy)
  • [3ec4f4eb] small corrections to avoid warnings. (Roberto Ierusalimschy)
  • [367139c6] buffer for literals now grows dynamically, allowing big programs between [[ and ]]. (Roberto Ierusalimschy)
  • [457bac94] small corrections to avoid uninitialized global variables. (Roberto Ierusalimschy)
  • [bcf46ee8] new syntax for strings: [[ ... ]]. Still in tests, since the code does not check buffer overflow. (Roberto Ierusalimschy)
  • [97b2fd1b] syntax for {...;...} is more flexible now. (Roberto Ierusalimschy)
  • [e13753e2] Ajustar limites para garbage collection. (Waldemar Celes)
  • [ec79f252] new lua function "getstack"; new interface to function luaI_reportbug. (Roberto Ierusalimschy)
  • [18ea2eff] calls to "lua_reportbug" changed to "lua_error", since "lua_reportbug" is only an internal function to build debug information (Roberto Ierusalimschy)
  • [81566048] run-time stack now is controled at run time, instead of compilation time. (Waldemar Celes)
  • [36b6fdda] function "type" now returns a second result: the tag of the type, so lua can discriminate different kinds of user data. (Roberto Ierusalimschy)
  • [3c67d259] error message buffer got a bigger size (Waldemar Celes)
  • [2043a0ca] adjust checks if stack has enough space (Roberto Ierusalimschy)

[v2.1]

  • [0761c4c0] included string.h (Luiz Henrique de Figueiredo)
  • [2d053126] new function for copy strings (strdup is not ANSI) (Roberto Ierusalimschy)
  • [3203460c] better approximation for PI (Roberto Ierusalimschy)
  • [bb00cd66] function "stat" needs "sys/types.h" (Roberto Ierusalimschy)
  • [7c342c48] header "stdlib.h" was missing (gcc does not warn that) (Roberto Ierusalimschy)
  • [b36cd823] header "string.h" was missing (gcc does not warn that) (Roberto Ierusalimschy)
  • [cda444d7] type names changed to avoid clashes (Roberto Ierusalimschy)
  • [dd28b830] a null lua_Object is LUA_NOOBJECT, not NULL. (Roberto Ierusalimschy)
  • [572ee14b] use yacc++ instead of yacc. (Roberto Ierusalimschy)
  • [61986261] libs should not use Lua internal functions (like mem.h). a null lua_Object is LUA_NOOBJECT, not NULL. (Roberto Ierusalimschy)
  • [8795aab8] new API function lua_pushlocked & lua_checkstack is a macro (Waldemar Celes)
  • [f83db16c] new API function lua_pushlocked (Waldemar Celes)
  • [6e0e9935] trocar a funcao para garbage colector adaptativo. (Waldemar Celes)
  • [97053335] Trocar 'pushstring' por 'pushliteral' na macro 'getfield'. (Waldemar Celes)
  • [f4591397] strdup is done via mem.c to control its memory allocation (Roberto Ierusalimschy)
  • [8faf4d1d] control of garbage collection is done with Longs, as there can be more than WORD objects to collect. (Roberto Ierusalimschy)
  • [53c0a0f4] function 'strfind' now has two optional parameters, to specify where to start and stop the search. (Roberto Ierusalimschy)
  • [ad97e9cc] small bug in fallback for power operator (Roberto Ierusalimschy)
  • [e4c69cf9] correcao de bug na construcao do formato. (Waldemar Celes)
  • [5b8ced84] stack is indexed by integers, not Words, to allow bigger stack on 32 bit machines (Roberto Ierusalimschy)
  • [df3a81ec] functions that no more return error codes now have return type void (Roberto Ierusalimschy)
  • [b8e76d9b] 'lua_getsubscript' and 'lua_storesubscript' now run unprotected (to improve efficiency) (Waldemar Celes)
  • [dc97a07e] better names for 'y.tab.c' and 'y.tab.h' (now they are moved to 'parser.c' and 'parser.h') (Waldemar Celes)
  • [4dce79f7] uses 'limits.h' for MAX_WORD and MAX_INT (Waldemar Celes)
  • [a8220fee] bytecodes are indexed by integers, not Words, to allow bigger code on 32 bit machines (Waldemar Celes)
  • [8bc4b0d7] routines are defined before rules, to allow correct compilation with bison (Waldemar Celes)
  • [96b2b90c] new file 'types.h' (Roberto Ierusalimschy)
  • [89d823f1] implementation dependent types (Roberto Ierusalimschy)
  • [8cb8594a] better control of integer types and their limits (Roberto Ierusalimschy)
  • [fe833833] a field with value 'nil' must call the fallback 'index' (Roberto Ierusalimschy)
  • [068d1cd1] new constant LUA_NOOBJECT. 'lua_createtable' does not have parameters. 'lua_copystring' now is a macro (Roberto Ierusalimschy)
  • [3365a352] new constant LUA_NOOBJECT (Roberto Ierusalimschy)
  • [fad57bfa] new constant LUA_NOOBJECT. 'lua_error' never returns (Roberto Ierusalimschy)
  • [891cab8a] Passar os argv apos '--' para Lua. Captura-se cada argv com a funcao argv(i), onde i = 1, 2, ... (Waldemar Celes)
  • [2486d677] no special treatment for C++ (this should be done in the C++ code) (Roberto Ierusalimschy)
  • [84b99d25] debug message goes to stderr (Roberto Ierusalimschy)
  • [5dfd17dd] new API function 'lua_pushliteral' (Roberto Ierusalimschy)
  • [ce4fb88b] opcode PUSHSELF has a parameter that indicates the method to be called (Roberto Ierusalimschy)
  • [e742d542] small bug correction (Roberto Ierusalimschy)
  • [0f580df7] 'main' returns condition code (Roberto Ierusalimschy)
  • [2b301d71] new hash function; hash value for strings are kept with the string (Roberto Ierusalimschy)
  • [10bdd838] new hash function; hash value for strings are kept with the string (Roberto Ierusalimschy)
  • [fbfa1cbe] erased function yywrap (nobody used it) (Roberto Ierusalimschy)
  • [10c1641b] new modules 'mem' and 'fallback'. correction of dependencies (Roberto Ierusalimschy)
  • [e901e0fe] modifications to avoid warnings when compiling yacc code (Roberto Ierusalimschy)
  • [d490555e] garbage collection tag for strings organized in struct TaggedString (Roberto Ierusalimschy)
  • [ad0ec203] small simplification (Roberto Ierusalimschy)
  • [577ae944] correction of function tonumber (Roberto Ierusalimschy)
  • [68d1091b] no more unary '+' (Roberto Ierusalimschy)
  • [52db68a6] debug shows lines where functions were called (Roberto Ierusalimschy)
  • [bba1ae42] new lua functions 'getglobal' and 'setglobal' (Roberto Ierusalimschy)
  • [609392ff] fallback for "call expression not a function" errors (Roberto Ierusalimschy)
  • [96ea2e0f] fallback to unary minus is 'arith' with operation code 'unm' (Roberto Ierusalimschy)
  • [93ccdd52] lua_lock receives its parameter via stack. beginblock and endblock do not have parameters (Roberto Ierusalimschy)
  • [333a4f13] lua_lock receives its parameter via stack (Roberto Ierusalimschy)
  • [73664eb7] function 'lua_createstring' moved from table.c to tree.c (Roberto Ierusalimschy)
  • [feed56a0] small correction (Roberto Ierusalimschy)
  • [1929ddcf] userdata can have different tags (Roberto Ierusalimschy)
  • [aa4cd37a] small bug corrected (Roberto Ierusalimschy)
  • [a84aa11f] pow operation is defined in mathlib.c (Roberto Ierusalimschy)
  • [9bee23fd] listing did not list POWOP (Roberto Ierusalimschy)
  • [3bd0f9e2] uses new memory module (mem.c). small changes in seting debug line. if and elseif unified in a outine 'codeIf' (Roberto Ierusalimschy)
  • [5406d391] new API functions startblock and endblock (Roberto Ierusalimschy)
  • [b234da1c] changes in garbage collection control (Roberto Ierusalimschy)
  • [d6a1699e] uses a single list to keep allocated strings. (Roberto Ierusalimschy)
  • [a5862498] set first position of a free block to -1, to catch errors (Roberto Ierusalimschy)
  • [2b5bc5d1] new module for memory allocation (Roberto Ierusalimschy)
  • [94686ce5] correction of function 'nextvar' (Roberto Ierusalimschy)
  • [86b35cf4] unification of symbol tree and constant tree (Roberto Ierusalimschy)
  • [3b7a3665] lua_equalObj now is global (and is used by opcode) (Roberto Ierusalimschy)
  • [e1d91fd0] new API function to create tables (Roberto Ierusalimschy)
  • [5e60b961] small changes to avoid shadowing (Roberto Ierusalimschy)
  • [e4645c83] small changes in 'ugly' part. (Roberto Ierusalimschy)
  • [0c5ac77c] small corrections to avoid 'warings' with acc. do_call was moving results in the wrong order. (Roberto Ierusalimschy)
  • [b8996eaa] small corrections to avoid 'warings' with acc (Roberto Ierusalimschy)
  • [ff7f7694] small changes in error recovery (Roberto Ierusalimschy)
  • [8a0521fa] fallback for garbage collection (Roberto Ierusalimschy)
  • [9deac277] fallback list moved from opcode.c to fallback.c (Roberto Ierusalimschy)
  • [d531ccd0] execution of 'mains' separated from calls (Roberto Ierusalimschy)
  • [df0cfc1e] calls lua_reportbug instead of lua_error, in default fallbacks (Roberto Ierusalimschy)
  • [5f2d187b] frees file names when unstacked (Roberto Ierusalimschy)
  • [6b387e01] lua_parse has a different interface (Roberto Ierusalimschy)
  • [d0780fa1] lua_call cannot be a macro, because it would push the function over the parameters (Roberto Ierusalimschy)
  • [fc0de64c] lua_debugline is kept in the stack 'funcstack' when debugging. (Roberto Ierusalimschy)
  • [b8bfa962] because lua_error does a longjmp, there is no need to a variable 'err'. lua_parse has a different interface, to allow the free of the main block even if compilation fails. small changes in the debug system. (Roberto Ierusalimschy)
  • [dabe0951] garbage collection for locked objects (Roberto Ierusalimschy)
  • [65f28f08] error function for Lua (Roberto Ierusalimschy)
  • [2cf954b8] lock mechanism (Roberto Ierusalimschy)
  • [aa7b1fce] new API (Roberto Ierusalimschy)
  • [d95a8b31] new API: lua_Object now is an integer (Roberto Ierusalimschy)
  • [9ffba7a3] first implementation of 'fallbacks' (Roberto Ierusalimschy)
  • [de4e2305] Type renamed to lua_Type (Roberto Ierusalimschy)
  • [63d30016] module to implement default fallbacks and lock mechanisms (Roberto Ierusalimschy)
  • [62ec3797] inheritance is not built-in (Roberto Ierusalimschy)
  • [0a5dce57] new opcodes for '>' and '>=' (Roberto Ierusalimschy)
  • [8c22057b] new global function 'setfallback' (Roberto Ierusalimschy)
  • [253655ae] small corrections. (Roberto Ierusalimschy)
  • [c635044f] creation of function do_protectedrun, that executes lua code enclosed in a setjmp, with error recovery. Elimination of functions lua_isnil, etc. (Roberto Ierusalimschy)
  • [3db06a95] Elimination of functions lua_isnil, etc. (Roberto Ierusalimschy)
  • [31d58e2f] more functions from opcode.c 'open_file' and 'open_string' return an error message lua_type renamed to luaI_type (I for Internal, as this function is not exported outside lua) (Roberto Ierusalimschy)
  • [42ef3f93] there is no need of predefined constants. (Roberto Ierusalimschy)
  • [2651afc4] RESET is generated at codereturn. (Roberto Ierusalimschy)
  • [5cb6856e] because lua_error now does a longjmp, many functions do not need to check conditions. (Roberto Ierusalimschy)
  • [852d9a85] function 'lua_addfile' returns an error message (Roberto Ierusalimschy)
  • [6b18cc9a] prototype for function 'yylex' (Roberto Ierusalimschy)
  • [fbf887ec] new way to call functions, plus several small changes. This is a temporary version! (Roberto Ierusalimschy)
  • [ae778648] tags T_NIL, etc, changed to LUA_T_NIL, etc some lua_ functions changed form opcode.c to here (Roberto Ierusalimschy)
  • [0162decc] tags T_NIL, etc, changed to LUA_T_NIL, etc (Roberto Ierusalimschy)
  • [ac68a3ab] frees filename from file stack (Roberto Ierusalimschy)
  • [f53460aa] CREATEARRAY now has an argument, the size of the array to create. (Roberto Ierusalimschy)
  • [41e4c579] small corrections (Roberto Ierusalimschy)
  • [fb23cd2e] deletion of 'include mm.h' (Roberto Ierusalimschy)
  • [2f1de3b1] implementacao das funcoes 'date', 'time' e 'beep'. troca de nome de 'abort' para 'exit' (Waldemar Celes)
  • [1a6536aa] deletion of 'include mm.h' (Roberto Ierusalimschy)
  • [d7cb47fa] new parameter in function 'tree_create'. Maybe we will return to version 1.1 (Waldemar Celes)
  • [f84abc67] split to 'ugly.h'. (Waldemar Celes)
  • [3386e3c1] definition of ugly tokens (Waldemar Celes)
  • [25010f8e] remove of 'printf' for debuging. (Roberto Ierusalimschy)
  • [424db1db] power operator (^). no more contructors (@). methods can be called on indexed variables. fixed debuging information. (Waldemar Celes)
  • [e9049cbf] files end with EOF, instead of 0. (Waldemar Celes)
  • [f8c81593] adaptative garbage collection. (Waldemar Celes)
  • [d1c5f429] new algorithm for reading floats. files end with EOF, instead of 0. (Waldemar Celes)
  • [ad07c0f6] new operations POWOP (power) and PUSHMARKMET (for marking method calls). remove of operation PUSHOBJECT. (Waldemar Celes)
  • [fca10c67] Aumentar buffer para saida. (Waldemar Celes)
  • [6bc68d46] Acertar bug para evitar formato "%5.0s", por exemplo. (Waldemar Celes)
  • [ceaaa0cc] Correcao do tratamento de erro reportado dentro de uma funcao. (Waldemar Celes)
  • [82ceb12b] Implementacao das funcoes para conversao de angulos rad r deg. (Waldemar Celes)
  • [87dded93] Mudancas na sintaxe para a versao 2.0. Igual relacional passa a ser ==, tiramos o colchete na criacao de tabelas usando apenas chaves (podendo fazer inicializacao mista). O caracter @ so' deve estar presente quando se tem construtores associados. / (Waldemar Celes)
  • [d107d5bf] implementacao de busca no campo godparent em substituicao ao campo parents. (Waldemar Celes)
  • [d7d7b477] consertar bug no formato real com zero casas decimais e implementar a funcao readuntil. (Waldemar Celes)
  • [dc6d0dcc] retirar especificador de formato %n da funcao ToReal e acertar funcao lua_convtonumber. (Waldemar Celes)
  • [7cfb5ff4] Mudancas para tornar lex.c um modulo independente dos outros modulos de Lua (Waldemar Celes)
  • [24c962de] added support for ugly tokens (Luiz Henrique de Figueiredo)
  • [98d95096] sai strtod, entra sscanf. permite conversao de numeros com espacos em volta. (Waldemar Celes)
  • [98263e2e] acertar bug no formato de string. (Waldemar Celes)
  • [d2117d66] default size for arrays is no more 101, as arrays now can grow. (Waldemar Celes)
  • [0dcae99d] new field 'next' in struct 'Hash', to list tables for garbage collection. (Waldemar Celes)
  • [b826a399] Implementacao de heranca multipla. (Waldemar Celes)
  • [1ea0d092] Alteracao do buffer de funcao de 32 para 64. (Waldemar Celes)
  • [3693f3f0] escapes ' e " em strings; correcao do escape \ (Waldemar Celes)
  • [0c6b906c] Compatibilizacao com C++. (Waldemar Celes)
  • [9294a278] nova funcao 'debug', para auxiliar debugacao de programas lua. (Roberto Ierusalimschy)
  • [0ec3a214] inclui 'lua.h' que contem prototipos das funcoes 'lua_errorfunction' e 'lua_error'. (Roberto Ierusalimschy)
  • [0624540e] Implementacao da macro 'lua_strcmp' (Waldemar Celes)
  • [a4eeb099] Alteracao na macro 'streq' (Waldemar Celes)
  • [c364c728] inclusao de 'lualib.h' para ter prototipos das funcoes de 'iolib_open' e 'strlib_open'. (Waldemar Celes)
  • [7c052660] novas funcoes 'gettable' e 'pushtable'. (Waldemar Celes)
  • [592a9492] heranca e nova implementacao do hash. (Waldemar Celes)
  • [c4b8b1b9] novas funcoes 'gettable' e 'pushtable', nova implementacao do hash e heranca nas indexacoes. (Waldemar Celes)
  • [f490b1bf] Implementacao das funcoes 'log', 'log10' e 'exp'. (Waldemar Celes)
  • [3921b43e] Implementacao das funcoes 'getenv' e 'abort' (Waldemar Celes)
  • [b28da81c] Alteracao do hash, trocando tratamento de colisao por lista pela estrategia de re-hash. Foi feito uma avaliacao da funcao de hash, e constatado sua eficiencia com uma media de 4 acessos no hash ate' 70% ocupado. (Waldemar Celes)
  • [41fd2328] Implementacao da definicao e chamada de METODOS. (Waldemar Celes)
  • [be7aa385] implementacao de dois buffer de 'yytext' para evitar bug no look ahead do yacc (Waldemar Celes)
  • [088cc3f3] evitar, durante consultas, criacao de nos nao encontrados. (Waldemar Celes)
  • [5034be66] Alteracao na funcao 'write" para permitir acrescentar caracteres de espacamento, tabs, newline, etc. nos formatos. Corrigiu tambem bug do formato 'F' maiusculo. (Waldemar Celes)
  • [b1e9b378] Implementacao de funcoes para tratar Lua function em C e correcoes de bugs nas tabelas dinamicas. (Waldemar Celes)
  • [467288e5] arquivo nao mais utilizado em Lua. (Roberto Ierusalimschy)
  • [e9e9cb03] Aumentar precisao do valor de PI. (Waldemar Celes)
  • [0eb6ee3f] novos warnings "missing-prototypes" e "ansi". (Waldemar Celes)
  • [6c99b8bb] opcao "clear" para limpar arquivos que podem ser reconstruidos pelo make (menos os .a e o executavel "lua"). (Waldemar Celes)

[v1.2]

  • [6625296c] inclui arquivo "tree". (Waldemar Celes)
  • [493d718b] Uso de arvores binarias para armazenar nomes e realocacao dinamica de tabelas (pilhas, hashtable, globais, codigo, etc.) (Waldemar Celes)
  • [1c749a30] Arvore binaria de strings, variaveis e constantes. (Waldemar Celes)
  • [cde6ab17] Correcao de erro na funcao read quando a variavel que especifica o formato nao era uma string e correcao do erro para ler strings entre aspas nula no formato livre. (Waldemar Celes)
  • [44521b21] Implementacao da nova estrategia para armazenar os arrays em lista encadeada. (Waldemar Celes)
  • [f8fb7b39] Alteracao do tipo da variavel "pc" na compilacao, passando a ser indice e nao mais ponteiro. (Waldemar Celes)
  • [14b6ab35] Nova estrategia de alocacao de buffers para codigo intermediario. (Waldemar Celes)
  • [3ee5e71d] Correcao da funcao PrintCode (Waldemar Celes)
  • [c77d27af] O token NAME deixa de estar associado a um indice da tabela de simbolos e passa a conter o ponteiro da string yytext. Recebido o token NAME, decide-se entre um simbolo ou uma constante. (Waldemar Celes)
  • [dd704b8f] Retirar chamada da funcao lua_findsymbol associada a cada token NAME. A decisao de chamar lua_findsymbol ou lua_findconstant fica a cargo do modulo "lua.stx". (Waldemar Celes)
  • [ed80de37] Correcao de bug: uma string ja' existente na tabela de string nao estava sendo liberada. (Waldemar Celes)
  • [8ca98096] Alteracao para retirar codificacao de NOP's, substituindo pela utilizacao de "union" com "chars" para codificar Word e float. Observa-se que foram realizados testes antes da alteracao e constatou-se que do bytecode anteriormente gerado, NOP representava de 10 a 13% do total de bytes do codigo. Esta percentagem chegava ate' a 20% na caso de descricao de metafile utilizando Lua. (Waldemar Celes)
  • [662e2fa5] Modificaco para reservar espaco do byte para marcar constantes pre-definidas. (Waldemar Celes)
  • [540dc65b] Acrescentar o gerenciador de memoria "mm", corrigir bug reservando o byte para a coleta de lixo nas constantes pre-definidas e colocar um teste em tempo de execucao para evitar duplicidade de valores na tabela de strings (teste ainda linear). (Waldemar Celes)
  • [ea1a7a6b] Acrescentar o gerenciador de memoria "mm" e corrigir um bug pois no novo "lex" o token FUNCTION nao tem valor associado. (Waldemar Celes)
  • [3577eb6f] Acrescentar o include do gerenciador de memoria "mm". (Waldemar Celes)
  • [7f3d01c2] otimizacao do codigo para construtores. correcao do tamanho do buffer de codigo. (Roberto Ierusalimschy)
  • [0ea84a3e] otimizacao do codigo para construtores. pequenas modificacoes na execucao de LOADi e similares. (Roberto Ierusalimschy)
  • [2c9d30f9] otimizacao do codigo para construtores. (Roberto Ierusalimschy)
  • [ad1ebdc4] uso de pattern-matching para regras de RCS. (Roberto Ierusalimschy)
  • [8886f221] 1) execute retorna resultado Unix da execucao do comando. 2) correcao parcial da read: retorna nil quando encontra EOF. (Roberto Ierusalimschy)
  • [019aa98f] correcao de bug em constantes (rotina code_number) entre 2 bytes e 4 bytes. (Roberto Ierusalimschy)
  • [23bfcdf9] "include"s de string.h e stdlib.h para evitar warnings (Roberto Ierusalimschy)
  • [d9ef3d30] opcao -O2 para otimizacao (Roberto Ierusalimschy)
  • [70b1eb4e] Tratamento do token $debug e $nodebug (Waldemar Celes)
  • [a4a3357c] Novo analizador lexico para LUA (Roberto Ierusalimschy)
  • [7f8a7e16] criacao do token WRONGTOKEN, necessario para o novo analizador lexico (Roberto Ierusalimschy)
  • [2058cc1d] analizador lexico de LUA (Roberto Ierusalimschy)
  • [f65ebced] eliminacao do tipo e funcoes relacionadas com Unput (Roberto Ierusalimschy)
  • [72f67fa8] eliminacao da funcao findenclosedconstant, cuja tarefa agora e' realizada pelo analizador lexico (Roberto Ierusalimschy)
  • [85600421] modificacao para pegar arquivos de subdiretorio RCS quando necessario (Roberto Ierusalimschy)
  • [686f09a4] ex script para corrigir y.tab.c (Roberto Ierusalimschy)
  • [21a3a58f] Libraries to be used in LUA programs (Waldemar Celes)
  • [2f5ff96e] LUA makefile (Waldemar Celes)
  • [eca01118] LUA lexis description (Waldemar Celes)
  • [93683d53] LUA YACC syntax and semantics (Waldemar Celes)
  • [4478f0ce] Module to control static tables (Waldemar Celes)
  • [64097041] LUA intermediate code interpreter (Waldemar Celes)
  • [75ed5043] Provide function to realise the input/output function and debugger facilities. (Waldemar Celes)
  • [1923c7d6] Input/output library to LUA (Waldemar Celes)
  • [b405fb0a] hash manager for lua (Waldemar Celes)
  • [212fdf86] String library to LUA (Waldemar Celes)
  • [26c3684c] hash manager for lua (Waldemar Celes)
  • [b74cea9e] Mathematics library to LUA (Waldemar Celes)
  • [f3f0e3db] LUA - Linguagem para Usuarios de Aplicacao (Waldemar Celes)
  • [f499f86c] io library (Waldemar Celes)
  • [d4438408] Linguagem para Usuarios de Aplicacao (Waldemar Celes)
  • [69bee7a3] Math library to LUA (Waldemar Celes)

[v1.0]

  • [b9dde086] This is Lua 1.0. It was never publicly released. This code is a snapshot of the status of Lua on 28 Jul 1993. It is distributed for historical curiosity to celebrate 10 years of Lua and is hereby placed in the public domain. (The Lua team)
  • [cd05d9c5] oldest known commit (The Lua team)