From 3dfdb3ac893918a03aa59074d0e5d1b1f58d2311 Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 5 Feb 2022 20:14:40 +0800 Subject: [PATCH 1/2] Fix missing args when running a script without exec perms via launch --- kitty/tabs.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kitty/tabs.py b/kitty/tabs.py index c96e1014d..80679090c 100644 --- a/kitty/tabs.py +++ b/kitty/tabs.py @@ -383,12 +383,15 @@ class Tab: # {{{ import shlex with suppress(OSError): with open(old_exe) as f: + cmd_rest = cmd[1:] if len(cmd) > 1 else [] cmd = [kitty_exe(), '+hold'] if f.read(2) == '#!': line = f.read(4096).splitlines()[0] cmd += shlex.split(line) + [old_exe] else: cmd += [resolved_shell(get_options())[0], cmd[0]] + if cmd_rest: + cmd += cmd_rest fenv: Dict[str, str] = {} if env: fenv.update(env) From b47711e23a9095172e50d4e7b182d6609ef75d50 Mon Sep 17 00:00:00 2001 From: pagedown Date: Sat, 5 Feb 2022 20:18:40 +0800 Subject: [PATCH 2/2] Fix kitty_exe() being executed when the script doesn't have shebang --- kitty/tabs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kitty/tabs.py b/kitty/tabs.py index 80679090c..82ac498c0 100644 --- a/kitty/tabs.py +++ b/kitty/tabs.py @@ -389,7 +389,7 @@ class Tab: # {{{ line = f.read(4096).splitlines()[0] cmd += shlex.split(line) + [old_exe] else: - cmd += [resolved_shell(get_options())[0], cmd[0]] + cmd += [resolved_shell(get_options())[0], old_exe] if cmd_rest: cmd += cmd_rest fenv: Dict[str, str] = {}