diff options
Diffstat (limited to 'src/nvim/terminal.c')
-rw-r--r-- | src/nvim/terminal.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index 8b4ad4d3af..ffe650f416 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -1112,11 +1112,15 @@ static void refresh_terminal(Terminal *term) return; } long ml_before = buf->b_ml.ml_line_count; - WITH_BUFFER(buf, { - refresh_size(term, buf); - refresh_scrollback(term, buf); - refresh_screen(term, buf); - }); + + // refresh_ functions assume the terminal buffer is current + aco_save_T aco; + aucmd_prepbuf(&aco, buf); + refresh_size(term, buf); + refresh_scrollback(term, buf); + refresh_screen(term, buf); + aucmd_restbuf(&aco); + long ml_added = buf->b_ml.ml_line_count - ml_before; adjust_topline(term, buf, ml_added); } |