fix(startup): emitting useless OptionSet #39830

Problem:
During startup, we manually trigger a useless and misleading `OptionSet`
event, which doesn't set `v:option_*` values (this is a limitation of
`nvim_exec_autocmds`).
ad4bc2d90c/runtime/lua/vim/_core/defaults.lua (L939).

Solution:
The `nvim_exec_autocmds('OptionSet',…)` call does not serve any purpose
since 5cbb9d613b, so just drop it.
This commit is contained in:
Puneet Dixit
2026-05-17 21:48:24 +05:30
committed by GitHub
parent 767fbd88ff
commit fff9897ce3
6 changed files with 19 additions and 26 deletions

View File

@@ -946,20 +946,6 @@ do
local luminance = (0.299 * rr) + (0.587 * gg) + (0.114 * bb)
local bg = luminance < 0.5 and 'dark' or 'light'
vim.api.nvim_set_option_value('background', bg, {})
-- Ensure OptionSet still triggers when we set the background during startup
if vim.v.vim_did_enter == 0 then
vim.api.nvim_create_autocmd('VimEnter', {
group = group,
once = true,
nested = true,
callback = function()
vim.api.nvim_exec_autocmds('OptionSet', {
pattern = 'background',
})
end,
})
end
end
end
end)

View File

@@ -224,7 +224,7 @@ vim.go.awa = vim.go.autowriteall
--- When set to "dark" or "light", adjusts the default color groups for
--- that background type. The `TUI` or other UI sets this on startup
--- (triggering `OptionSet`) if it can detect the background color.
--- if it can detect the background color.
---
--- This option does NOT change the background color, it tells Nvim what
--- the "inherited" (terminal/GUI) background looks like.