summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-01-06 17:25:29 +0100
committerBram Moolenaar <Bram@vim.org>2019-01-06 17:25:29 +0100
commitbf3250a8ad39797e3ccdac82d20c6f19533419e4 (patch)
treeb6b7e7c0b08acd5ca201c2f08f63be998925a151
parentb328cca2548936c5f68fff683049a929882f5011 (diff)
patch 8.1.0698: clearing the window is used too oftenv8.1.0698
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.
-rw-r--r--src/version.c2
-rw-r--r--src/window.c13
2 files changed, 8 insertions, 7 deletions
diff --git a/src/version.c b/src/version.c
index 78baf47457..ec4283af69 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 698,
+/**/
697,
/**/
696,
diff --git a/src/window.c b/src/window.c
index b9617f0371..e67aeeabdc 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1577,7 +1577,7 @@ win_exchange(long Prenum)
(void)win_comp_pos(); /* recompute window positions */
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();
}
- redraw_later(CLEAR);
+ redraw_all_later(NOT_VALID);
}
/*
@@ -1817,7 +1817,7 @@ win_equal_rec(
frame_new_height(topfr, height, FALSE, FALSE);
topfr->fr_win->w_wincol = col;
frame_new_width(topfr, width, FALSE, FALSE);
- redraw_all_later(CLEAR);
+ redraw_all_later(NOT_VALID);
}
}
else if (topfr->fr_layout == FR_ROW)
@@ -3702,7 +3702,7 @@ win_new_tabpage(int after)
entering_window(curwin);
#endif
- redraw_all_later(CLEAR);
+ redraw_all_later(NOT_VALID);
apply_autocmds(EVENT_WINNEW, NULL, NULL, FALSE, curbuf);
apply_autocmds(EVENT_WINENTER, 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 */
(void)win_comp_pos(); /* recompute w_winrow for all windows */
- must_redraw = CLEAR; /* need to redraw everything */
#ifdef FEAT_DIFF
diff_need_scrollbind = TRUE;
#endif
@@ -3973,7 +3972,7 @@ enter_tabpage(
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();
if (wp != NULL && close_curwin)
win_goto(wp);
- redraw_all_later(CLEAR);
+ redraw_all_later(NOT_VALID);
}
clear_snapshot(curtab, idx);
}