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!