aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-04-27 21:01:03 -0400
committerJustin M. Keyes <justinkz@gmail.com>2016-04-27 21:01:03 -0400
commit2d5520fb256b281e7e32cb48f106e205fc494d76 (patch)
treeb2fa138be8c954a7cc1b846ce6c51014bcc668a8
parent6bb4b9f57f5011db0c895370e00f2351422a2c25 (diff)
parente57238a644cf24f3130caf7d557a081bbd89df4a (diff)
downloadrneovim-2d5520fb256b281e7e32cb48f106e205fc494d76.tar.gz
rneovim-2d5520fb256b281e7e32cb48f106e205fc494d76.tar.bz2
rneovim-2d5520fb256b281e7e32cb48f106e205fc494d76.zip
Merge pull request #4622 from Shougo/vim-7.4.1753
vim-patch:7.4.1753
-rw-r--r--src/nvim/edit.c27
-rw-r--r--src/nvim/option.c5
-rw-r--r--src/nvim/version.c1
3 files changed, 21 insertions, 12 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 667ce1e779..005c569561 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -2319,6 +2319,22 @@ static int ins_compl_make_cyclic(void)
return count;
}
+
+// Set variables that store noselect and noinsert behavior from the
+// 'completeopt' value.
+void completeopt_was_set(void)
+{
+ 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).
@@ -3097,17 +3113,6 @@ static bool ins_compl_prep(int c)
}
- if (strstr((char *)p_cot, "noselect") != NULL) {
- compl_no_insert = FALSE;
- compl_no_select = TRUE;
- } else if (strstr((char *)p_cot, "noinsert") != NULL) {
- compl_no_insert = TRUE;
- compl_no_select = FALSE;
- } else {
- compl_no_insert = FALSE;
- compl_no_select = FALSE;
- }
-
if (ctrl_x_mode == CTRL_X_NOT_DEFINED_YET) {
/*
* We have just typed CTRL-X and aren't quite sure which CTRL-X mode
diff --git a/src/nvim/option.c b/src/nvim/option.c
index b255d47c18..df271e9eb5 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -2958,8 +2958,11 @@ did_set_string_option (
}
/* 'completeopt' */
else if (varp == &p_cot) {
- if (check_opt_strings(p_cot, p_cot_values, TRUE) != OK)
+ if (check_opt_strings(p_cot, p_cot_values, true) != OK) {
errmsg = e_invarg;
+ } else {
+ completeopt_was_set();
+ }
}
/* 'pastetoggle': translate key codes like in a mapping */
else if (varp == &p_pt) {
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 927958b109..51b7ae0001 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -71,6 +71,7 @@ static char *features[] = {
static int included_patches[] = {
1757,
1755,
+ 1753,
1654,
1652,
1643,