mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.2.4477: crash when using fuzzy completion
Problem: Crash when using fuzzy completion.
Solution: Temporary fix: put back regexp. (closes vim/vim#9851)
29ab6ce9f3
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
parent
4c127f107a
commit
bdd14d03c7
@ -2636,7 +2636,6 @@ static int ExpandFromContext(expand_T *xp, char *pat, char ***matches, int *numM
|
||||
regmatch_T regmatch = { .rm_ic = false };
|
||||
int ret;
|
||||
int flags = map_wildopts_to_ewflags(options);
|
||||
const bool fuzzy = cmdline_fuzzy_complete(pat);
|
||||
|
||||
if (xp->xp_context == EXPAND_FILES
|
||||
|| xp->xp_context == EXPAND_DIRECTORIES
|
||||
@ -2717,16 +2716,14 @@ static int ExpandFromContext(expand_T *xp, char *pat, char ***matches, int *numM
|
||||
return nlua_expand_pat(xp, pat, numMatches, matches);
|
||||
}
|
||||
|
||||
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) {
|
||||
ret = ExpandSettings(xp, ®match, pat, numMatches, matches);
|
||||
@ -2738,9 +2735,7 @@ static int ExpandFromContext(expand_T *xp, char *pat, char ***matches, int *numM
|
||||
ret = ExpandOther(pat, xp, ®match, matches, numMatches);
|
||||
}
|
||||
|
||||
if (!fuzzy) {
|
||||
vim_regfree(regmatch.regprog);
|
||||
}
|
||||
vim_regfree(regmatch.regprog);
|
||||
xfree(tofree);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user