diff options
author | luukvbaal <luukvbaal@gmail.com> | 2024-11-25 14:54:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-25 05:54:43 -0800 |
commit | b47b0b3f757d58a76242ac325a35cac6fbeffc07 (patch) | |
tree | eba17615cbcd567a98c76fb5e353b84ad3e1c54d /test/functional/ui/messages_spec.lua | |
parent | beec377e905baca73e772080c4f276c800ad2a40 (diff) | |
download | rneovim-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.lua | 15 |
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() |