From e160cbf32bc07de6a8ae6fbb0edad219990bf5f6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 23 Oct 2020 16:55:53 +0530 Subject: [PATCH] ssh kitten: Fix parsing of combined single letter options to more closely match ssh. Fixes #3053 --- kittens/ssh/main.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/kittens/ssh/main.py b/kittens/ssh/main.py index cee756a0e..a47f34d79 100644 --- a/kittens/ssh/main.py +++ b/kittens/ssh/main.py @@ -118,15 +118,14 @@ def parse_ssh_args(args: List[str]) -> Tuple[List[str], List[str], bool]: if arg in boolean_ssh_args: ssh_args.append(arg) continue - if arg.startswith('-p') and arg[2:].isdigit(): - ssh_args.append(arg) - continue if arg in other_ssh_args: - if i != len(all_args) - 1: - raise SystemExit('Option {} cannot occur in the middle'.format(arg)) ssh_args.append(arg) - expecting_option_val = True - continue + rest = all_args[i+1:] + if rest: + ssh_args.append(rest) + else: + expecting_option_val = True + break raise SystemExit('Unknown option: {}'.format(arg)) continue if expecting_option_val: