home *** CD-ROM | disk | FTP | other *** search
- 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 ///
-