aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/terminal.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-03-05 19:39:15 +0100
committerGitHub <noreply@github.com>2019-03-05 19:39:15 +0100
commite386e51d9e284ece5fe78a6dbcc0c8c4f166e48a (patch)
treec0562a62f8c514d0c3e08521dcede652243385e4 /src/nvim/terminal.c
parent7e6fce0698f52fb189a78bf7388a4bdb238dcde7 (diff)
parentf5d5da391715f3b1d4c3d36c522e39b94866b93f (diff)
downloadrneovim-e386e51d9e284ece5fe78a6dbcc0c8c4f166e48a.tar.gz
rneovim-e386e51d9e284ece5fe78a6dbcc0c8c4f166e48a.tar.bz2
rneovim-e386e51d9e284ece5fe78a6dbcc0c8c4f166e48a.zip
Merge pull request #9674 from bfredl/bufapi-fix
api/buffer: use aucmd_prepbuf() to manipulate invisible buffer, fix some issues
Diffstat (limited to 'src/nvim/terminal.c')
-rw-r--r--src/nvim/terminal.c14
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);
}