0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

updated for version 7.3.538

Problem:    'efm' does not handle Tabs in pointer lines.
Solution:   Add Tab support. Improve tests. (Lech Lorens)
This commit is contained in:
Bram Moolenaar
2012-06-01 18:34:41 +02:00
parent 24ee83b0a0
commit f13de07e49
4 changed files with 111 additions and 57 deletions

View File

@@ -247,7 +247,7 @@ qf_init_ext(qi, efile, buf, tv, errorformat, newlist, lnumfirst, lnumlast,
{'t', "."},
{'m', ".\\+"},
{'r', ".*"},
{'p', "[- .]*"},
{'p', "[- .]*"},
{'v', "\\d\\+"},
{'s', ".\\+"}
};
@@ -677,11 +677,23 @@ restofline:
}
if ((i = (int)fmt_ptr->addr[7]) > 0) /* %p */
{
char_u *match_ptr;
if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
continue;
col = (int)(regmatch.endp[i] - regmatch.startp[i] + 1);
if (*((char_u *)regmatch.startp[i]) != TAB)
use_viscol = TRUE;
col = 0;
for (match_ptr = regmatch.startp[i];
match_ptr != regmatch.endp[i]; ++match_ptr)
{
++col;
if (*match_ptr == TAB)
{
col += 7;
col -= col % 8;
}
}
++col;
use_viscol = TRUE;
}
if ((i = (int)fmt_ptr->addr[8]) > 0) /* %v */
{