diff options
author | Bram Moolenaar <bram@vim.org> | 2014-03-12 19:41:55 +0100 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2014-03-12 19:41:55 +0100 |
commit | 1fd1d7c7fe4736693204cd37100696d34d17da99 (patch) | |
tree | 8b125a80ae526ea7bc22eabeb8a25de3b14d1816 | |
parent | 74b4be3094c804b12722b057b798a9cb883c8c85 (diff) | |
download | vim-1fd1d7c7fe4736693204cd37100696d34d17da99.tar.gz |
Problem: Parsing 'errorformat' is not correct.
Solution: Reset "multiignore" at the start of a multi-line message. (Lcd)
-rw-r--r-- | src/quickfix.c | 3 | ||||
-rw-r--r-- | src/testdir/Make_amiga.mak | 3 | ||||
-rw-r--r-- | src/testdir/Make_dos.mak | 2 | ||||
-rw-r--r-- | src/testdir/Make_ming.mak | 2 | ||||
-rw-r--r-- | src/testdir/Make_os2.mak | 2 | ||||
-rw-r--r-- | src/testdir/Make_vms.mms | 2 | ||||
-rw-r--r-- | src/testdir/Makefile | 2 | ||||
-rw-r--r-- | src/testdir/test106.in | 16 | ||||
-rw-r--r-- | src/testdir/test106.ok | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
10 files changed, 32 insertions, 6 deletions
diff --git a/src/quickfix.c b/src/quickfix.c index ebb02827..4451d89c 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -751,7 +751,10 @@ restofline: fmt_start = fmt_ptr; if (vim_strchr((char_u *)"AEWI", idx) != NULL) + { multiline = TRUE; /* start of a multi-line message */ + multiignore = FALSE; /* reset continuation */ + } else if (vim_strchr((char_u *)"CZ", idx) != NULL) { /* continuation of multi-line msg */ if (qfprev == NULL) diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak index d7f503f2..40c62ecf 100644 --- a/src/testdir/Make_amiga.mak +++ b/src/testdir/Make_amiga.mak @@ -35,7 +35,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \ test89.out test90.out test91.out test92.out test93.out \ test94.out test95.out test96.out test97.out test98.out \ test99.out test100.out test101.out test102.out test103.out \ - test104.out test105.out + test104.out test105.out test106.out .SUFFIXES: .in .out @@ -157,3 +157,4 @@ test102.out: test102.in test103.out: test103.in test104.out: test104.in test105.out: test105.in +test106.out: test106.in diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak index d26fe896..45b74b44 100644 --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -34,7 +34,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \ test89.out test90.out test91.out test92.out test93.out \ test94.out test95.out test96.out test98.out test99.out \ test100.out test101.out test102.out test103.out test104.out \ - test105.out + test105.out test106.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak index 0523ae48..9f0e0ab0 100644 --- a/src/testdir/Make_ming.mak +++ b/src/testdir/Make_ming.mak @@ -54,7 +54,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \ test89.out test90.out test91.out test92.out test93.out \ test94.out test95.out test96.out test98.out test99.out \ test100.out test101.out test102.out test103.out test104.out \ - test105.out + test105.out test106.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak index 65c09466..116c302b 100644 --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -36,7 +36,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \ test89.out test90.out test91.out test92.out test93.out \ test94.out test95.out test96.out test98.out test99.out \ test100.out test101.out test102.out test103.out test104.out \ - test105.out + test105.out test106.out .SUFFIXES: .in .out diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index a20fa1fb..b210d504 100644 --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -95,7 +95,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \ test90.out test91.out test92.out test93.out test94.out \ test95.out test96.out test98.out test99.out \ test100.out test101.out test103.out test104.out \ - test105.out + test105.out test106.out # Known problems: # test17: ? diff --git a/src/testdir/Makefile b/src/testdir/Makefile index 290200f9..c9e89222 100644 --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -31,7 +31,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ test89.out test90.out test91.out test92.out test93.out \ test94.out test95.out test96.out test97.out test98.out \ test99.out test100.out test101.out test102.out test103.out \ - test104.out test105.out + test104.out test105.out test106.out SCRIPTS_GUI = test16.out diff --git a/src/testdir/test106.in b/src/testdir/test106.in new file mode 100644 index 00000000..eb99e650 --- /dev/null +++ b/src/testdir/test106.in @@ -0,0 +1,16 @@ +Tests for errorformat. vim: set ft=vim ts=8 : + +STARTTEST +:so small.vim +:if !has('quickfix') | e! test.ok | wq! test.out | endif +:set efm=%EEEE%m,%WWWW%m,%+CCCC%.%#,%-GGGG%.%# +:cgetexpr ['WWWW', 'EEEE', 'CCCC'] +:$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) +:cgetexpr ['WWWW', 'GGGG', 'EEEE', 'CCCC'] +:$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) +:cgetexpr ['WWWW', 'GGGG', 'ZZZZ', 'EEEE', 'CCCC', 'YYYY'] +:$put =strtrans(string(map(getqflist(), '[v:val.text, v:val.valid]'))) +:/^Results/,$wq! test.out +ENDTEST + +Results of test106: diff --git a/src/testdir/test106.ok b/src/testdir/test106.ok new file mode 100644 index 00000000..0a18cecf --- /dev/null +++ b/src/testdir/test106.ok @@ -0,0 +1,4 @@ +Results of test106: +[['W', 1], ['E^@CCCC', 1]] +[['W', 1], ['E^@CCCC', 1]] +[['W', 1], ['ZZZZ', 0], ['E^@CCCC', 1], ['YYYY', 0]] diff --git a/src/version.c b/src/version.c index 2b81f497..112e168e 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 203, +/**/ 202, /**/ 201, |