# HG changeset patch # User Bram Moolenaar # Date 1645891204 -3600 # Node ID 7422add1afd17414eb65bb621c3f43bbefa36c70 # Parent d19b7aee192545a1ad7ae61e595223ef984765a3 patch 8.2.4477: crash when using fuzzy completion Commit: https://github.com/vim/vim/commit/29ab6ce9f36660cffaad3c8789e71162e5db5d2f Author: Bram Moolenaar Date: Sat Feb 26 15:52:08 2022 +0000 patch 8.2.4477: crash when using fuzzy completion Problem: Crash when using fuzzy completion. Solution: Temporary fix: put back regexp. (closes https://github.com/vim/vim/issues/9851) diff --git a/src/cmdexpand.c b/src/cmdexpand.c --- a/src/cmdexpand.c +++ b/src/cmdexpand.c @@ -2370,7 +2370,7 @@ get_mapclear_arg(expand_T *xp UNUSED, in 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; - - // set ignore-case according to p_ic, p_scs and pat - regmatch.rm_ic = ignorecase(pat); - } + 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); if (xp->xp_context == EXPAND_SETTINGS || xp->xp_context == EXPAND_BOOL_SETTINGS) @@ -2603,8 +2599,7 @@ ExpandFromContext( else ret = ExpandOther(pat, xp, ®match, matches, numMatches); - if (!fuzzy) - vim_regfree(regmatch.regprog); + vim_regfree(regmatch.regprog); vim_free(tofree); return ret; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4477, +/**/ 4476, /**/ 4475,