diff options
author | Florian Bruhin <git@the-compiler.org> | 2014-12-11 20:04:29 +0100 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2014-12-11 20:04:29 +0100 |
commit | 81bc5dae94adcc35eb9e9b979d710c4faf573d29 (patch) | |
tree | 195c0d2fc0c808c276d6cfbad9e8bc5c9c00ba87 | |
parent | 8c4c465c914495e322de5d23b22648f98c734238 (diff) | |
download | qutebrowser-81bc5dae94adcc35eb9e9b979d710c4faf573d29.tar.gz qutebrowser-81bc5dae94adcc35eb9e9b979d710c4faf573d29.zip |
Remove quotes with split=False commands.
Fixes #313.
-rw-r--r-- | qutebrowser/commands/runners.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py index 9d7ea0add..931e07bac 100644 --- a/qutebrowser/commands/runners.py +++ b/qutebrowser/commands/runners.py @@ -19,6 +19,8 @@ """Module containing command managers (SearchRunner and CommandRunner).""" +import re + from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QUrl from PyQt5.QtWebKitWidgets import QWebPage @@ -263,8 +265,13 @@ class CommandRunner(QObject): for i, arg in enumerate(split_args): arg = arg.strip() if not arg.startswith('-'): - self._args = split.simple_split(argstr, keep=keep, - maxsplit=i) + self._args = [] + args = split.simple_split(argstr, keep=keep, maxsplit=i) + for s in args: + # remove quotes and replace \" by " + s = re.sub(r"""(^|[^\\])["']""", r'\1', s) + s = re.sub(r"""\\(["'])""", r'\1', s) + self._args.append(s) break else: # If there are only flags, we got it right on the first try |