diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-10-29 16:01:26 -0200 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-10-29 16:01:26 -0200 |
| commit | 96f3a31b24074b2ce77d00599e694d1d04e9e556 (patch) | |
| tree | e868beff3c97469e20d03a0f1028beb8798cb2e6 | |
| parent | ff6c03433079c0ca7535bfdfd5cae6e90e0ae9da (diff) | |
| download | lua-96f3a31b24074b2ce77d00599e694d1d04e9e556.tar.gz lua-96f3a31b24074b2ce77d00599e694d1d04e9e556.tar.bz2 lua-96f3a31b24074b2ce77d00599e694d1d04e9e556.zip | |
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
| -rw-r--r-- | luaconf.h | 335 |
1 files changed, 165 insertions, 170 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: luaconf.h,v 1.223 2014/10/27 18:06:03 roberto Exp roberto $ | 2 | ** $Id: luaconf.h,v 1.224 2014/10/27 19:21:56 roberto Exp roberto $ |
| 3 | ** Configuration file for Lua | 3 | ** Configuration file for Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -19,13 +19,13 @@ | |||
| 19 | /* | 19 | /* |
| 20 | ** {================================================================== | 20 | ** {================================================================== |
| 21 | @@ LUA_INT_INT / LUA_INT_LONG / LUA_INT_LONGLONG defines type for | 21 | @@ LUA_INT_INT / LUA_INT_LONG / LUA_INT_LONGLONG defines type for |
| 22 | @@ Lua integers; you must define one of them. | 22 | ** Lua integers; you must define one of them. |
| 23 | @@ LUA_REAL_FLOAT / LUA_REAL_DOUBLE / LUA_REAL_LONGDOUBLE defines | 23 | @@ LUA_REAL_FLOAT / LUA_REAL_DOUBLE / LUA_REAL_LONGDOUBLE defines |
| 24 | @@ type for Lua floats. You must define one of them. | 24 | ** type for Lua floats. You must define one of them. |
| 25 | ** | 25 | ** |
| 26 | ** These definitions set the numeric types for Lua. Lua should work | 26 | ** These definitions set the numeric types for Lua. Lua should work |
| 27 | ** fine with any mix of these previous options (if supported by your | 27 | ** fine with any mix of these previous options (if supported by your |
| 28 | ** C compiler). The usual configurations are 64-bit integers and | 28 | ** C compiler). The usual configurations are 64-bit integers and |
| 29 | ** 'double' (the default) and 32-bit integers and 'float' (Small Lua, | 29 | ** 'double' (the default) and 32-bit integers and 'float' (Small Lua, |
| 30 | ** for restricted platforms). | 30 | ** for restricted platforms). |
| 31 | ** | 31 | ** |
| @@ -56,6 +56,13 @@ | |||
| 56 | /* }================================================================== */ | 56 | /* }================================================================== */ |
| 57 | 57 | ||
| 58 | 58 | ||
| 59 | |||
| 60 | /* | ||
| 61 | ** {================================================================== | ||
| 62 | ** System Configuration | ||
| 63 | ** =================================================================== | ||
| 64 | */ | ||
| 65 | |||
| 59 | /* | 66 | /* |
| 60 | @@ LUA_ANSI controls the use of non-ansi features. | 67 | @@ LUA_ANSI controls the use of non-ansi features. |
| 61 | ** CHANGE it (define it) if you want Lua to avoid the use of any | 68 | ** CHANGE it (define it) if you want Lua to avoid the use of any |
| @@ -71,15 +78,11 @@ | |||
| 71 | #endif | 78 | #endif |
| 72 | 79 | ||
| 73 | #if defined(LUA_WIN) | 80 | #if defined(LUA_WIN) |
| 74 | #if !defined(_CRT_SECURE_NO_WARNINGS) | ||
| 75 | #define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ANSI C functions */ | ||
| 76 | #endif | ||
| 77 | #define LUA_DL_DLL | 81 | #define LUA_DL_DLL |
| 78 | #define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ | 82 | #define LUA_USE_AFORMAT /* assume 'printf' handles 'aA' specifiers */ |
| 79 | #endif | 83 | #endif |
| 80 | 84 | ||
| 81 | 85 | ||
| 82 | |||
| 83 | #if defined(LUA_USE_LINUX) | 86 | #if defined(LUA_USE_LINUX) |
| 84 | #define LUA_USE_C99 | 87 | #define LUA_USE_C99 |
| 85 | #define LUA_USE_POSIX | 88 | #define LUA_USE_POSIX |
| @@ -87,6 +90,7 @@ | |||
| 87 | #define LUA_USE_READLINE /* needs some extra libraries */ | 90 | #define LUA_USE_READLINE /* needs some extra libraries */ |
| 88 | #endif | 91 | #endif |
| 89 | 92 | ||
| 93 | |||
| 90 | #if defined(LUA_USE_MACOSX) | 94 | #if defined(LUA_USE_MACOSX) |
| 91 | #define LUA_USE_C99 | 95 | #define LUA_USE_C99 |
| 92 | #define LUA_USE_POSIX | 96 | #define LUA_USE_POSIX |
| @@ -94,16 +98,26 @@ | |||
| 94 | #define LUA_USE_READLINE /* needs an extra library: -lreadline */ | 98 | #define LUA_USE_READLINE /* needs an extra library: -lreadline */ |
| 95 | #endif | 99 | #endif |
| 96 | 100 | ||
| 101 | /* }================================================================== */ | ||
| 102 | |||
| 103 | |||
| 97 | 104 | ||
| 98 | 105 | ||
| 99 | #include <limits.h> | 106 | #include <limits.h> |
| 100 | #include <stddef.h> | 107 | #include <stddef.h> |
| 101 | 108 | ||
| 109 | |||
| 110 | /* | ||
| 111 | ** {================================================================== | ||
| 112 | ** Configuration for Paths. | ||
| 113 | ** =================================================================== | ||
| 114 | */ | ||
| 115 | |||
| 102 | /* | 116 | /* |
| 103 | @@ LUA_PATH_DEFAULT is the default path that Lua uses to look for | 117 | @@ LUA_PATH_DEFAULT is the default path that Lua uses to look for |
| 104 | @@ Lua libraries. | 118 | ** Lua libraries. |
| 105 | @@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for | 119 | @@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for |
| 106 | @@ C libraries. | 120 | ** C libraries. |
| 107 | ** CHANGE them if your machine has a non-conventional directory | 121 | ** CHANGE them if your machine has a non-conventional directory |
| 108 | ** hierarchy or if you want to install your libraries in | 122 | ** hierarchy or if you want to install your libraries in |
| 109 | ** non-conventional directories. | 123 | ** non-conventional directories. |
| @@ -120,7 +134,7 @@ | |||
| 120 | #define LUA_PATH_DEFAULT \ | 134 | #define LUA_PATH_DEFAULT \ |
| 121 | LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ | 135 | LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ |
| 122 | LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ | 136 | LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ |
| 123 | LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ | 137 | LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ |
| 124 | ".\\?.lua;" ".\\?\\init.lua" | 138 | ".\\?.lua;" ".\\?\\init.lua" |
| 125 | #define LUA_CPATH_DEFAULT \ | 139 | #define LUA_CPATH_DEFAULT \ |
| 126 | LUA_CDIR"?.dll;" \ | 140 | LUA_CDIR"?.dll;" \ |
| @@ -152,14 +166,14 @@ | |||
| 152 | #define LUA_DIRSEP "/" | 166 | #define LUA_DIRSEP "/" |
| 153 | #endif | 167 | #endif |
| 154 | 168 | ||
| 169 | /* }================================================================== */ | ||
| 170 | |||
| 155 | 171 | ||
| 156 | /* | 172 | /* |
| 157 | @@ LUA_ENV is the name of the variable that holds the current | 173 | ** {================================================================== |
| 158 | @@ environment, used to access global names. | 174 | ** Marks for exported symbols in the C code |
| 159 | ** CHANGE it if you do not like this name. | 175 | ** =================================================================== |
| 160 | */ | 176 | */ |
| 161 | #define LUA_ENV "_ENV" | ||
| 162 | |||
| 163 | 177 | ||
| 164 | /* | 178 | /* |
| 165 | @@ LUA_API is a mark for all core API functions. | 179 | @@ LUA_API is a mark for all core API functions. |
| @@ -192,10 +206,10 @@ | |||
| 192 | 206 | ||
| 193 | /* | 207 | /* |
| 194 | @@ LUAI_FUNC is a mark for all extern functions that are not to be | 208 | @@ LUAI_FUNC is a mark for all extern functions that are not to be |
| 195 | @@ exported to outside modules. | 209 | ** exported to outside modules. |
| 196 | @@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables | 210 | @@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables |
| 197 | @@ that are not to be exported to outside modules (LUAI_DDEF for | 211 | ** that are not to be exported to outside modules (LUAI_DDEF for |
| 198 | @@ definitions and LUAI_DDEC for declarations). | 212 | ** definitions and LUAI_DDEC for declarations). |
| 199 | ** CHANGE them if you need to mark them in some special way. Elf/gcc | 213 | ** CHANGE them if you need to mark them in some special way. Elf/gcc |
| 200 | ** (versions 3.2 and later) mark them as "hidden" to optimize access | 214 | ** (versions 3.2 and later) mark them as "hidden" to optimize access |
| 201 | ** when Lua is compiled as a shared library. Not all elf targets support | 215 | ** when Lua is compiled as a shared library. Not all elf targets support |
| @@ -207,103 +221,14 @@ | |||
| 207 | #if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ | 221 | #if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ |
| 208 | defined(__ELF__) /* { */ | 222 | defined(__ELF__) /* { */ |
| 209 | #define LUAI_FUNC __attribute__((visibility("hidden"))) extern | 223 | #define LUAI_FUNC __attribute__((visibility("hidden"))) extern |
| 210 | #define LUAI_DDEC LUAI_FUNC | ||
| 211 | #define LUAI_DDEF /* empty */ | ||
| 212 | |||
| 213 | #else /* }{ */ | 224 | #else /* }{ */ |
| 214 | #define LUAI_FUNC extern | 225 | #define LUAI_FUNC extern |
| 215 | #define LUAI_DDEC extern | ||
| 216 | #define LUAI_DDEF /* empty */ | ||
| 217 | #endif /* } */ | 226 | #endif /* } */ |
| 218 | 227 | ||
| 228 | #define LUAI_DDEC LUAI_FUNC | ||
| 229 | #define LUAI_DDEF /* empty */ | ||
| 219 | 230 | ||
| 220 | 231 | /* }================================================================== */ | |
| 221 | /* | ||
| 222 | @@ LUA_EXTRASPACE defines the size of a raw memory area associated with | ||
| 223 | ** a Lua state with very fast access. | ||
| 224 | ** CHANGE it if you need a different size. | ||
| 225 | */ | ||
| 226 | #define LUA_EXTRASPACE (sizeof(void *)) | ||
| 227 | |||
| 228 | |||
| 229 | /* | ||
| 230 | @@ LUA_QL describes how error messages quote program elements. | ||
| 231 | ** Lua does not use these macros anymore; they are here for | ||
| 232 | ** compatibility only. | ||
| 233 | */ | ||
| 234 | #define LUA_QL(x) "'" x "'" | ||
| 235 | #define LUA_QS LUA_QL("%s") | ||
| 236 | |||
| 237 | |||
| 238 | /* | ||
| 239 | @@ LUA_IDSIZE gives the maximum size for the description of the source | ||
| 240 | @@ of a function in debug information. | ||
| 241 | ** CHANGE it if you want a different size. | ||
| 242 | */ | ||
| 243 | #define LUA_IDSIZE 60 | ||
| 244 | |||
| 245 | |||
| 246 | /* | ||
| 247 | @@ luai_writestring/luai_writeline define how 'print' prints its results. | ||
| 248 | ** They are only used in libraries and the stand-alone program. | ||
| 249 | */ | ||
| 250 | #define luai_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) | ||
| 251 | #define luai_writeline() (luai_writestring("\n", 1), fflush(stdout)) | ||
| 252 | |||
| 253 | /* | ||
| 254 | @@ luai_writestringerror defines how to print error messages. | ||
| 255 | ** (A format string with one argument is enough for Lua...) | ||
| 256 | */ | ||
| 257 | #define luai_writestringerror(s,p) \ | ||
| 258 | (fprintf(stderr, (s), (p)), fflush(stderr)) | ||
| 259 | |||
| 260 | |||
| 261 | /* | ||
| 262 | @@ LUAI_MAXSHORTLEN is the maximum length for short strings, that is, | ||
| 263 | ** strings that are internalized. (Cannot be smaller than reserved words | ||
| 264 | ** or tags for metamethods, as these strings must be internalized; | ||
| 265 | ** #("function") = 8, #("__newindex") = 10.) | ||
| 266 | */ | ||
| 267 | #define LUAI_MAXSHORTLEN 40 | ||
| 268 | |||
| 269 | |||
| 270 | /* | ||
| 271 | @@ LUA_KCONTEXT is the type of the context ('ctx') for continuation | ||
| 272 | ** functions. It must be a numerical type; Lua will use 'intptr_t' if | ||
| 273 | ** available. | ||
| 274 | */ | ||
| 275 | #if defined (LUA_USE_C99) | ||
| 276 | #include <stdint.h> | ||
| 277 | #if defined (INTPTR_MAX) /* even in C99 this type is optional */ | ||
| 278 | #define LUA_KCONTEXT intptr_t | ||
| 279 | #endif | ||
| 280 | #endif | ||
| 281 | |||
| 282 | #if !defined(LUA_KCONTEXT) | ||
| 283 | /* default definition (the nearest thing to 'intptr_t' in C89) */ | ||
| 284 | #define LUA_KCONTEXT ptrdiff_t | ||
| 285 | #endif | ||
| 286 | |||
| 287 | |||
| 288 | /* | ||
| 289 | @@ lua_strx2number converts an hexadecimal numeric string to a number. | ||
| 290 | ** In C99, 'strtod' does both conversions. Otherwise, you can | ||
| 291 | ** leave 'lua_strx2number' undefined and Lua will provide its own | ||
| 292 | ** implementation. | ||
| 293 | */ | ||
| 294 | #if defined(LUA_USE_C99) | ||
| 295 | #define lua_strx2number(s,p) lua_str2number(s,p) | ||
| 296 | #endif | ||
| 297 | |||
| 298 | |||
| 299 | /* | ||
| 300 | @@ LUA_USE_AFORMAT allows '%a'/'%A' specifiers in 'string.format' | ||
| 301 | ** Enable it if the C function 'printf' supports these specifiers. | ||
| 302 | ** (C99 demands it.) | ||
| 303 | */ | ||
| 304 | #if !defined(LUA_USE_AFORMAT) && defined(LUA_USE_C99) | ||
| 305 | #define LUA_USE_AFORMAT | ||
| 306 | #endif | ||
| 307 | 232 | ||
| 308 | 233 | ||
| 309 | /* | 234 | /* |
| @@ -434,52 +359,6 @@ | |||
| 434 | #endif | 359 | #endif |
| 435 | 360 | ||
| 436 | 361 | ||
| 437 | /* | ||
| 438 | @@ LUA_INT32 is a signed integer with at least 32 bits. | ||
| 439 | @@ LUAI_UMEM is an unsigned integer big enough to count the total | ||
| 440 | @@ memory used by Lua. | ||
| 441 | @@ LUAI_MEM is a signed integer big enough to count the total memory | ||
| 442 | @@ used by Lua. | ||
| 443 | ** CHANGE here if for some weird reason the default definitions are not | ||
| 444 | ** good enough for your machine. Probably you do not need to change | ||
| 445 | ** this. | ||
| 446 | */ | ||
| 447 | #if LUAI_BITSINT >= 32 /* { */ | ||
| 448 | #define LUA_INT32 int | ||
| 449 | #define LUAI_UMEM size_t | ||
| 450 | #define LUAI_MEM ptrdiff_t | ||
| 451 | #else /* }{ */ | ||
| 452 | /* 16-bit ints */ | ||
| 453 | #define LUA_INT32 long | ||
| 454 | #define LUAI_UMEM unsigned long | ||
| 455 | #define LUAI_MEM long | ||
| 456 | #endif /* } */ | ||
| 457 | |||
| 458 | |||
| 459 | /* | ||
| 460 | @@ LUAI_MAXSTACK limits the size of the Lua stack. | ||
| 461 | ** CHANGE it if you need a different limit. This limit is arbitrary; | ||
| 462 | ** its only purpose is to stop Lua from consuming unlimited stack | ||
| 463 | ** space (and to reserve some numbers for pseudo-indices). | ||
| 464 | */ | ||
| 465 | #if LUAI_BITSINT >= 32 | ||
| 466 | #define LUAI_MAXSTACK 1000000 | ||
| 467 | #else | ||
| 468 | #define LUAI_MAXSTACK 15000 | ||
| 469 | #endif | ||
| 470 | |||
| 471 | /* reserve some space for error handling */ | ||
| 472 | #define LUAI_FIRSTPSEUDOIDX (-LUAI_MAXSTACK - 1000) | ||
| 473 | |||
| 474 | |||
| 475 | |||
| 476 | |||
| 477 | /* | ||
| 478 | @@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. | ||
| 479 | ** CHANGE it if it uses too much C-stack space. | ||
| 480 | */ | ||
| 481 | #define LUAL_BUFFERSIZE BUFSIZ | ||
| 482 | |||
| 483 | 362 | ||
| 484 | /* | 363 | /* |
| 485 | ** {================================================================== | 364 | ** {================================================================== |
| @@ -551,15 +430,6 @@ | |||
| 551 | #endif /* } */ | 430 | #endif /* } */ |
| 552 | 431 | ||
| 553 | 432 | ||
| 554 | #if !defined(LUA_USE_C99) | ||
| 555 | /* 'strtof' and 'opf' variants for math functions are C99 */ | ||
| 556 | #undef l_mathop | ||
| 557 | #undef lua_str2number | ||
| 558 | #define l_mathop(op) (lua_Number)op | ||
| 559 | #define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) | ||
| 560 | #endif | ||
| 561 | |||
| 562 | |||
| 563 | #define l_floor(x) (l_mathop(floor)(x)) | 433 | #define l_floor(x) (l_mathop(floor)(x)) |
| 564 | 434 | ||
| 565 | #define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) | 435 | #define lua_number2str(s,n) sprintf((s), LUA_NUMBER_FMT, (n)) |
| @@ -687,8 +557,8 @@ | |||
| 687 | 557 | ||
| 688 | #elif defined(LUA_INT_SHORT) /* }{ short int */ | 558 | #elif defined(LUA_INT_SHORT) /* }{ short int */ |
| 689 | /* | 559 | /* |
| 690 | ** this option is for tests only; it is not particularly useful and | 560 | ** this option is for internal tests only; it is not particularly useful |
| 691 | ** it does not pass the test suit. | 561 | ** and it does not pass the test suit. |
| 692 | */ | 562 | */ |
| 693 | 563 | ||
| 694 | #define LUA_INTEGER short int | 564 | #define LUA_INTEGER short int |
| @@ -700,8 +570,8 @@ | |||
| 700 | #undef LUAI_UACINT | 570 | #undef LUAI_UACINT |
| 701 | #define LUAI_UACINT int | 571 | #define LUAI_UACINT int |
| 702 | 572 | ||
| 703 | #undef LUAI_MAXSTACK | 573 | #undef LUAI_BITSINT |
| 704 | #define LUAI_MAXSTACK 15000 | 574 | #define LUAI_BITSINT 16 |
| 705 | 575 | ||
| 706 | #define l_castS2U(x) ((LUA_UNSIGNED)(unsigned short)(x)) | 576 | #define l_castS2U(x) ((LUA_UNSIGNED)(unsigned short)(x)) |
| 707 | 577 | ||
| @@ -714,6 +584,131 @@ | |||
| 714 | /* }================================================================== */ | 584 | /* }================================================================== */ |
| 715 | 585 | ||
| 716 | 586 | ||
| 587 | /* | ||
| 588 | ** {================================================================== | ||
| 589 | ** Dependencies with C99 | ||
| 590 | ** =================================================================== | ||
| 591 | */ | ||
| 592 | |||
| 593 | /* | ||
| 594 | @@ lua_strx2number converts an hexadecimal numeric string to a number. | ||
| 595 | ** In C99, 'strtod' does both conversions. Otherwise, you can | ||
| 596 | ** leave 'lua_strx2number' undefined and Lua will provide its own | ||
| 597 | ** implementation. | ||
| 598 | */ | ||
| 599 | #if defined(LUA_USE_C99) | ||
| 600 | #define lua_strx2number(s,p) lua_str2number(s,p) | ||
| 601 | #endif | ||
| 602 | |||
| 603 | |||
| 604 | /* | ||
| 605 | @@ LUA_USE_AFORMAT allows '%a'/'%A' specifiers in 'string.format' | ||
| 606 | ** Enable it if the C function 'printf' supports these specifiers. | ||
| 607 | ** (C99 demands it.) | ||
| 608 | */ | ||
| 609 | #if !defined(LUA_USE_AFORMAT) && defined(LUA_USE_C99) | ||
| 610 | #define LUA_USE_AFORMAT | ||
| 611 | #endif | ||
| 612 | |||
| 613 | |||
| 614 | /* | ||
| 615 | ** 'strtof' and 'opf' variants for math functions are valid only | ||
| 616 | ** in C99 | ||
| 617 | */ | ||
| 618 | #if !defined(LUA_USE_C99) | ||
| 619 | #undef l_mathop | ||
| 620 | #undef lua_str2number | ||
| 621 | #define l_mathop(op) (lua_Number)op | ||
| 622 | #define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) | ||
| 623 | #endif | ||
| 624 | |||
| 625 | |||
| 626 | /* | ||
| 627 | @@ LUA_KCONTEXT is the type of the context ('ctx') for continuation | ||
| 628 | ** functions. It must be a numerical type; Lua will use 'intptr_t' if | ||
| 629 | ** available, otherwise it will use 'ptrdiff_t' (the nearest thing to | ||
| 630 | ** 'intptr_t' in C89) | ||
| 631 | */ | ||
| 632 | #define LUA_KCONTEXT ptrdiff_t | ||
| 633 | |||
| 634 | #if defined (LUA_USE_C99) | ||
| 635 | #include <stdint.h> | ||
| 636 | #if defined (INTPTR_MAX) /* even in C99 this type is optional */ | ||
| 637 | #undef LUA_KCONTEXT | ||
| 638 | #define LUA_KCONTEXT intptr_t | ||
| 639 | #endif | ||
| 640 | #endif | ||
| 641 | |||
| 642 | /* }================================================================== */ | ||
| 643 | |||
| 644 | |||
| 645 | /* | ||
| 646 | ** {================================================================== | ||
| 647 | ** Macros that affect the API and must be stable (that is, must be the | ||
| 648 | ** same when you compile Lua and when you compile code that links to | ||
| 649 | ** Lua). You probably do not want/need to change them. | ||
| 650 | ** ===================================================================== | ||
| 651 | */ | ||
| 652 | |||
| 653 | /* | ||
| 654 | @@ LUAI_MAXSTACK limits the size of the Lua stack. | ||
| 655 | ** CHANGE it if you need a different limit. This limit is arbitrary; | ||
| 656 | ** its only purpose is to stop Lua from consuming unlimited stack | ||
| 657 | ** space (and to reserve some numbers for pseudo-indices). | ||
| 658 | */ | ||
| 659 | #if LUAI_BITSINT >= 32 | ||
| 660 | #define LUAI_MAXSTACK 1000000 | ||
| 661 | #else | ||
| 662 | #define LUAI_MAXSTACK 15000 | ||
| 663 | #endif | ||
| 664 | |||
| 665 | /* reserve some space for error handling */ | ||
| 666 | #define LUAI_FIRSTPSEUDOIDX (-LUAI_MAXSTACK - 1000) | ||
| 667 | |||
| 668 | |||
| 669 | /* | ||
| 670 | @@ LUA_EXTRASPACE defines the size of a raw memory area associated with | ||
| 671 | ** a Lua state with very fast access. | ||
| 672 | ** CHANGE it if you need a different size. | ||
| 673 | */ | ||
| 674 | #define LUA_EXTRASPACE (sizeof(void *)) | ||
| 675 | |||
| 676 | |||
| 677 | /* | ||
| 678 | @@ LUA_IDSIZE gives the maximum size for the description of the source | ||
| 679 | @@ of a function in debug information. | ||
| 680 | ** CHANGE it if you want a different size. | ||
| 681 | */ | ||
| 682 | #define LUA_IDSIZE 60 | ||
| 683 | |||
| 684 | |||
| 685 | /* | ||
| 686 | @@ LUAI_MAXSHORTLEN is the maximum length for short strings, that is, | ||
| 687 | ** strings that are internalized. (Cannot be smaller than reserved words | ||
| 688 | ** or tags for metamethods, as these strings must be internalized; | ||
| 689 | ** #("function") = 8, #("__newindex") = 10.) | ||
| 690 | */ | ||
| 691 | #define LUAI_MAXSHORTLEN 40 | ||
| 692 | |||
| 693 | |||
| 694 | /* | ||
| 695 | @@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. | ||
| 696 | ** CHANGE it if it uses too much C-stack space. | ||
| 697 | */ | ||
| 698 | #define LUAL_BUFFERSIZE (0x400 * sizeof(void*)) | ||
| 699 | |||
| 700 | /* }================================================================== */ | ||
| 701 | |||
| 702 | |||
| 703 | /* | ||
| 704 | @@ LUA_QL describes how error messages quote program elements. | ||
| 705 | ** Lua does not use these macros anymore; they are here for | ||
| 706 | ** compatibility only. | ||
| 707 | */ | ||
| 708 | #define LUA_QL(x) "'" x "'" | ||
| 709 | #define LUA_QS LUA_QL("%s") | ||
| 710 | |||
| 711 | |||
| 717 | 712 | ||
| 718 | 713 | ||
| 719 | /* =================================================================== */ | 714 | /* =================================================================== */ |
