Roberto Ierusalimschy
3c0d3c6fbe
Avoid using addresses of static variables as unique keys
...
The addresses of static variables may be different for different
instances of Lua, making these instances incompatible if they use
these addresses as unique keys in the registry (or other tables).
2019-07-19 13:14:06 -03:00
Roberto Ierusalimschy
e888976bc6
Details (typos in comments)
2019-07-05 15:03:15 -03:00
Roberto Ierusalimschy
b14609032c
Avoid the creation of too many strings in 'package'
...
Both when setting a path and searching for a file ('searchpath'),
this commit reduces the number of intermediate strings created
in Lua.
(For setting a path the change is not relevant, because this is
done only twice when loading the module. Anyway, it is a nice example
of how to use auxlib buffers to manipulate strings in the C API.)
2019-05-03 10:14:25 -03:00
Roberto Ierusalimschy
ed2872cd3b
'require' returns where module was found
...
The function 'require' returns the *loader data* as a second result.
For file searchers, this data is the path where they found the module.
2019-04-17 14:57:29 -03:00
Roberto Ierusalimschy
f99509581e
Removed extra information from RCS keyword strings
...
Version numbers and dates (mostly wrong) from RCS keyword strings
removed from all source files; only the file name are kept.
2018-08-23 14:26:12 -03:00
Roberto Ierusalimschy
ccf6d098f6
'searchpath' creates less temporary strings
...
When creating error messages, package loaders may create dozens of
temporary strings (one or more for each tried template). This change
reduces the number of these strings, and avoid creating some of
them if the search is successful.
2018-07-09 13:29:08 -03:00
Roberto Ierusalimschy
34b00c16e2
removed compatibility code with older versions
2018-02-27 15:47:32 -03:00
Roberto Ierusalimschy
36cf8f3a3c
Code should not change the stack level after the initialization of a
...
string buffer.
2017-12-13 10:51:42 -02:00
Roberto Ierusalimschy
94c1b3a8ee
Handling of LUA_PATH/LUA_CPATH moved back to 'package' library
...
to avoid incompatibilites with previous releases
2017-01-12 15:14:26 -02:00
Roberto Ierusalimschy
b2aa2ba046
using constants for "_LOADED" and "PRELOAD"
2016-12-04 18:17:24 -02:00
Roberto Ierusalimschy
de3fd8ab83
Handling of LUA_PATH/LUA_CPATH moved from package library to stand
...
alone interpreter (so that 'lua.c' concentrates all handling of
environment variables)
2016-07-18 14:55:59 -03:00
Roberto Ierusalimschy
c5112f7b15
details (comments)
2015-11-23 09:30:45 -02:00
Roberto Ierusalimschy
374f6c4612
detail ('fopen' needs 'stdio.h')
2015-02-16 11:14:33 -02:00
Roberto Ierusalimschy
a9a4bf68b0
typo in comment
2015-01-13 11:18:04 -02:00
Roberto Ierusalimschy
0adfa773b9
new macro 'cast_func' adds '__extension__' (in gnu compilers) when
...
converting void* to function, to avoid warnings
2015-01-05 11:51:39 -02:00
Roberto Ierusalimschy
52c0f9575b
uses return value from lua_getfield
2014-11-12 11:31:51 -02:00
Roberto Ierusalimschy
e320790154
using address instead of string for key for table 'CLIBS' in the
...
registry
2014-11-10 12:28:31 -02:00
Roberto Ierusalimschy
c49edc4566
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)
2014-11-03 13:11:10 -02:00
Roberto Ierusalimschy
28fdbcf393
added include for 'lprefix.h', for stuff that must be added before
...
any other header file
2014-11-02 17:19:04 -02:00
Roberto Ierusalimschy
aa1bd8876c
comments
2014-10-27 16:05:37 -02:00
Roberto Ierusalimschy
bdf566a8a3
`name' in comments changed to 'name'
2014-10-25 09:50:46 -02:00
Roberto Ierusalimschy
f97c64d7bf
macros 'LUA_QL'/'LUA_QL' deprecated
2014-10-17 13:28:21 -03:00
Roberto Ierusalimschy
3ccbae84d2
added some casts between integral types (to avoid warnings)
2014-07-29 13:01:00 -03:00
Roberto Ierusalimschy
255d59ed5e
some janitorial work (comments, small refactoring)
2014-07-28 14:47:53 -03:00
Roberto Ierusalimschy
f14662fca6
detail (added placeholders for non-function fields to preallocate
...
space for them)
2014-07-16 10:56:14 -03:00
Roberto Ierusalimschy
a3addae036
lua_gettable and similars return type of gotten value
2014-03-12 17:57:40 -03:00
Roberto Ierusalimschy
c5fcba1a17
detail (changing some names of macros)
2013-10-07 11:20:31 -03:00
Roberto Ierusalimschy
b77a90681e
typos in comments
2012-05-30 09:33:44 -03:00
Roberto Ierusalimschy
ec22fc963a
detail (separate code to create 'searchers' table into a new function)
2012-04-26 16:38:52 -03:00
Roberto Ierusalimschy
b10dbe5c72
bug: C libraries must be unloaded after all other finalizers have run,
...
because a finalizer may use a C function from a C library
2012-04-11 13:35:32 -03:00
Roberto Ierusalimschy
e2fc2ce8df
new way to handle -E option (write a mark in the registry to avoid
...
reading environment variables)
2011-12-12 14:34:03 -02:00
Roberto Ierusalimschy
7bcb2462e4
comments
2011-11-30 10:58:57 -02:00
Roberto Ierusalimschy
aea68e5c54
explicit option RTLD_LOCAL instead of 0 (Posix does not fix
...
a default for dlopen)
2011-11-28 15:27:51 -02:00
Roberto Ierusalimschy
5184ff2096
'LUA_DL_DLL' is not yet defined before the inclusion of 'lua.h'
2011-11-25 10:52:03 -02:00
Roberto Ierusalimschy
3105febf9a
using Lua buffers to build error messages
2011-11-10 09:42:58 -02:00
Roberto Ierusalimschy
eef22fa4ce
create error messages with a single concat, to avoid problems with
...
creating strings piecemeal
2011-11-09 17:11:20 -02:00
Roberto Ierusalimschy
30cea671a7
configurable 'directory separator' in 'package.searchpath'
2011-11-09 13:18:04 -02:00
Roberto Ierusalimschy
6d8d282e0f
avoid calling "extra value" as if it were a function option
2011-11-06 11:59:12 -02:00
Roberto Ierusalimschy
79cbc3468c
removed and deprecated functions really removed from the code base
2011-07-05 09:49:35 -03:00
Roberto Ierusalimschy
49a01c0991
'package.loaders' -> 'package.searchers'
2011-06-28 14:14:12 -03:00
Roberto Ierusalimschy
19fbdf6cae
'luaL_findtable' -> 'luaL_getsubtable'
2011-04-08 16:17:36 -03:00
Roberto Ierusalimschy
e049abb69a
loaders receive an extra argument returned by the searcher
...
(typically the file name)
2011-03-01 14:01:53 -03:00
Roberto Ierusalimschy
e7a9c45a48
trying to avoid assumption that sizeof(char)==1
2011-02-07 17:15:24 -02:00
Roberto Ierusalimschy
67feed49f1
optional argument 'sep' to 'searchpath'
2011-01-07 16:54:49 -02:00
Roberto Ierusalimschy
0a6a6b9d9d
no more sentinel to detect loops in module dependencies;
...
usual message for infinite recursion is good enough.
2010-11-10 18:00:04 -02:00
Roberto Ierusalimschy
c97aa9485c
new function 'luaL_setmetatable'
2010-11-10 16:05:36 -02:00
Roberto Ierusalimschy
ba8dca00ac
detail (ununsed parameter)
2010-10-29 12:35:09 -02:00
Roberto Ierusalimschy
0df2238063
name "_ENV" configurable through 'luaconf.h'
2010-09-07 16:21:39 -03:00
Roberto Ierusalimschy
fd4b4a2a68
detail: registry._PRELOAD must be a table, no need to check
2010-08-02 14:14:48 -03:00
Roberto Ierusalimschy
d447945685
'module'/'luaL_register' and associates are deprecated
2010-07-28 12:51:59 -03:00