From 9af03bcd47127a416aa6a125590b75adb5f53c3c Mon Sep 17 00:00:00 2001 From: Omar El Halabi Date: Fri, 10 Nov 2023 05:20:26 +0100 Subject: fix(options): do not change inccommand during preview (#25462) --- test/functional/ui/inccommand_spec.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'test') diff --git a/test/functional/ui/inccommand_spec.lua b/test/functional/ui/inccommand_spec.lua index c9e004289d..3ee67a710c 100644 --- a/test/functional/ui/inccommand_spec.lua +++ b/test/functional/ui/inccommand_spec.lua @@ -3167,3 +3167,31 @@ it("with 'inccommand' typing :filter doesn't segfault or leak memory #19057", fu feed('i') assert_alive() end) + +it("'inccommand' cannot be changed during preview #23136", function() + clear() + local screen = Screen.new(30, 6) + common_setup(screen, 'nosplit', 'foo\nbar\nbaz') + source([[ + function! IncCommandToggle() + let prev = &inccommand + + if &inccommand ==# 'split' + set inccommand=nosplit + elseif &inccommand ==# 'nosplit' + set inccommand=split + elseif &inccommand ==# '' + set inccommand=nosplit + else + throw 'unknown inccommand' + endif + + return " \" + endfun + + cnoremap IncCommandToggle() + ]]) + + feed(':%s/foo/bar') + assert_alive() +end) -- cgit