patch 9.1.1197: process_next_cpt_value() uses wrong condition
Problem: process_next_cpt_value() uses wrong condition
Solution: use cfc_has_mode() instead and remove redundant else if branch
(glepnir)
closes: #16833
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/insexpand.c b/src/insexpand.c
index d8bb081..35d20d0 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -3671,7 +3671,7 @@
ins_compl_next_state_T *st,
int *compl_type_arg,
pos_T *start_match_pos,
- int in_fuzzy)
+ int fuzzy_collect)
{
int compl_type = -1;
int status = INS_COMPL_CPT_OK;
@@ -3687,7 +3687,7 @@
st->first_match_pos = *start_match_pos;
// Move the cursor back one character so that ^N can match the
// word immediately after the cursor.
- if (ctrl_x_mode_normal() && (!in_fuzzy && dec(&st->first_match_pos) < 0))
+ if (ctrl_x_mode_normal() && (!fuzzy_collect && dec(&st->first_match_pos) < 0))
{
// Move the cursor to after the last character in the
// buffer, so that word at start of buffer is found
@@ -4487,7 +4487,6 @@
int i;
int found_new_match;
int type = ctrl_x_mode;
- int in_fuzzy = (get_cot_flags() & COT_FUZZY) != 0;
if (!compl_started)
{
@@ -4528,7 +4527,7 @@
if ((ctrl_x_mode_normal() || ctrl_x_mode_line_or_eval())
&& (!compl_started || st.found_all))
{
- int status = process_next_cpt_value(&st, &type, ini, in_fuzzy);
+ int status = process_next_cpt_value(&st, &type, ini, cfc_has_mode());
if (status == INS_COMPL_CPT_END)
break;