Merge #9466 from janlazo/vim-8.1.0696

This commit is contained in:
Justin M. Keyes 2019-01-07 22:28:00 +01:00 committed by GitHub
commit 3081f60989
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View File

@ -3520,6 +3520,7 @@ expand_by_function (
win_T *curwin_save;
buf_T *curbuf_save;
typval_T rettv;
const int save_State = State;
funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
if (*funcname == NUL)
@ -3565,6 +3566,9 @@ expand_by_function (
ins_compl_add_dict(matchdict);
theend:
// Restore State, it might have been changed.
State = save_State;
if (matchdict != NULL) {
tv_dict_unref(matchdict);
}
@ -4676,6 +4680,7 @@ static int ins_complete(int c, bool enable_pum)
pos_T pos;
win_T *curwin_save;
buf_T *curbuf_save;
const int save_State = State;
/* Call 'completefunc' or 'omnifunc' and get pattern length as a
* string */
@ -4693,7 +4698,9 @@ static int ins_complete(int c, bool enable_pum)
pos = curwin->w_cursor;
curwin_save = curwin;
curbuf_save = curbuf;
col = call_func_retnr(funcname, 2, args, FALSE);
col = call_func_retnr(funcname, 2, args, false);
State = save_State;
if (curwin_save != curwin || curbuf_save != curbuf) {
EMSG(_(e_complwin));
return FAIL;
@ -8667,6 +8674,7 @@ static colnr_T get_nolist_virtcol(void)
static char_u *do_insert_char_pre(int c)
{
char buf[MB_MAXBYTES + 1];
const int save_State = State;
// Return quickly when there is nothing to do.
if (!has_event(EVENT_INSERTCHARPRE)) {
@ -8691,6 +8699,9 @@ static char_u *do_insert_char_pre(int c)
set_vim_var_string(VV_CHAR, NULL, -1);
textlock--;
// Restore the State, it may have been changed.
State = save_State;
return res;
}

View File

@ -26,7 +26,7 @@
" It will be called after each Test_ function.
"
" When debugging a test it can be useful to add messages to v:errors:
" call add(v:errors, "this happened")
" call add(v:errors, "this happened")
" Check that the screen size is at least 24 x 80 characters.
@ -130,6 +130,10 @@ func RunTheTest(test)
endtry
endif
" In case 'insertmode' was set and something went wrong, make sure it is
" reset to avoid trouble with anything else.
set noinsertmode
if exists("*TearDown")
try
call TearDown()