]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.4477: crash when using fuzzy completion v8.2.4477
authorBram Moolenaar <Bram@vim.org>
Sat, 26 Feb 2022 15:52:08 +0000 (15:52 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 26 Feb 2022 15:52:08 +0000 (15:52 +0000)
Problem:    Crash when using fuzzy completion.
Solution:   Temporary fix: put back regexp. (closes #9851)

src/cmdexpand.c
src/version.c

index 138ff9ef814bd5ff5b736d5ff0e4bb3e67853888..dd8bc06d09b35b51961c210b72390d6ab03ddd00 100644 (file)
@@ -2370,7 +2370,7 @@ get_mapclear_arg(expand_T *xp UNUSED, int idx)
     static int
 ExpandOther(
        char_u          *pat,
-       expand_T        *xp, 
+       expand_T        *xp,
        regmatch_T      *rmp,
        char_u          ***matches,
        int             *numMatches)
@@ -2496,7 +2496,6 @@ ExpandFromContext(
     int                ret;
     int                flags;
     char_u     *tofree = NULL;
-    int                fuzzy = cmdline_fuzzy_complete(pat);
 
     flags = map_wildopts_to_ewflags(options);
 
@@ -2581,15 +2580,12 @@ ExpandFromContext(
        pat = tofree;
     }
 
-    if (!fuzzy)
-    {
-       regmatch.regprog = vim_regcomp(pat, magic_isset() ? RE_MAGIC : 0);
-       if (regmatch.regprog == NULL)
-           return FAIL;
+    regmatch.regprog = vim_regcomp(pat, magic_isset() ? RE_MAGIC : 0);
+    if (regmatch.regprog == NULL)
+       return FAIL;
 
-       // set ignore-case according to p_ic, p_scs and pat
-       regmatch.rm_ic = ignorecase(pat);
-    }
+    // set ignore-case according to p_ic, p_scs and pat
+    regmatch.rm_ic = ignorecase(pat);
 
     if (xp->xp_context == EXPAND_SETTINGS
            || xp->xp_context == EXPAND_BOOL_SETTINGS)
@@ -2603,8 +2599,7 @@ ExpandFromContext(
     else
        ret = ExpandOther(pat, xp, &regmatch, matches, numMatches);
 
-    if (!fuzzy)
-       vim_regfree(regmatch.regprog);
+    vim_regfree(regmatch.regprog);
     vim_free(tofree);
 
     return ret;
index 2fa8e72f134773b66b363a7f80317a6c4222cf82..c8511d2b48397d6062f0f281a6051814c9f92f20 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4477,
 /**/
     4476,
 /**/