patch 9.1.1185: endless loop with completefuzzycollect and no match found
Problem: endless loop with completefuzzycollect and no match found
Solution: move pointer to line end and break loop
closes: #16820
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 f770041..d8bb081 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -217,7 +217,6 @@
static void ins_compl_longest_match(compl_T *match);
static void ins_compl_del_pum(void);
static void ins_compl_files(int count, char_u **files, int thesaurus, int flags, regmatch_T *regmatch, char_u *buf, int *dir);
-static char_u *find_line_end(char_u *ptr);
static void ins_compl_free(void);
static int ins_compl_need_restart(void);
static void ins_compl_new_leader(void);
@@ -1870,8 +1869,6 @@
&& score == compl_first_match->cp_next->cp_score)
compl_num_bests++;
}
- else if (find_word_end(ptr) == line_end)
- break;
}
}
line_breakcheck();
@@ -1927,7 +1924,7 @@
* Find the end of the line, omitting CR and NL at the end.
* Returns a pointer to just after the line.
*/
- static char_u *
+ char_u *
find_line_end(char_u *ptr)
{
char_u *s;