forked from aniani/vim
Problem: When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical
movement is reset unnecessarily.
Solution: Do not set w_set_curswant for every option. Add a test for this.
(Kana Natsuno) Add the P_CURSWANT flag for options.
36 lines
786 B
Plaintext
36 lines
786 B
Plaintext
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
|