diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/quickfix.c | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/quickfix.c b/src/quickfix.c index 2f8155a4c..0de6fe0b1 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -3179,7 +3179,20 @@ ex_vimgrep(eap) EMSG(_(e_invalpat)); goto theend; } - regmatch.regprog = vim_regcomp(s, RE_MAGIC); + + if (s != NULL && *s == NUL) + { + /* Pattern is empty, use last search pattern. */ + if (last_search_pat() == NULL) + { + EMSG(_(e_noprevre)); + goto theend; + } + regmatch.regprog = vim_regcomp(last_search_pat(), RE_MAGIC); + } + else + regmatch.regprog = vim_regcomp(s, RE_MAGIC); + if (regmatch.regprog == NULL) goto theend; regmatch.rmm_ic = p_ic; diff --git a/src/version.c b/src/version.c index 9b90b51e6..b4234e0a3 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 850, +/**/ 849, /**/ 848, |