To: vim-dev@vim.org Subject: Patch 6.1a.022 Fcc: outbox From: Bram Moolenaar MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.1a.022 Problem: A tags file might be used twice on case insensitive systems. (Rick Swanton) Solution: Don't use the same file name twice in the default for the 'tags' option. Ignore case when comparing names of already visited files. Files: src/misc2.c, src/option.c *** ../vim61a.021/src/misc2.c Thu Feb 21 19:07:01 2002 --- src/misc2.c Sun Mar 3 16:34:38 2002 *************** *** 4189,4195 **** { for (i = ctx->ffs_filearray_cur; i < ctx->ffs_filearray_size; ++i) { ! if (STRCMP(ctx->ffs_filearray[i], ctx->ffs_fix_path) == 0) continue; /* don't repush same directory */ if (!mch_isdir(ctx->ffs_filearray[i])) continue; /* not a directory */ --- 4189,4195 ---- { for (i = ctx->ffs_filearray_cur; i < ctx->ffs_filearray_size; ++i) { ! if (fnamecmp(ctx->ffs_filearray[i], ctx->ffs_fix_path) == 0) continue; /* don't repush same directory */ if (!mch_isdir(ctx->ffs_filearray[i])) continue; /* not a directory */ *************** *** 4311,4317 **** retptr = ff_search_ctx->ffsc_visited_lists_list; while (retptr != NULL) { ! if (0 == STRCMP(filename, retptr->ffvl_filename)) { #ifdef FF_VERBOSE if (p_verbose >= 5) --- 4311,4317 ---- retptr = ff_search_ctx->ffsc_visited_lists_list; while (retptr != NULL) { ! if (fnamecmp(filename, retptr->ffvl_filename) == 0) { #ifdef FF_VERBOSE if (p_verbose >= 5) *************** *** 4366,4374 **** #ifdef FEAT_PATH_EXTRA /* ! * check if two wildcard pathes are equal. Returns TRUE or FALSE. * They are equal if: ! * - both pathes are NULL * - they have the same length * - char by char comparison is OK * - the only differences are in the counters behind a '**', so --- 4366,4374 ---- #ifdef FEAT_PATH_EXTRA /* ! * check if two wildcard paths are equal. Returns TRUE or FALSE. * They are equal if: ! * - both paths are NULL * - they have the same length * - char by char comparison is OK * - the only differences are in the counters behind a '**', so *************** *** 4392,4398 **** for (i = 0; s1[i] != NUL && s2[i] != NUL; i++) { ! if (s1[i] != s2[i]) { if (i >= 2) if (s1[i-1] == '*' && s1[i-2] == '*') --- 4392,4402 ---- for (i = 0; s1[i] != NUL && s2[i] != NUL; i++) { ! if (s1[i] != s2[i] ! #ifdef CASE_INSENSITIVE_FILENAME ! && TO_UPPER(s1[i]) != TO_UPPER(s2[i]) ! #endif ! ) { if (i >= 2) if (s1[i-1] == '*' && s1[i-2] == '*') *************** *** 4693,4705 **** * '/home/rks'. Check for PATHSEP in stopdirs_v[i], else * '/home/r' would also match '/home/rks' */ ! if (STRNCMP(stopdirs_v[i], path, path_len) == 0 && stopdirs_v[i][path_len] == PATHSEP) return TRUE; } else { ! if (STRCMP(stopdirs_v[i], path) == 0) return TRUE; } } --- 4697,4709 ---- * '/home/rks'. Check for PATHSEP in stopdirs_v[i], else * '/home/r' would also match '/home/rks' */ ! if (fnamencmp(stopdirs_v[i], path, path_len) == 0 && stopdirs_v[i][path_len] == PATHSEP) return TRUE; } else { ! if (fnamecmp(stopdirs_v[i], path) == 0) return TRUE; } } *** ../vim61a.021/src/option.c Thu Feb 28 20:52:13 2002 --- src/option.c Sun Mar 3 15:41:58 2002 *************** *** 1911,1917 **** {"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, (char_u *)&p_tags, OPT_BOTH(PV_TAGS), { ! #ifdef FEAT_EMACS_TAGS (char_u *)"./tags,./TAGS,tags,TAGS", #else (char_u *)"./tags,tags", --- 1911,1917 ---- {"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, (char_u *)&p_tags, OPT_BOTH(PV_TAGS), { ! #if defined(FEAT_EMACS_TAGS) && !defined(CASE_INSENSITIVE_FILENAME) (char_u *)"./tags,./TAGS,tags,TAGS", #else (char_u *)"./tags,tags", *** ../vim61a.021/src/version.c Sun Mar 3 12:43:35 2002 --- src/version.c Sun Mar 3 16:38:02 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 22, /**/ -- hundred-and-one symptoms of being an internet addict: 108. While reading a magazine, you look for the Zoom icon for a better look at a photograph. /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ /// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\ \\\ Project leader for A-A-P -- http://www.a-a-p.org /// \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///