vim-patch:8.1.0511: ml_get error when calling a function with a range (#9207)

Problem:    ml_get error when calling a function with a range.
Solution:   Don't position the cursor after the last line.
9e353b5265
This commit is contained in:
Jan Edmund Lazo
2018-11-06 07:49:20 -05:00
committed by Justin M. Keyes
parent 5320eb57df
commit f08869cff2
2 changed files with 25 additions and 0 deletions

View File

@@ -2728,6 +2728,12 @@ void ex_call(exarg_T *eap)
lnum = eap->line1;
for (; lnum <= eap->line2; lnum++) {
if (eap->addr_count > 0) { // -V560
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;
curwin->w_cursor.coladd = 0;