aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorShougo Matsushita <Shougo.Matsu@gmail.com>2017-06-11 18:35:16 +0900
committerJames McCoy <jamessan@jamessan.com>2017-07-12 00:05:29 -0400
commitb4ccf5c20a41ea4d4bfeb636259553c8e55cb911 (patch)
tree54d44751881a724dd3997bb031bda04e333c2812 /src/nvim/testdir
parent5f8f46ba8e6d1a6012848b878bc656365592811b (diff)
downloadrneovim-b4ccf5c20a41ea4d4bfeb636259553c8e55cb911.tar.gz
rneovim-b4ccf5c20a41ea4d4bfeb636259553c8e55cb911.tar.bz2
rneovim-b4ccf5c20a41ea4d4bfeb636259553c8e55cb911.zip
vim-patch:7.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 vim/vim#990) https://github.com/vim/vim/commit/d563883a1fb5ec6cf4a2758c5e36ac1ff4e9bb3d
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_regexp_utf8.vim15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_regexp_utf8.vim b/src/nvim/testdir/test_regexp_utf8.vim
index 7f3b31575d..a2f4286d4f 100644
--- a/src/nvim/testdir/test_regexp_utf8.vim
+++ b/src/nvim/testdir/test_regexp_utf8.vim
@@ -98,6 +98,21 @@ func Test_recursive_substitute()
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
+
func Test_eow_with_optional()
let expected = ['abc def', 'abc', 'def', '', '', '', '', '', '', '']
for re in range(0, 2)