patch 7.4.746 Problem: ":[count]tag" is not always working. (cs86661) Solution: Set cur_match a bit later. (Hirohito Higashi)

This commit is contained in:
Bram Moolenaar
2015-06-19 16:46:02 +02:00
committed by Douglas Drumond
parent 5fbd36afc4
commit 6f47c47b33
2 changed files with 11 additions and 10 deletions
+9 -10
View File
@@ -508,14 +508,7 @@ do_tag(tag, type, count, forceit, verbose)
tagmatchname = vim_strsave(name);
}
/*
* If a count is supplied to the ":tag <name>" command, then
* jump to count'th matching tag.
*/
if (type == DT_TAG && *tag != NUL && count > 0)
cur_match = count - 1;
if (type == DT_SELECT || type == DT_JUMP
if (type == DT_TAG || type == DT_SELECT || type == DT_JUMP
#if defined(FEAT_QUICKFIX)
|| type == DT_LTAG
#endif
@@ -594,7 +587,13 @@ do_tag(tag, type, count, forceit, verbose)
}
else
#endif
if (type == DT_SELECT || (type == DT_JUMP && num_matches > 1))
if (type == DT_TAG)
/*
* If a count is supplied to the ":tag <name>" command, then
* jump to count'th matching tag.
*/
cur_match = count > 0 ? count - 1 : 0;
else if (type == DT_SELECT || (type == DT_JUMP && num_matches > 1))
{
/*
* List all the matching tags.
@@ -990,7 +989,7 @@ do_tag(tag, type, count, forceit, verbose)
ic = (matches[cur_match][0] & MT_IC_OFF);
if (type != DT_SELECT && type != DT_JUMP
if (type != DT_TAG && type != DT_SELECT && type != DT_JUMP
#ifdef FEAT_CSCOPE
&& type != DT_CSCOPE
#endif
+2
View File
@@ -756,6 +756,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
746,
/**/
745,
/**/