summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0891
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0891')
-rw-r--r--data/vim/patches/8.1.0891131
1 files changed, 131 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0891 b/data/vim/patches/8.1.0891
new file mode 100644
index 000000000..d897b585c
--- /dev/null
+++ b/data/vim/patches/8.1.0891
@@ -0,0 +1,131 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0891
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0891
+Problem: Substitute command inssuficiently tested.
+Solution: Add more test coverage. (Dominique Pelle)
+Files: src/testdir/test_substitute.vim
+
+
+*** ../vim-8.1.0890/src/testdir/test_substitute.vim 2019-02-10 21:55:23.109307873 +0100
+--- src/testdir/test_substitute.vim 2019-02-10 22:48:01.208799319 +0100
+***************
+*** 141,146 ****
+--- 141,230 ----
+ bwipe!
+ endfunc
+
++ " Test %s/\n// which is implemented as a special case to use a
++ " more efficient join rather than doing a regular substitution.
++ func Test_substitute_join()
++ new
++
++ call setline(1, ["foo\tbar", "bar\<C-H>foo"])
++ let a = execute('%s/\n//')
++ call assert_equal("", a)
++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$'))
++ call assert_equal('\n', histget("search", -1))
++
++ call setline(1, ["foo\tbar", "bar\<C-H>foo"])
++ let a = execute('%s/\n//g')
++ call assert_equal("", a)
++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$'))
++ call assert_equal('\n', histget("search", -1))
++
++ call setline(1, ["foo\tbar", "bar\<C-H>foo"])
++ let a = execute('%s/\n//p')
++ call assert_equal("\nfoo barbar^Hfoo", a)
++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$'))
++ call assert_equal('\n', histget("search", -1))
++
++ call setline(1, ["foo\tbar", "bar\<C-H>foo"])
++ let a = execute('%s/\n//l')
++ call assert_equal("\nfoo^Ibarbar^Hfoo$", a)
++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$'))
++ call assert_equal('\n', histget("search", -1))
++
++ call setline(1, ["foo\tbar", "bar\<C-H>foo"])
++ let a = execute('%s/\n//#')
++ call assert_equal("\n 1 foo barbar^Hfoo", a)
++ call assert_equal(["foo\tbarbar\<C-H>foo"], getline(1, '$'))
++ call assert_equal('\n', histget("search", -1))
++
++ bwipe!
++ endfunc
++
++ func Test_substitute_count()
++ new
++ call setline(1, ['foo foo', 'foo foo', 'foo foo', 'foo foo', 'foo foo'])
++ 2
++
++ s/foo/bar/3
++ call assert_equal(['foo foo', 'bar foo', 'bar foo', 'bar foo', 'foo foo'],
++ \ getline(1, '$'))
++
++ call assert_fails('s/foo/bar/0', 'E939:')
++
++ bwipe!
++ endfunc
++
++ " Test substitute 'n' flag (report number of matches, do not substitute).
++ func Test_substitute_flag_n()
++ new
++ let lines = ['foo foo', 'foo foo', 'foo foo', 'foo foo', 'foo foo']
++ call setline(1, lines)
++
++ call assert_equal("\n3 matches on 3 lines", execute('2,4s/foo/bar/n'))
++ call assert_equal("\n6 matches on 3 lines", execute('2,4s/foo/bar/gn'))
++
++ " c flag (confirm) should be ignored when using n flag.
++ call assert_equal("\n3 matches on 3 lines", execute('2,4s/foo/bar/nc'))
++
++ " No substitution should have been done.
++ call assert_equal(lines, getline(1, '$'))
++
++ bwipe!
++ endfunc
++
++ func Test_substitute_errors()
++ new
++ call setline(1, 'foobar')
++
++ call assert_fails('s/FOO/bar/', 'E486:')
++ call assert_fails('s/foo/bar/@', 'E488:')
++ call assert_fails('s/\(/bar/', 'E476:')
++
++ setl nomodifiable
++ call assert_fails('s/foo/bar/', 'E21:')
++
++ bwipe!
++ endfunc
++
+ " Test for *sub-replace-special* and *sub-replace-expression* on substitute().
+ func Test_sub_replace_1()
+ " Run the tests with 'magic' on
+*** ../vim-8.1.0890/src/version.c 2019-02-10 22:43:30.158824050 +0100
+--- src/version.c 2019-02-10 22:49:31.960124516 +0100
+***************
+*** 785,786 ****
+--- 785,788 ----
+ { /* Add new patch number below this line */
++ /**/
++ 891,
+ /**/
+
+--
+INSPECTOR END OF FILM: Move along. There's nothing to see! Keep moving!
+ [Suddenly he notices the cameras.]
+INSPECTOR END OF FILM: (to Camera) All right, put that away sonny.
+ [He walks over to it and puts his hand over the lens.]
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///