Mercurial > vim
comparison src/quickfix.c @ 3016:58bba69b3371 v7.3.280
updated for version 7.3.280
Problem: ":lmake" does not update the quickfix window title.
Solution: Update the title. (Lech Lorens)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 10 Aug 2011 18:36:54 +0200 |
parents | 7d4e5e31d8c1 |
children | 48252b5fd170 |
comparison
equal
deleted
inserted
replaced
3015:3cce0a65c296 | 3016:58bba69b3371 |
---|---|
124 static int qf_win_pos_update __ARGS((qf_info_T *qi, int old_qf_index)); | 124 static int qf_win_pos_update __ARGS((qf_info_T *qi, int old_qf_index)); |
125 static int is_qf_win __ARGS((win_T *win, qf_info_T *qi)); | 125 static int is_qf_win __ARGS((win_T *win, qf_info_T *qi)); |
126 static win_T *qf_find_win __ARGS((qf_info_T *qi)); | 126 static win_T *qf_find_win __ARGS((qf_info_T *qi)); |
127 static buf_T *qf_find_buf __ARGS((qf_info_T *qi)); | 127 static buf_T *qf_find_buf __ARGS((qf_info_T *qi)); |
128 static void qf_update_buffer __ARGS((qf_info_T *qi)); | 128 static void qf_update_buffer __ARGS((qf_info_T *qi)); |
129 static void qf_set_title __ARGS((qf_info_T *qi)); | |
129 static void qf_fill_buffer __ARGS((qf_info_T *qi)); | 130 static void qf_fill_buffer __ARGS((qf_info_T *qi)); |
130 #endif | 131 #endif |
131 static char_u *get_mef_name __ARGS((void)); | 132 static char_u *get_mef_name __ARGS((void)); |
132 static buf_T *load_dummy_buffer __ARGS((char_u *fname)); | 133 static buf_T *load_dummy_buffer __ARGS((char_u *fname)); |
133 static void wipe_dummy_buffer __ARGS((buf_T *buf)); | 134 static void wipe_dummy_buffer __ARGS((buf_T *buf)); |
2386 * Fill the buffer with the quickfix list. | 2387 * Fill the buffer with the quickfix list. |
2387 */ | 2388 */ |
2388 qf_fill_buffer(qi); | 2389 qf_fill_buffer(qi); |
2389 | 2390 |
2390 if (qi->qf_lists[qi->qf_curlist].qf_title != NULL) | 2391 if (qi->qf_lists[qi->qf_curlist].qf_title != NULL) |
2391 set_internal_string_var((char_u *)"w:quickfix_title", | 2392 qf_set_title(qi); |
2392 qi->qf_lists[qi->qf_curlist].qf_title); | |
2393 | 2393 |
2394 curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; | 2394 curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; |
2395 curwin->w_cursor.col = 0; | 2395 curwin->w_cursor.col = 0; |
2396 check_cursor(); | 2396 check_cursor(); |
2397 update_topline(); /* scroll to show the line */ | 2397 update_topline(); /* scroll to show the line */ |
2524 static void | 2524 static void |
2525 qf_update_buffer(qi) | 2525 qf_update_buffer(qi) |
2526 qf_info_T *qi; | 2526 qf_info_T *qi; |
2527 { | 2527 { |
2528 buf_T *buf; | 2528 buf_T *buf; |
2529 win_T *win; | |
2530 win_T *curwin_save; | |
2529 aco_save_T aco; | 2531 aco_save_T aco; |
2530 | 2532 |
2531 /* Check if a buffer for the quickfix list exists. Update it. */ | 2533 /* Check if a buffer for the quickfix list exists. Update it. */ |
2532 buf = qf_find_buf(qi); | 2534 buf = qf_find_buf(qi); |
2533 if (buf != NULL) | 2535 if (buf != NULL) |
2535 /* set curwin/curbuf to buf and save a few things */ | 2537 /* set curwin/curbuf to buf and save a few things */ |
2536 aucmd_prepbuf(&aco, buf); | 2538 aucmd_prepbuf(&aco, buf); |
2537 | 2539 |
2538 qf_fill_buffer(qi); | 2540 qf_fill_buffer(qi); |
2539 | 2541 |
2542 if (qi->qf_lists[qi->qf_curlist].qf_title != NULL | |
2543 && (win = qf_find_win(qi)) != NULL) | |
2544 { | |
2545 curwin_save = curwin; | |
2546 curwin = win; | |
2547 qf_set_title(qi); | |
2548 curwin = curwin_save; | |
2549 | |
2550 } | |
2551 | |
2540 /* restore curwin/curbuf and a few other things */ | 2552 /* restore curwin/curbuf and a few other things */ |
2541 aucmd_restbuf(&aco); | 2553 aucmd_restbuf(&aco); |
2542 | 2554 |
2543 (void)qf_win_pos_update(qi, 0); | 2555 (void)qf_win_pos_update(qi, 0); |
2544 } | 2556 } |
2557 } | |
2558 | |
2559 static void | |
2560 qf_set_title(qi) | |
2561 qf_info_T *qi; | |
2562 { | |
2563 set_internal_string_var((char_u *)"w:quickfix_title", | |
2564 qi->qf_lists[qi->qf_curlist].qf_title); | |
2545 } | 2565 } |
2546 | 2566 |
2547 /* | 2567 /* |
2548 * Fill current buffer with quickfix errors, replacing any previous contents. | 2568 * Fill current buffer with quickfix errors, replacing any previous contents. |
2549 * curbuf must be the quickfix buffer! | 2569 * curbuf must be the quickfix buffer! |