0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

updated for version 7.3.280

Problem:    ":lmake" does not update the quickfix window title.
Solution:   Update the title. (Lech Lorens)
This commit is contained in:
Bram Moolenaar
2011-08-10 18:36:54 +02:00
parent 12bc1b5c9f
commit c95e32635c
4 changed files with 42 additions and 6 deletions

View 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 win_T *qf_find_win __ARGS((qf_info_T *qi));
static buf_T *qf_find_buf __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_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)); static void qf_fill_buffer __ARGS((qf_info_T *qi));
#endif #endif
static char_u *get_mef_name __ARGS((void)); static char_u *get_mef_name __ARGS((void));
@@ -2388,8 +2389,7 @@ ex_copen(eap)
qf_fill_buffer(qi); qf_fill_buffer(qi);
if (qi->qf_lists[qi->qf_curlist].qf_title != NULL) if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
set_internal_string_var((char_u *)"w:quickfix_title", qf_set_title(qi);
qi->qf_lists[qi->qf_curlist].qf_title);
curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
curwin->w_cursor.col = 0; curwin->w_cursor.col = 0;
@@ -2526,6 +2526,8 @@ qf_update_buffer(qi)
qf_info_T *qi; qf_info_T *qi;
{ {
buf_T *buf; buf_T *buf;
win_T *win;
win_T *curwin_save;
aco_save_T aco; aco_save_T aco;
/* Check if a buffer for the quickfix list exists. Update it. */ /* Check if a buffer for the quickfix list exists. Update it. */
@@ -2537,6 +2539,16 @@ qf_update_buffer(qi)
qf_fill_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 */ /* restore curwin/curbuf and a few other things */
aucmd_restbuf(&aco); 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. * Fill current buffer with quickfix errors, replacing any previous contents.
* curbuf must be the quickfix buffer! * curbuf must be the quickfix buffer!

View File

@@ -5,9 +5,16 @@ STARTTEST
:" Also test a BOM is ignored. :" Also test a BOM is ignored.
:so mbyte.vim :so mbyte.vim
:set encoding=utf-8 :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 :/start of testfile/,/end of testfile/w! Xtestfile
:cf Xerrorfile :cf Xerrorfile2
:clast
:copen
:let a=w:quickfix_title
:wincmd p
gR=a

:cf Xerrorfile1 :cf Xerrorfile1
rA rA
:cn :cn
@@ -17,6 +24,11 @@ rC
:cn :cn
rD rD
:cn :cn
rE
:cn
:wincmd w
:let a=w:quickfix_title
:wincmd p
gR=a gR=a
 
:w! test.out " Write contents of this file :w! test.out " Write contents of this file
@@ -33,6 +45,8 @@ in file "Xtestfile" linenr 16: there is an error
2 returned 2 returned
"Xtestfile", linenr 19: yet another problem "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 21 col 9: What is the title of the quickfix window?
"Xtestfile", line 22 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 end of errorfile

View File

@@ -18,6 +18,6 @@ line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21 :cf Xerrorfile1xxxxxxxxxxxxxxx
line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22 :cf Xerrorfile2xxxxxxxxxxxxxxx
end of testfile end of testfile

View File

@@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
280,
/**/ /**/
279, 279,
/**/ /**/