From 4a782b9d097b93eedd206ae4ba2ed0d8963d1552 Mon Sep 17 00:00:00 2001 From: Ray Ganardi Date: Fri, 15 Feb 2019 11:46:17 +0700 Subject: [PATCH 1/3] Fixes #3736 --- qutebrowser/keyinput/keyutils.py | 5 ++++- tests/unit/keyinput/test_keyutils.py | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index 03abf6d7a..e463e1168 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -246,7 +246,10 @@ def _parse_keystring(keystr): yield '>' assert not key, key elif c == '<': - special = True + if special: + key += c + else: + special = True elif special: key += c else: diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py index 8156c89ae..2af007888 100644 --- a/tests/unit/keyinput/test_keyutils.py +++ b/tests/unit/keyinput/test_keyutils.py @@ -452,7 +452,12 @@ class TestKeySequence: ('', keyutils.KeySequence(Qt.Key_Less | Qt.AltModifier)), - ('', keyutils.KeyParseError), + ('<<', keyutils.KeySequence(Qt.Key_Less, Qt.Key_Less)), + ('>>', keyutils.KeySequence(Qt.Key_Greater, Qt.Key_Greater)), + ('><', keyutils.KeySequence(Qt.Key_Greater, Qt.Key_Less)), + ('', + keyutils.KeySequence(Qt.Key_Less | Qt.AltModifier)), + ('>', keyutils.KeyParseError), ('', keyutils.KeyParseError), ('<>', keyutils.KeyParseError), From 99d9e2abbbc6675796b439e05fa4e33b736ee39a Mon Sep 17 00:00:00 2001 From: Ray Ganardi Date: Tue, 19 Feb 2019 15:03:22 +0700 Subject: [PATCH 2/3] Remove old handling of Revert the work around introduced in 0967b6abd276daf3f0543af3438fbf39335f8f2d. --- qutebrowser/keyinput/keyutils.py | 2 -- tests/unit/keyinput/test_keyutils.py | 4 ---- 2 files changed, 6 deletions(-) diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index e463e1168..8e4d74b7e 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -277,8 +277,6 @@ def _parse_special_key(keystr): ('command', 'meta'), ('cmd', 'meta'), ('mod1', 'alt'), - ('less', '<'), - ('greater', '>'), ) for (orig, repl) in replacements: keystr = keystr.replace(orig, repl) diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py index 2af007888..9e8213f32 100644 --- a/tests/unit/keyinput/test_keyutils.py +++ b/tests/unit/keyinput/test_keyutils.py @@ -447,10 +447,6 @@ class TestKeySequence: ('a<', keyutils.KeySequence(Qt.Key_A, Qt.Key_Less)), ('>a', keyutils.KeySequence(Qt.Key_Greater, Qt.Key_A)), ('', - keyutils.KeySequence(Qt.Key_Greater | Qt.AltModifier)), - ('', - keyutils.KeySequence(Qt.Key_Less | Qt.AltModifier)), ('<<', keyutils.KeySequence(Qt.Key_Less, Qt.Key_Less)), ('>>', keyutils.KeySequence(Qt.Key_Greater, Qt.Key_Greater)), From 120aa82fe2a133d6df3ed06b76dfa3342377ec73 Mon Sep 17 00:00:00 2001 From: Ray Ganardi Date: Wed, 27 Feb 2019 12:46:41 +0700 Subject: [PATCH 3/3] Revert "Remove old handling of " This reverts commit 99d9e2abbbc6675796b439e05fa4e33b736ee39a. Don't break backwards compatibility. --- qutebrowser/keyinput/keyutils.py | 2 ++ tests/unit/keyinput/test_keyutils.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index 8e4d74b7e..e463e1168 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -277,6 +277,8 @@ def _parse_special_key(keystr): ('command', 'meta'), ('cmd', 'meta'), ('mod1', 'alt'), + ('less', '<'), + ('greater', '>'), ) for (orig, repl) in replacements: keystr = keystr.replace(orig, repl) diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py index 9e8213f32..2af007888 100644 --- a/tests/unit/keyinput/test_keyutils.py +++ b/tests/unit/keyinput/test_keyutils.py @@ -447,6 +447,10 @@ class TestKeySequence: ('a<', keyutils.KeySequence(Qt.Key_A, Qt.Key_Less)), ('>a', keyutils.KeySequence(Qt.Key_Greater, Qt.Key_A)), ('', + keyutils.KeySequence(Qt.Key_Greater | Qt.AltModifier)), + ('', + keyutils.KeySequence(Qt.Key_Less | Qt.AltModifier)), ('<<', keyutils.KeySequence(Qt.Key_Less, Qt.Key_Less)), ('>>', keyutils.KeySequence(Qt.Key_Greater, Qt.Key_Greater)),