diff options
author | Hans Hagen <pragma@wxs.nl> | 2016-11-01 11:41:49 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2016-11-01 11:41:49 +0100 |
commit | 5a501d72ddc9ab9003746aa46fad3a12046e20ec (patch) | |
tree | 961dfe1070db46aa798ec0dc553f19b60f8355c6 /tex/context/base/mkiv/cldf-ini.lua | |
parent | f0bc9c17c5298a3a4645f28a39273f52c27c646a (diff) | |
download | context-5a501d72ddc9ab9003746aa46fad3a12046e20ec.tar.gz |
2016-11-01 10:15:00
Diffstat (limited to 'tex/context/base/mkiv/cldf-ini.lua')
-rw-r--r-- | tex/context/base/mkiv/cldf-ini.lua | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua index 3d8671149..66582ae4f 100644 --- a/tex/context/base/mkiv/cldf-ini.lua +++ b/tex/context/base/mkiv/cldf-ini.lua @@ -1317,18 +1317,34 @@ do -- formatted.command([catcodes,]format[,...]) +-- local function formattedflush(parent,c,catcodes,fmt,...) +-- if type(catcodes) == "number" then +-- if fmt then +-- local result +-- pushcatcodes(catcodes) +-- result = writer(parent,c,formatters[fmt](...)) +-- popcatcodes() +-- return result +-- else +-- -- no need to change content catcodes +-- return writer(parent,c) +-- end +-- else +-- return writer(parent,c,formatters[catcodes](fmt,...)) +-- end +-- end + local function formattedflush(parent,c,catcodes,fmt,...) - if type(catcodes) == "number" then - if fmt then - local result - pushcatcodes(catcodes) - result = writer(parent,c,formatters[fmt](...)) - popcatcodes() - return result - else - -- no need to change content catcodes - return writer(parent,c) - end + if not catcodes then + return writer(parent,c) + elseif not fmt then + return writer(parent,c,catcodes) + elseif type(catcodes) == "number" then + local result + pushcatcodes(catcodes) + result = writer(parent,c,formatters[fmt](...)) + popcatcodes() + return result else return writer(parent,c,formatters[catcodes](fmt,...)) end @@ -1356,10 +1372,10 @@ do local function caller(parent,catcodes,fmt,...) if not catcodes then -- nothing + elseif not fmt then + flush(catcodes) elseif type(catcodes) == "number" then - if fmt then - flush(catcodes,formatters[fmt](...)) - end + flush(catcodes,formatters[fmt](...)) else flush(formatters[catcodes](fmt,...)) end |