GNU bug report logs - #25425
lua does not set search paths

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Thu, 12 Jan 2017 10:58:02 UTC

Severity: normal

Merged with 44662

Full log


View this message in rfc822 format

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 25425 <at> debbugs.gnu.org
Subject: bug#25425: cannot express search path
Date: Thu, 12 Jan 2017 15:46:15 +0100
Ludovic Courtès <ludo <at> gnu.org> 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.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net





This bug report was last modified 4 years and 78 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.