vim-patch:8.0.1672: error during completion causes command to be cancelled

Problem:    Error during completion causes command to be cancelled.
Solution:   Reset did_emsg before waiting for another character. (Tom M.)
72532d354e
This commit is contained in:
Jan Edmund Lazo 2018-10-13 21:43:43 -04:00
parent c9baaa9200
commit e7ba325298
2 changed files with 15 additions and 0 deletions

View File

@ -510,6 +510,10 @@ static int command_line_check(VimState *state)
// completion may switch it on.
quit_more = false; // reset after CTRL-D which had a more-prompt
did_emsg = false; // There can't really be a reason why an error
// that occurs while typing a command should
// cause the command not to be executed.
cursorcmd(); // set the cursor on the right spot
ui_cursor_shape();
return 1;

View File

@ -334,6 +334,17 @@ func Test_paste_in_cmdline()
call feedkeys(":\<C-\>etoupper(getline(1))\<CR>\<C-B>\"\<CR>", 'tx')
call assert_equal('"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D ', @:)
bwipe!
" Error while typing a command used to cause that it was not executed
" in the end.
new
try
call feedkeys(":file \<C-R>%Xtestfile\<CR>", 'tx')
catch /^Vim\%((\a\+)\)\=:E32/
" ignore error E32
endtry
call assert_equal("Xtestfile", bufname("%"))
bwipe!
endfunc
func Test_remove_char_in_cmdline()