patch 9.0.1016: screenpos() does not count filler lines for diff mode

Problem:    screenpos() does not count filler lines for diff mode.
Solution:   Add filler lines. (closes 11658)
diff --git a/src/move.c b/src/move.c
index 954a137..fde7f20 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1426,6 +1426,12 @@
 	is_folded = hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL);
 #endif
 	row = plines_m_win(wp, wp->w_topline, lnum - 1) + 1;
+
+#ifdef FEAT_DIFF
+	// Add filler lines above this buffer line.
+	row += diff_check_fill(wp, lnum);
+#endif
+
 #ifdef FEAT_FOLDING
 	if (is_folded)
 	{
diff --git a/src/testdir/test_cursor_func.vim b/src/testdir/test_cursor_func.vim
index 8bdc956..fe64be0 100644
--- a/src/testdir/test_cursor_func.vim
+++ b/src/testdir/test_cursor_func.vim
@@ -156,6 +156,22 @@
   bwipe!
 endfunc
 
+func Test_screenpos_diff()
+  CheckFeature diff
+
+  enew!
+  call setline(1, ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'])
+  vnew
+  call setline(1, ['a', 'b', 'c', 'g', 'h', 'i'])
+  windo diffthis
+  wincmd w
+  call assert_equal(#{col: 3, row: 7, endcol: 3, curscol: 3}, screenpos(0, 4, 1))
+
+  windo diffoff
+  bwipe!
+  bwipe!
+endfunc
+
 func Test_screenpos_number()
   rightbelow new
   rightbelow 73vsplit
diff --git a/src/version.c b/src/version.c
index a19d947..3dbc0a0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1016,
+/**/
     1015,
 /**/
     1014,