diff --git a/src/macros.h b/src/macros.h
index 773cffd..f70e206 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -315,3 +315,9 @@
 #  endif
 # endif
 #endif
+
+#ifdef FEAT_DIFF
+# define PLINES_NOFILL(x) plines_nofill(x)
+#else
+# define PLINES_NOFILL(x) plines(x)
+#endif
diff --git a/src/move.c b/src/move.c
index 449382f..bc6a120 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1252,11 +1252,7 @@
 	    }
 	    else
 #endif
-#ifdef FEAT_DIFF
-		done += plines_nofill(curwin->w_topline);
-#else
-		done += plines(curwin->w_topline);
-#endif
+		done += PLINES_NOFILL(curwin->w_topline);
 	}
 	--curwin->w_botline;		/* approximate w_botline */
 	invalidate_botline();
@@ -1609,13 +1605,7 @@
 	    lp->height = 1;
 	else
 #endif
-	{
-#ifdef FEAT_DIFF
-	    lp->height = plines_nofill(lp->lnum);
-#else
-	    lp->height = plines(lp->lnum);
-#endif
-	}
+	    lp->height = PLINES_NOFILL(lp->lnum);
     }
 }
 
@@ -1653,11 +1643,7 @@
 	else
 #endif
 	{
-#ifdef FEAT_DIFF
-	    lp->height = plines_nofill(lp->lnum);
-#else
-	    lp->height = plines(lp->lnum);
-#endif
+	    lp->height = PLINES_NOFILL(lp->lnum);
 	}
     }
 }
@@ -1769,7 +1755,7 @@
 	    i = 1;
 	else
 #endif
-	    i = plines_nofill(top);
+	    i = PLINES_NOFILL(top);
 	used += i;
 	if (extra + i <= off && bot < curbuf->b_ml.ml_line_count)
 	{
@@ -2273,11 +2259,8 @@
 		++above;
 	    else
 #endif
-#ifndef FEAT_DIFF
-		above += plines(topline);
-#else
-		above += plines_nofill(topline);
-
+		above += PLINES_NOFILL(topline);
+#ifdef FEAT_DIFF
 	    /* Count filler lines below this line as context. */
 	    if (topline < botline)
 		above += diff_check_fill(curwin, topline + 1);
@@ -2666,11 +2649,7 @@
 	    else
 #endif
 	    {
-#ifdef FEAT_DIFF
-		i = plines_nofill(curwin->w_topline);
-#else
-		i = plines(curwin->w_topline);
-#endif
+		i = PLINES_NOFILL(curwin->w_topline);
 		n -= i;
 		if (n < 0 && scrolled > 0)
 		    break;
@@ -2776,11 +2755,7 @@
 	    else
 #endif
 	    {
-#ifdef FEAT_DIFF
-		i = plines_nofill(curwin->w_topline - 1);
-#else
-		i = plines(curwin->w_topline - 1);
-#endif
+		i = PLINES_NOFILL(curwin->w_topline - 1);
 		n -= i;
 		if (n < 0 && scrolled > 0)
 		    break;
diff --git a/src/version.c b/src/version.c
index 9044ca2..7aff3f2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    863,
+/**/
     862,
 /**/
     861,
