aboutsummaryrefslogtreecommitdiff
path: root/core/args.lua
diff options
context:
space:
mode:
Diffstat (limited to 'core/args.lua')
-rw-r--r--core/args.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/args.lua b/core/args.lua
index 18ef743b..0e6fd2bf 100644
--- a/core/args.lua
+++ b/core/args.lua
@@ -55,7 +55,12 @@ local function process(arg, no_emit_arg_none)
switch.f(table.unpack(arg, i + 1, i + switch.narg))
i = i + switch.narg
else
- io.open_file(lfs.abspath(arg[i], arg[-1]))
+ local filename = lfs.abspath(arg[i], arg[-1] or lfs.currentdir())
+ if lfs.attributes(filename, 'mode') ~= 'directory' then
+ io.open_file(filename)
+ else
+ lfs.chdir(filename)
+ end
no_args = false
end
i = i + 1