summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_regexp_latin.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-06-17 20:08:20 +0200
committerBram Moolenaar <Bram@vim.org>2017-06-17 20:08:20 +0200
commit1ef9bbe215e13a273e74fccaddd8fc5a42c76b6e (patch)
treee7e91f215db3694732b431b3ff76eaa6008827d2 /src/testdir/test_regexp_latin.vim
parent5b1affefd0e96154517ec6f71300086ae6d22d24 (diff)
patch 8.0.0645: no error for illegal back reference in NFA enginev8.0.0645
Problem: The new regexp engine does not give an error for using a back reference where it is not allowed. (Dominique Pelle) Solution: Check the back reference like the old engine. (closes #1774)
Diffstat (limited to 'src/testdir/test_regexp_latin.vim')
-rw-r--r--src/testdir/test_regexp_latin.vim10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/testdir/test_regexp_latin.vim b/src/testdir/test_regexp_latin.vim
index 247e5e65ab..a8fa64d2a7 100644
--- a/src/testdir/test_regexp_latin.vim
+++ b/src/testdir/test_regexp_latin.vim
@@ -62,3 +62,13 @@ func Test_eow_with_optional()
call assert_equal(expected, actual)
endfor
endfunc
+
+func Test_backref()
+ new
+ call setline(1, ['one', 'two', 'three', 'four', 'five'])
+ call assert_equal(3, search('\%#=1\(e\)\1'))
+ call assert_equal(3, search('\%#=2\(e\)\1'))
+ call assert_fails('call search("\\%#=1\\(e\\1\\)")', 'E65:')
+ call assert_fails('call search("\\%#=2\\(e\\1\\)")', 'E65:')
+ bwipe!
+endfunc