1
0
forked from aniani/vim

updated for version 7.3.609

Problem:    File names in :checkpath! output are garbled.
Solution:   Check for \zs in the pattern. (Lech Lorens)
This commit is contained in:
Bram Moolenaar
2012-07-25 13:46:30 +02:00
parent 6763c140d6
commit 058bdcfd5d
4 changed files with 148 additions and 7 deletions

View File

@@ -4740,17 +4740,33 @@ find_pattern_in_path(ptr, dir, len, whole, skip_comments,
* Isolate the file name.
* Include the surrounding "" or <> if present.
*/
for (p = incl_regmatch.endp[0]; !vim_isfilec(*p); p++)
;
for (i = 0; vim_isfilec(p[i]); i++)
;
if (inc_opt != NULL
&& strstr((char *)inc_opt, "\\zs") != NULL)
{
/* pattern contains \zs, use the match */
p = incl_regmatch.startp[0];
i = (int)(incl_regmatch.endp[0]
- incl_regmatch.startp[0]);
}
else
{
/* find the file name after the end of the match */
for (p = incl_regmatch.endp[0];
*p && !vim_isfilec(*p); p++)
;
for (i = 0; vim_isfilec(p[i]); i++)
;
}
if (i == 0)
{
/* Nothing found, use the rest of the line. */
p = incl_regmatch.endp[0];
i = (int)STRLEN(p);
}
else
/* Avoid checking before the start of the line, can
* happen if \zs appears in the regexp. */
else if (p > line)
{
if (p[-1] == '"' || p[-1] == '<')
{