Tests for curswant not changing when setting an option STARTTEST :so small.vim :/^start target options$/+1,/^end target options$/-1 yank :let target_option_names = split(@0) :function TestCurswant(option_name) : normal! ggf8j : let curswant_before = winsaveview().curswant : execute 'let' '&'.a:option_name '=' '&'.a:option_name : let curswant_after = winsaveview().curswant : return [a:option_name, curswant_before, curswant_after] :endfunction : :new :put =['1234567890', '12345'] :1 delete _ :let result = [] :for option_name in target_option_names : call add(result, TestCurswant(option_name)) :endfor : :new :put =map(copy(result), 'join(v:val, '' '')') :1 delete _ :write test.out : :qall! ENDTEST start target options tabstop timeoutlen ttimeoutlen end target options