summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_syntax.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-23 14:21:42 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-23 14:21:42 +0200
commitbcf9442307075bac40d44328c8bf7ea21857b138 (patch)
tree6890b363128e8cbffe09b274ecd1b1665393fac1 /src/testdir/test_syntax.vim
parent5efa0102de6ed6049fb19e1e83787e5b3b24b6a2 (diff)
patch 8.1.0098: segfault when pattern with \z() is very slowv8.1.0098
Problem: Segfault when pattern with \z() is very slow. Solution: Check for NULL regprog. Add "nfa_fail" to test_override() to be able to test this. Fix that 'searchhl' resets called_emsg.
Diffstat (limited to 'src/testdir/test_syntax.vim')
-rw-r--r--src/testdir/test_syntax.vim12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index e49c8ed895..ffa8e9022b 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -562,3 +562,15 @@ func Test_syntax_c()
let $COLORFGBG = ''
call delete('Xtest.c')
endfun
+
+" Using \z() in a region with NFA failing should not crash.
+func Test_syn_wrong_z_one()
+ new
+ call setline(1, ['just some text', 'with foo and bar to match with'])
+ syn region FooBar start="foo\z(.*\)bar" end="\z1"
+ call test_override("nfa_fail", 1)
+ redraw!
+ redraw!
+ call test_override("ALL", 0)
+ bwipe!
+endfunc