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

@@ -10,6 +10,7 @@ typedef void (*DoInRuntimepathCB)(char_u *, void *);
typedef struct {
char *path;
bool after;
TriState has_lua;
} SearchPathItem;
typedef kvec_t(SearchPathItem) RuntimeSearchPath;