aboutsummaryrefslogtreecommitdiff
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-e2ea3b31c94bb3e1da27c233661cb2a16699c685.tar.gz
lua-e2ea3b31c94bb3e1da27c233661cb2a16699c685.tar.bz2
lua-e2ea3b31c94bb3e1da27c233661cb2a16699c685.zip
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,
160/* 160/*
161** Internal assertions for in-house debugging 161** Internal assertions for in-house debugging
162*/ 162*/
163#if !defined(lua_assert)
164
163#if defined LUAI_ASSERT 165#if defined LUAI_ASSERT
164#include <assert.h> 166 #include <assert.h>
165#define lua_assert(c) assert(c) 167 #define lua_assert(c) assert(c)
166#else 168#else
167#define lua_assert(x) ((void)0) 169 #define lua_assert(c) ((void)0)
170#endif
171
168#endif 172#endif
169 173
170 174
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,
130#define LUAI_MAXSTACK 50000 130#define LUAI_MAXSTACK 50000
131 131
132 132
133/* test mode uses more stack space */
134#undef LUAI_MAXCCALLS
135#define LUAI_MAXCCALLS 180
136
137
133/* force Lua to use its own implementations */ 138/* force Lua to use its own implementations */
134#undef lua_strx2number 139#undef lua_strx2number
135#undef lua_number2strx 140#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.
88Both @nil and @false make a condition false; 88Both @nil and @false make a condition false;
89they are collectively called @def{false values}. 89they are collectively called @def{false values}.
90Any other value makes a condition true. 90Any other value makes a condition true.
91Despite its name,
92@false is frequently used as an alternative to @nil,
93with the key difference that @false behaves
94like a regular value in a table,
95while a @nil in a table represents an absent key.
91 96
92The type @emph{number} represents both 97The type @emph{number} represents both
93integer numbers and real (floating-point) numbers, 98integer 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
55checkKlist(foo, {3.78/4, -3.78/4, -3.79/4}) 55checkKlist(foo, {3.78/4, -3.78/4, -3.79/4})
56 56
57 57
58foo = function (f, a)
59 f(100 * 1000)
60 f(100.0 * 1000)
61 f(-100 * 1000)
62 f(-100 * 1000.0)
63 f(100000)
64 f(100000.0)
65 f(-100000)
66 f(-100000.0)
67 end
68
69checkKlist(foo, {100000, 100000.0, -100000, -100000.0})
70
71
58-- testing opcodes 72-- testing opcodes
59 73
60-- check that 'f' opcodes match '...' 74-- check that 'f' opcodes match '...'