From 71a22e20ad150fae7f42ca534e1b77208a51b83d Mon Sep 17 00:00:00 2001 From: phanium <91544758+phanen@users.noreply.github.com> Date: Wed, 10 Dec 2025 01:32:49 +0800 Subject: [PATCH] fix: vim.ui_attach handles messages during `-l`/`--headless` #36884 Problem: With vim.ui_attach in headless mode, messages are still printed. Solution: Don't print to stdout if a vim.ui_attach "messages" handler is defined. --- src/nvim/message.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/nvim/message.c b/src/nvim/message.c index d1ac5b1960..2232784c07 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -2862,9 +2862,10 @@ static msgchunk_T *disp_sb_line(int row, msgchunk_T *smp) /// @return true when messages should be printed to stdout/stderr: /// - "batch mode" ("silent mode", -es/-Es/-l) /// - no UI and not embedded +/// - no ext_messages int msg_use_printf(void) { - return !embedded_mode && !ui_active(); + return !embedded_mode && !ui_active() && !ui_has(kUIMessages); } /// Print a message when there is no valid screen.