Merge pull request #19263 from zeertzjq/vim-8.2.3674

vim-patch:8.2.{3674,4399}: problems after ml_get error
This commit is contained in:
zeertzjq 2022-07-07 08:35:29 +08:00 committed by GitHub
commit 6b72ee1f15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1834,6 +1834,7 @@ char_u *ml_get_buf(buf_T *buf, linenr_T lnum, bool will_change)
DATA_BL *dp;
char_u *ptr;
static int recursive = 0;
static char_u questions[4];
if (lnum > buf->b_ml.ml_line_count) { // invalid line number
if (recursive == 0) {
@ -1843,9 +1844,12 @@ char_u *ml_get_buf(buf_T *buf, linenr_T lnum, bool will_change)
siemsg(_("E315: ml_get: invalid lnum: %" PRId64), (int64_t)lnum);
recursive--;
}
ml_flush_line(buf);
buf->b_ml.ml_flags &= ~ML_LINE_DIRTY;
errorret:
STRCPY(IObuff, "???");
return IObuff;
STRCPY(questions, "???");
buf->b_ml.ml_line_lnum = lnum;
return questions;
}
if (lnum <= 0) { // pretend line 0 is line 1
lnum = 1;