diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 51085c4fa0..7e22ed55cb 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -6612,13 +6612,8 @@ static int open_cmdwin(void) int save_cmdmsg_rl = cmdmsg_rl; // Can't do this when text or buffer is locked. - if (text_or_buf_locked()) { - return K_IGNORE; - } - // Can't do this recursively. Can't do it when typing a password. - if (cmdwin_type != 0 - || cmdline_star > 0) { + if (text_or_buf_locked() || cmdwin_type != 0 || cmdline_star > 0) { beep_flush(); return K_IGNORE; } diff --git a/src/nvim/testdir/test_substitute.vim b/src/nvim/testdir/test_substitute.vim index bc1b3fae4b..619b63202a 100644 --- a/src/nvim/testdir/test_substitute.vim +++ b/src/nvim/testdir/test_substitute.vim @@ -880,6 +880,7 @@ func Test_sub_open_cmdline_win() " the error only happens in a very specific setup, run a new Vim instance to " get a clean starting point. let lines =<< trim [SCRIPT] + set vb t_vb= norm o0000000000000000000000000000000000000000000000000000 func Replace() norm q/ @@ -892,8 +893,8 @@ func Test_sub_open_cmdline_win() [SCRIPT] call writefile(lines, 'Xscript') if RunVim([], [], '-u NONE -S Xscript') - let messages = readfile('Xresult') - call assert_match('E565: Not allowed to change text or change window', messages[3]) + call assert_match('E565: Not allowed to change text or change window', + \ readfile('Xresult')->join('XX')) endif call delete('Xscript')