aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/python.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2026-08-23 13:58:45 -0400
committerGitHub <noreply@github.com>2026-08-23 13:58:45 -0400
commitbb82f9612cdbfb2ac6929167f041061e9e3d4a0a (patch)
tree75b2a93da52f13970aacf41fcb5bf6c17ae926ed /runtime/syntax/python.vim
parent354ea3bf2a3a11b69fb5eac78b6334e8131ce4c4 (diff)
downloadrneovim-bb82f9612cdbfb2ac6929167f041061e9e3d4a0a.tar.gz
rneovim-bb82f9612cdbfb2ac6929167f041061e9e3d4a0a.tar.bz2
rneovim-bb82f9612cdbfb2ac6929167f041061e9e3d4a0a.zip
fix(cmdatom): "!" operator hardcodes its range #41451
Problem: The "!" operator stuffs its cmdline continuation (`:.,.+1!`), so its frame ends before capture (stuff pending) and the redo-prep disappears with it. !ipsort<CR> => { type='excmd', lhs=':.,.+1!sort<NL>', keys=':.,.+1!sort<NL>' } Compare to builtin "." which works bc `do_bang()` completes the redo (`!ip` + `sort<NL>`). Solution: Appoint the stuffed continuation frame as the "redo-prep" frame. !ipsort<CR> => { type='operator', operator='!', lhs='!ipsort<NL>', keys='!ipsort<NL>' } Notes: - atom_cmd_end(): a frame ending with stuff pending re-points its redo-prep to the next frame. - atom_cmd_start(): a stuffed continuation frame (`KeyStuffed`) keeps the redo-prep; flushed stuff discards it.
Diffstat (limited to 'runtime/syntax/python.vim')
0 files changed, 0 insertions, 0 deletions