aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/messages_spec.lua
diff options
context:
space:
mode:
authorluukvbaal <luukvbaal@gmail.com>2024-11-25 14:54:43 +0100
committerGitHub <noreply@github.com>2024-11-25 05:54:43 -0800
commitb47b0b3f757d58a76242ac325a35cac6fbeffc07 (patch)
treeeba17615cbcd567a98c76fb5e353b84ad3e1c54d /test/functional/ui/messages_spec.lua
parentbeec377e905baca73e772080c4f276c800ad2a40 (diff)
downloadrneovim-b47b0b3f757d58a76242ac325a35cac6fbeffc07.tar.gz
rneovim-b47b0b3f757d58a76242ac325a35cac6fbeffc07.tar.bz2
rneovim-b47b0b3f757d58a76242ac325a35cac6fbeffc07.zip
fix(grid): double grid_line_start() with ext_messages #31292
Problem: Hit double grid_line_start() assert when redrawing from ext_messages msg_ruler event. Solution: Do not start() batched grid calls when win_redr_ruler() will not puts() anything.
Diffstat (limited to 'test/functional/ui/messages_spec.lua')
-rw-r--r--test/functional/ui/messages_spec.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua
index 9a6dfd8ed1..164b840b35 100644
--- a/test/functional/ui/messages_spec.lua
+++ b/test/functional/ui/messages_spec.lua
@@ -1159,6 +1159,21 @@ stack traceback:
exec_lua([[vim.print({ foo = "bar" })]])
screen:expect_unchanged()
end)
+
+ it('ruler redraw does not crash due to double grid_line_start()', function()
+ exec_lua([[
+ local ns = vim.api.nvim_create_namespace('')
+ vim.ui_attach(ns, { ext_messages = true }, function(event, ...)
+ if event == 'msg_ruler' then
+ vim.api.nvim__redraw({ flush = true })
+ end
+ end)
+ vim.o.ruler = true
+ vim.o.laststatus = 0
+ ]])
+ feed('i')
+ n.assert_alive()
+ end)
end)
describe('ui/builtin messages', function()