# HG changeset patch # User Kim Alvefur # Date 1571597614 -7200 # Node ID ddddda2896fdffff56072946bc11a7a28c40596a # Parent 4168ba01d0bfd688718f2ee3e67b137739882b60# Parent 3852fc91b2fc2e2e9ba0a215eaff4569dbf84a38 Merge 0.11->trunk diff -r 4168ba01d0bf -r ddddda2896fd util/interpolation.lua --- a/util/interpolation.lua Sun Oct 20 18:48:10 2019 +0200 +++ b/util/interpolation.lua Sun Oct 20 20:53:34 2019 +0200 @@ -32,7 +32,7 @@ -- assert(type(values) == "table", "bad argument #2 to 'render' (table expected)"); return (s_gsub(template, pat, function (block) block = s_sub(block, 2, -2); - local name, opt, e = s_match(block, "^([%a_][%w_.]*)(%p?)()"); + local name, raw, opt, e = s_match(block, "^([%a_][%w_.]*)(!?)(%p?)()"); if not name then return end local value = values[name]; if not value and name:find(".", 2, true) then @@ -45,7 +45,7 @@ if funcs then while value ~= nil and opt == '|' do local f; - f, opt, e = s_match(block, "^([%a_][%w_.]*)(%p?)()", e); + f, raw, opt, e = s_match(block, "^([%a_][%w_.]*)(!?)(%p?)()", e); f = funcs[f]; if f then value = f(value); end end @@ -70,7 +70,7 @@ if type(value) ~= "string" then value = tostring(value); end - if opt ~= '!' then + if raw ~= '!' then return escape(value); end return value;