Permalink
Browse files

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.)
  • Loading branch information...
brammool committed Apr 7, 2018
1 parent 22efba4 commit 72532d354e699f1cceec34c0b08e1de4d3ea9641
Showing with 17 additions and 0 deletions.
  1. +4 −0 src/ex_getln.c
  2. +11 −0 src/testdir/test_cmdline.vim
  3. +2 −0 src/version.c
@@ -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,
/**/

0 comments on commit 72532d3

Please sign in to comment.