fix(vim.opt): Get window options before setting.

This closes #14677, but I also am a little unsure if there are times
where this may not be correct. However, this just changes the behavior
that even if `was_set` was false, we still get for
`nvim_win_get_option`.
This commit is contained in:
ckipp01
2021-05-30 13:08:43 +02:00
committed by TJ DeVries
parent 1d3ee1c441
commit e6175f6389
2 changed files with 24 additions and 4 deletions

View File

@@ -209,12 +209,17 @@ local function get_scoped_option(k, set_type)
end
if is_window_option(info) then
if vim.api.nvim_get_option_info(k).was_set then
local was_set, value = pcall(a.nvim_win_get_option, 0, k)
if was_set then return value end
local ok, value = pcall(a.nvim_win_get_option, 0, k)
if ok then
return value
end
return a.nvim_get_option(k)
local global_ok, global_val = pcall(a.nvim_get_option, k)
if global_ok then
return global_val
end
error("win_get: This should never happen. File an issue and tag @tjdevries")
end
error("This fallback case should not be possible. " .. k)