aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-11-03 14:40:22 +0100
committerBjörn Linse <bjorn.linse@gmail.com>2018-11-11 09:54:03 +0100
commit520ec3dbfd208c99f9b184ab0a4baeab9a93b556 (patch)
treea2322de3b3b5bde4eb9ba5157818d537c86db85f /src/nvim/message.c
parentf8639dc99cb085432b14da086af316176152bc1f (diff)
downloadrneovim-520ec3dbfd208c99f9b184ab0a4baeab9a93b556.tar.gz
rneovim-520ec3dbfd208c99f9b184ab0a4baeab9a93b556.tar.bz2
rneovim-520ec3dbfd208c99f9b184ab0a4baeab9a93b556.zip
UI/TUI: improvements and cleanups for scrolling and clearing
- TUI: _never_ rely on BCE for implicit clearing, only explicit commands. - TUI: use unibi_erase_chars when possible. - TUI: use end-exclusive ranges for invalid and cleared areas - screen: scrolling leaves scrolled in aree undefined. This is a conservative change, a client assuming the old semantics will still behave correctly. - screen: factor out vsep handling from line drawing. This is needed anyway for the multigrid refactor. - screen: simplifications of win_do_lines
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r--src/nvim/message.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index edce30e6fa..10f4905fb2 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -1896,6 +1896,9 @@ static void msg_scroll_up(void)
} else {
screen_del_lines(0, 1, (int)Rows, 0, Columns);
}
+ // TODO(bfredl): when msgsep display is properly batched, this fill should be
+ // eliminated.
+ screen_fill(Rows-1, Rows, 0, (int)Columns, ' ', ' ', 0);
}
/*
@@ -2311,6 +2314,7 @@ static int do_more_prompt(int typed_char)
if (toscroll == -1
&& screen_ins_lines(0, 1, (int)Rows, 0, (int)Columns) == OK) {
+ screen_fill(0, 1, 0, (int)Columns, ' ', ' ', 0);
// display line at top
(void)disp_sb_line(0, mp);
} else {