> 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.
