commit 750c350be86bb9dcf09fa8fc7f2978b127cbcae5
parent c9b35360ac426d531afcb773c2be7946d804cefc
Author: Jan Edmund Lazo <jan.lazo@mail.utoronto.ca>
Date: Sun, 10 Aug 2025 19:17:22 -0400
vim-patch:8.1.1711: listener callback called at the wrong moment
Problem: Listener callback called at the wrong moment
Solution: Invoke listeners before calling ml_delete_int(). (closes vim/vim#4657)
https://github.com/vim/vim/commit/acf7544cf62227972eeb063d6d9ecddaa5682a73
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/nvim/memline.c b/src/nvim/memline.c
@@ -2543,6 +2543,10 @@ int ml_replace_buf(buf_T *buf, linenr_T lnum, char *line, bool copy, bool noallo
int ml_delete(linenr_T lnum, bool message)
{
ml_flush_line(curbuf, false);
+ if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count) {
+ return FAIL;
+ }
+
return ml_delete_int(curbuf, lnum, message);
}
@@ -2561,10 +2565,6 @@ int ml_delete_buf(buf_T *buf, linenr_T lnum, bool message)
static int ml_delete_int(buf_T *buf, linenr_T lnum, bool message)
{
- if (lnum < 1 || lnum > buf->b_ml.ml_line_count) {
- return FAIL;
- }
-
if (lowest_marked && lowest_marked > lnum) {
lowest_marked--;
}