]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.280 v7.3.280
authorBram Moolenaar <Bram@vim.org>
Wed, 10 Aug 2011 16:36:54 +0000 (18:36 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 10 Aug 2011 16:36:54 +0000 (18:36 +0200)
Problem:    ":lmake" does not update the quickfix window title.
Solution:   Update the title. (Lech Lorens)

src/quickfix.c
src/testdir/test10.in
src/testdir/test10.ok
src/version.c

index 17d85837cb82f081b0ddcf7a608c16c14c76e4f1..0502392c923437f9b79adf37e4aa1e331bdd1f2e 100644 (file)
@@ -126,6 +126,7 @@ static int  is_qf_win __ARGS((win_T *win, qf_info_T *qi));
 static win_T   *qf_find_win __ARGS((qf_info_T *qi));
 static buf_T   *qf_find_buf __ARGS((qf_info_T *qi));
 static void    qf_update_buffer __ARGS((qf_info_T *qi));
+static void    qf_set_title __ARGS((qf_info_T *qi));
 static void    qf_fill_buffer __ARGS((qf_info_T *qi));
 #endif
 static char_u  *get_mef_name __ARGS((void));
@@ -2388,8 +2389,7 @@ ex_copen(eap)
     qf_fill_buffer(qi);
 
     if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
-       set_internal_string_var((char_u *)"w:quickfix_title",
-                                      qi->qf_lists[qi->qf_curlist].qf_title);
+       qf_set_title(qi);
 
     curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
     curwin->w_cursor.col = 0;
@@ -2526,6 +2526,8 @@ qf_update_buffer(qi)
     qf_info_T  *qi;
 {
     buf_T      *buf;
+    win_T      *win;
+    win_T      *curwin_save;
     aco_save_T aco;
 
     /* Check if a buffer for the quickfix list exists.  Update it. */
@@ -2537,6 +2539,16 @@ qf_update_buffer(qi)
 
        qf_fill_buffer(qi);
 
+       if (qi->qf_lists[qi->qf_curlist].qf_title != NULL
+           && (win = qf_find_win(qi)) != NULL)
+       {
+           curwin_save = curwin;
+           curwin = win;
+           qf_set_title(qi);
+           curwin = curwin_save;
+
+       }
+
        /* restore curwin/curbuf and a few other things */
        aucmd_restbuf(&aco);
 
@@ -2544,6 +2556,14 @@ qf_update_buffer(qi)
     }
 }
 
+    static void
+qf_set_title(qi)
+    qf_info_T  *qi;
+{
+    set_internal_string_var((char_u *)"w:quickfix_title",
+                                   qi->qf_lists[qi->qf_curlist].qf_title);
+}
+
 /*
  * Fill current buffer with quickfix errors, replacing any previous contents.
  * curbuf must be the quickfix buffer!
index 0bd6455f1894b7dc21423609f5e74d27ff7d0a47..50ef86eb0c39f18918046c460ef0bccb2acda906 100644 (file)
@@ -5,9 +5,16 @@ STARTTEST
 :" Also test a BOM is ignored.
 :so mbyte.vim
 :set encoding=utf-8
-:/start of errorfile/,/end of errorfile/w! Xerrorfile
+:7/start of errorfile/,/end of errorfile/w! Xerrorfile1
+:7/start of errorfile/,/end of errorfile/-1w! Xerrorfile2
 :/start of testfile/,/end of testfile/w! Xtestfile
-:cf Xerrorfile
+:cf Xerrorfile2
+:clast
+:copen
+:let a=w:quickfix_title
+:wincmd p
+gR\12=a\r\e
+:cf Xerrorfile1
 rA
 :cn
 rB
@@ -17,6 +24,11 @@ rC
 rD
 :cn
 rE
+:cn
+:wincmd w
+:let a=w:quickfix_title
+:wincmd p
+gR\12=a\r\e
 :w! test.out             " Write contents of this file
 :qa!
 ENDTEST
@@ -33,6 +45,8 @@ in file "Xtestfile" linenr 16: there is an error
 "Xtestfile", linenr 19: yet another problem
 
 Does anyone know what is the problem and how to correction it?
+"Xtestfile", line 21 col 9: What is the title of the quickfix window?
+"Xtestfile", line 22 col 9: What is the title of the quickfix window?
 end of errorfile
 
 start of testfile
index 2c86889c185e29842827f0aefc7403fc59ae66de..01d47e8f35ac0a78b2c12dca01064e7719a26ad8 100644 (file)
@@ -18,6 +18,6 @@ line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+line 21 :cf Xerrorfile1xxxxxxxxxxxxxxx
+line 22 :cf Xerrorfile2xxxxxxxxxxxxxxx
 end of testfile
index 8ef4fac0bb22371f92cff0d86eb6513bc8da0719..133037690c9279bfe0a4cb0c1ad2bf20766119f8 100644 (file)
@@ -709,6 +709,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    280,
 /**/
     279,
 /**/