]> granicus.if.org Git - vim/commitdiff
updated for version 7.1-111 v7.1.111
authorBram Moolenaar <Bram@vim.org>
Sun, 16 Sep 2007 11:27:42 +0000 (11:27 +0000)
committerBram Moolenaar <Bram@vim.org>
Sun, 16 Sep 2007 11:27:42 +0000 (11:27 +0000)
src/quickfix.c
src/version.c

index 1ae175b55b9fc2e86e212ddf1ed109ad5057f7d4..c3cee13a1aecf32ae8ee95b5c9325d2fa68b5468 100644 (file)
@@ -1612,8 +1612,8 @@ qf_jump(qi, dir, errornr, forceit)
        }
 
        /*
-        * If there is only one window and is the quickfix window, create a new
-        * one above the quickfix window.
+        * If there is only one window and it is the quickfix window, create a
+        * new one above the quickfix window.
         */
        if (((firstwin == lastwin) && bt_quickfix(curbuf)) || !usable_win)
        {
@@ -2981,6 +2981,7 @@ ex_vimgrep(eap)
     buf_T      *buf;
     int                duplicate_name = FALSE;
     int                using_dummy;
+    int                redraw_for_dummy = FALSE;
     int                found_match;
     buf_T      *first_match_buf = NULL;
     time_t     seconds = 0;
@@ -3097,6 +3098,7 @@ ex_vimgrep(eap)
            /* Remember that a buffer with this name already exists. */
            duplicate_name = (buf != NULL);
            using_dummy = TRUE;
+           redraw_for_dummy = TRUE;
 
 #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
            /* Don't do Filetype autocommands to avoid loading syntax and
@@ -3243,11 +3245,29 @@ ex_vimgrep(eap)
     if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
     {
        if ((flags & VGR_NOJUMP) == 0)
+       {
+           buf = curbuf;
            qf_jump(qi, 0, 0, eap->forceit);
+           if (buf != curbuf)
+               /* If we jumped to another buffer redrawing will already be
+                * taken care of. */
+               redraw_for_dummy = FALSE;
+       }
     }
     else
        EMSG2(_(e_nomatch2), s);
 
+    /* If we loaded a dummy buffer into the current window, the autocommands
+     * may have messed up things, need to redraw and recompute folds. */
+    if (redraw_for_dummy)
+    {
+#ifdef FEAT_FOLDING
+       foldUpdateAll(curwin);
+#else
+       redraw_later(NOT_VALID);
+#endif
+    }
+
 theend:
     vim_free(regmatch.regprog);
 }
index d4757007ea11f988748b025298a45c27ca57ad8e..748d8638f49792d1d91b428691bed1eeaf1fe173 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    111,
 /**/
     110,
 /**/