From 96c72724ce4c60c97f9bc618b225dbf18ccfc06b Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 10 Nov 2014 08:14:45 +0100 Subject: [PATCH] Handle whitespace correctly when splitting with flags. Fixes #248. --- qutebrowser/commands/runners.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py index 21921eaec..9d7ea0add 100644 --- a/qutebrowser/commands/runners.py +++ b/qutebrowser/commands/runners.py @@ -216,10 +216,11 @@ class CommandRunner(QObject): try: self._cmd = cmdutils.cmd_dict[cmdstr] except KeyError: - if fallback: - # FIXME test this + if fallback and keep: cmdstr, sep, argstr = text.partition(' ') - return [cmdstr, sep] + argstr.split(' ') + return [cmdstr, sep] + argstr.split() + elif fallback: + return text.split() else: raise cmdexc.NoSuchCommandError( '{}: no such command'.format(cmdstr)) @@ -258,11 +259,11 @@ class CommandRunner(QObject): # 0 1 2 3 # second split: ['--foo', '-v', 'bar baz'] # (maxsplit=2) - split_args = split.simple_split(argstr, keep=True) + split_args = split.simple_split(argstr, keep=keep) for i, arg in enumerate(split_args): arg = arg.strip() if not arg.startswith('-'): - self._args = split.simple_split(argstr, keep=True, + self._args = split.simple_split(argstr, keep=keep, maxsplit=i) break else: