qutebrowser icon indicating copy to clipboard operation
qutebrowser copied to clipboard

bind and aliases don't work after ;;

Open knezi opened this issue 1 year ago • 0 comments

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.

knezi avatar Nov 19 '23 15:11 knezi