0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 7.4.1753

Problem:    "noinsert" in 'completeopt' is sometimes ignored.
Solution:   Set the variables when the 'completeopt' was set. (Ozaki Kiichi)
This commit is contained in:
Bram Moolenaar 2016-04-20 12:02:02 +02:00
parent 8d8aa0a367
commit c020042083
4 changed files with 20 additions and 7 deletions

View File

@ -2760,6 +2760,21 @@ ins_compl_make_cyclic(void)
return count;
}
/*
* Set variables that store noselect and noinsert behavior from the
* 'completeopt' value.
*/
void
completeopt_was_set()
{
compl_no_insert = FALSE;
compl_no_select = FALSE;
if (strstr((char *)p_cot, "noselect") != NULL)
compl_no_select = TRUE;
if (strstr((char *)p_cot, "noinsert") != NULL)
compl_no_insert = TRUE;
}
/*
* Start completion for the complete() function.
* "startcol" is where the matched text starts (1 is first column).
@ -3675,13 +3690,6 @@ ins_compl_prep(int c)
}
compl_no_insert = FALSE;
compl_no_select = FALSE;
if (strstr((char *)p_cot, "noselect") != NULL)
compl_no_select = TRUE;
if (strstr((char *)p_cot, "noinsert") != NULL)
compl_no_insert = TRUE;
if (ctrl_x_mode == CTRL_X_NOT_DEFINED_YET)
{
/*

View File

@ -6951,6 +6951,8 @@ did_set_string_option(
{
if (check_opt_strings(p_cot, p_cot_values, TRUE) != OK)
errmsg = e_invarg;
else
completeopt_was_set();
}
#endif /* FEAT_INS_EXPAND */

View File

@ -8,6 +8,7 @@ void truncate_spaces(char_u *line);
void backspace_until_column(int col);
int vim_is_ctrl_x_key(int c);
int ins_compl_add_infercase(char_u *str, int len, int icase, char_u *fname, int dir, int flags);
void completeopt_was_set(void);
void set_completion(colnr_T startcol, list_T *list);
void ins_compl_show_pum(void);
char_u *find_word_start(char_u *ptr);

View File

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