patch 8.1.0511: ml_get error when calling a function with a range

Problem:    ml_get error when calling a function with a range.
Solution:   Don't position the cursor after the last line.
diff --git a/src/userfunc.c b/src/userfunc.c
index 7c3b7f6..f79e7f1 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -3149,6 +3149,13 @@
     {
 	if (!eap->skip && eap->addr_count > 0)
 	{
+	    if (lnum > curbuf->b_ml.ml_line_count)
+	    {
+		// If the function deleted lines or switched to another buffer
+		// the line number may become invalid.
+		EMSG(_(e_invrange));
+		break;
+	    }
 	    curwin->w_cursor.lnum = lnum;
 	    curwin->w_cursor.col = 0;
 #ifdef FEAT_VIRTUALEDIT