From 463ee340d065dab803b9bd459fc5827adb6fcc64 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Sun, 8 Aug 2010 18:17:52 +0200 Subject: [PATCH] Fix: 'suffixesadd' was used for finding tags file. --- runtime/doc/todo.txt | 8 ++++---- src/misc2.c | 10 ++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index f10ee6943a..ae8ef69456 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3e. Last change: 2010 Aug 07 +*todo.txt* For Vim version 7.3e. Last change: 2010 Aug 08 VIM REFERENCE MANUAL by Bram Moolenaar @@ -33,9 +33,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. Before release 7.3: - Rename vim73 branch to default (hints: Xavier de Gaye, 2010 May 23) -Bug: searching for tags file uses 'suffixesadd', should not happen. (Dominique -Pelle, 2010 June 28) - Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5) When directory "/tmp/tags" contains "tags1" and "tags2", setting 'tags' to @@ -44,6 +41,9 @@ When directory "/tmp/tags" contains "tags1" and "tags2", setting 'tags' to ":command Print echo 'print'" works, but ":Print" doesn't. Builtin Print should be overruled. (Aaron Thoma) +GTK: drawing a double-width combining character over single-width characters +doesn't look right. (Dominique Pelle, 2010 Aug 8) + Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the ^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer? diff --git a/src/misc2.c b/src/misc2.c index 21c5b42e91..6f19bb61a3 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -4163,6 +4163,7 @@ typedef struct ff_visited_list_hdr * ffsc_level: how many levels of dirs to search downwards * ffsc_stopdirs_v: array of stop directories for upward search * ffsc_find_what: FINDFILE_BOTH, FINDFILE_DIR or FINDFILE_FILE + * ffsc_tagfile: searching for tags file, don't use 'suffixesadd' */ typedef struct ff_search_ctx_T { @@ -4180,6 +4181,7 @@ typedef struct ff_search_ctx_T char_u **ffsc_stopdirs_v; #endif int ffsc_find_what; + int ffsc_tagfile; } ff_search_ctx_T; /* locally needed functions */ @@ -4307,7 +4309,7 @@ vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what, int free_visited; int find_what; void *search_ctx_arg; - int tagfile; + int tagfile; /* expanding names of tags files */ char_u *rel_fname; /* file name to use for "." */ { #ifdef FEAT_PATH_EXTRA @@ -4329,6 +4331,7 @@ vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what, vim_memset(search_ctx, 0, sizeof(ff_search_ctx_T)); } search_ctx->ffsc_find_what = find_what; + search_ctx->ffsc_tagfile = tagfile; /* clear the search context, but NOT the visited lists */ ff_clear(search_ctx); @@ -4899,7 +4902,10 @@ vim_findfile(search_ctx_arg) */ #ifdef FEAT_SEARCHPATH len = (int)STRLEN(file_path); - suf = curbuf->b_p_sua; + if (search_ctx->ffsc_tagfile) + suf = (char_u *)""; + else + suf = curbuf->b_p_sua; for (;;) #endif { -- GitLab