To: vim_dev@googlegroups.com Subject: Patch 7.3.538 Fcc: outbox From: Bram Moolenaar 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 ///