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 -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui