From 4a0005aee9b51e1b91794623ad06b9a8a2343ba9 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 15 May 2023 08:04:23 +0800 Subject: vim-patch:9.0.1555: setcharsearch() does not clear last searched char properly (#23631) Problem: setcharsearch() does not clear last searched char properly. Solution: Do not accept lastc_bytelen smaller than one. (closes vim/vim#12398) https://github.com/vim/vim/commit/e5d91ba1de83949eb9357c0fb8cbd91e7e69be6f --- test/old/testdir/test_charsearch.vim | 2 ++ test/old/testdir/test_charsearch_utf8.vim | 7 +++++++ 2 files changed, 9 insertions(+) (limited to 'test') diff --git a/test/old/testdir/test_charsearch.vim b/test/old/testdir/test_charsearch.vim index 8d6b405743..084d4f0a22 100644 --- a/test/old/testdir/test_charsearch.vim +++ b/test/old/testdir/test_charsearch.vim @@ -38,6 +38,8 @@ func Test_charsearch() " clear the character search call setcharsearch({'char' : ''}) call assert_equal('', getcharsearch().char) + call assert_beeps('normal ;') + call assert_beeps('normal ,') call assert_fails("call setcharsearch([])", 'E1206:') enew! diff --git a/test/old/testdir/test_charsearch_utf8.vim b/test/old/testdir/test_charsearch_utf8.vim index 82a807ac5b..843edbb514 100644 --- a/test/old/testdir/test_charsearch_utf8.vim +++ b/test/old/testdir/test_charsearch_utf8.vim @@ -13,6 +13,13 @@ func Test_search_cmds() call assert_equal([0, 1, 43, 0], getpos('.')) normal! , call assert_equal([0, 1, 28, 0], getpos('.')) + call assert_equal('最', getcharsearch().char) + call setcharsearch({'char' : ''}) + call assert_equal('', getcharsearch().char) + call assert_beeps('normal ;') + call assert_equal([0, 1, 28, 0], getpos('.')) + call assert_beeps('normal ,') + call assert_equal([0, 1, 28, 0], getpos('.')) bw! endfunc -- cgit