forked from aniani/vim
patch 9.0.1542: line not fully displayed if it doesn't fit in the screen
Problem: Line not fully displayed if it doesn't fit in the screen.
Solution: Do not reset s_skipcol if not needed. (Luuk van Baal,
closes #12376)
This commit is contained in:
committed by
Bram Moolenaar
parent
e741f039cf
commit
6c018680be
@@ -2772,11 +2772,10 @@ scroll_cursor_halfway(int atend, int prefer_above)
|
||||
topline = loff.lnum;
|
||||
|
||||
int want_height;
|
||||
int smooth_scroll = FALSE;
|
||||
if (curwin->w_p_sms && curwin->w_p_wrap)
|
||||
int do_sms = curwin->w_p_wrap && curwin->w_p_sms;
|
||||
if (do_sms)
|
||||
{
|
||||
// 'smoothscroll' and 'wrap' are set
|
||||
smooth_scroll = TRUE;
|
||||
if (atend)
|
||||
{
|
||||
want_height = (curwin->w_height - used) / 2;
|
||||
@@ -2790,7 +2789,7 @@ scroll_cursor_halfway(int atend, int prefer_above)
|
||||
{
|
||||
// If using smoothscroll, we can precisely scroll to the
|
||||
// exact point where the cursor is halfway down the screen.
|
||||
if (smooth_scroll)
|
||||
if (do_sms)
|
||||
{
|
||||
topline_back_winheight(&loff, FALSE);
|
||||
if (loff.height == MAXCOL)
|
||||
@@ -2892,7 +2891,7 @@ scroll_cursor_halfway(int atend, int prefer_above)
|
||||
curwin->w_skipcol = skipcol;
|
||||
redraw_later(UPD_NOT_VALID);
|
||||
}
|
||||
else
|
||||
else if (do_sms)
|
||||
reset_skipcol();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user