From 0a5c5eee15072b712d0cee4cce8d642d1177ff76 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 2 Sep 2019 14:10:26 -0300 Subject: fs: fix Lua wrapper for interactive mode --- src/luarocks/fs/unix.lua | 2 +- src/luarocks/fs/win32.lua | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/luarocks/fs/unix.lua b/src/luarocks/fs/unix.lua index 92a2dd91..164ec75d 100644 --- a/src/luarocks/fs/unix.lua +++ b/src/luarocks/fs/unix.lua @@ -99,7 +99,7 @@ function unix.wrap_script(script, target, deps_mode, name, version, ...) fs.Q(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)), "-e", fs.Q(table.concat(luainit, ";")), - script and fs.Q(script) or "", + script and fs.Q(script) or [[$([ "$*" ] || echo -i)]], ... } diff --git a/src/luarocks/fs/win32.lua b/src/luarocks/fs/win32.lua index 71b22e35..b9404a73 100644 --- a/src/luarocks/fs/win32.lua +++ b/src/luarocks/fs/win32.lua @@ -167,12 +167,15 @@ function win32.wrap_script(script, target, deps_mode, name, version, ...) fs.Qb(dir.path(cfg.variables["LUA_BINDIR"], cfg.lua_interpreter)), "-e", fs.Qb(table.concat(luainit, ";")), - script and fs.Qb(script) or "", + script and fs.Qb(script) or "%I%", ... } wrapper:write("@echo off\r\n") wrapper:write("setlocal\r\n") + if not script then + wrapper:write([[IF "%*"=="" (set I=-i) ELSE (set I=)]] .. "\r\n") + end wrapper:write("set "..fs.Qb("LUAROCKS_SYSCONFDIR="..cfg.sysconfdir) .. "\r\n") wrapper:write(table.concat(argv, " ") .. " %*\r\n") wrapper:write("exit /b %ERRORLEVEL%\r\n") -- cgit v1.2.3-55-g6feb