summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.264
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.264')
-rw-r--r--source/ap/vim/patches/7.3.264159
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(&regmatch, 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(&regmatch, 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(&regmatch, (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(&regmatch, (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 ///