updated for version 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.
diff --git a/src/misc1.c b/src/misc1.c
index a573b3b..a3a2059 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -9119,7 +9119,9 @@
* all entries found with "matchname". */
if ((p[0] != '.' || starts_with_dot)
&& (matchname == NULL
- || vim_regexec(®match, p, (colnr_T)0)))
+ || vim_regexec(®match, p, (colnr_T)0)
+ || ((flags & EW_NOTWILD)
+ && fnamencmp(path + (s - buf), p, e - s) == 0)))
{
#ifdef WIN3264
STRCPY(s, p);
@@ -9323,7 +9325,7 @@
e = p;
*e = NUL;
- /* now we have one wildcard component between "s" and "e" */
+ /* 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,7 +9392,9 @@
if (dp == NULL)
break;
if ((dp->d_name[0] != '.' || starts_with_dot)
- && vim_regexec(®match, (char_u *)dp->d_name, (colnr_T)0))
+ && (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);