diff src/quickfix.c @ 4197:07fef68eb018 v7.3.850

updated for version 7.3.850 Problem: ":vimgrep //" matches everywhere. Solution: Make it use the previous search pattern. (David B?rgin)
author Bram Moolenaar <bram@vim.org>
date Thu, 07 Mar 2013 16:32:54 +0100
parents 706c87d16d40
children 04736b4030ec
line wrap: on
line diff
--- 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;