summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2014-12-11 20:04:29 +0100
committerFlorian Bruhin <git@the-compiler.org>2014-12-11 20:04:29 +0100
commit81bc5dae94adcc35eb9e9b979d710c4faf573d29 (patch)
tree195c0d2fc0c808c276d6cfbad9e8bc5c9c00ba87
parent8c4c465c914495e322de5d23b22648f98c734238 (diff)
downloadqutebrowser-81bc5dae94adcc35eb9e9b979d710c4faf573d29.tar.gz
qutebrowser-81bc5dae94adcc35eb9e9b979d710c4faf573d29.zip
Remove quotes with split=False commands.
Fixes #313.
-rw-r--r--qutebrowser/commands/runners.py11
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