diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-09-09 17:59:50 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-09-09 17:59:50 +0200 |
commit | d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d (patch) | |
tree | b1c07157c325ac78d34edc28121b3bc2d77b79b2 /src/testdir/test_regexp_latin.vim | |
parent | 2931f2a5df0d962032d41060af84d9fd2cb35c9f (diff) | |
download | vim-git-d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d.tar.gz |
patch 7.4.2354v7.4.2354
Problem: The example that explains nested backreferences does not work
properly with the new regexp engine. (Harm te Hennepe)
Solution: Also save the end position when adding a state. (closes #990)
Diffstat (limited to 'src/testdir/test_regexp_latin.vim')
-rw-r--r-- | src/testdir/test_regexp_latin.vim | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/testdir/test_regexp_latin.vim b/src/testdir/test_regexp_latin.vim index b3d258e09..15ff4f9e4 100644 --- a/src/testdir/test_regexp_latin.vim +++ b/src/testdir/test_regexp_latin.vim @@ -38,3 +38,18 @@ func Test_recursive_substitute() call setwinvar(1, 'myvar', 1) bwipe! endfunc + +func Test_nested_backrefs() + " Check example in change.txt. + new + for re in range(0, 2) + exe 'set re=' . re + call setline(1, 'aa ab x') + 1s/\(\(a[a-d] \)*\)\(x\)/-\1- -\2- -\3-/ + call assert_equal('-aa ab - -ab - -x-', getline(1)) + + call assert_equal('-aa ab - -ab - -x-', substitute('aa ab x', '\(\(a[a-d] \)*\)\(x\)', '-\1- -\2- -\3-', '')) + endfor + bwipe! + set re=0 +endfunc |