feat(cmdwin): drop CHECK_CMDWIN

Allow window navigation/creation even while cmdwin is alive! 😱
This commit is contained in:
Justin M. Keyes
2026-06-29 21:47:09 +02:00
parent d6a1b4110a
commit 5256685661
5 changed files with 16 additions and 52 deletions

View File

@@ -1223,9 +1223,12 @@ but it's not possible to open another cmdwin from there. There is no
nesting.
*E11*
|CTRL-W| navigation/split commands and some operations (e.g. |:terminal|) emit
E11. But mouse clicks may focus other windows. The cmdwin buffer is pinned by
'winfixbuf', so the window cannot switch to a different buffer.
|CTRL-W| commands work as usual: you can navigate between, split, resize, and
close windows while the command-line window is open. E11 is still emitted by
operations that would leave or repurpose the cmdwin: opening a new tab page
(CTRL-W_T, |:tabnew|) or turning its buffer into a terminal (|:terminal|).
The cmdwin buffer is pinned by 'winfixbuf', so its window cannot switch to a
different buffer.
CLOSE

View File

@@ -188,11 +188,11 @@ EDITOR
kind/menu/info/abbr for the popup menu.
• |cmdwin| (|q:|, |q/|, |q?|, |c_CTRL-F|) is implemented as a "normal"
buffer+window instead of a nested-state modal loop:
• You can create (and navigate) windows while cmdwin is active. Chaos!
• 'inccommand' works in cmdwin!
• API calls (e.g. |nvim_buf_delete()|) that previously failed with
"E11: Invalid in command-line window" while cmdwin was open, now work
normally. Async plugins no longer need special |CmdwinLeave| workarounds.
• Removed most cmdwin-specific |E11| guards, except for window navigation.
• The |cmdwin-char| is shown via 'statuscolumn'.
• |gf| and |<cfile>| support `file://…` URIs.
• |:log| opens log files.