patch 9.0.1612: "skipcol" not reset when using multi-byte characters
Problem: "skipcol" not reset when using multi-byte characters.
Solution: Compare with w_virtcol instead of w_cursor.col. (closes #12457)
diff --git a/src/testdir/test_scroll_opt.vim b/src/testdir/test_scroll_opt.vim
index f8b4b4f..4604166 100644
--- a/src/testdir/test_scroll_opt.vim
+++ b/src/testdir/test_scroll_opt.vim
@@ -124,6 +124,21 @@
call StopVimInTerminal(buf)
endfunc
+func Test_smoothscroll_multibyte()
+ CheckScreendump
+
+ let lines =<< trim END
+ set scrolloff=0 smoothscroll
+ call setline(1, [repeat('ϛ', 45), repeat('2', 36)])
+ exe "normal G35l\<C-E>k"
+ END
+ call writefile(lines, 'XSmoothMultibyte', 'D')
+ let buf = RunVimInTerminal('-S XSmoothMultibyte', #{rows: 6, cols: 40})
+ call VerifyScreenDump(buf, 'Test_smoothscroll_multi_1', {})
+
+ call StopVimInTerminal(buf)
+endfunc
+
func Test_smoothscroll_number()
CheckScreendump