qutebrowser
qutebrowser copied to clipboard
bind and aliases don't work after ;;
Version info:
qutebrowser v3.0.2 Git commit: 9f8e9d96c-dirty on master (2023-11-19 19:48:52 +1300) Backend: QtWebEngine 6.6, based on Chromium 112.0.5615.213 (from api) Qt: 6.6.0
Does the bug happen if you start with --temp-basedir
?:
yes
Description
When CommandParser.parse_all
gets text to parse, it takes the first word and expands alias and checks if its arguments can contain ;;. Then the rest is just split on ";;" and fed into CommandParser.parse
, which doesn't expand aliases.
How to reproduce
The following command won't work as expected:
:reload;; wq;; bind <ctrl-k> open -t ;; open -t
Alias wq
is not found and only the first open -t
is bound to the key shortcut, the other is directly executed.
suggested solution
Other commands possibly containing ;; are:
bind cmd-repeat cmd-later jseval cmd-run-with-count debug-pyeval debug-trace
I can't think of a usecase where some other behaviour then the current would be useful. So we could probably only document this?
Expansion of aliases would be IMO best added into CommandParser.parse
. However, the expansion of the first alias in parse_all
needs to stay there.