diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/memline.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/memline.c b/src/nvim/memline.c index 1c54035a9e..5f74440747 100644 --- a/src/nvim/memline.c +++ b/src/nvim/memline.c @@ -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; |