diff options
Diffstat (limited to 'data/vim/patches/8.1.1061')
-rw-r--r-- | data/vim/patches/8.1.1061 | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/data/vim/patches/8.1.1061 b/data/vim/patches/8.1.1061 deleted file mode 100644 index c82656821..000000000 --- a/data/vim/patches/8.1.1061 +++ /dev/null @@ -1,101 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.1061 -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.1061 -Problem: When substitute string throws error, substitute happens anyway. -Solution: Skip substitution when aborting. (closes #4161) -Files: src/ex_cmds.c, src/testdir/test_substitute.vim - - -*** ../vim-8.1.1060/src/ex_cmds.c 2019-03-17 16:59:38.582201903 +0100 ---- src/ex_cmds.c 2019-03-24 22:26:56.525595616 +0100 -*************** -*** 5574,5580 **** - sub_firstlnum - regmatch.startpos[0].lnum, - sub, sub_firstline, FALSE, p_magic, TRUE); - #ifdef FEAT_EVAL -! /* Don't keep flags set by a recursive call. */ - subflags = subflags_save; - if (subflags.do_count) - { ---- 5574,5585 ---- - sub_firstlnum - regmatch.startpos[0].lnum, - sub, sub_firstline, FALSE, p_magic, TRUE); - #ifdef FEAT_EVAL -! // If getting the substitute string caused an error, don't do -! // the replacement. -! if (aborting()) -! goto skip; -! -! // Don't keep flags set by a recursive call. - subflags = subflags_save; - if (subflags.do_count) - { -*** ../vim-8.1.1060/src/testdir/test_substitute.vim 2019-02-10 22:50:08.011856775 +0100 ---- src/testdir/test_substitute.vim 2019-03-27 22:33:23.761578469 +0100 -*************** -*** 610,612 **** ---- 610,642 ---- - enew! - set titlestring& - endfunc -+ -+ func Test_nocatch_sub_failure_handling() -+ " normal error results in all replacements -+ func! Foo() -+ foobar -+ endfunc -+ new -+ call setline(1, ['1 aaa', '2 aaa', '3 aaa']) -+ %s/aaa/\=Foo()/g -+ call assert_equal(['1 0', '2 0', '3 0'], getline(1, 3)) -+ -+ " Trow without try-catch causes abort after the first line. -+ " We cannot test this, since it would stop executing the test script. -+ -+ " try/catch does not result in any changes -+ func! Foo() -+ throw 'error' -+ endfunc -+ call setline(1, ['1 aaa', '2 aaa', '3 aaa']) -+ let error_caught = 0 -+ try -+ %s/aaa/\=Foo()/g -+ catch -+ let error_caught = 1 -+ endtry -+ call assert_equal(1, error_caught) -+ call assert_equal(['1 aaa', '2 aaa', '3 aaa'], getline(1, 3)) -+ -+ bwipe! -+ endfunc -*** ../vim-8.1.1060/src/version.c 2019-03-27 21:59:40.903552946 +0100 ---- src/version.c 2019-03-27 22:34:08.561183332 +0100 -*************** -*** 777,778 **** ---- 777,780 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 1061, - /**/ - --- -"The sun oozed over the horizon, shoved aside darkness, crept along the -greensward, and, with sickly fingers, pushed through the castle window, -revealing the pillaged princess, hand at throat, crown asunder, gaping -in frenzied horror at the sated, sodden amphibian lying beside her, -disbelieving the magnitude of the frog's deception, screaming madly, -"You lied!" - - Winner of the Bulwer-Lytton contest (San Jose State University), - wherein one writes only the first line of a bad novel - - /// 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 /// |