commit 090048bec9f80c46a6ce6ff05a419b15bc4bf028
parent a6b05cb75d330dd995d3ad21ee08bb0a2cfcae74
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue, 13 Dec 2022 22:43:54 +0800
vim-patch:9.0.1051: after a failed CTRL-W ] next command splits window (#21400)
Problem: After a failed CTRL-W ] next command splits window.
Solution: Reset postponed_split. (Rob Pilling, closes vim/vim#11698)
https://github.com/vim/vim/commit/cb94c910706fdd575cc25797d7858e084f1e3524
Co-authored-by: Rob Pilling <robpilling@gmail.com>
Diffstat:
2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/src/nvim/testdir/test_window_cmd.vim b/src/nvim/testdir/test_window_cmd.vim
@@ -1811,4 +1811,17 @@ function Test_splitkeep_status()
call VerifyScreenDump(buf, 'Test_splitkeep_status_1', {})
endfunction
+function Test_new_help_window_on_error()
+ help change.txt
+ execute "normal! /CTRL-@\<CR>"
+ silent! execute "normal! \<C-W>]"
+
+ let wincount = winnr('$')
+ help 'mod'
+
+ call assert_equal(wincount, winnr('$'))
+ call assert_equal(expand("<cword>"), "'mod'")
+endfunction
+
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/nvim/window.c b/src/nvim/window.c
@@ -494,6 +494,7 @@ newwindow:
// Execute the command right here, required when
// "wincmd ]" was used in a function.
do_nv_ident(Ctrl_RSB, NUL);
+ postponed_split = 0;
break;
// edit file name under cursor in a new window
@@ -594,6 +595,7 @@ wingotofile:
// Execute the command right here, required when
// "wincmd g}" was used in a function.
do_nv_ident('g', xchar);
+ postponed_split = 0;
break;
case 'f': // CTRL-W gf: "gf" in a new tab page