patch 8.2.4091: virtcol is recomputed for statusline unnecessarily
Problem: Virtcol is recomputed for statusline unnecessarily.
Solution: Just use "w_virtcol". (closes #9523)
diff --git a/src/testdir/test_statusline.vim b/src/testdir/test_statusline.vim
index a952de6..28d8798 100644
--- a/src/testdir/test_statusline.vim
+++ b/src/testdir/test_statusline.vim
@@ -196,7 +196,16 @@
set virtualedit=all
norm 10|
call assert_match('^10,-10\s*$', s:get_statusline())
+ set list
+ call assert_match('^10,-10\s*$', s:get_statusline())
set virtualedit&
+ exe "norm A\<Tab>\<Tab>a\<Esc>"
+ " In list mode a <Tab> is shown as "^I", which is 2-wide.
+ call assert_match('^9,-9\s*$', s:get_statusline())
+ set list&
+ " Now the second <Tab> ends at the 16th screen column.
+ call assert_match('^17,-17\s*$', s:get_statusline())
+ undo
" %w: Preview window flag, text is "[Preview]".
" %W: Preview window flag, text is ",PRV".