fix(runtime): don't use regexes inside lua require'mod'

Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently
this only caches whether an rtp entry has a "lua/" subdir but we could
consider cache other subdirs potentially or even "lua/mybigplugin/"
possibly.

Note: the async_leftpad test doesn't actually fail on master, at least
not deterministically (even when disabling the fast_breakcheck
throttling). It's still useful as a regression test for further changes
and included as such.
This commit is contained in:
Björn Linse
2021-09-28 13:51:26 +02:00
parent f19dc06081
commit ea2023f689
15 changed files with 179 additions and 42 deletions

View File

@@ -419,7 +419,7 @@ local function process_function(fn)
if not fn.fast then
write_shifted_output(output, string.format([[
if (!nlua_is_deferred_safe(lstate)) {
if (!nlua_is_deferred_safe()) {
return luaL_error(lstate, e_luv_api_disabled, "%s");
}
]], fn.name))