aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/message.c4
-rw-r--r--src/nvim/screen.c6
-rw-r--r--test/functional/ui/embed_spec.lua14
3 files changed, 19 insertions, 5 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index 2354cce2b7..ac731210d7 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -154,8 +154,8 @@ void msg_grid_validate(void)
{
grid_assign_handle(&msg_grid);
bool should_alloc = msg_dothrottle();
- if (msg_grid.Rows != Rows || msg_grid.Columns != Columns
- || (should_alloc && !msg_grid.chars)) {
+ if (should_alloc && (msg_grid.Rows != Rows || msg_grid.Columns != Columns
+ || !msg_grid.chars)) {
// TODO(bfredl): eventually should be set to "invalid". I e all callers
// will use the grid including clear to EOS if necessary.
grid_alloc(&msg_grid, Rows, Columns, false, true);
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 8f415a8ed5..b9469686b5 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -404,7 +404,7 @@ int update_screen(int type)
default_grid.valid = true;
}
- if (type == NOT_VALID && msg_dothrottle()) {
+ if (type == NOT_VALID && (msg_dothrottle() || msg_grid.chars)) {
grid_fill(&default_grid, Rows-p_ch, Rows, 0, Columns, ' ', ' ', 0);
}
@@ -7288,9 +7288,9 @@ void screen_resize(int width, int height)
}
}
}
+ ui_flush();
}
- ui_flush();
- --busy;
+ busy--;
}
/// Check if the new Nvim application "shell" dimensions are valid.
diff --git a/test/functional/ui/embed_spec.lua b/test/functional/ui/embed_spec.lua
index 5e09dc4289..f3cd223f53 100644
--- a/test/functional/ui/embed_spec.lua
+++ b/test/functional/ui/embed_spec.lua
@@ -81,6 +81,20 @@ local function test_embed(ext_linegrid)
eq(Screen.colors.Green, screen.default_colors.rgb_bg)
end}
end)
+
+ it("set display-=msgsep before first redraw", function()
+ startup('--cmd', 'set display-=msgsep')
+ screen:expect{grid=[[
+ ^ |
+ {3:~ }|
+ {3:~ }|
+ {3:~ }|
+ {3:~ }|
+ {3:~ }|
+ {3:~ }|
+ |
+ ]]}
+ end)
end
describe('--embed UI on startup (ext_linegrid=true)', function() test_embed(true) end)