mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.4091: virtcol is recomputed for statusline unnecessarily
Problem: Virtcol is recomputed for statusline unnecessarily. Solution: Just use "w_virtcol". (closes #9523)
This commit is contained in:
10
src/buffer.c
10
src/buffer.c
@@ -4610,15 +4610,7 @@ build_stl_str_hl(
|
|||||||
|
|
||||||
case STL_VIRTCOL:
|
case STL_VIRTCOL:
|
||||||
case STL_VIRTCOL_ALT:
|
case STL_VIRTCOL_ALT:
|
||||||
// In list mode virtcol needs to be recomputed
|
virtcol = wp->w_virtcol + 1;
|
||||||
virtcol = wp->w_virtcol;
|
|
||||||
if (wp->w_p_list && wp->w_lcs_chars.tab1 == NUL)
|
|
||||||
{
|
|
||||||
wp->w_p_list = FALSE;
|
|
||||||
getvcol(wp, &wp->w_cursor, NULL, &virtcol, NULL);
|
|
||||||
wp->w_p_list = TRUE;
|
|
||||||
}
|
|
||||||
++virtcol;
|
|
||||||
// Don't display %V if it's the same as %c.
|
// Don't display %V if it's the same as %c.
|
||||||
if (opt == STL_VIRTCOL_ALT
|
if (opt == STL_VIRTCOL_ALT
|
||||||
&& (virtcol == (colnr_T)(!(State & INSERT) && empty_line
|
&& (virtcol == (colnr_T)(!(State & INSERT) && empty_line
|
||||||
|
@@ -196,7 +196,16 @@ func Test_statusline()
|
|||||||
set virtualedit=all
|
set virtualedit=all
|
||||||
norm 10|
|
norm 10|
|
||||||
call assert_match('^10,-10\s*$', s:get_statusline())
|
call assert_match('^10,-10\s*$', s:get_statusline())
|
||||||
|
set list
|
||||||
|
call assert_match('^10,-10\s*$', s:get_statusline())
|
||||||
set virtualedit&
|
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 "[Preview]".
|
||||||
" %W: Preview window flag, text is ",PRV".
|
" %W: Preview window flag, text is ",PRV".
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4091,
|
||||||
/**/
|
/**/
|
||||||
4090,
|
4090,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user