mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.1.0698: clearing the window is used too often
Problem: Clearing the window is used too often, causing the command line to be cleared when opening a tab. (Miroslav Koškár) Solution: Use NOT_VALID instead of CLEAR. (suggested by Jason Franklin, closes #630) Also do this for a few other places where clearing the screen isn't really needed.
This commit is contained in:
@@ -799,6 +799,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 */
|
||||||
|
/**/
|
||||||
|
698,
|
||||||
/**/
|
/**/
|
||||||
697,
|
697,
|
||||||
/**/
|
/**/
|
||||||
|
13
src/window.c
13
src/window.c
@@ -1577,7 +1577,7 @@ win_exchange(long Prenum)
|
|||||||
(void)win_comp_pos(); /* recompute window positions */
|
(void)win_comp_pos(); /* recompute window positions */
|
||||||
|
|
||||||
win_enter(wp, TRUE);
|
win_enter(wp, TRUE);
|
||||||
redraw_later(CLEAR);
|
redraw_all_later(NOT_VALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1660,7 +1660,7 @@ win_rotate(int upwards, int count)
|
|||||||
(void)win_comp_pos();
|
(void)win_comp_pos();
|
||||||
}
|
}
|
||||||
|
|
||||||
redraw_later(CLEAR);
|
redraw_all_later(NOT_VALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1817,7 +1817,7 @@ win_equal_rec(
|
|||||||
frame_new_height(topfr, height, FALSE, FALSE);
|
frame_new_height(topfr, height, FALSE, FALSE);
|
||||||
topfr->fr_win->w_wincol = col;
|
topfr->fr_win->w_wincol = col;
|
||||||
frame_new_width(topfr, width, FALSE, FALSE);
|
frame_new_width(topfr, width, FALSE, FALSE);
|
||||||
redraw_all_later(CLEAR);
|
redraw_all_later(NOT_VALID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (topfr->fr_layout == FR_ROW)
|
else if (topfr->fr_layout == FR_ROW)
|
||||||
@@ -3702,7 +3702,7 @@ win_new_tabpage(int after)
|
|||||||
entering_window(curwin);
|
entering_window(curwin);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
redraw_all_later(CLEAR);
|
redraw_all_later(NOT_VALID);
|
||||||
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
|
||||||
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_WINENTER, NULL, NULL, FALSE, curbuf);
|
||||||
apply_autocmds(EVENT_TABNEW, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_TABNEW, NULL, NULL, FALSE, curbuf);
|
||||||
@@ -3939,7 +3939,6 @@ enter_tabpage(
|
|||||||
|
|
||||||
last_status(FALSE); /* status line may appear or disappear */
|
last_status(FALSE); /* status line may appear or disappear */
|
||||||
(void)win_comp_pos(); /* recompute w_winrow for all windows */
|
(void)win_comp_pos(); /* recompute w_winrow for all windows */
|
||||||
must_redraw = CLEAR; /* need to redraw everything */
|
|
||||||
#ifdef FEAT_DIFF
|
#ifdef FEAT_DIFF
|
||||||
diff_need_scrollbind = TRUE;
|
diff_need_scrollbind = TRUE;
|
||||||
#endif
|
#endif
|
||||||
@@ -3973,7 +3972,7 @@ enter_tabpage(
|
|||||||
apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
|
apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
redraw_all_later(CLEAR);
|
redraw_all_later(NOT_VALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -6569,7 +6568,7 @@ restore_snapshot(
|
|||||||
win_comp_pos();
|
win_comp_pos();
|
||||||
if (wp != NULL && close_curwin)
|
if (wp != NULL && close_curwin)
|
||||||
win_goto(wp);
|
win_goto(wp);
|
||||||
redraw_all_later(CLEAR);
|
redraw_all_later(NOT_VALID);
|
||||||
}
|
}
|
||||||
clear_snapshot(curtab, idx);
|
clear_snapshot(curtab, idx);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user