patch 7.4.1300
Problem: Cannot test CursorMovedI because there is typeahead.
Solution: Add disable_char_avail_for_testing().
diff --git a/src/testdir/test_cursor_func.vim b/src/testdir/test_cursor_func.vim
index 684391e..d3236e6 100644
--- a/src/testdir/test_cursor_func.vim
+++ b/src/testdir/test_cursor_func.vim
@@ -20,16 +20,35 @@
call assert_equal([4, 3, 0, 3], getcurpos()[1:])
call cursor(2, 2)
- call assert_equal([2, 2, 0, 3], getcurpos()[1:])
+ call assert_equal([2, 2, 0, 2], getcurpos()[1:])
" line number zero keeps the line number
call cursor(0, 1)
- call assert_equal([2, 1, 0, 3], getcurpos()[1:])
+ call assert_equal([2, 1, 0, 1], getcurpos()[1:])
" col number zero keeps the column
call cursor(3, 0)
- call assert_equal([3, 1, 0, 3], getcurpos()[1:])
+ call assert_equal([3, 1, 0, 1], getcurpos()[1:])
" below last line goes to last line
call cursor(9, 1)
- call assert_equal([4, 1, 0, 3], getcurpos()[1:])
+ call assert_equal([4, 1, 0, 1], getcurpos()[1:])
quit!
endfunc
+
+" Very short version of what matchparen does.
+function s:Highlight_Matching_Pair()
+ let save_cursor = getcurpos()
+ call setpos('.', save_cursor)
+endfunc
+
+func Test_curswant_with_autocommand()
+ new
+ call setline(1, ['func()', '{', '}', '----'])
+ autocmd! CursorMovedI * call s:Highlight_Matching_Pair()
+ call disable_char_avail_for_testing(1)
+ exe "normal! 3Ga\<Down>X\<Esc>"
+ call disable_char_avail_for_testing(0)
+ call assert_equal('-X---', getline(4))
+ autocmd! CursorMovedI *
+ quit!
+endfunc
+