From 354b23a9f87fd8c5aec457d88320a0a5bce4b985 Mon Sep 17 00:00:00 2001 From: Dominique Pelle Date: Fri, 17 Dec 2021 17:32:29 +0000 Subject: [PATCH] patch 8.2.3839: using \z() with \z1 not tested for syntax highlighting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem: Using \z() with \z1 not tested for syntax highlighting. Solution: Add a test. (Dominique Pellé, closes #9365) --- src/testdir/test_syntax.vim | 18 ++++++++++++++++++ src/version.c | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim index 83a63c421..14ae4c575 100644 --- a/src/testdir/test_syntax.vim +++ b/src/testdir/test_syntax.vim @@ -662,6 +662,24 @@ func Test_syntax_c() call delete('Xtest.c') endfun +" Test \z(...) along with \z1 +func Test_syn_zsub() + new + syntax on + call setline(1, 'xxx start foo xxx not end foo xxx end foo xxx') + let l:expected = ' ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ' + + for l:re in [0, 1, 2] + " Example taken from :help :syn-ext-match + syntax region Z start="start \z(\I\i*\)" skip="not end \z1" end="end \z1" + eval AssertHighlightGroups(1, 1, l:expected, 1, 'regexp=' .. l:re) + syntax clear Z + endfor + + set re& + bw! +endfunc + " Using \z() in a region with NFA failing should not crash. func Test_syn_wrong_z_one() new diff --git a/src/version.c b/src/version.c index eb09d61cd..be0122d77 100644 --- a/src/version.c +++ b/src/version.c @@ -749,6 +749,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3839, /**/ 3838, /**/