summaryrefslogtreecommitdiff
path: root/tex/context/base/luat-sta.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/luat-sta.lua')
-rw-r--r--tex/context/base/luat-sta.lua14
1 files changed, 10 insertions, 4 deletions
diff --git a/tex/context/base/luat-sta.lua b/tex/context/base/luat-sta.lua
index 7e87b90fb..8b58774d3 100644
--- a/tex/context/base/luat-sta.lua
+++ b/tex/context/base/luat-sta.lua
@@ -60,8 +60,10 @@ local function set_by_tag(tag,key,value,default,persistent)
end
dkey, hkey = post, key
end
- if type(value) == nil then
- value = value or default
+ if value == nil then
+ value = default
+ elseif value == false then
+ -- special case
elseif persistent then
value = value or d[dkey] or default
else
@@ -84,13 +86,17 @@ local function get_by_tag(tag,key,default)
if d then
for k in gmatch(key,"[^%.]+") do
local dk = d[k]
- if dk then
+ if dk ~= nil then
d = dk
else
return default
end
end
- return d or default
+ if d == false then
+ return false
+ else
+ return d or default
+ end
end
end
end