diff options
| author | Philipp Gesang <phg42.2a@gmail.com> | 2014-04-23 08:17:51 +0200 | 
|---|---|---|
| committer | Philipp Gesang <phg42.2a@gmail.com> | 2014-04-23 08:17:51 +0200 | 
| commit | ff15eeb08a3148f961b0535ee2fea7ceea85bc1a (patch) | |
| tree | 93411b8612e5efd374832ad2f62f8e9eaa4e69fa | |
| parent | 2237a2bc833d46a1631112fb4c220e3f4941bcc3 (diff) | |
| download | luaotfload-ff15eeb08a3148f961b0535ee2fea7ceea85bc1a.tar.gz | |
[conf] fix configuration import
| -rw-r--r-- | src/luaotfload-configuration.lua | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/src/luaotfload-configuration.lua b/src/luaotfload-configuration.lua index aa91b27..fed003e 100644 --- a/src/luaotfload-configuration.lua +++ b/src/luaotfload-configuration.lua @@ -357,7 +357,8 @@ local process_options = function (opts)    return new  end -local apply = function (old, new) +local apply +apply = function (old, new)    if not new then      if not old then        return false @@ -367,8 +368,19 @@ local apply = function (old, new)      return tablecopy (new)    end    local result = tablecopy (old) -  for var, val in next, new do -    result[var] = val +  for name, section in next, new do +    local t_section = type (section) +    if t_section ~= table_t then +      logreport ("both", 1, "conf", +                 "Error applying configuration: entry %s is %s, expected table.", +                 section, t_section) +      --- ignore +    else +      local currentsection = result[name] +      for var, val in next, section do +        currentsection[var] = val +      end +    end    end    return result  end | 
