From b2bb60d70a449b5ce8041ed27df7c1248fea17d8 Mon Sep 17 00:00:00 2001 From: Barrett Ruth <62671086+barrettruth@users.noreply.github.com> Date: Sat, 18 Jul 2026 06:33:38 -0500 Subject: fix(ui2): avoid ModeChanged in message window #40788 --- runtime/lua/vim/_core/ui2/messages.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'runtime/lua/vim') diff --git a/runtime/lua/vim/_core/ui2/messages.lua b/runtime/lua/vim/_core/ui2/messages.lua index 922c05c44b..92bca8a60c 100644 --- a/runtime/lua/vim/_core/ui2/messages.lua +++ b/runtime/lua/vim/_core/ui2/messages.lua @@ -486,7 +486,8 @@ function M.msg_show(kind, content, replace_last, _, append, id, trigger) M.cmd.ids, M.cmd.prev_msg = {}, '' elseif tgt == 'pager' then -- Position cursor at start of first or last message at bottom of window. - fn.win_execute(ui.wins.pager, 'norm! ' .. (enter_pager and 'gg0' or 'G0zb')) + local lnum = enter_pager and 1 or api.nvim_buf_line_count(ui.bufs.pager) + api.nvim_win_set_cursor(ui.wins.pager, { lnum, 0 }) end end end @@ -718,7 +719,7 @@ function M.set_pos(tgt) M.dialog_on_key = vim.on_key(dialog_on_key, M.dialog_on_key) elseif tgt == 'msg' then -- Ensure last line is visible and first line is at top of window. - fn.win_execute(ui.wins.msg, 'norm! Gzb') + api.nvim_win_set_cursor(ui.wins.msg, { api.nvim_buf_line_count(ui.bufs.msg), 0 }) elseif tgt == 'pager' and not in_pager then enter_pager() end -- cgit