From 19b7cef0a7dc52f3ec016e0dd0ae82f0f6ecd4b1 Mon Sep 17 00:00:00 2001 From: TJ DeVries Date: Tue, 29 Jun 2021 09:18:59 -0400 Subject: fix(vim.opt): Fix #14828 with empty values being incorrectly inserted --- runtime/lua/vim/_meta.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'runtime/lua') diff --git a/runtime/lua/vim/_meta.lua b/runtime/lua/vim/_meta.lua index 416746b2cc..b1f935541c 100644 --- a/runtime/lua/vim/_meta.lua +++ b/runtime/lua/vim/_meta.lua @@ -414,6 +414,12 @@ local convert_value_to_lua = (function() return value end + -- Empty strings mean that there is nothing there, + -- so empty table should be returned. + if value == '' then + return {} + end + -- Handles unescaped commas in a list. if string.find(value, ",,,") then local comma_split = vim.split(value, ",,,") @@ -451,6 +457,12 @@ local convert_value_to_lua = (function() [OptionTypes.SET] = function(info, value) if type(value) == "table" then return value end + -- Empty strings mean that there is nothing there, + -- so empty table should be returned. + if value == '' then + return {} + end + assert(info.flaglist, "That is the only one I know how to handle") if info.flaglist and info.commalist then -- cgit