summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-08-06 22:34:03 +0800
committerruki <[email protected]>2020-08-06 22:34:03 +0800
commit274bdc348143e94ccb1aaf6583ae0aec4aa1daef (patch)
tree6300e6721e6d571565b3ed3b6c24d34ba59436ff
parent3c11c7c124de970d139b3ef634b5472e75681825 (diff)
fix scope api_set
-rw-r--r--xmake/core/base/interpreter.lua7
-rw-r--r--xmake/core/base/scopeinfo.lua7
2 files changed, 12 insertions, 2 deletions
diff --git a/xmake/core/base/interpreter.lua b/xmake/core/base/interpreter.lua
index 854212cc9..831065c68 100644
--- a/xmake/core/base/interpreter.lua
+++ b/xmake/core/base/interpreter.lua
@@ -1043,7 +1043,12 @@ function interpreter:api_register_set_values(scope_kind, ...)
end
-- save values
- scope[name] = values
+ if #values > 0 then
+ scope[name] = values
+ else
+ -- set("xx", nil)? remove it
+ scope[name] = nil
+ end
-- save extra config
if extra_config then
diff --git a/xmake/core/base/scopeinfo.lua b/xmake/core/base/scopeinfo.lua
index 350d2ef95..c278e89ce 100644
--- a/xmake/core/base/scopeinfo.lua
+++ b/xmake/core/base/scopeinfo.lua
@@ -115,7 +115,12 @@ function _instance:_api_set_values(name, ...)
local handled_values = self:_api_handle(values)
-- save values
- scope[name] = handled_values
+ if #handled_values > 0 then
+ scope[name] = handled_values
+ else
+ -- set("xx", nil)? remove it
+ scope[name] = nil
+ end
-- save extra config
if extra_config then