To: vim_dev@googlegroups.com
Subject: Patch 7.3.538
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.538
Problem: 'efm' does not handle Tabs in pointer lines.
Solution: Add Tab support. Improve tests. (Lech Lorens)
Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
*** ../vim-7.3.537/src/quickfix.c 2012-04-25 18:57:17.000000000 +0200
--- src/quickfix.c 2012-06-01 18:24:07.000000000 +0200
***************
*** 247,253 ****
{'t', "."},
{'m', ".\\+"},
{'r', ".*"},
! {'p', "[- .]*"},
{'v', "\\d\\+"},
{'s', ".\\+"}
};
--- 247,253 ----
{'t', "."},
{'m', ".\\+"},
{'r', ".*"},
! {'p', "[- .]*"},
{'v', "\\d\\+"},
{'s', ".\\+"}
};
***************
*** 677,687 ****
}
if ((i = (int)fmt_ptr->addr[7]) > 0) /* %p */
{
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;
}
if ((i = (int)fmt_ptr->addr[8]) > 0) /* %v */
{
--- 677,699 ----
}
if ((i = (int)fmt_ptr->addr[7]) > 0) /* %p */
{
+ char_u *match_ptr;
+
if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
continue;
! 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 */
{
*** ../vim-7.3.537/src/testdir/test10.in 2011-08-10 18:36:49.000000000 +0200
--- src/testdir/test10.in 2012-06-01 18:22:40.000000000 +0200
***************
*** 8,48 ****
:7/start of errorfile/,/end of errorfile/w! Xerrorfile1
:7/start of errorfile/,/end of errorfile/-1w! Xerrorfile2
:/start of testfile/,/end of testfile/w! Xtestfile
:cf Xerrorfile2
:clast
:copen
:let a=w:quickfix_title
:wincmd p
! gR=a
:cf Xerrorfile1
! rA
:cn
! rB
:cn
! rC
:cn
! rD
:cn
! rE
:cn
:wincmd w
:let a=w:quickfix_title
:wincmd p
! gR=a
:w! test.out " Write contents of this file
:qa!
ENDTEST
start of errorfile
"Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
! "Xtestfile", line 7 col 19; this is an error
gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
! Xtestfile:13: parse error before `asd'
make: *** [vim] Error 1
! in file "Xtestfile" linenr 16: there is an error
2 returned
! "Xtestfile", linenr 19: yet another problem
Does anyone know what is the problem and how to correction it?
"Xtestfile", line 21 col 9: What is the title of the quickfix window?
--- 8,88 ----
:7/start of errorfile/,/end of errorfile/w! Xerrorfile1
:7/start of errorfile/,/end of errorfile/-1w! Xerrorfile2
:/start of testfile/,/end of testfile/w! Xtestfile
+ :set efm+==%f=\\,\ line\ %l%*\\D%v%*[^\ ]\ %m
+ :set efm^=%AError\ in\ \"%f\"\ at\ line\ %l:,%Z%p^,%C%m
:cf Xerrorfile2
:clast
:copen
:let a=w:quickfix_title
:wincmd p
! lgR=a
:cf Xerrorfile1
! grA
:cn
! gRLINE 6, COL 19
:cn
! gRNO COLUMN SPECIFIED
:cn
! gRAGAIN NO COLUMN
:cn
! gRCOL 1
:cn
+ gRCOL 2
+ :cn
+ gRCOL 10
+ :cn
+ gRVCOL 10
+ :cn
+ grI
+ :cn
+ gR. SPACE POINTER
+ :cn
+ gR. DOT POINTER
+ :cn
+ gR. DASH POINTER
+ :cn
+ gR. TAB-SPACE POINTER
+ :clast
+ :cprev
+ :cprev
:wincmd w
:let a=w:quickfix_title
:wincmd p
! lgR=a
:w! test.out " Write contents of this file
:qa!
ENDTEST
start of errorfile
"Xtestfile", line 4.12: 1506-045 (S) Undeclared identifier fd_set.
! "Xtestfile", line 6 col 19; this is an error
gcc -c -DHAVE_CONFIsing-prototypes -I/usr/X11R6/include version.c
! Xtestfile:9: parse error before `asd'
make: *** [vim] Error 1
! in file "Xtestfile" linenr 10: there is an error
2 returned
! "Xtestfile", line 11 col 1; this is an error
! "Xtestfile", line 12 col 2; this is another error
! "Xtestfile", line 14:10; this is an error in column 10
! =Xtestfile=, line 15:10; this is another error, but in vcol 10 this time
! "Xtestfile", linenr 16: yet another problem
! Error in "Xtestfile" at line 17:
! x should be a dot
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17
! ^
! Error in "Xtestfile" at line 18:
! x should be a dot
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18
! .............^
! Error in "Xtestfile" at line 19:
! x should be a dot
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19
! --------------^
! Error in "Xtestfile" at line 20:
! x should be a dot
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20
! ^
Does anyone know what is the problem and how to correction it?
"Xtestfile", line 21 col 9: What is the title of the quickfix window?
***************
*** 50,74 ****
end of errorfile
start of testfile
! line 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 21 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 22 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
end of testfile
--- 90,114 ----
end of errorfile
start of testfile
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 4
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 6
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 9
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 10
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 12
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 14
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 15
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 21
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 22
end of testfile
*** ../vim-7.3.537/src/testdir/test10.ok 2011-08-10 18:36:49.000000000 +0200
--- src/testdir/test10.ok 2012-06-01 18:22:40.000000000 +0200
***************
*** 1,23 ****
start of testfile
! line 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 4 xxxAxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 6 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 7 xxxxxxxxxxBxxxxxxxxxxxxxxxxxxx
! line 8 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 10 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 11 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 12 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! Cine 13 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 14 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 15 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! Dine 16 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 17 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 18 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! Eine 19 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 20 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
! line 21 :cf Xerrorfile1xxxxxxxxxxxxxxx
! line 22 :cf Xerrorfile2xxxxxxxxxxxxxxx
end of testfile
--- 1,23 ----
start of testfile
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 2
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 3
! xxxxxxxxxxAxxxxxxxxxxxxxxxxxxx line 4
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 5
! xxxxxxxxxxxxxxxxxLINE 6, COL 19 line 6
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 7
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 8
! NO COLUMN SPECIFIEDxxxxxxxxxxx line 9
! AGAIN NO COLUMNxxxxxxxxxxxxxxx line 10
! COL 1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 11
! COL 2xxxxxxxxxxxxxxxxxxxxxxxxx line 12
! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 13
! xxxxxxxxCOL 10xxxxxxxxxxxxxxxx line 14
! xVCOL 10xxxxxxxxxxxxxxxxxxxxxx line 15
! Ixxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 16
! xxxx. SPACE POINTERxxxxxxxxxxx line 17
! xxxxx. DOT POINTERxxxxxxxxxxxx line 18
! xxxxxx. DASH POINTERxxxxxxxxxx line 19
! xxxxxxx. TAB-SPACE POINTERxxxx line 20
! xxxxxxxx:cf Xerrorfile1xxxxxxx line 21
! xxxxxxxx:cf Xerrorfile2xxxxxxx line 22
end of testfile
*** ../vim-7.3.537/src/version.c 2012-06-01 17:49:51.000000000 +0200
--- src/version.c 2012-06-01 18:22:27.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 538,
/**/
--
hundred-and-one symptoms of being an internet addict:
18. Your wife drapes a blond wig over your monitor to remind you of what she
looks like.
/// 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 ///