From a3170089e0016cfc0489c433d9113d94b9ce3d67 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Tue, 23 Feb 2016 18:15:07 +0100 Subject: 2016-02-23 17:27:00 --- tex/context/base/context-version.pdf | Bin 4182 -> 4165 bytes tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/lang-url.lua | 199 ++++++++++----------- tex/context/base/mkiv/lang-url.mkiv | 2 +- tex/context/base/mkiv/lang-wrd.lua | 138 ++++++++------ tex/context/base/mkiv/math-ini.mkiv | 3 +- tex/context/base/mkiv/status-files.pdf | Bin 8951 -> 9095 bytes tex/context/base/mkiv/status-lua.pdf | Bin 260654 -> 261032 bytes tex/context/base/mkiv/strc-itm.mkvi | 77 ++++++-- tex/context/modules/mkiv/s-languages-counters.lua | 2 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 12 files changed, 244 insertions(+), 183 deletions(-) (limited to 'tex') diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index de7e9a195..7a9c71000 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index dea0e124d..09569f3ce 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2016.02.22 19:54} +\newcontextversion{2016.02.23 17:25} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 92bb70e08..21f64f2f2 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2016.02.22 19:54} +\edef\contextversion{2016.02.23 17:25} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/lang-url.lua b/tex/context/base/mkiv/lang-url.lua index 39418beef..93c3c02a8 100644 --- a/tex/context/base/mkiv/lang-url.lua +++ b/tex/context/base/mkiv/lang-url.lua @@ -7,13 +7,13 @@ if not modules then modules = { } end modules ['lang-url'] = { } local utfcharacters, utfvalues, utfbyte, utfchar = utf.characters, utf.values, utf.byte, utf.char +local min, max = math.min, math.max -local commands = commands local context = context local implement = interfaces.implement - local variables = interfaces.variables + local v_before = variables.before local v_after = variables.after @@ -26,91 +26,59 @@ parsing, but the following solution suits as well. After all, we're mostly dealing with characters.

]]-- -commands.hyphenatedurl = commands.hyphenatedurl or { } -local hyphenatedurl = commands.hyphenatedurl +local urls = { } +languages.urls = urls local characters = utilities.storage.allocate { - ["!"] = "before", - ["\""] = "before", - ["#"] = "before", - ["$"] = "before", - ["%"] = "before", - ["&"] = "before", - ["("] = "before", - ["*"] = "before", - ["+"] = "before", - [","] = "before", - ["-"] = "before", - ["."] = "before", - ["/"] = "before", - [":"] = "before", - [";"] = "before", - ["<"] = "before", - ["="] = "before", - [">"] = "before", - ["?"] = "before", - ["@"] = "before", - ["["] = "before", - ["\\"] = "before", - ["^"] = "before", - ["_"] = "before", - ["`"] = "before", - ["{"] = "before", - ["|"] = "before", - ["~"] = "before", - - ["'"] = "after", - [")"] = "after", - ["]"] = "after", - ["}"] = "after", + ["!"] = "before", + ['"'] = "before", + ["#"] = "before", + ["$"] = "before", + ["%"] = "before", + ["&"] = "before", + ["("] = "before", + ["*"] = "before", + ["+"] = "before", + [","] = "before", + ["-"] = "before", + ["."] = "before", + ["/"] = "before", + [":"] = "before", + [";"] = "before", + ["<"] = "before", + ["="] = "before", + [">"] = "before", + ["?"] = "before", + ["@"] = "before", + ["["] = "before", + ["\\"] = "before", + ["^"] = "before", + ["_"] = "before", + ["`"] = "before", + ["{"] = "before", + ["|"] = "before", + ["~"] = "before", + + ["'"] = "after", + [")"] = "after", + ["]"] = "after", + ["}"] = "after", } local mapping = utilities.storage.allocate { -- [utfchar(0xA0)] = "~", -- nbsp (catch) } -hyphenatedurl.characters = characters -hyphenatedurl.mapping = mapping -hyphenatedurl.lefthyphenmin = 2 -hyphenatedurl.righthyphenmin = 3 -hyphenatedurl.discretionary = nil - --- more fun is to write nodes .. maybe it's nicer to do this --- in an attribute handler anyway - --- local ctx_a = context.a --- local ctx_b = context.b --- local ctx_d = context.d --- local ctx_n = context.n --- local ctx_s = context.s - --- local function action(hyphenatedurl,str,left,right,disc) --- local n = 0 --- local b = math.max( left or hyphenatedurl.lefthyphenmin, 2) --- local e = math.min(#str-(right or hyphenatedurl.righthyphenmin)+2,#str) --- local d = disc or hyphenatedurl.discretionary --- local p = nil --- for s in utfcharacters(str) do --- n = n + 1 --- s = mapping[s] or s --- if n > 1 then --- ctx_s() -- can be option --- end --- if s == d then --- ctx_d(utfbyte(s)) --- else --- local c = characters[s] --- if not c or n <= b or n >= e then --- ctx_n(utfbyte(s)) --- elseif c == 1 then --- ctx_b(utfbyte(s)) --- elseif c == 2 then --- ctx_a(utfbyte(s)) --- end --- end --- p = s --- end --- end +urls.characters = characters +urls.mapping = mapping +urls.lefthyphenmin = 2 +urls.righthyphenmin = 3 +urls.discretionary = nil +urls.packslashes = false + +directives.register("hyphenators.urls.packslashes",function(v) + urls.packslashes = v +end) local ctx_a = context.a local ctx_b = context.b @@ -121,60 +89,73 @@ local ctx_C = context.C local ctx_L = context.L local function action(hyphenatedurl,str,left,right,disc) - local n = 0 - local b = math.max( left or hyphenatedurl.lefthyphenmin, 2) - local e = math.min(#str-(right or hyphenatedurl.righthyphenmin)+2,#str) - local d = disc or hyphenatedurl.discretionary - local p = nil - for s in utfcharacters(str) do - n = n + 1 - s = mapping[s] or s - if s == d then - ctx_d(utfbyte(s)) + -- + left = max( left or urls.lefthyphenmin, 2) + right = min(#str-(right or urls.righthyphenmin)+2,#str) + disc = disc or urls.discretionary + -- + local word = nil + local prev = nil + local pack = urls.packslashes + local length = 0 + -- + for char in utfcharacters(str) do + length = length + 1 + char = mapping[char] or char + if prev == char and prev == "/" then + ctx_c(utfbyte(char)) + elseif char == disc then + ctx_d() else - local c = characters[s] - if c == v_before then - p = false - ctx_b(utfbyte(s)) - elseif c == v_after then - p = false - ctx_a(utfbyte(s)) + if prev == "/" then + ctx_d() + end + local how = characters[char] + if how == v_before then + word = false + ctx_b(utfbyte(char)) + elseif how == v_after then + word = false + ctx_a(utfbyte(char)) else - local l = is_letter[s] - if n <= b or n >= e then - if p and l then - ctx_L(utfbyte(s)) + local letter = is_letter[char] + if length <= left or length >= right then + if word and letter then + ctx_L(utfbyte(char)) else - ctx_C(utfbyte(s)) + ctx_C(utfbyte(char)) end - elseif p and l then - ctx_l(utfbyte(s)) + elseif word and letter then + ctx_l(utfbyte(char)) else - ctx_c(utfbyte(s)) + ctx_c(utfbyte(char)) end - p = l + word = letter end end + if pack then + prev = char + end end end --- hyphenatedurl.action = function(_,...) action(...) end -- sort of obsolete +-- urls.action = function(_,...) action(...) end -- sort of obsolete table.setmetatablecall(hyphenatedurl,action) -- watch out: a caller -- todo, no interface in mkiv yet -function hyphenatedurl.setcharacters(str,value) -- 1, 2 == before, after +function urls.setcharacters(str,value) -- 1, 2 == before, after for s in utfcharacters(str) do characters[s] = value or v_before end end --- .hyphenatedurl.setcharacters("')]}",2) +-- .urls.setcharacters("')]}",2) implement { name = "sethyphenatedurlcharacters", - actions = hyphenatedurl.setcharacters, + actions = urls.setcharacters, arguments = { "string", "string" } } diff --git a/tex/context/base/mkiv/lang-url.mkiv b/tex/context/base/mkiv/lang-url.mkiv index db5b97516..833a583f9 100644 --- a/tex/context/base/mkiv/lang-url.mkiv +++ b/tex/context/base/mkiv/lang-url.mkiv @@ -74,7 +74,7 @@ \def\lang_url_a#1{\lang_url_more\char#1\lang_url_show\discretionary{}{\hyphenatedurlseparator}{}} \def\lang_url_b#1{\lang_url_more\discretionary{\hyphenatedurlseparator}{}{}\lang_url_show\char#1\relax} -\def\lang_url_d#1{\lang_url_more\discretionary{\lang_url_show}{\lang_url_show}{\lang_url_show}} +\def\lang_url_d {\lang_url_more\discretionary{\lang_url_show}{\lang_url_show}{\lang_url_show}} \def\lang_url_l#1{\lang_url_less\char#1\relax} \def\lang_url_c#1{\lang_url_more\char#1\relax} \def\lang_url_L#1{\lang_url_less\char#1\relax} diff --git a/tex/context/base/mkiv/lang-wrd.lua b/tex/context/base/mkiv/lang-wrd.lua index b564a02ae..7d625fa9e 100644 --- a/tex/context/base/mkiv/lang-wrd.lua +++ b/tex/context/base/mkiv/lang-wrd.lua @@ -8,9 +8,9 @@ if not modules then modules = { } end modules ['lang-wrd'] = { local lower = string.lower local utfchar = utf.char -local concat = table.concat +local concat, setmetatableindex = table.concat, table.setmetatableindex local lpegmatch = lpeg.match -local P, S, Cs = lpeg.P, lpeg.S, lpeg.Cs +local P, S, Cs, Cf, Cg, Cc, C = lpeg.P, lpeg.S, lpeg.Cs, lpeg.Cf, lpeg.Cg, lpeg.Cc, lpeg.C local report_words = logs.reporter("languages","words") @@ -40,6 +40,7 @@ local getchar = nuts.getchar local setattr = nuts.setattr local traverse_nodes = nuts.traverse +local traverse_ids = nuts.traverse_id local wordsdata = words.data local chardata = characters.data @@ -63,13 +64,41 @@ local colist = attributes.list[a_color] local is_letter = characters.is_letter -- maybe is_character as variant local spacing = S(" \n\r\t") -local markup = S("-=") -local lbrace = P("{") -local rbrace = P("}") -local disc = (lbrace * (1-rbrace)^0 * rbrace)^1 -- or just 3 times, time this -local word = Cs((markup/"" + disc/"" + (1-spacing))^1) +local markup = S("-=") / "" +local lbrace = P("{") / "" +local rbrace = P("}") / "" +local snippet = lbrace * (1-rbrace)^0 * rbrace +local disc = snippet/"" -- pre + * snippet/"" -- post + * snippet -- replace +local word = Cs((markup + disc + (1-spacing))^1) + +-- lpegmatch((spacing + word/function(s) print(s) end)^0,"foo foo-bar bar{}{}{}foo bar{}{}{foo}") + +local loaded = { } -- we share lists +local loaders = { + txt = function(list,fullname) + local data = io.loaddata(fullname) + if data and data ~= "" then + local parser = (spacing + word/function(s) list[s] = true end)^0 + -- local parser = Cf(Cc(list) * Cg(spacing^0 * word * Cc(true))^1,rawset) -- not better + lpegmatch(parser,data) + end + end, + lua = function(list,fullname) + local data = dofile(fullname) + if data and type(data) == "table" then + local words = data.words + if words then + for k, v in next, words do + list[k] = true + end + end + end + end, +} -local loaded = { } -- we share lists +loaders.luc = loaders.lua function words.load(tag,filename) local fullname = resolvers.findfile(filename,'other text file') or "" @@ -79,8 +108,9 @@ function words.load(tag,filename) local list = loaded[fullname] if not list then list = wordsdata[tag] or { } - local parser = (spacing + word/function(s) list[s] = true end)^0 - lpegmatch(parser,io.loaddata(fullname) or "") + local suffix = file.suffix(fullname) + local loader = loaders[suffix] or loaders.txt + loader(list,fullname) loaded[fullname] = list end wordsdata[tag] = list @@ -125,6 +155,8 @@ local function mark_words(head,whenfound) -- can be optimized and shared end n, s = 0, 0 end + -- we haven't done the fonts yet so we have characters (otherwise + -- we'd have to use the tounicodes) while current do local id = getid(current) if id == glyph_code then @@ -140,30 +172,28 @@ local function mark_words(head,whenfound) -- can be optimized and shared action() language = a end - local components = getfield(current,"components") - if components then + local code = getchar(current) + local data = chardata[code] + if is_letter[data.category] then n = n + 1 nds[n] = current - for g in traverse_nodes(components) do - s = s + 1 - str[s] = utfchar(getchar(g)) - end - else - local code = getchar(current) - local data = chardata[code] - if is_letter[data.category] then - n = n + 1 - nds[n] = current - s = s + 1 - str[s] = utfchar(code) - elseif s > 0 then - action() - end + s = s + 1 + str[s] = utfchar(code) + elseif s > 0 then + action() end elseif id == disc_code then -- take the replace if n > 0 then - n = n + 1 - nds[n] = current + local r = getfield(current,"replace") + if r then + for current in traverse_ids(glyph_code,r) do + local code = getchar(current) + n = n + 1 + nds[n] = current + s = s + 1 + str[s] = utfchar(code) + end + end end elseif id == kern_code and getsubtype(current) == kerning_code and s > 0 then -- ok @@ -201,7 +231,9 @@ function words.enable(settings) local method = settings.method wordmethod = method and tonumber(method) or wordmethod or 1 local e = enablers[wordmethod] - if e then e(settings) end + if e then + e(settings) + end tasks.enableaction("processors","languages.words.check") enabled = true end @@ -254,35 +286,29 @@ local dumpthem = false local listname = "document" local category = { } -local categories = { } - -setmetatable(categories, { - __index = function(t,k) - local languages = { } - setmetatable(languages, { - __index = function(t,k) - local r = registered[k] - local v = { - number = language, - parent = r and r.parent or nil, - patterns = r and r.patterns or nil, - tag = r and r.tag or nil, - list = { }, - total = 0, - unique = 0, - } - t[k] = v - return v - end - } ) + +local categories = setmetatableindex(function(t,k) + local languages = setmetatableindex(function(t,k) + local r = registered[k] local v = { - languages = languages, - total = 0, + number = language, + parent = r and r.parent or nil, + patterns = r and r.patterns or nil, + tag = r and r.tag or nil, + list = { }, + total = 0, + unique = 0, } t[k] = v return v - end -} ) + end) + local v = { + languages = languages, + total = 0, + } + t[k] = v + return v +end) local collected = { total = 0, @@ -330,7 +356,7 @@ local function dumpusedwords() end directives.register("languages.words.dump", function(v) - dumpname = type(v) == "string" and v ~= "" and v + dumpname = (type(v) == "string" and v ~= "" and v) or dumpname end) luatex.registerstopactions(dumpusedwords) diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv index 2fcfa6037..aff02c57a 100644 --- a/tex/context/base/mkiv/math-ini.mkiv +++ b/tex/context/base/mkiv/math-ini.mkiv @@ -258,7 +258,8 @@ \normalstopimath \fi} -\let\m\mathematics +\let\m \mathematics +\let\math\mathematics % e.g.: \definemathematics[i:mp][setups=i:tight,openup=yes] diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index ad86c889c..8edd493b1 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 57684ac87..6297478c3 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkiv/strc-itm.mkvi b/tex/context/base/mkiv/strc-itm.mkvi index 053e35ef6..b826413b2 100644 --- a/tex/context/base/mkiv/strc-itm.mkvi +++ b/tex/context/base/mkiv/strc-itm.mkvi @@ -167,6 +167,8 @@ \newconditional\c_strc_itemgroups_head \newconditional\c_strc_itemgroups_intro \newconditional\c_strc_itemgroups_randomize +\newconditional\c_strc_itemgroups_horizontal +\newconditional\c_strc_itemgroups_collecting \newconditional\c_strc_itemgroups_auto_intro \newconditional\c_strc_itemgroups_pack \newconditional\c_strc_itemgroups_paragraph @@ -444,10 +446,26 @@ \setvalue{\??itemgroupkeyword\v!seven }{\letitemgroupparameter\c!n\plusseven} \setvalue{\??itemgroupkeyword\v!eight }{\letitemgroupparameter\c!n\pluseight} \setvalue{\??itemgroupkeyword\v!nine }{\letitemgroupparameter\c!n\plusnine} -\setvalue{\??itemgroupkeyword\v!standard }{\setupcurrentitemgroup - [\c!width=1.5em,\c!factor=0,\c!distance=.5em,\c!inner=,\c!factor=0,% - \c!beforehead=,\c!afterhead=\blank,% - \c!before=\blank,\c!inbetween=\blank,\c!after=\blank]} +%setvalue{\??itemgroupkeyword\v!standard }{\setupcurrentitemgroup +% [\c!width =1.5\emwidth,% +% \c!distance =.5\emwidth,% +% \c!factor =0,% +% \c!inner =,% +% \c!beforehead=,% +% \c!afterhead =\blank,% +% \c!before =\blank,% +% \c!inbetween =\blank,% +% \c!after =\blank]} +\setvalue{\??itemgroupkeyword\v!standard }{\setitemgroupparameter\c!width {1.5\emwidth}% + \setitemgroupparameter\c!distance {.5\emwidth}% + \letitemgroupparameter\c!factor \!!zerocount + \letitemgroupparameter\c!inner \empty + \letitemgroupparameter\c!beforehead\empty + \letitemgroupparameter\c!afterhead \blank + \letitemgroupparameter\c!before \blank + \letitemgroupparameter\c!inbetween \blank + \letitemgroupparameter\c!after \blank} + \def\strc_itemgroups_initialize_local {\setfalse\c_strc_itemgroups_inline @@ -461,6 +479,8 @@ \setfalse\c_strc_itemgroups_after \setfalse\c_strc_itemgroups_nowhite \setfalse\c_strc_itemgroups_randomize + \setfalse\c_strc_itemgroups_horizontal + \setfalse\c_strc_itemgroups_collecting \setfalse\c_strc_itemgroups_intro \setfalse\c_strc_itemgroups_continue % this will be a constant @@ -477,9 +497,15 @@ \global\letitemgroupparameter\c!maxwidth\!!zeropoint } -\setvalue{\??itemgroupfirst\v!intro }{\settrue\c_strc_itemgroups_intro } -\setvalue{\??itemgroupfirst\v!random }{\settrue\c_strc_itemgroups_randomize} -\setvalue{\??itemgroupfirst\v!continue}{\settrue\c_strc_itemgroups_continue } +\setvalue{\??itemgroupfirst\v!intro }{\settrue\c_strc_itemgroups_intro} +\setvalue{\??itemgroupfirst\v!continue }{\settrue\c_strc_itemgroups_continue} +\setvalue{\??itemgroupfirst\v!random }{\settrue\c_strc_itemgroups_randomize + \settrue\c_strc_itemgroups_collecting} +\setvalue{\??itemgroupkeyword\v!horizontal}{\settrue\c_strc_itemgroups_horizontal + \settrue\c_strc_itemgroups_collecting + \settrue\c_strc_itemgroups_inline + \settrue\c_strc_itemgroups_joined + \strc_itemgroups_process_set_option_pack} \def\strc_itemgroups_preset_stage_one#options% {\processcommacommand[#options]\strc_itemgroups_preset_stage_one_indeed} @@ -1536,10 +1562,33 @@ \newcount\c_strc_itemgroups_collected_done \newcount\c_strc_itemgroups_collected_current -\@EA\def\@EA\strc_itemgroups_collected_store\@EA#\@EA1\csname\e!stop\v!item\endcsname % use grabuntil +% \expandafter\def\expandafter\strc_itemgroups_collected_store\expandafter#\expandafter1\csname\e!stop\v!item\endcsname % use grabuntil +% {\advance\c_strc_itemgroups_collected_stored\plusone +% \setvalue{\??itemgroupstack\number\c_strc_itemgroups_collected_stored}{\startitemgroupitem#1\stopitemgroupitem}} + +\let\strc_itemgroups_collected_store\relax + +\normalexpanded{\def\strc_itemgroups_collected_store#1\csname\e!stop\v!item\endcsname}% {\advance\c_strc_itemgroups_collected_stored\plusone \setvalue{\??itemgroupstack\number\c_strc_itemgroups_collected_stored}{\startitemgroupitem#1\stopitemgroupitem}} +\def\strc_itemgroups_collected_flush_randomize + {\collecteditemgroupitem} + +\def\strc_itemgroups_collected_flush_horizontal + {\begingroup + \scratchcounter\itemgroupparameter\c!n\relax + \ifnum\c_strc_itemgroups_collected_done>\plusone + \ifcase\modulonumber\scratchcounter\c_strc_itemgroups_collected_done\relax + % compensate for rounding errors + \hfill % \hskip\zeropoint plus \scaledpoint minus \scaledpoint + \allowbreak + \fi + \fi + \noindent % no \dontleavehmode + \hbox to \dimexpr\availablehsize/\scratchcounter\relax{\collecteditemgroupitem}% + \endgroup} + \def\strc_itemgroups_collected_flush {\ifconditional\c_strc_itemgroups_randomize \getrandomcount\c_strc_itemgroups_collected_current\plusone\c_strc_itemgroups_collected_stored @@ -1547,8 +1596,12 @@ \advance\c_strc_itemgroups_collected_current\plusone \fi \ifcsname\??itemgroupstack\number\c_strc_itemgroups_collected_current\endcsname - \lastnamedcs - \letbeundefined{\??itemgroupstack\number\c_strc_itemgroups_collected_current}% + \edef\collecteditemgroupitem{\lastnamedcs}% + \ifconditional\c_strc_itemgroups_horizontal + \strc_itemgroups_collected_flush_horizontal + \else + \collecteditemgroupitem + \fi \advance\c_strc_itemgroups_collected_done\plusone \fi \ifnum\c_strc_itemgroups_collected_done<\c_strc_itemgroups_collected_stored @@ -1556,7 +1609,7 @@ \fi} \unexpanded\def\stopcollectitems - {\ifconditional\c_strc_itemgroups_randomize + {\ifconditional\c_strc_itemgroups_collecting \c_strc_itemgroups_collected_done \zerocount \c_strc_itemgroups_collected_current\zerocount \ifnum\c_strc_itemgroups_collected_stored>\zerocount @@ -1565,7 +1618,7 @@ \fi} \unexpanded\def\startcollectitems - {\ifconditional\c_strc_itemgroups_randomize + {\ifconditional\c_strc_itemgroups_collecting \c_strc_itemgroups_collected_stored\zerocount \letvalue{\e!start\v!item}\strc_itemgroups_collected_store \fi} diff --git a/tex/context/modules/mkiv/s-languages-counters.lua b/tex/context/modules/mkiv/s-languages-counters.lua index 436e64a64..45d68be8d 100644 --- a/tex/context/modules/mkiv/s-languages-counters.lua +++ b/tex/context/modules/mkiv/s-languages-counters.lua @@ -14,7 +14,7 @@ local data = converters.verbose.data function moduledata.languages.counters.showverbose(specification) specification = interfaces.checkedspecification(specification) local list = utilities.parsers.settings_to_array(specification.language or "") - if #list == 0then + if #list == 0 then return end local used = { } diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index ca93a5609..04df65f02 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 02/22/16 19:54:56 +-- merge date : 02/23/16 17:25:08 do -- begin closure to overcome local limits and interference -- cgit v1.2.3