summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/change.c6
-rw-r--r--src/drawscreen.c10
-rw-r--r--src/popupwin.c4
-rw-r--r--src/version.c2
4 files changed, 11 insertions, 11 deletions
diff --git a/src/change.c b/src/change.c
index 0ea424f989..42e6f7939c 100644
--- a/src/change.c
+++ b/src/change.c
@@ -559,6 +559,12 @@ changed_common(
if (!redraw_not_allowed && wp->w_redr_type < UPD_VALID)
wp->w_redr_type = UPD_VALID;
+ // When inserting/deleting lines and the window has specific lines
+ // to be redrawn, w_redraw_top and w_redraw_bot may now be invalid,
+ // so just redraw everything.
+ if (xtra != 0 && wp->w_redraw_top != 0)
+ redraw_win_later(wp, UPD_NOT_VALID);
+
// Reset "w_skipcol" if the topline length has become smaller to
// such a degree that nothing will be visible anymore, accounting
// for 'smoothscroll' <<< or 'listchars' "precedes" marker.
diff --git a/src/drawscreen.c b/src/drawscreen.c
index d1773701da..852d331826 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -1408,7 +1408,7 @@ fold_line(
* - if wp->w_buffer->b_mod_set set, update lines between
* b_mod_top and b_mod_bot.
* - if wp->w_redraw_top non-zero, redraw lines between
- * wp->w_redraw_top and wp->w_redr_bot.
+ * wp->w_redraw_top and wp->w_redraw_bot.
* - continue redrawing when syntax status is invalid.
* 4. if scrolled up, update lines at the bottom.
* This results in three areas that may need updating:
@@ -1567,14 +1567,6 @@ win_update(win_T *wp)
else
#endif
- if (buf->b_mod_set && buf->b_mod_xlines != 0 && wp->w_redraw_top != 0)
- {
- // When there are both inserted/deleted lines and specific lines to be
- // redrawn, w_redraw_top and w_redraw_bot may be invalid, just redraw
- // everything (only happens when redrawing is off for while).
- type = UPD_NOT_VALID;
- }
- else
{
// Set mod_top to the first line that needs displaying because of
// changes. Set mod_bot to the first line after the changes.
diff --git a/src/popupwin.c b/src/popupwin.c
index 64bb0b5be8..bdf4ac7cfd 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -3899,8 +3899,8 @@ may_update_popup_mask(int type)
// The screen position "line" / "col" needs to be
// redrawn. Figure out what window that is and update
- // w_redraw_top and w_redr_bot. Only needs to be done
- // once for each window line.
+ // w_redraw_top and w_redraw_bot. Only needs to be
+ // done once for each window line.
wp = mouse_find_win(&line_cp, &col_cp, IGNORE_POPUP);
if (wp != NULL)
{
diff --git a/src/version.c b/src/version.c
index 7a9172a667..602a2f96a8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 100,
+/**/
99,
/**/
98,