From b3a97c56b659f7b9bf1c021d654b3df0236171c7 Mon Sep 17 00:00:00 2001 From: Sean Dewar Date: Mon, 6 Sep 2021 18:05:05 +0100 Subject: vim-patch:8.2.3384: cannot disable modeline for an individual file Problem: Cannot disable modeline for an individual file. Solution: Recognize "nomodeline" in a modeline. (Hu Jialun, closes vim/vim#8798) https://github.com/vim/vim/commit/9dcd349ca85e1df1abd1cbf1c29c0f1574b70bf8 Cherry-pick missing modeline for test_modeline.vim (heh) from v8.2.1432. --- src/nvim/buffer.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/nvim/buffer.c') 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; } -- cgit