0
0
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:
Bram Moolenaar
2018-04-07 19:09:09 +02:00
parent 22efba47de
commit 72532d354e
3 changed files with 17 additions and 0 deletions

View File

@@ -426,6 +426,10 @@ getcmdline(
#endif #endif
quit_more = FALSE; /* reset after CTRL-D which had a more-prompt */ 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 */ cursorcmd(); /* set the cursor on the right spot */
/* Get a character. Ignore K_IGNORE and K_NOP, they should not do /* Get a character. Ignore K_IGNORE and K_NOP, they should not do

View File

@@ -316,6 +316,17 @@ func Test_paste_in_cmdline()
call feedkeys(":\<C-\>etoupper(getline(1))\<CR>\<C-B>\"\<CR>", 'tx') call feedkeys(":\<C-\>etoupper(getline(1))\<CR>\<C-B>\"\<CR>", 'tx')
call assert_equal('"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D ', @:) call assert_equal('"ASDF.X /TMP/SOME VERYLONGWORD A;B-C*D ', @:)
bwipe! 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 endfunc
func Test_remove_char_in_cmdline() func Test_remove_char_in_cmdline()

View File

@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1672,
/**/ /**/
1671, 1671,
/**/ /**/