0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -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
rA rA
:cn :cn
rB rB
@ -17,6 +24,11 @@ rC
rD rD
:cn :cn
rE rE
:cn
:wincmd w
:let a=w:quickfix_title
:wincmd p
gR=a 
:w! test.out " Write contents of this file :w! test.out " Write contents of this file
:qa! :qa!
ENDTEST ENDTEST
@ -33,6 +45,8 @@ in file "Xtestfile" linenr 16: there is an error
"Xtestfile", linenr 19: yet another problem "Xtestfile", linenr 19: yet another problem
Does anyone know what is the problem and how to correction it? 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 end of errorfile
start of testfile start of testfile

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,
/**/ /**/