summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2020-12-07 11:17:30 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2020-12-07 11:17:30 -0300
commite2ea3b31c94bb3e1da27c233661cb2a16699c685 (patch)
tree1d817c8d90e5fbd2c52dff18383a085f2bc847c1
parent23051e830a8b212f831443eb888e93e30fa8bb19 (diff)
downloadlua-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.h10
-rw-r--r--ltests.h5
-rw-r--r--manual/manual.of5
-rw-r--r--testes/code.lua14
4 files changed, 31 insertions, 3 deletions
diff --git a/lauxlib.h b/lauxlib.h
index df3de4f8..65714911 100644
--- a/lauxlib.h
+++ b/lauxlib.h
@@ -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
diff --git a/ltests.h b/ltests.h
index f8c4466f..cb3a0b48 100644
--- a/ltests.h
+++ b/ltests.h
@@ -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 '...'