diff --git a/src/window.c b/src/window.c
index 9a49cad..62b2a3f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2855,6 +2855,9 @@
     FOR_ALL_WINDOWS(wp)
     {
 	wp->w_last_topline = wp->w_topline;
+#ifdef FEAT_DIFF
+	wp->w_last_topfill = wp->w_topfill;
+#endif
 	wp->w_last_leftcol = wp->w_leftcol;
 	wp->w_last_skipcol = wp->w_skipcol;
 	wp->w_last_width = wp->w_width;
@@ -2886,6 +2889,9 @@
 	int width,
 	int height,
 	int topline,
+# ifdef FEAT_DIFF
+	int topfill,
+# endif
 	int leftcol,
 	int skipcol)
 {
@@ -2910,6 +2916,13 @@
 	tv.vval.v_number = topline;
 	if (dict_add_tv(d, "topline", &tv) == FAIL)
 	    break;
+#ifdef FEAT_DIFF
+	tv.vval.v_number = topfill;
+#else
+	tv.vval.v_number = 0;
+#endif
+	if (dict_add_tv(d, "topfill", &tv) == FAIL)
+	    break;
 	tv.vval.v_number = leftcol;
 	if (dict_add_tv(d, "leftcol", &tv) == FAIL)
 	    break;
@@ -2958,6 +2971,9 @@
     int tot_width = 0;
     int tot_height = 0;
     int tot_topline = 0;
+# ifdef FEAT_DIFF
+    int tot_topfill = 0;
+# endif
     int tot_leftcol = 0;
     int tot_skipcol = 0;
 #endif
@@ -2995,6 +3011,9 @@
 	}
 
 	int scroll_changed = wp->w_last_topline != wp->w_topline
+#ifdef FEAT_DIFF
+				|| wp->w_last_topfill != wp->w_topfill
+#endif
 				|| wp->w_last_leftcol != wp->w_leftcol
 				|| wp->w_last_skipcol != wp->w_skipcol;
 	if (scroll_changed)
@@ -3011,10 +3030,16 @@
 	    int width = wp->w_width - wp->w_last_width;
 	    int height = wp->w_height - wp->w_last_height;
 	    int topline = wp->w_topline - wp->w_last_topline;
+#ifdef FEAT_DIFF
+	    int topfill = wp->w_topfill - wp->w_last_topfill;
+#endif
 	    int leftcol = wp->w_leftcol - wp->w_last_leftcol;
 	    int skipcol = wp->w_skipcol - wp->w_last_skipcol;
-	    dict_T *d = make_win_info_dict(width, height,
-						    topline, leftcol, skipcol);
+	    dict_T *d = make_win_info_dict(width, height, topline,
+#ifdef FEAT_DIFF
+							    topfill,
+#endif
+							    leftcol, skipcol);
 	    if (d == NULL)
 		break;
 	    char winid[NUMBUFLEN];
@@ -3029,6 +3054,9 @@
 	    tot_width += abs(width);
 	    tot_height += abs(height);
 	    tot_topline += abs(topline);
+#ifdef FEAT_DIFF
+	    tot_topfill += abs(topfill);
+#endif
 	    tot_leftcol += abs(leftcol);
 	    tot_skipcol += abs(skipcol);
 	}
@@ -3038,8 +3066,11 @@
 #ifdef FEAT_EVAL
     if (v_event != NULL)
     {
-	dict_T *alldict = make_win_info_dict(tot_width, tot_height,
-					tot_topline, tot_leftcol, tot_skipcol);
+	dict_T *alldict = make_win_info_dict(tot_width, tot_height, tot_topline,
+# ifdef FEAT_DIFF
+						    tot_topfill,
+# endif
+						    tot_leftcol, tot_skipcol);
 	if (alldict != NULL)
 	{
 	    if (dict_add_dict(v_event, "all", alldict) == FAIL)
