mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
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.)
This commit is contained in:
@@ -426,6 +426,10 @@ getcmdline(
|
||||
#endif
|
||||
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 */
|
||||
|
||||
/* Get a character. Ignore K_IGNORE and K_NOP, they should not do
|
||||
|
@@ -316,6 +316,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()
|
||||
|
@@ -762,6 +762,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1672,
|
||||
/**/
|
||||
1671,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user