0
0
mirror of https://github.com/vim/vim.git synced 2025-11-13 22:54:27 -05:00

patch 8.1.1890: ml_get error when deleting fold marker

Problem:    Ml_get error when deleting fold marker.
Solution:   Check that the line number is not below the last line.  Adjust the
            fold when deleting the empty line.  (Christian Brabandt,
            closes #4834)
This commit is contained in:
Bram Moolenaar
2019-08-19 22:48:30 +02:00
parent ea7ecfe2a0
commit 9a4a8c4d59
4 changed files with 32 additions and 5 deletions

View File

@@ -9346,13 +9346,15 @@ nv_put_opt(cmdarg_T *cap, int fix_indent)
reg1 = get_register(regname, TRUE);
}
/* Now delete the selected text. */
// Now delete the selected text. Avoid messages here.
cap->cmdchar = 'd';
cap->nchar = NUL;
cap->oap->regname = NUL;
++msg_silent;
nv_operator(cap);
do_pending_operator(cap, 0, FALSE);
empty = (curbuf->b_ml.ml_flags & ML_EMPTY);
--msg_silent;
/* delete PUT_LINE_BACKWARD; */
cap->oap->regname = regname;
@@ -9407,6 +9409,7 @@ nv_put_opt(cmdarg_T *cap, int fix_indent)
if (empty && *ml_get(curbuf->b_ml.ml_line_count) == NUL)
{
ml_delete(curbuf->b_ml.ml_line_count, TRUE);
deleted_lines(curbuf->b_ml.ml_line_count + 1, 1);
/* If the cursor was in that line, move it to the end of the last
* line. */