Hello! Ricardo Wurmus <[email protected]> skribis:
> Ludovic Courtès <[email protected]> writes: > >> I think this should work: >> >> (search-path-specification >> (variable "LUA_PATH") >> (separator ";") >> (files '("share/lua/5.3")) >> (file-pattern "\\.lua$") >> (file-type 'regular)) > > I tried this very same thing but it doesn’t work because Lua expects > placeholders (“?”) in the search paths. The placeholders are replaced > with the actual package names. If the actual file name does not exist > it will try the next pattern. If the file *does* exist – which *will* be > the case for any of the files on LUA_PATH that have been generated by > the search-path-specification — Lua will try to load the package from > that path. > > This will fail because a search for the “lpeg” module would be satisfied > by the file “re.lua”, because that’s the first valid file on the > LUA_PATH. “re.lua” requires “lpeg” itself, so another lookup is > performed, which will again result in “re.lua” to be loaded… > > AIUI we must generate a value for LUA_PATH that keeps the placeholders > intact. So are you saying that it’s important for the question marks to remain intact? This sounds terrible. I’m not sure how to address it, and I don’t feel like stretching the search path mechanism this much. Thoughts? Ludo’.
