diff options
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r-- | src/nvim/buffer.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 81f8b9073e..55db72aa16 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -5261,15 +5261,16 @@ void do_modelines(int flags) } entered++; - for (lnum = 1; lnum <= curbuf->b_ml.ml_line_count && lnum <= nmlines; - lnum++) { + for (lnum = 1; curbuf->b_p_ml && lnum <= curbuf->b_ml.ml_line_count + && lnum <= nmlines; lnum++) { if (chk_modeline(lnum, flags) == FAIL) { nmlines = 0; } } - for (lnum = curbuf->b_ml.ml_line_count; lnum > 0 && lnum > nmlines - && lnum > curbuf->b_ml.ml_line_count - nmlines; lnum--) { + for (lnum = curbuf->b_ml.ml_line_count; curbuf->b_p_ml && lnum > 0 + && lnum > nmlines && lnum > curbuf->b_ml.ml_line_count - nmlines; + lnum--) { if (chk_modeline(lnum, flags) == FAIL) { nmlines = 0; } |