# HG changeset patch # User Bram Moolenaar # Date 1655028903 -7200 # Node ID f371242b6a23e3bd8165240e6293eebdc51a7d6e # Parent 547cf1114034e69fbb4a47e019dabe314351ee9f patch 8.2.5078: substitute test has a one second delay Commit: https://github.com/vim/vim/commit/3269efdf014dd3b6e60e330950d40a7cc5d13d3a Author: zeertzjq Date: Sun Jun 12 11:13:05 2022 +0100 patch 8.2.5078: substitute test has a one second delay Problem: Substitute test has a one second delay. Solution: Use ":silent!". Add another test case. (closes https://github.com/vim/vim/issues/10558) diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim --- a/src/testdir/test_substitute.vim +++ b/src/testdir/test_substitute.vim @@ -469,7 +469,6 @@ func Run_SubCmd_Tests(tests) for t in a:tests let start = line('.') + 1 let end = start + len(t[2]) - 1 - " TODO: why is there a one second delay the first time we get here? exe "normal o" . t[0] call cursor(start, 1) exe t[1] @@ -504,7 +503,8 @@ func Test_sub_cmd_1() \ ['sSs', 's/S/\c/', ['scs']], \ ['tTt', "s/T/\\/", ["t\\t"]], \ ['U', 's/U/\L\uuUu\l\EU/', ['UuuU']], - \ ['V', 's/V/\U\lVvV\u\Ev/', ['vVVv']] + \ ['V', 's/V/\U\lVvV\u\Ev/', ['vVVv']], + \ ['\', 's/\\/\\\\/', ['\\']] \ ] call Run_SubCmd_Tests(tests) endfunc @@ -535,7 +535,8 @@ func Test_sub_cmd_2() \ ['sSs', 's/S/\c/', ['scs']], \ ['tTt', "s/T/\\/", ["t\\t"]], \ ['U', 's/U/\L\uuUu\l\EU/', ['UuuU']], - \ ['V', 's/V/\U\lVvV\u\Ev/', ['vVVv']] + \ ['V', 's/V/\U\lVvV\u\Ev/', ['vVVv']], + \ ['\', 's/\\/\\\\/', ['\\']] \ ] call Run_SubCmd_Tests(tests) endfunc @@ -690,10 +691,11 @@ func Test_nocatch_sub_failure_handling() endfunc new call setline(1, ['1 aaa', '2 aaa', '3 aaa']) - %s/aaa/\=Foo()/g + " need silent! to avoid a delay when entering Insert mode + silent! %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. + " Throw 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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -735,6 +735,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 5078, +/**/ 5077, /**/ 5076,