diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-12-07 11:17:30 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-12-07 11:17:30 -0300 |
| commit | e2ea3b31c94bb3e1da27c233661cb2a16699c685 (patch) | |
| tree | 1d817c8d90e5fbd2c52dff18383a085f2bc847c1 | |
| parent | 23051e830a8b212f831443eb888e93e30fa8bb19 (diff) | |
| download | lua-github-e2ea3b31c94bb3e1da27c233661cb2a16699c685.tar.gz | |
Details (do not affect regular code)
* Avoids multiple definitions of 'lua_assert' in test file.
* Smaller C-stack limit in test mode.
* Note in the manual about the use of false
* Extra test for constant reuse.
| -rw-r--r-- | lauxlib.h | 10 | ||||
| -rw-r--r-- | ltests.h | 5 | ||||
| -rw-r--r-- | manual/manual.of | 5 | ||||
| -rw-r--r-- | testes/code.lua | 14 |
4 files changed, 31 insertions, 3 deletions
@@ -160,11 +160,15 @@ LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, /* ** Internal assertions for in-house debugging */ +#if !defined(lua_assert) + #if defined LUAI_ASSERT -#include <assert.h> -#define lua_assert(c) assert(c) + #include <assert.h> + #define lua_assert(c) assert(c) #else -#define lua_assert(x) ((void)0) + #define lua_assert(c) ((void)0) +#endif + #endif @@ -130,6 +130,11 @@ LUA_API void *debug_realloc (void *ud, void *block, #define LUAI_MAXSTACK 50000 +/* test mode uses more stack space */ +#undef LUAI_MAXCCALLS +#define LUAI_MAXCCALLS 180 + + /* force Lua to use its own implementations */ #undef lua_strx2number #undef lua_number2strx diff --git a/manual/manual.of b/manual/manual.of index 606771f4..771bace0 100644 --- a/manual/manual.of +++ b/manual/manual.of @@ -88,6 +88,11 @@ The type @emph{boolean} has two values, @false and @true. Both @nil and @false make a condition false; they are collectively called @def{false values}. Any other value makes a condition true. +Despite its name, +@false is frequently used as an alternative to @nil, +with the key difference that @false behaves +like a regular value in a table, +while a @nil in a table represents an absent key. The type @emph{number} represents both integer numbers and real (floating-point) numbers, diff --git a/testes/code.lua b/testes/code.lua index 1f971cd7..4e00309f 100644 --- a/testes/code.lua +++ b/testes/code.lua @@ -55,6 +55,20 @@ end checkKlist(foo, {3.78/4, -3.78/4, -3.79/4}) +foo = function (f, a) + f(100 * 1000) + f(100.0 * 1000) + f(-100 * 1000) + f(-100 * 1000.0) + f(100000) + f(100000.0) + f(-100000) + f(-100000.0) + end + +checkKlist(foo, {100000, 100000.0, -100000, -100000.0}) + + -- testing opcodes -- check that 'f' opcodes match '...' |
