diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.264')
-rw-r--r-- | source/ap/vim/patches/7.3.264 | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.264 b/source/ap/vim/patches/7.3.264 new file mode 100644 index 00000000..71ec851f --- /dev/null +++ b/source/ap/vim/patches/7.3.264 @@ -0,0 +1,159 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.264 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.264 +Problem: When the current directory name contains wildcard characters, such + as "foo[with]bar", the tags file can't be found. (Jeremy + Erickson) +Solution: When searching for matching files also match without expanding + wildcards. This is a bit of a hack. +Files: src/vim.h, src/misc1.c, src/misc2.c + + +*** ../vim-7.3.263/src/vim.h 2011-07-20 15:04:52.000000000 +0200 +--- src/vim.h 2011-07-27 16:21:38.000000000 +0200 +*************** +*** 816,821 **** +--- 816,822 ---- + #define EW_PATH 0x80 /* search in 'path' too */ + #define EW_ICASE 0x100 /* ignore case */ + #define EW_NOERROR 0x200 /* no error for bad regexp */ ++ #define EW_NOTWILD 0x400 /* add match with literal name if exists */ + /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND + * is used when executing commands and EW_SILENT for interactive expanding. */ + +*** ../vim-7.3.263/src/misc1.c 2011-07-20 15:04:52.000000000 +0200 +--- src/misc1.c 2011-07-27 17:24:39.000000000 +0200 +*************** +*** 9119,9125 **** + * all entries found with "matchname". */ + if ((p[0] != '.' || starts_with_dot) + && (matchname == NULL +! || vim_regexec(®match, p, (colnr_T)0))) + { + #ifdef WIN3264 + STRCPY(s, p); +--- 9119,9127 ---- + * all entries found with "matchname". */ + if ((p[0] != '.' || starts_with_dot) + && (matchname == NULL +! || vim_regexec(®match, p, (colnr_T)0) +! || ((flags & EW_NOTWILD) +! && fnamencmp(path + (s - buf), p, e - s) == 0))) + { + #ifdef WIN3264 + STRCPY(s, p); +*************** +*** 9323,9329 **** + e = p; + *e = NUL; + +! /* now we have one wildcard component between "s" and "e" */ + /* Remove backslashes between "wildoff" and the start of the wildcard + * component. */ + for (p = buf + wildoff; p < s; ++p) +--- 9325,9331 ---- + e = p; + *e = NUL; + +! /* Now we have one wildcard component between "s" and "e". */ + /* Remove backslashes between "wildoff" and the start of the wildcard + * component. */ + for (p = buf + wildoff; p < s; ++p) +*************** +*** 9390,9396 **** + if (dp == NULL) + break; + if ((dp->d_name[0] != '.' || starts_with_dot) +! && vim_regexec(®match, (char_u *)dp->d_name, (colnr_T)0)) + { + STRCPY(s, dp->d_name); + len = STRLEN(buf); +--- 9392,9400 ---- + if (dp == NULL) + break; + if ((dp->d_name[0] != '.' || starts_with_dot) +! && (vim_regexec(®match, (char_u *)dp->d_name, (colnr_T)0) +! || ((flags & EW_NOTWILD) +! && fnamencmp(path + (s - buf), dp->d_name, e - s) == 0))) + { + STRCPY(s, dp->d_name); + len = STRLEN(buf); +*** ../vim-7.3.263/src/misc2.c 2011-07-07 17:15:29.000000000 +0200 +--- src/misc2.c 2011-07-27 17:21:10.000000000 +0200 +*************** +*** 4653,4661 **** + { + if (r_ptr[0] == '\\' && r_ptr[1] == ';') + { +! /* overwrite the escape char, +! * use STRLEN(r_ptr) to move the trailing '\0' +! */ + STRMOVE(r_ptr, r_ptr + 1); + r_ptr++; + } +--- 4653,4660 ---- + { + if (r_ptr[0] == '\\' && r_ptr[1] == ';') + { +! /* Overwrite the escape char, +! * use STRLEN(r_ptr) to move the trailing '\0'. */ + STRMOVE(r_ptr, r_ptr + 1); + r_ptr++; + } +*************** +*** 4914,4923 **** + stackp->ffs_filearray_size = 0; + } + else + expand_wildcards((dirptrs[1] == NULL) ? 1 : 2, dirptrs, + &stackp->ffs_filearray_size, + &stackp->ffs_filearray, +! EW_DIR|EW_ADDSLASH|EW_SILENT); + + stackp->ffs_filearray_cur = 0; + stackp->ffs_stage = 0; +--- 4913,4925 ---- + stackp->ffs_filearray_size = 0; + } + else ++ /* Add EW_NOTWILD because the expanded path may contain ++ * wildcard characters that are to be taken literally. ++ * This is a bit of a hack. */ + expand_wildcards((dirptrs[1] == NULL) ? 1 : 2, dirptrs, + &stackp->ffs_filearray_size, + &stackp->ffs_filearray, +! EW_DIR|EW_ADDSLASH|EW_SILENT|EW_NOTWILD); + + stackp->ffs_filearray_cur = 0; + stackp->ffs_stage = 0; +*** ../vim-7.3.263/src/version.c 2011-07-27 14:15:41.000000000 +0200 +--- src/version.c 2011-07-27 17:25:44.000000000 +0200 +*************** +*** 711,712 **** +--- 711,714 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 264, + /**/ + +-- +CUSTOMER: You're not fooling anyone y'know. Look, isn't there something + you can do? +DEAD PERSON: I feel happy... I feel happy. + [whop] +CUSTOMER: Ah, thanks very much. +MORTICIAN: Not at all. See you on Thursday. +CUSTOMER: Right. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |