Skip to content

Commit f4be710

Browse files
committed
add package.config
package.config was added in Lua v5.0-430-gab3dfa55. lua/lua@ab3dfa5 but was documented since version 5.2 https://www.lua.org/manual/5.2/manual.html#pdf-package.config Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio > print(package.config) / ; ? ! - > In gopher-lua package.config is nil. This causes some packages, such as Luarocks, to crash with an error. CLoses yuin#360
1 parent f4c35e4 commit f4be710

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

config.go

+7
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,22 @@ var LuaPath = "LUA_PATH"
2222
var LuaLDir string
2323
var LuaPathDefault string
2424
var LuaOS string
25+
var LuaDirSep string
26+
var LuaPathSep = ";"
27+
var LuaPathMark = "?"
28+
var LuaExecDir = "!"
29+
var LuaIgMark = "-"
2530

2631
func init() {
2732
if os.PathSeparator == '/' { // unix-like
2833
LuaOS = "unix"
2934
LuaLDir = "/usr/local/share/lua/5.1"
35+
LuaDirSep = "/"
3036
LuaPathDefault = "./?.lua;" + LuaLDir + "/?.lua;" + LuaLDir + "/?/init.lua"
3137
} else { // windows
3238
LuaOS = "windows"
3339
LuaLDir = "!\\lua"
40+
LuaDirSep = "\\"
3441
LuaPathDefault = ".\\?.lua;" + LuaLDir + "\\?.lua;" + LuaLDir + "\\?\\init.lua"
3542
}
3643
}

loadlib.go

+3
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ func OpenPackage(L *LState) int {
6565
L.SetField(packagemod, "path", LString(loGetPath(LuaPath, LuaPathDefault)))
6666
L.SetField(packagemod, "cpath", emptyLString)
6767

68+
L.SetField(packagemod, "config", LString(LuaDirSep+"\n"+LuaPathSep+
69+
"\n"+LuaPathMark+"\n"+LuaExecDir+"\n"+LuaIgMark+"\n"))
70+
6871
L.Push(packagemod)
6972
return 1
7073
}

0 commit comments

Comments
 (0)