> Jason Aeschilman wrote:
>
> > I have a problem with duplicate tags.  It seems that somewhere between
> > 6.2.457-1 and 6.3.54 (which I recently upgrade to), the duplicate tag
> > behavior changed.  It used to be that if I used ctrl-] on a function
name
> > that it would look at the tags file in the current directory and if a
match
> > was found it would jump to the function, but if a match wasn't found it
> > would check the tags file one directory up and if a match was found it
would
> > jump to the function.  Now it seems that in 6.3.54 it looks at both the
tags
> > file in current directory and the tags file up one directory and returns
all
> > the found matches even if they really point to the same file.
> >
> > For example, if I have a directory layout like so:
> >
> > ~/code
> > ~/code/module
> > ~/code/include
> > ~/code/common
> >
> > I would run "ctags -R" in directory "code" and in each subdirectory.
> > Then in my .vimrc I have: set tags=./tags,./../tags
> >
> > This way I could jump to a function reference no matter whether it was
found
> > in a file in the current directory (let's say I'm in ~/code/module) or
if it
> > was found in another directory (~/code/include).
> >
> > If the function was found in a file in the current directory it used to
be
> > that it would just jump to it without giving me a list of matches.  Now
it
> > gives me a list of matches based on what is in the current tags file and
the
> > tags file up a level.  Like so:
> >
> >   # pri kind tag               file
> >   1 F   f    config_load      config.c
> >                int config_load(const char *fname)
> >   2 F   f    config_load      /home/jason/code/module/config.c
> >                int config_load(const char *fname)
> >
> > This is the same file!  The first entry is from the current directory
tags
> > file and the second entry is from the upper level tags file.  I want it
so
> > if a match is found in the current directory tags file to just use that.
It
> > worked this way before upgrading to 6.3.54 and I would like this
behavior
> > back.
> >
> > I've looked at the help and I've been unable to find an option to enable
the
> > old behavior.  Does anyone know how I can get this old behavior back
without
> > having to downgrade to 6.2.457.1?

Bram Moolenaar wrote:
> First of all, it's recommended to upgrade to Vim 6.4.  It includes many
> bugfixes.
>
> But that doesn't solve this specific problem.  I'll look into it.

Bram, did you have a chance to look at this yet?

Does anyone else know if there is a setting to get the old behavior back?  I
simply want vim to look at only the local tags file and if a match is found
to jump.  If and only if there is no match in the local tags file, it will
consult the parent tags file, according to the "set tags=tags;/" setting I
have in my .vimrc.

Reply via email to