changeset 2530:9fe4164cb586 vim73

Fix: :ltag command did not set w:quickfix_title. (Lech Lorens)
author Bram Moolenaar <bram@vim.org>
date Mon, 09 Aug 2010 22:14:48 +0200
parents 2aaa88366cbb
children c9022997af9e
files src/eval.c src/proto/quickfix.pro src/quickfix.c src/tag.c
diffstat 4 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -15824,7 +15824,7 @@ set_qf_ll_list(wp, list_arg, action_arg,
 		action = *act;
 	}
 
-	if (l != NULL && set_errorlist(wp, l, action) == OK)
+	if (l != NULL && set_errorlist(wp, l, action, NULL) == OK)
 	    rettv->vval.v_number = 0;
     }
 #endif
--- a/src/proto/quickfix.pro
+++ b/src/proto/quickfix.pro
@@ -23,7 +23,7 @@ void ex_cfile __ARGS((exarg_T *eap));
 void ex_vimgrep __ARGS((exarg_T *eap));
 char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags));
 int get_errorlist __ARGS((win_T *wp, list_T *list));
-int set_errorlist __ARGS((win_T *wp, list_T *list, int action));
+int set_errorlist __ARGS((win_T *wp, list_T *list, int action, char_u *title));
 void ex_cbuffer __ARGS((exarg_T *eap));
 void ex_cexpr __ARGS((exarg_T *eap));
 void ex_helpgrep __ARGS((exarg_T *eap));
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3593,13 +3593,14 @@ get_errorlist(wp, list)
 
 /*
  * Populate the quickfix list with the items supplied in the list
- * of dictionaries.
+ * of dictionaries. "title" will be copied to w:quickfix_title
  */
     int
-set_errorlist(wp, list, action)
+set_errorlist(wp, list, action, title)
     win_T	*wp;
     list_T	*list;
     int		action;
+    char_u	*title;
 {
     listitem_T	*li;
     dict_T	*d;
@@ -3623,7 +3624,7 @@ set_errorlist(wp, list, action)
 
     if (action == ' ' || qi->qf_curlist == qi->qf_listcount)
 	/* make place for a new list */
-	qf_new_list(qi, NULL);
+	qf_new_list(qi, title);
     else if (action == 'a' && qi->qf_lists[qi->qf_curlist].qf_count > 0)
 	/* Adding to existing list, find last entry. */
 	for (prevp = qi->qf_lists[qi->qf_curlist].qf_start;
--- a/src/tag.c
+++ b/src/tag.c
@@ -911,7 +911,8 @@ do_tag(tag, type, count, forceit, verbos
 			dict_add_nr_str(dict, "pattern", 0L, cmd);
 		}
 
-		set_errorlist(curwin, list, ' ');
+		vim_snprintf(IObuff, IOSIZE, "ltag %s", tag);
+		set_errorlist(curwin, list, ' ', IObuff);
 
 		list_free(list, TRUE);