From 0226b596b39ea5d055dc37ea0609b67b64fe3d75 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 10 Jun 2020 10:02:10 +0200 Subject: 2020-06-09 18:55:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkii/mult-it.mkii | 3 + tex/context/base/mkiv/back-exp.lua | 76 ++- tex/context/base/mkiv/buff-ini.lua | 126 +++- tex/context/base/mkiv/buff-ini.mkiv | 2 +- tex/context/base/mkiv/cldf-ini.mkiv | 3 +- tex/context/base/mkiv/cldf-int.mkxl | 31 + tex/context/base/mkiv/cldf-lmt.lua | 302 ++++++++-- tex/context/base/mkiv/colo-imp-rgb.mkiv | 19 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context-performance.tex | 2 - tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/context.mkxl | 4 +- tex/context/base/mkiv/core-env.lua | 38 +- tex/context/base/mkiv/core-lmt.mkxl | 5 +- tex/context/base/mkiv/export-example.css | 14 +- tex/context/base/mkiv/export-example.tex | 2 - tex/context/base/mkiv/font-fil.mklx | 104 +++- tex/context/base/mkiv/font-fil.mkvi | 2 +- tex/context/base/mkiv/font-mat.mklx | 26 +- tex/context/base/mkiv/font-ots.lua | 17 +- tex/context/base/mkiv/grph-trf.mkiv | 2 +- tex/context/base/mkiv/lpdf-lmt.lua | 3 +- tex/context/base/mkiv/lpdf-pde.lua | 5 + tex/context/base/mkiv/luat-mac.lua | 95 ++- tex/context/base/mkiv/math-ini.mkxl | 6 +- tex/context/base/mkiv/math-rad.mkvi | 18 +- tex/context/base/mkiv/mult-aux.mkxl | 32 +- tex/context/base/mkiv/mult-ini.lua | 22 +- tex/context/base/mkiv/mult-low.lua | 3 +- tex/context/base/mkiv/mult-prm.lua | 3 + tex/context/base/mkiv/pack-rul.mkiv | 2 +- tex/context/base/mkiv/pack-rul.mkxl | 2 +- tex/context/base/mkiv/page-bck.mkiv | 4 +- tex/context/base/mkiv/page-lin.mkvi | 24 +- tex/context/base/mkiv/status-files.pdf | Bin 27806 -> 27771 bytes tex/context/base/mkiv/status-lua.pdf | Bin 252140 -> 252766 bytes tex/context/base/mkiv/strc-tag.lua | 5 +- tex/context/base/mkiv/strc-tag.mkiv | 14 +- tex/context/base/mkiv/supp-box.lua | 49 +- tex/context/base/mkiv/supp-box.mkiv | 2 +- tex/context/base/mkiv/supp-box.mkxl | 2 +- tex/context/base/mkiv/syst-aux.mkxl | 316 +++++++--- tex/context/base/mkiv/syst-ini.mkiv | 2 + tex/context/base/mkiv/syst-ini.mkxl | 2 + tex/context/base/mkiv/toks-ini.lua | 21 +- tex/context/base/mkiv/type-ini.mklx | 2 +- tex/context/interface/mkii/keys-it.xml | 3 + tex/context/interface/mkiv/context-en.xml | 621 +++++++++++++++++--- tex/context/interface/mkiv/i-accent.xml | 2 +- tex/context/interface/mkiv/i-anchor.xml | 2 +- tex/context/interface/mkiv/i-attachment.xml | 2 +- tex/context/interface/mkiv/i-attribute.xml | 2 +- tex/context/interface/mkiv/i-backend.xml | 17 +- tex/context/interface/mkiv/i-blackrule.xml | 4 +- tex/context/interface/mkiv/i-bleed.xml | 2 +- tex/context/interface/mkiv/i-bookmark.xml | 2 +- tex/context/interface/mkiv/i-buffer.xml | 2 +- tex/context/interface/mkiv/i-capitals.xml | 2 +- tex/context/interface/mkiv/i-catcodes.xml | 2 +- tex/context/interface/mkiv/i-characteralign.xml | 2 +- tex/context/interface/mkiv/i-characterspacing.xml | 2 +- .../interface/mkiv/i-characterstripping.xml | 2 +- tex/context/interface/mkiv/i-chart.xml | 2 +- tex/context/interface/mkiv/i-charwidth.xml | 2 +- tex/context/interface/mkiv/i-chemical.xml | 2 +- tex/context/interface/mkiv/i-cleaning.xml | 8 + tex/context/interface/mkiv/i-clipping.xml | 2 +- tex/context/interface/mkiv/i-collector.xml | 2 +- tex/context/interface/mkiv/i-color.xml | 2 +- tex/context/interface/mkiv/i-columns.xml | 45 +- tex/context/interface/mkiv/i-combination.xml | 2 +- tex/context/interface/mkiv/i-comment.xml | 2 +- tex/context/interface/mkiv/i-common-argument.xml | 31 +- tex/context/interface/mkiv/i-common-assignment.xml | 2 +- .../interface/mkiv/i-common-definitions.xml | 2 +- tex/context/interface/mkiv/i-common-instance.xml | 2 +- tex/context/interface/mkiv/i-common-keyword.xml | 24 +- tex/context/interface/mkiv/i-common-string.xml | 2 +- tex/context/interface/mkiv/i-common-value.xml | 652 +++++++++++++++++++++ tex/context/interface/mkiv/i-context-modules.xml | 2 +- tex/context/interface/mkiv/i-context.pdf | Bin 897043 -> 949768 bytes tex/context/interface/mkiv/i-context.xml | 10 + tex/context/interface/mkiv/i-contextname.xml | 2 +- tex/context/interface/mkiv/i-conversion.xml | 152 ++++- tex/context/interface/mkiv/i-counter.xml | 2 +- tex/context/interface/mkiv/i-database.xml | 2 +- tex/context/interface/mkiv/i-dataset.xml | 2 +- tex/context/interface/mkiv/i-define.xml | 2 +- tex/context/interface/mkiv/i-digits.xml | 2 +- tex/context/interface/mkiv/i-dimension.xml | 2 +- tex/context/interface/mkiv/i-direction.xml | 2 +- tex/context/interface/mkiv/i-document.xml | 2 +- tex/context/interface/mkiv/i-dummy.xml | 2 +- tex/context/interface/mkiv/i-enumeration.xml | 2 +- tex/context/interface/mkiv/i-export.xml | 2 +- tex/context/interface/mkiv/i-field.xml | 2 +- tex/context/interface/mkiv/i-file.xml | 2 +- tex/context/interface/mkiv/i-fillinline.xml | 2 +- tex/context/interface/mkiv/i-fillinrule.xml | 2 +- tex/context/interface/mkiv/i-firstline.xml | 2 +- tex/context/interface/mkiv/i-fittingpage.xml | 2 +- tex/context/interface/mkiv/i-floats.xml | 29 + tex/context/interface/mkiv/i-fontfamily.xml | 2 +- tex/context/interface/mkiv/i-fonts.xml | 52 +- tex/context/interface/mkiv/i-form.xml | 2 +- tex/context/interface/mkiv/i-fraction.xml | 2 +- tex/context/interface/mkiv/i-framed.xml | 2 +- tex/context/interface/mkiv/i-framedtable.xml | 2 +- tex/context/interface/mkiv/i-graphics.xml | 49 +- tex/context/interface/mkiv/i-help.xml | 2 +- tex/context/interface/mkiv/i-hemistich.xml | 2 +- tex/context/interface/mkiv/i-highlight.xml | 2 +- tex/context/interface/mkiv/i-hspace.xml | 22 + tex/context/interface/mkiv/i-hyphenation.xml | 4 +- tex/context/interface/mkiv/i-imposition.xml | 2 +- tex/context/interface/mkiv/i-indentedtext.xml | 2 +- tex/context/interface/mkiv/i-injector.xml | 2 +- tex/context/interface/mkiv/i-insertion.xml | 2 +- tex/context/interface/mkiv/i-interaction.xml | 2 +- tex/context/interface/mkiv/i-interactionbar.xml | 2 +- tex/context/interface/mkiv/i-interactionmenu.xml | 2 +- tex/context/interface/mkiv/i-interface.xml | 2 +- tex/context/interface/mkiv/i-interlinespace.xml | 2 +- tex/context/interface/mkiv/i-ipsum.xml | 2 +- tex/context/interface/mkiv/i-italiccorrection.xml | 2 +- tex/context/interface/mkiv/i-items.xml | 2 +- tex/context/interface/mkiv/i-javascript.xml | 2 +- tex/context/interface/mkiv/i-kerning.xml | 2 +- tex/context/interface/mkiv/i-label.xml | 2 +- tex/context/interface/mkiv/i-labeltext.xml | 2 +- tex/context/interface/mkiv/i-layer.xml | 2 +- tex/context/interface/mkiv/i-layout.xml | 2 +- tex/context/interface/mkiv/i-linenumber.xml | 2 +- tex/context/interface/mkiv/i-lines.xml | 2 +- tex/context/interface/mkiv/i-linetable.xml | 2 +- tex/context/interface/mkiv/i-linewidth.xml | 2 +- tex/context/interface/mkiv/i-list.xml | 5 +- tex/context/interface/mkiv/i-logo.xml | 9 + tex/context/interface/mkiv/i-lohi.xml | 2 +- tex/context/interface/mkiv/i-lua.xml | 2 +- tex/context/interface/mkiv/i-luatable.xml | 76 +++ tex/context/interface/mkiv/i-makeup.xml | 2 +- tex/context/interface/mkiv/i-marginblock.xml | 2 +- tex/context/interface/mkiv/i-margindata.xml | 2 +- tex/context/interface/mkiv/i-marker.xml | 2 +- tex/context/interface/mkiv/i-marking.xml | 7 +- tex/context/interface/mkiv/i-math.xml | 6 +- tex/context/interface/mkiv/i-mathalignment.xml | 2 +- tex/context/interface/mkiv/i-mathcases.xml | 2 +- tex/context/interface/mkiv/i-mathname.xml | 2 +- tex/context/interface/mkiv/i-mathornament.xml | 2 +- tex/context/interface/mkiv/i-mathradical.xml | 2 +- tex/context/interface/mkiv/i-metapost.xml | 15 +- tex/context/interface/mkiv/i-modes.xml | 2 +- tex/context/interface/mkiv/i-modules.xml | 2 +- tex/context/interface/mkiv/i-naturaltable.xml | 2 +- tex/context/interface/mkiv/i-note.xml | 5 +- tex/context/interface/mkiv/i-object.xml | 2 +- tex/context/interface/mkiv/i-offset.xml | 2 +- tex/context/interface/mkiv/i-opposite.xml | 2 +- tex/context/interface/mkiv/i-ornament.xml | 2 +- tex/context/interface/mkiv/i-output.xml | 2 +- tex/context/interface/mkiv/i-overlay.xml | 2 +- tex/context/interface/mkiv/i-pagebreak.xml | 2 +- tex/context/interface/mkiv/i-pagecomment.xml | 2 +- tex/context/interface/mkiv/i-pagefigure.xml | 2 +- tex/context/interface/mkiv/i-pagegrid.xml | 2 +- tex/context/interface/mkiv/i-pageinjection.xml | 2 +- tex/context/interface/mkiv/i-pagelayout.xml | 2 +- tex/context/interface/mkiv/i-pagemarks.xml | 2 +- tex/context/interface/mkiv/i-pagenumber.xml | 2 +- tex/context/interface/mkiv/i-pageselection.xml | 2 +- tex/context/interface/mkiv/i-pageshift.xml | 2 +- tex/context/interface/mkiv/i-pairedbox.xml | 2 +- tex/context/interface/mkiv/i-papersize.xml | 2 +- tex/context/interface/mkiv/i-paragraph.xml | 2 +- tex/context/interface/mkiv/i-paragraphnumber.xml | 2 +- tex/context/interface/mkiv/i-paragraphs.xml | 2 +- tex/context/interface/mkiv/i-parallel.xml | 2 +- tex/context/interface/mkiv/i-parbuilder.xml | 2 +- tex/context/interface/mkiv/i-pdf.xml | 2 +- tex/context/interface/mkiv/i-penalty.xml | 2 +- tex/context/interface/mkiv/i-periods.xml | 2 +- tex/context/interface/mkiv/i-phantom.xml | 2 +- tex/context/interface/mkiv/i-placement.xml | 2 +- tex/context/interface/mkiv/i-position.xml | 2 +- tex/context/interface/mkiv/i-positionbar.xml | 2 +- tex/context/interface/mkiv/i-positioning.xml | 2 +- tex/context/interface/mkiv/i-postponing.xml | 2 +- tex/context/interface/mkiv/i-processor.xml | 2 +- tex/context/interface/mkiv/i-profile.xml | 2 +- tex/context/interface/mkiv/i-publication.xml | 2 +- tex/context/interface/mkiv/i-random.xml | 2 +- tex/context/interface/mkiv/i-readme.pdf | Bin 61168 -> 25071 bytes tex/context/interface/mkiv/i-references.xml | 12 +- tex/context/interface/mkiv/i-regime.xml | 2 +- tex/context/interface/mkiv/i-renderingwindow.xml | 2 +- tex/context/interface/mkiv/i-replacement.xml | 2 +- tex/context/interface/mkiv/i-rotation.xml | 2 +- tex/context/interface/mkiv/i-ruby.xml | 2 +- tex/context/interface/mkiv/i-scale.xml | 2 +- tex/context/interface/mkiv/i-scite.xml | 2 +- tex/context/interface/mkiv/i-script.xml | 2 +- tex/context/interface/mkiv/i-section.xml | 2 +- tex/context/interface/mkiv/i-sectionblock.xml | 2 +- tex/context/interface/mkiv/i-selector.xml | 2 +- tex/context/interface/mkiv/i-setup.xml | 2 +- tex/context/interface/mkiv/i-shift.xml | 2 +- tex/context/interface/mkiv/i-sidebar.xml | 2 +- tex/context/interface/mkiv/i-simplecolumns.xml | 15 +- tex/context/interface/mkiv/i-smash.xml | 2 +- tex/context/interface/mkiv/i-sort.xml | 2 +- tex/context/interface/mkiv/i-soundtrack.xml | 2 +- tex/context/interface/mkiv/i-spellchecking.xml | 2 +- tex/context/interface/mkiv/i-spreadsheet.xml | 2 +- tex/context/interface/mkiv/i-startstop.xml | 2 +- tex/context/interface/mkiv/i-steps.xml | 2 +- tex/context/interface/mkiv/i-stream.xml | 2 +- tex/context/interface/mkiv/i-string.xml | 2 +- tex/context/interface/mkiv/i-synctex.xml | 2 +- tex/context/interface/mkiv/i-synonym.xml | 2 +- tex/context/interface/mkiv/i-system.xml | 4 + tex/context/interface/mkiv/i-systemlog.xml | 2 +- tex/context/interface/mkiv/i-table.xml | 2 +- tex/context/interface/mkiv/i-tabulation.xml | 187 ++++-- tex/context/interface/mkiv/i-tex.xml | 2 +- tex/context/interface/mkiv/i-textbackground.xml | 2 +- tex/context/interface/mkiv/i-textflow.xml | 2 +- tex/context/interface/mkiv/i-textrule.xml | 2 +- tex/context/interface/mkiv/i-texts.xml | 2 +- tex/context/interface/mkiv/i-thinrule.xml | 2 +- tex/context/interface/mkiv/i-token.xml | 2 +- tex/context/interface/mkiv/i-tolerance.xml | 2 +- tex/context/interface/mkiv/i-tooltip.xml | 2 +- tex/context/interface/mkiv/i-tracker.xml | 2 +- tex/context/interface/mkiv/i-translate.xml | 2 +- tex/context/interface/mkiv/i-translation.xml | 2 +- tex/context/interface/mkiv/i-twopassdata.xml | 2 +- tex/context/interface/mkiv/i-typography.xml | 2 +- tex/context/interface/mkiv/i-unit.xml | 2 +- tex/context/interface/mkiv/i-variables.xml | 2 +- tex/context/interface/mkiv/i-verbatim.xml | 2 +- tex/context/interface/mkiv/i-version.xml | 2 +- tex/context/interface/mkiv/i-viewerlayer.xml | 2 +- tex/context/interface/mkiv/i-visual.xml | 2 +- tex/context/interface/mkiv/i-whitespace.xml | 2 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 13 +- 249 files changed, 3170 insertions(+), 669 deletions(-) create mode 100644 tex/context/base/mkiv/cldf-int.mkxl create mode 100644 tex/context/interface/mkiv/i-luatable.xml (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 3430f5db5..99d624dc7 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2020.05.25 23:36} +\newcontextversion{2020.06.09 18:53} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 482570ae9..8f714b4c4 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2020.05.25 23:36} +\edef\contextversion{2020.06.09 18:53} %D For those who want to use this: diff --git a/tex/context/base/mkii/mult-it.mkii b/tex/context/base/mkii/mult-it.mkii index 1d2425c9a..7f5778aab 100644 --- a/tex/context/base/mkii/mult-it.mkii +++ b/tex/context/base/mkii/mult-it.mkii @@ -907,7 +907,10 @@ \setinterfaceconstant{keys}{keys} \setinterfaceconstant{keyword}{parolachiave} \setinterfaceconstant{label}{etichetta} +\setinterfaceconstant{labelalternative}{labelalternative} +\setinterfaceconstant{labelcolor}{labelcolor} \setinterfaceconstant{labeloffset}{labeloffset} +\setinterfaceconstant{labelstyle}{labelstyle} \setinterfaceconstant{language}{language} \setinterfaceconstant{last}{last} \setinterfaceconstant{lastnamesep}{lastnamesep} diff --git a/tex/context/base/mkiv/back-exp.lua b/tex/context/base/mkiv/back-exp.lua index f72cd68b8..3b9a8f3ac 100644 --- a/tex/context/base/mkiv/back-exp.lua +++ b/tex/context/base/mkiv/back-exp.lua @@ -144,6 +144,7 @@ local treeroot = tree local treehash = { } local extras = { } local checks = { } +local fixes = { } local finalizers = { } local nofbreaks = 0 local used = { } @@ -705,6 +706,35 @@ do end +do + + function fixes.linenumber(di,data,i) + local ni = data[i+1] + if ni and ni.data then + while true do + local d = ni.data[1] + if d then + local e = d.element + if e then + if e == "line" or e == "verbatimline" then + table.insert(d.data,1,di) + data[i] = false + return + else + ni = d + end + else + return + end + else + return + end + end + end + end + +end + do local synonyms = { } @@ -2305,8 +2335,10 @@ do if not p then -- skip elseif exportproperties == v_yes then + n = n + 1 r[n] = attributes(p) else + n = n + 1 r[n] = properties(p) end end @@ -2574,9 +2606,12 @@ do -- also tabulaterow reconstruction .. maybe better as a checker -- i.e cell attribute - local function collapsetree() - for tag, trees in next, treehash do + local function collapsetree(tree) + for tag, trees in sortedhash(treehash) do +-- for tag, trees in next, treehash do local d = trees[1].data +-- print("!!!!!!!!",tag) +-- inspect(trees) if d then local nd = #d if nd > 0 then @@ -2630,10 +2665,22 @@ do end end + -- local function showtree(data,when,where) + -- if data then + -- for i=1,#data do + -- local d = data[i] + -- if type(d) == "table" and d.element then + -- print(when,where,i,d.element,d.parnumber or 0) + -- end + -- end + -- end + -- end + local function indextree(tree) local data = tree.data if data then local n, new = 0, { } + -- showtree(data,"before","index") for i=1,#data do local d = data[i] if not d then @@ -2650,22 +2697,43 @@ do end end tree.data = new + -- showtree(new,"after","index") end end local function checktree(tree) local data = tree.data if data then + -- showtree(data,"before","check") for i=1,#data do local d = data[i] if type(d) == "table" then local check = checks[d.tg] if check then - check(d) + check(d,data,i) end checktree(d) -- so parts can pass twice end end + -- showtree(data,"after","check") + end + end + + local function fixtree(tree) + local data = tree.data + if data then + -- showtree(data,"before","fix") + for i=1,#data do + local d = data[i] + if type(d) == "table" then + local fix = fixes[d.tg] + if fix then + fix(d,data,i) + end + fixtree(d) -- so parts can pass twice + end + end + -- showtree(data,"after","fix") end end @@ -2675,6 +2743,7 @@ do wrapups.finalizetree = finalizetree wrapups.indextree = indextree wrapups.checktree = checktree + wrapups.fixtree = fixtree end @@ -3828,6 +3897,7 @@ local htmltemplate = [[ end report_export("") -- + wrapups.fixtree(tree) wrapups.collapsetree(tree) wrapups.indextree(tree) wrapups.checktree(tree) diff --git a/tex/context/base/mkiv/buff-ini.lua b/tex/context/base/mkiv/buff-ini.lua index 5b5c47867..e4f01c03f 100644 --- a/tex/context/base/mkiv/buff-ini.lua +++ b/tex/context/base/mkiv/buff-ini.lua @@ -42,6 +42,10 @@ local scantokencode = scanners.tokencode local getters = tokens.getters local gettoken = getters.token +local getcommand = token.get_command +local getcsname = token.get_csname +local getnextchar = token.get_next_char + local scanners = interfaces.scanners local variables = interfaces.variables @@ -375,7 +379,7 @@ local tochar = { local experiment = false local experiment = scantokencode and true -function tokens.pickup(start,stop) +local function pickup(start,stop) local stoplist = split[stop] -- totable(stop) local stoplength = #stoplist local stoplast = stoplist[stoplength] @@ -439,11 +443,11 @@ function tokens.pickup(start,stop) -- we're skipping leading stuff, like obeyedlines and relaxes if experiment and size > 0 then -- we're probably in a macro - local char = tochar[token.get_command(t)] -- could also be char(token.get_mode(t)) + local char = tochar[getcommand(t)] if char then size = size + 1 ; list[size] = char else - local csname = token.get_csname(t) + local csname = getcsname(t) if csname == stop then stoplength = 0 break @@ -494,6 +498,118 @@ function tokens.pickup(start,stop) end end +-- -- lmtx: +-- +-- local function pickup(start,stop) +-- local stoplist = split[stop] -- totable(stop) +-- local stoplength = #stoplist +-- local stoplast = stoplist[stoplength] +-- local startlist = split[start] -- totable(start) +-- local startlength = #startlist +-- local startlast = startlist[startlength] +-- local list = { } +-- local size = 0 +-- local depth = 0 +-- getnextchar() -- we start with a \relax +-- while true do -- or use depth +-- local char = getnextchar() +-- if char then +-- size = size + 1 +-- list[size] = char +-- if char == stoplast and size >= stoplength then +-- local done = true +-- local last = size +-- for i=stoplength,1,-1 do +-- if stoplist[i] ~= list[last] then +-- done = false +-- break +-- end +-- last = last - 1 +-- end +-- if done then +-- if depth > 0 then +-- depth = depth - 1 +-- else +-- break +-- end +-- char = false -- trick: let's skip the next (start) test +-- end +-- end +-- if char == startlast and size >= startlength then +-- local done = true +-- local last = size +-- for i=startlength,1,-1 do +-- if startlist[i] ~= list[last] then +-- done = false +-- break +-- end +-- last = last - 1 +-- end +-- if done then +-- depth = depth + 1 +-- end +-- end +-- else +-- local t = gettoken() +-- if t then +-- -- we're skipping leading stuff, like obeyedlines and relaxes +-- if experiment and size > 0 then +-- -- we're probably in a macro +-- local char = tochar[getcommand(t)] +-- if char then +-- size = size + 1 ; list[size] = char +-- else +-- local csname = getcsname(t) +-- if csname == stop then +-- stoplength = 0 +-- break +-- else +-- size = size + 1 ; list[size] = "\\" +-- size = size + 1 ; list[size] = csname +-- size = size + 1 ; list[size] = " " +-- end +-- end +-- else +-- -- ignore and hope for the best +-- end +-- else +-- break +-- end +-- end +-- end +-- local start = 1 +-- local stop = size - stoplength - 1 +-- -- not good enough: only empty lines, but even then we miss the leading +-- -- for verbatim +-- -- +-- -- the next is not yet adapted to the new scanner ... we don't need lpeg here +-- -- +-- for i=start,stop do +-- local li = list[i] +-- if lpegmatch(blackspace,li) then +-- -- keep going +-- elseif lpegmatch(eol,li) then +-- -- okay +-- start = i + 1 +-- else +-- break +-- end +-- end +-- for i=stop,start,-1 do +-- if lpegmatch(whitespace,list[i]) then +-- stop = i - 1 +-- else +-- break +-- end +-- end +-- -- +-- if start <= stop then +-- return concat(list,"",start,stop) +-- else +-- return "" +-- end +-- end + -- function buffers.pickup(name,start,stop,finish,catcodes,doundent) -- local data = tokens.pickup(start,stop) -- if doundent or (autoundent and doundent == nil) then @@ -505,6 +621,8 @@ end -- commands.pickupbuffer = buffers.pickup +tokens.pickup = pickup + scanners.pickupbuffer = function() local name = scanstring() local start = scanstring() @@ -512,7 +630,7 @@ scanners.pickupbuffer = function() local finish = scanstring() local catcodes = scaninteger() local doundent = scanboolean() - local data = tokens.pickup(start,stop) + local data = pickup(start,stop) if doundent or (autoundent and doundent == nil) then data = undent(data) end diff --git a/tex/context/base/mkiv/buff-ini.mkiv b/tex/context/base/mkiv/buff-ini.mkiv index 8e71c9865..a8a120d90 100644 --- a/tex/context/base/mkiv/buff-ini.mkiv +++ b/tex/context/base/mkiv/buff-ini.mkiv @@ -116,7 +116,7 @@ {\endgroup % (1) \endgroup % (2) #5}% - % todo: we need to skip the first lineending which is na active character + % todo: we need to skip the first lineending which is an active character % but sometimes we have something different ... this is a side effect of % checking for optional arguments i.e. the next token is already tokenized % and for that reason we have the \relax as well as the \string diff --git a/tex/context/base/mkiv/cldf-ini.mkiv b/tex/context/base/mkiv/cldf-ini.mkiv index 29fb15d68..0a1ee639f 100644 --- a/tex/context/base/mkiv/cldf-ini.mkiv +++ b/tex/context/base/mkiv/cldf-ini.mkiv @@ -17,8 +17,7 @@ \registerctxluafile{cldf-ini}{} -%D With each new update of \MKIV\ we can join Within Temptation in -%D singing: +%D With each new update of \MKIV\ we can join Within Temptation in singing: %D %D \startbuffer %D \startluacode diff --git a/tex/context/base/mkiv/cldf-int.mkxl b/tex/context/base/mkiv/cldf-int.mkxl new file mode 100644 index 000000000..aae7d0416 --- /dev/null +++ b/tex/context/base/mkiv/cldf-int.mkxl @@ -0,0 +1,31 @@ +%D \module +%D [ file=mult-ini, +%D version=2008.10.22, % 1996.06.01, +%D title=\CONTEXT\ Multilingual Macros, +%D subtitle=Initialization, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\writestatus{loading}{ConTeXt Multilingual Macros / Lua} + +\registerctxluafile{cldf-int}{} + +\unprotect + +\unexpanded\def\newluatable#1{\clf_newluatable#1\atendofgrouped{\disposeluatable#1}} +\unexpanded\def\useluatable#1{\clf_useluatable#1\atendofgrouped{\disposeluatable#1}} + +\installcorenamespace{datavalue} + +\unexpanded\def\setdatavalue#1#2% #2 is a number (expression) + {\expandafter\letdatacode\csname\??datavalue#1\endcsname\numexpr#2\relax} + +\def\getdatavalue#1{\begincsname\??datavalue#1\endcsname} +\def\thedatavalue#1{\the\begincsname\??datavalue#1\endcsname} + +\protect \endinput diff --git a/tex/context/base/mkiv/cldf-lmt.lua b/tex/context/base/mkiv/cldf-lmt.lua index 74ba5c224..ab25f962e 100644 --- a/tex/context/base/mkiv/cldf-lmt.lua +++ b/tex/context/base/mkiv/cldf-lmt.lua @@ -6,45 +6,52 @@ if not modules then modules = { } end modules ['cldf-lmt'] = { license = "see context related readme files" } -local random = math.random -local randomseed = math.randomseed -local round = math.round -local abs = math.abs - -local scanners = tokens.scanners -local scanword = scanners.word -local scanstring = scanners.string -local scanboolean = scanners.boolean -local scandimen = scanners.dimen -local scanfloat = scanners.float -local scancount = scanners.integer -local scaninteger = scanners.luainteger -local scancardinal = scanners.luacardinal -local scannumber = scanners.luanumber -local scanargument = scanners.argument -local scantoken = scanners.token -local getindex = token.get_index -local texsetdimen = tex.setdimen - -local values = tokens.values -local none_code = values.none -local integer_code = values.integer -local cardinal_code = values.cardinal -local dimension_code = values.dimension -local skip_code = values.skip -local boolean_code = values.boolean -local float_code = values.float - -local context = context +local next, load = next, load + +local setmetatableindex = table.setmetatableindex +local serialize = table.serialize + +local random = math.random +local randomseed = math.randomseed +local round = math.round +local abs = math.abs + +local implement = interfaces.implement + +local scanners = tokens.scanners +local scanword = scanners.word +local scanstring = scanners.string +local scanboolean = scanners.boolean +local scandimen = scanners.dimen +local scanfloat = scanners.float +local scancount = scanners.integer +local scaninteger = scanners.luainteger +local scancardinal = scanners.luacardinal +local scannumber = scanners.luanumber +local scanargument = scanners.argument +local scantoken = scanners.token +local getindex = token.get_index +local texsetdimen = tex.setdimen + +local values = tokens.values +local none_code = values.none +local integer_code = values.integer +local cardinal_code = values.cardinal +local dimension_code = values.dimension +local skip_code = values.skip +local boolean_code = values.boolean +local float_code = values.float + +local context = context + +-- variables -- local floats = { } local integers = { } local cardinals = { } local numbers = { } --- variables -- - -interfaces.implement { +implement { name = "luafloat", public = true, value = true, @@ -59,7 +66,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luainteger", public = true, value = true, @@ -73,7 +80,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luacount", public = true, value = true, @@ -87,7 +94,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luadimen", public = true, value = true, @@ -101,7 +108,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luacardinal", public = true, value = true, @@ -115,7 +122,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luanumber", public = true, value = true, @@ -130,7 +137,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "luarandom", public = true, value = true, @@ -159,7 +166,7 @@ interfaces.arrays = arrays local newindex = lua.newindex -interfaces.implement { +implement { name = "newarray", public = true, protected = true, @@ -220,7 +227,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "arrayvalue", public = true, value = true, @@ -252,7 +259,7 @@ interfaces.implement { } -interfaces.implement { +implement { name = "arrayequals", public = true, value = true, @@ -276,7 +283,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "arraycompare", public = true, value = true, @@ -308,7 +315,7 @@ interfaces.implement { end, } -interfaces.implement { +implement { name = "showarray", public = true, protected = true, @@ -334,7 +341,7 @@ end) table.makeweak(cache) -interfaces.implement { +implement { name = "luaexpression", public = true, actions = function() @@ -367,7 +374,7 @@ interfaces.implement { local dimenfactors = number.dimenfactors -interfaces.implement { +implement { name = "nodimen", public = true, value = true, @@ -397,3 +404,206 @@ interfaces.implement { end end, } + +-- experimental: + +local grouped = { } +local slots = { } +local nofslots = 0 +local nofgrouped = 0 + +local getdata = tokens.getdata +local setdata = tokens.setdata + +local report = logs.reporter("lua table") + +----- ctxsprint = context.sprint + +-- we could have an extra one that collects all end of grouped actions +-- so that we dispose more in one go but it doesn's pay off + +local function newluatable(name,mt,dispose) + local g = { } + local t = slots[nofslots] + slots[nofslots] = false + nofslots = nofslots - 1 + if not t then + nofgrouped = nofgrouped + 1 + t = nofgrouped + end + if mt then + mt = getdata(name) + if mt then + mt = grouped[mt] + if mt then + setmetatableindex(g,mt) + end + end + end + grouped[t] = g + setdata(name,t) + -- This is the slow part. Doing this at the TeX end saved 10% runtime. I'll + -- think of something that we can set it at the Lua end. + if dispose then + ctxsprint("\\atendofgrouped{\\disposeluatable\\" .. name .. "}") + end +end + +local function disposeluatable(name) + local t = getdata(name) + local g = grouped[t] + if g then + grouped[t] = false + nofslots = nofslots + 1 + slots[nofslots] = t + end +end + +local function setluatable(name,kv) + local t = getdata(name) + local g = grouped[t] + if g and kv then + for k, v in next, kv do + g[k] = v + end + end +end + +local function getfromluatable(name,k) + local t = getdata(name) + local g = grouped[t] + if g then + local v = g[k] + if v then + context(v) + else + local n = tonumber(k) + if n then + local v = g[n] + if v then + context(v) + end + end + end + end +end + +local function idxfromluatable(name,k) + local t = getdata(name) + local g = grouped[t] + if g then + local v = g[k] + if v then + context(v) + end + end +end + +local function getluatable(name,k) + local t = getdata(name) + local g = grouped[t] + if g then + return g + end +end + +local function inspectluatable(name) + local t = getdata(name) + local g = grouped[t] + if g then + report("%s", serialize(g,'[grouped slot ' .. t .. ']')) + end +end + +local function showluatables() + report("nofgrouped %i, nofslots %i",nofgrouped,nofslots) + for t=1,nofgrouped do + local g = grouped[t] + if g then + report("%s", serialize(g,'[grouped slot ' .. t .. ']')) + end + end +end + +implement { + name = "newluatable", + protected = true, + -- public = true, + arguments = { "csname" }, + actions = newluatable, +} + +implement { + name = "useluatable", + protected = true, + -- public = true, + arguments = { "csname", true }, + actions = newluatable, +} + +implement { + name = "disposeluatable", + protected = true, + public = true, + arguments = { "csname" }, + actions = disposeluatable, +} + +implement { + name = "inspectluatable", + protected = true, + public = true, + arguments = { "csname" }, + actions = inspectluatable, +} + +implement { + name = "showluatables", + protected = true, + public = true, + actions = showluatables, +} + +implement { + name = "setluatable", + protected = true, + public = true, + arguments = { "csname", "argument" }, + actions = function(name,data) + data = load("return {" .. data .. "}") + if data then + data = data() + if data then + setluatable(name,data) + end + end + end +} + +implement { + name = "getfromluatable", + protected = false, + public = true, + arguments = { "csname", "argument" }, + actions = getfromluatable, +} + +implement { + name = "idxfromluatable", + protected = false, + public = true, + arguments = { "csname", "integer" }, + actions = idxfromluatable, +} + +context.luatables = { + new = function(name) newluatable(name,false,true) end, + use = function(name) useluatable(name,true, true) end, + dispose = disposeluatable, + set = setluatable, + get = getluatable, + getfrom = getfromluatable, + idxfrom = idxfromluatable, + inspect = inspectluatable, + show = showluatables, +} diff --git a/tex/context/base/mkiv/colo-imp-rgb.mkiv b/tex/context/base/mkiv/colo-imp-rgb.mkiv index 85122cb44..ab11ae996 100644 --- a/tex/context/base/mkiv/colo-imp-rgb.mkiv +++ b/tex/context/base/mkiv/colo-imp-rgb.mkiv @@ -35,12 +35,19 @@ % adapted per 2011.10.28 -\definecolor [lightred] [r=1, g=0, b=0] -\definecolor [lightgreen] [r=0, g=1, b=0] -\definecolor [lightblue] [r=0, g=0, b=1] -\definecolor [lightcyan] [r=0, g=1, b=1] -\definecolor [lightmagenta] [r=1, g=0, b=1] -\definecolor [lightyellow] [r=1, g=1, b=0] +% \definecolor [lightred] [r=1, g=0, b=0] +% \definecolor [lightgreen] [r=0, g=1, b=0] +% \definecolor [lightblue] [r=0, g=0, b=1] +% \definecolor [lightcyan] [r=0, g=1, b=1] +% \definecolor [lightmagenta] [r=1, g=0, b=1] +% \definecolor [lightyellow] [r=1, g=1, b=0] + +\definecolor [lightred] [r=1, g=0.5, b=0.5] % [.5(red,white)] +\definecolor [lightgreen] [r=0.5, g=1, b=0.5] % [.5(green,white)] +\definecolor [lightblue] [r=0.5, g=0.5, b=1] % [.5(blue,white)] +\definecolor [lightcyan] [r=0.5, g=1, b=1] % [.5(cyan,white)] +\definecolor [lightmagenta] [r=1, g=0.5, b=1] % [.5(magenta,white)] +\definecolor [lightyellow] [r=1, g=1, b=0.5] % [.5(yellow,white)] \definecolor [middlered] [r=.8, g=0, b=0] \definecolor [middlegreen] [r=0, g=.8, b=0] diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index a0e290ba2..269c8d98f 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2020.05.25 23:36} +\newcontextversion{2020.06.09 18:53} %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-performance.tex b/tex/context/base/mkiv/context-performance.tex index dd3768664..8b6ef11b2 100644 --- a/tex/context/base/mkiv/context-performance.tex +++ b/tex/context/base/mkiv/context-performance.tex @@ -1,5 +1,3 @@ -% language=uk - \usemodule[art-01,abr-01] \starttext diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 7a8bc7827..a33d7b1ed 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -45,7 +45,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.05.25 23:36} +\edef\contextversion{2020.06.09 18:53} \edef\contextkind {beta} %D Kind of special: diff --git a/tex/context/base/mkiv/context.mkxl b/tex/context/base/mkiv/context.mkxl index 76352fe98..eefe2f97b 100644 --- a/tex/context/base/mkiv/context.mkxl +++ b/tex/context/base/mkiv/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.05.25 23:36} +\edef\contextversion{2020.06.09 18:53} \edef\contextkind {beta} %D Kind of special: @@ -142,7 +142,7 @@ \loadmarkfile{mult-chk} \loadmkvifile{mult-dim} -\loadmarkfile{cldf-int} % interface +\loadmkxlfile{cldf-int} % interface \loadmarkfile{trac-ctx} % maybe move up diff --git a/tex/context/base/mkiv/core-env.lua b/tex/context/base/mkiv/core-env.lua index 50759dd19..c496a5a8c 100644 --- a/tex/context/base/mkiv/core-env.lua +++ b/tex/context/base/mkiv/core-env.lua @@ -47,12 +47,13 @@ local cache = tokens.cache local iftrue = cache["iftrue"].mode -local dimencode = cache["scratchdimen"] .command -local countcode = cache["scratchcounter"] .command -local tokencode = cache["scratchtoken"] .command -local skipcode = cache["scratchskip"] .command -local muskipcode = cache["scratchmuskip"] .command ------ attributecode = cache["scratchattribute"].command +local dimencode = cache["scratchdimen"] .command -- tokens.commands.assign_dimen +local countcode = cache["scratchcounter"] .command -- tokens.commands.assign_int +local tokencode = cache["scratchtoken"] .command -- tokens.commands.assign_toks +local skipcode = cache["scratchskip"] .command -- tokens.commands.assign_glue +local muskipcode = cache["scratchmuskip"] .command -- tokens.commands.assign_mu_glue +----- attributecode = cache["scratchattribute"].command -- tokens.commands.assign_attr +local conditioncode = cache["iftrue"] .command -- tokens.commands.if_test local types = { [dimencode] = "dimen", @@ -61,6 +62,7 @@ local types = { [skipcode] = "skip", [muskipcode] = "muskip", -- [attributecode] = "attribute", + [conditioncode] = "condition" } setmetatableindex(texmodes, function(t,k) @@ -123,6 +125,30 @@ setmetatablenewindex(texifs, function(t,k) -- just ignore end) +if CONTEXTLMTXMODE > 0 then + + iftrue = cache["iftrue"].index + + -- if we really need performance we can have a dedicated cache for each + -- kind of variable + + setmetatableindex(texconstants, function(t,k) + return cache[k].command == countcode and texgetcount(k) or 0 + end) + + setmetatableindex(texconditionals, function(t,k) -- 0 == true + return cache[k].command == countcode and texgetcount(k) == 0 + end) + + table.setmetatableindex(texifs, function(t,k) + local c = cache[k] + print(k) + inspect(c) + return c.command == conditioncode and c.index == iftrue + end) + +end + tex.isdefined = isdefined function tex.isdimen(name) diff --git a/tex/context/base/mkiv/core-lmt.mkxl b/tex/context/base/mkiv/core-lmt.mkxl index 75a791a50..7fb38e830 100644 --- a/tex/context/base/mkiv/core-lmt.mkxl +++ b/tex/context/base/mkiv/core-lmt.mkxl @@ -13,14 +13,11 @@ \writestatus{loading}{ConTeXt System Macros / Primitives} -%D This is offered temporarily because in the end we don't expect u sers to use the -%D low level direction directives directly. - \registerctxluafile{core-lmt}{} \unprotect -% nothing yet +% nothing here \protect \endinput diff --git a/tex/context/base/mkiv/export-example.css b/tex/context/base/mkiv/export-example.css index 096408ee1..7cfd7f291 100644 --- a/tex/context/base/mkiv/export-example.css +++ b/tex/context/base/mkiv/export-example.css @@ -479,8 +479,9 @@ context|div.verbatim { font-family : "DejaVu Sans Mono", "Lucida Console", monospace ; } -/* lines : display */ -/* line : mixed */ +/* lines : display */ +/* line : mixed */ +/* linenumber : inline */ lines, context|div.lines { @@ -501,6 +502,15 @@ context|div.line { white-space : pre-wrap ; } +linenumber, +context|div.linenumber { + display : inline-block ; + margin-right : 1em ; + width : 3em ; + text-align : left ; + font-family : "DejaVu Sans Mono", "Lucida Console", monospace ; +} + /* synonym : inline */ /* sorting : inline */ diff --git a/tex/context/base/mkiv/export-example.tex b/tex/context/base/mkiv/export-example.tex index 32cb79c5e..9ef414422 100644 --- a/tex/context/base/mkiv/export-example.tex +++ b/tex/context/base/mkiv/export-example.tex @@ -1,5 +1,3 @@ -% language=uk - \usemodule[abr-01] \setupexport diff --git a/tex/context/base/mkiv/font-fil.mklx b/tex/context/base/mkiv/font-fil.mklx index 2b8224dfe..65cd64428 100644 --- a/tex/context/base/mkiv/font-fil.mklx +++ b/tex/context/base/mkiv/font-fil.mklx @@ -92,7 +92,7 @@ {\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file \doifelsenextoptionalcs\font_basics_define_font_synonym_yes_opt\font_basics_define_font_synonym_yes_nil} -\unexpanded\def\edefinefontsynonym[#name]#crap[#file]% +\unexpanded\def\edefinefontsynonym[#name]#ignore[#file]% {\edef\m_font_name{#name}% \edef\m_font_file{#file}% \ifempty\fontclass @@ -101,33 +101,66 @@ \expandafter\font_basics_define_font_synonym_yes_expanded \fi} -\unexpanded\def\font_basics_define_font_synonym_nop_expanded#crap[#spec]% +\unexpanded\def\font_basics_define_font_synonym_nop_expanded#ignore[#spec]% {\expandafter\let\csname\??fontfile\m_font_name\endcsname\m_font_file - \normalexpanded{\font_basics_define_font_synonym_nop_opt[#1]}} + \normalexpanded{\font_basics_define_font_synonym_nop_opt[#spec]}} -\unexpanded\def\font_basics_define_font_synonym_yes_expanded#crap[#spec]% +\unexpanded\def\font_basics_define_font_synonym_yes_expanded#ignore[#spec]% {\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file \normalexpanded{\font_basics_define_font_synonym_yes_opt[#spec]}} +% \unexpanded\def\font_basics_define_font_synonym_nop_opt[#specification]% +% {\let\p_features \undefined +% \let\p_fallbacks \undefined +% \let\p_goodies \undefined +% \let\p_designsize\undefined +% \expandafter\font_basics_get_font_parameter_nop#specification,]=,} +% +% \unexpanded\def\font_basics_define_font_synonym_yes_opt[#specification]% +% {\let\p_features \undefined +% \let\p_fallbacks \undefined +% \let\p_goodies \undefined +% \let\p_designsize\undefined +% \expandafter\font_basics_get_font_parameter_yes#specification,]=,} +% +% % todo: check if we can use \edef but then we need to protect \mathsizesuffix .. in fact that +% % can be default then: \let\mathsizesuffix\relax .. i need to play with it first +% +% \def\font_basics_get_font_parameter_nop#key=#value,% +% {\if]#key% +% \font_basics_get_font_parameter_nop_finish +% \else +% \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix +% \expandafter\font_basics_get_font_parameter_nop +% \fi} +% +% \def\font_basics_get_font_parameter_yes#key=#value,% +% {\if]#key% +% \font_basics_get_font_parameter_yes_finish +% \else +% \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix +% \expandafter\font_basics_get_font_parameter_yes +% \fi} + \unexpanded\def\font_basics_define_font_synonym_nop_opt[#specification]% {\let\p_features \undefined \let\p_fallbacks \undefined \let\p_goodies \undefined \let\p_designsize\undefined - \expandafter\font_basics_get_font_parameter_nop#specification,]=,} + \expandafter\font_basics_get_font_parameter_nop#specification,\ignorearguments} \unexpanded\def\font_basics_define_font_synonym_yes_opt[#specification]% {\let\p_features \undefined \let\p_fallbacks \undefined \let\p_goodies \undefined \let\p_designsize\undefined - \expandafter\font_basics_get_font_parameter_yes#specification,]=,} + \expandafter\font_basics_get_font_parameter_yes#specification,\ignorearguments} % todo: check if we can use \edef but then we need to protect \mathsizesuffix .. in fact that % can be default then: \let\mathsizesuffix\relax .. i need to play with it first \def\font_basics_get_font_parameter_nop#key=#value,% - {\if]#key% + {\ifarguments \font_basics_get_font_parameter_nop_finish \else \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix @@ -135,7 +168,7 @@ \fi} \def\font_basics_get_font_parameter_yes#key=#value,% - {\if]#key% + {\ifarguments \font_basics_get_font_parameter_yes_finish \else \expandafter\normaldef\csname p_#key\endcsname{#value}% % no edef as we need to keep \mathsizesuffix @@ -202,32 +235,66 @@ % todo: replace * by ... less messy with features +% \def\truefontname#name% +% {\expandafter\font_helpers_true_fontname#name*\empty*\relax} +% +% \def\font_helpers_true_fontname#name*#first#rest*#crap\relax +% {\ifcsname\??fontfile\fontclass#name\endcsname +% \ifempty#first% +% \expandafter\truefontname\lastnamedcs +% \else +% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +% \fi +% \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname +% \ifempty#first% +% \expandafter\truefontname\lastnamedcs +% \else +% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +% \fi +% \orelse\ifcsname\??fontfile#name\endcsname +% \ifempty#first% +% \expandafter\truefontname\lastnamedcs +% \else +% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% +% \fi +% \else +% #name\ifempty#first\else*#first#rest\fi +% \fi} +% +% \def\font_helpers_true_fontname_check#name% +% {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax} +% +% \def\font_helpers_true_fontname_check_indeed#name*#crap\relax +% {\ifcsname\??fontfile\fontclass#name\endcsname +% \expandafter\font_helpers_true_fontname_check\lastnamedcs +% \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname +% \expandafter\font_helpers_true_fontname_check\lastnamedcs +% \orelse\ifcsname\??fontfile#name\endcsname +% \expandafter\font_helpers_true_fontname_check\lastnamedcs +% \else +% #name% +% \fi} + \def\truefontname#name% {\expandafter\font_helpers_true_fontname#name*\empty*\relax} -\def\font_helpers_true_fontname#name*#first#rest*#crap\relax +\def\font_helpers_true_fontname#name*#first#rest*#ignore\relax {\ifcsname\??fontfile\fontclass#name\endcsname \ifempty#first% - %\expandafter\truefontname\csname\??fontfile\fontclass#name\endcsname \expandafter\truefontname\lastnamedcs \else - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname*#first#rest% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% \fi \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname \ifempty#first% - %\expandafter\truefontname\csname\??fontfile\defaultfontclass#name\endcsname \expandafter\truefontname\lastnamedcs \else - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname*#first#rest% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% \fi \orelse\ifcsname\??fontfile#name\endcsname \ifempty#first% - %\expandafter\truefontname\csname\??fontfile#name\endcsname \expandafter\truefontname\lastnamedcs \else - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname*#first#rest% \expandafter\font_helpers_true_fontname_check\lastnamedcs*#first#rest% \fi \else @@ -237,15 +304,12 @@ \def\font_helpers_true_fontname_check#name% {\expandafter\font_helpers_true_fontname_check_indeed#name*\relax} -\def\font_helpers_true_fontname_check_indeed#name*#crap\relax +\def\font_helpers_true_fontname_check_indeed#name*#ignore\relax {\ifcsname\??fontfile\fontclass#name\endcsname - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\fontclass#name\endcsname \expandafter\font_helpers_true_fontname_check\lastnamedcs \orelse\ifcsname\??fontfile\defaultfontclass#name\endcsname - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile\defaultfontclass#name\endcsname \expandafter\font_helpers_true_fontname_check\lastnamedcs \orelse\ifcsname\??fontfile#name\endcsname - %\expandafter\font_helpers_true_fontname_check\csname\??fontfile#name\endcsname \expandafter\font_helpers_true_fontname_check\lastnamedcs \else #name% @@ -271,10 +335,8 @@ \def\expandfontsynonym#command#name% one level expansion {\ifcsname\??fontfile\fontclass#name\endcsname - %\expandafter\normaldef\expandafter#command\expandafter{\csname\??fontfile\fontclass#name\endcsname}% \expandafter\normaldef\expandafter#command\expandafter{\lastnamedcs}% \orelse\ifcsname\??fontfile\defaultfontclass#2\endcsname - %\expandafter\normaldef\expandafter#command\expandafter{\csname\??fontfile\defaultfontclass#name\endcsname}% \expandafter\normaldef\expandafter#command\expandafter{\lastnamedcs}% \fi} diff --git a/tex/context/base/mkiv/font-fil.mkvi b/tex/context/base/mkiv/font-fil.mkvi index 8622e733f..f70be13ee 100644 --- a/tex/context/base/mkiv/font-fil.mkvi +++ b/tex/context/base/mkiv/font-fil.mkvi @@ -103,7 +103,7 @@ \unexpanded\def\font_basics_define_font_synonym_nop_expanded#crap[#spec]% {\expandafter\let\csname\??fontfile\m_font_name\endcsname\m_font_file - \normalexpanded{\font_basics_define_font_synonym_nop_opt[#1]}} + \normalexpanded{\font_basics_define_font_synonym_nop_opt[#spec]}} \unexpanded\def\font_basics_define_font_synonym_yes_expanded#crap[#spec]% {\expandafter\let\csname\??fontfile\fontclass\m_font_name\endcsname\m_font_file diff --git a/tex/context/base/mkiv/font-mat.mklx b/tex/context/base/mkiv/font-mat.mklx index d08a2ce87..da576bf9a 100644 --- a/tex/context/base/mkiv/font-mat.mklx +++ b/tex/context/base/mkiv/font-mat.mklx @@ -386,25 +386,13 @@ \font_helpers_synchronize_math_family_mr \fi} -\ifdefined \fontid % we need to keep this test for a while - \appendtoks - \ifnum\fontid\textfont\zerocount=\fontid\textfont\plusthree - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy - \else - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy - \fi - \to \t_font_math_strategies -\else - \appendtoks - \edef\currentmathfontmr{\fontname\textfont\zerocount}% - \edef\currentmathfontmb{\fontname\textfont\plusthree}% - \ifx\currentmathfontmr\currentmathfontmb - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy - \else - \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy - \fi - \to \t_font_math_strategies -\fi +\appendtoks + \ifnum\fontid\textfont\zerocount=\fontid\textfont\plusthree + \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_partial_bold_strategy + \else + \letvalue{\??fontmathstoredstrategy\fontclass}\font_helpers_set_math_full_bold_strategy + \fi +\to \t_font_math_strategies %def\font_helpers_synchronize_math_bold_strategy{\csname\??fontmathstoredstrategy\fontclass\endcsname} \def\font_helpers_synchronize_math_bold_strategy{\begincsname\??fontmathstoredstrategy\fontclass\endcsname} diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index 3b6ea6a72..b612e85e7 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -2056,6 +2056,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local sweepnode = sweepnode local sweeptype = sweeptype local sweepoverflow = false + local checkdisc = getprev(head) local keepdisc = not sweepnode local lookaheaddisc = nil local backtrackdisc = nil @@ -2089,6 +2090,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) sweepnode = current current = getnext(current) else + -- we can use an iterator while replace and i <= l do if getid(replace) == glyph_code then i = i + 1 @@ -2189,7 +2191,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local current = prev local i = f local t = sweeptype == "pre" or sweeptype == "replace" - if not current and t and current == checkdisk then + if not current and t and current == checkdisc then current = getprev(sweepnode) end while current and i > 1 do -- missing getprev added / moved outside @@ -2218,7 +2220,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) end end current = getprev(current) - if t and current == checkdisk then + if t and current == checkdisc then current = getprev(sweepnode) end end @@ -2443,6 +2445,10 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s local current = start local last = start + if s == 1 then + goto next + end + -- current match if l > f then @@ -2512,10 +2518,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s break end end - -- commented, for Kai to check - -- if n <= l then - -- notmatchpre[last] = true - -- end + if n <= l then + notmatchpre[last] = true + end else notmatchpre[last] = true end diff --git a/tex/context/base/mkiv/grph-trf.mkiv b/tex/context/base/mkiv/grph-trf.mkiv index 522dd08d6..d6a6acd78 100644 --- a/tex/context/base/mkiv/grph-trf.mkiv +++ b/tex/context/base/mkiv/grph-trf.mkiv @@ -969,7 +969,7 @@ \d_grph_rotate_used_height\ht\nextbox % \clf_analyzerotate % rather accurate - \numexpr\p_rotation_rotation\relax + \p_rotation_rotation\space \d_grph_rotate_width \d_grph_rotate_height \d_grph_rotate_depth diff --git a/tex/context/base/mkiv/lpdf-lmt.lua b/tex/context/base/mkiv/lpdf-lmt.lua index 43c4c1059..90e1fcea2 100644 --- a/tex/context/base/mkiv/lpdf-lmt.lua +++ b/tex/context/base/mkiv/lpdf-lmt.lua @@ -2713,7 +2713,8 @@ do -- pdf.setforcefile(false) -- default anyway -- end -- - pdfname = file.addsuffix(tex.jobname,"pdf") + -- pdfname = file.addsuffix(tex.jobname,"pdf") + pdfname = tex.jobname .. ".pdf" openfile(pdfname) -- luatex.registerstopactions(1,function() diff --git a/tex/context/base/mkiv/lpdf-pde.lua b/tex/context/base/mkiv/lpdf-pde.lua index ec1064a0d..1c80eb5b2 100644 --- a/tex/context/base/mkiv/lpdf-pde.lua +++ b/tex/context/base/mkiv/lpdf-pde.lua @@ -48,6 +48,7 @@ local abs = math.abs local concat, swapped, sortedhash, sortedkeys = table.concat, table.swapped, table.sortedhash, table.sortedkeys local utfchar = string.char local setmetatableindex = table.setmetatableindex +local ioopen = io.open local lpegmatch, lpegpatterns = lpeg.match, lpeg.patterns local P, C, S, R, Ct, Cc, V, Carg, Cs, Cf, Cg = lpeg.P, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cc, lpeg.V, lpeg.Carg, lpeg.Cs, lpeg.Cf, lpeg.Cg @@ -67,6 +68,7 @@ local lpdf_epdf = { } lpdf.epdf = lpdf_epdf local pdfopen = pdfe.open +local pdfopenfile = pdfe.openfile local pdfnew = pdfe.new local pdfclose = pdfe.close @@ -440,8 +442,11 @@ function lpdf_epdf.load(filename,userpassword,ownerpassword,fromstring) if not document then statistics.starttiming(lpdf_epdf) local __data__ + local __file__ if fromstring then __data__ = pdfnew(filename,#filename) + elseif pdfopenfile then + __data__ = pdfopenfile(ioopen(filename,"rb")) else __data__ = pdfopen(filename) end diff --git a/tex/context/base/mkiv/luat-mac.lua b/tex/context/base/mkiv/luat-mac.lua index e6789a233..c754f602c 100644 --- a/tex/context/base/mkiv/luat-mac.lua +++ b/tex/context/base/mkiv/luat-mac.lua @@ -30,36 +30,89 @@ local report_macros = logs.reporter("interface","macros") local stack, top, n, hashes = { }, nil, 0, { } +-- local function set(s) +-- if top then +-- n = n + 1 +-- if n > 9 then +-- report_macros("number of arguments > 9, ignoring %s",s) +-- else +-- local ns = #stack +-- local h = hashes[ns] +-- if not h then +-- h = rep("#",2^(ns-1)) +-- hashes[ns] = h +-- end +-- if s == "ignore" then +-- top[s] = "" +-- return h .. "0" +-- else +-- local m = h .. n +-- top[s] = m +-- return m +-- end +-- end +-- end +-- end + +-- local function get(s) +-- if s == "ignore" then +-- return "" +-- else +-- if not top then +-- report_macros("keeping #%s, no stack",s) +-- return "#" .. s -- can be lua +-- end +-- local m = top[s] +-- if m then +-- return m +-- else +-- report_macros("keeping #%s, not on stack",s) +-- return "#" .. s -- quite likely an error +-- end +-- end +-- end + local function set(s) if top then - n = n + 1 - if n > 9 then - report_macros("number of arguments > 9, ignoring %s",s) + local ns = #stack + local h = hashes[ns] + if not h then + h = rep("#",2^(ns-1)) + hashes[ns] = h + end + if s == "ignore" then + return h .. "-" else - local ns = #stack - local h = hashes[ns] - if not h then - h = rep("#",2^(ns-1)) - hashes[ns] = h + n = n + 1 + if n > 9 then + report_macros("number of arguments > 9, ignoring %s",s) + elseif s == "discard" then + top[s] = "" + return h .. "0" + else + local m = h .. n + top[s] = m + return m end - local m = h .. n - top[s] = m - return m end end end local function get(s) - if not top then - report_macros("keeping #%s, no stack",s) - return "#" .. s -- can be lua - end - local m = top[s] - if m then - return m + if s == "ignore" or s == "discard" then + return "" else - report_macros("keeping #%s, not on stack",s) - return "#" .. s -- quite likely an error + if not top then + report_macros("keeping #%s, no stack",s) + return "#" .. s -- can be lua + end + local m = top[s] + if m then + return m + else + report_macros("keeping #%s, not on stack",s) + return "#" .. s -- quite likely an error + end end end @@ -336,6 +389,8 @@ end -- ]])) -- print(macros.preprocessed([[\checked \def \bla #bla{bla#{bla}}]])) +-- print(macros.preprocessed([[\checked \def \bla #bla#discard#foo{bla#{bla}+#ignore+bla#foo}]])) +-- print(macros.preprocessed([[\checked \def \bla #bla#ignore#foo{bla#{bla}+#ignore+bla#foo}]])) -- print(macros.preprocessed([[\def\bla#bla{#{bla}bla}]])) -- print(macros.preprocessed([[\def\blä#{blá}{blà:#{blá}}]])) -- print(macros.preprocessed([[\def\blä#bla{blà:#bla}]])) diff --git a/tex/context/base/mkiv/math-ini.mkxl b/tex/context/base/mkiv/math-ini.mkxl index 9cc3dfe1f..41b4e5d53 100644 --- a/tex/context/base/mkiv/math-ini.mkxl +++ b/tex/context/base/mkiv/math-ini.mkxl @@ -427,10 +427,8 @@ \unexpanded\def\math_set_font_style_alternate#1% {\ifcsname\??mathstylealternative\fontclass:#1\endcsname - %\expandafter\math_set_font_alternate\csname\??mathstylealternate\fontclass:#1\endcsname \expandafter\math_set_font_alternate\lastnamedcs \orelse\ifcsname\??mathstylealternative#1\endcsname - %\expandafter\math_set_font_alternate\csname\??mathstylealternate#1\endcsname \expandafter\math_set_font_alternate\lastnamedcs \fi} @@ -719,15 +717,15 @@ \unexpanded\def\math_strut_normal {\vrule - \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \s!width \zeropoint + \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \relax} \unexpanded\def\math_strut_visual {\hskip-.01\emwidth \vrule - \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \s!width .02\emwidth + \normalexpanded{\math_strut_htdp{\mathstylefont\normalmathstyle}}% \relax \hskip-.01\emwidth} diff --git a/tex/context/base/mkiv/math-rad.mkvi b/tex/context/base/mkiv/math-rad.mkvi index c640e768e..c279c3526 100644 --- a/tex/context/base/mkiv/math-rad.mkvi +++ b/tex/context/base/mkiv/math-rad.mkvi @@ -26,12 +26,24 @@ % \def\rootradical{\Uroot \defaultmathfamily "221A } % can be done in char-def % \def\surdradical{\Uradical \defaultmathfamily "221A } % can be done in char-def -\def\root#1\of{\rootradical{#1}} % #2 +\unexpanded\def\root#1\of{\rootradical{#1}} % #2 \unexpanded\def\sqrt{\doifelsenextoptionalcs\rootwithdegree\rootwithoutdegree} -\unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird - {\normalexpanded{\rootradical{\normalunexpanded{#1}}{\noexpand\triggermathstyle{\normalmathstyle}\normalunexpanded{#2}}}} +\ifcase \contextlmtxmode + + \unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird + {\normalexpanded{\rootradical + {\normalunexpanded{#1}}% + {\noexpand\triggermathstyle{\number\normalmathstyle}% + \normalunexpanded{#2}}}} + +\else % experimental new keyword: (maybe keywords should come after the symbol) + + \unexpanded\def\styledrootradical#1#2% so that \text works ok ... \rootradical behaves somewhat weird + {\Uroot style \normalmathstyle "0 "221A {#1}{#2}} + +\fi \unexpanded\def\rootwithdegree[#1]{\rootradical{#1}} \unexpanded\def\rootwithoutdegree {\rootradical {}} diff --git a/tex/context/base/mkiv/mult-aux.mkxl b/tex/context/base/mkiv/mult-aux.mkxl index e73b5ef45..74e717128 100644 --- a/tex/context/base/mkiv/mult-aux.mkxl +++ b/tex/context/base/mkiv/mult-aux.mkxl @@ -168,6 +168,10 @@ %D manual does less than 6000 assignments and the payoff starts around a tenfold of %D that. But \unknown\ it's less tracing, so that's another benefit. +%D Watch out: we accept that a \[k=v,,k=v] will generate a case where a key can become +%D a comma and trigger a warning but we intercept that elsewhere. The alternative is +%D to skip to the comma first which takes more time. + \let\m_mult_interfaces_namespace\empty \def\mult_interfaces_get_parameters#1[#2% @@ -201,8 +205,11 @@ \mult_interfaces_adef\m_mult_interfaces_namespace{#1}{#2}% \fi} -\def\mult_interfaces_get_parameters_item_error#0#0#0#4#5% - {\mult_interfaces_get_parameters_error_indeed{#4}{#5}} +% \def\mult_interfaces_get_parameters_item_error#0#0#0#4#5% +% {\if,#5\else\mult_interfaces_get_parameters_error_indeed{#4}{#5}\fi} + +\def\mult_interfaces_get_parameters_item_error#-#-#-#1#2% + {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi} \startinterface english @@ -215,18 +222,27 @@ \expandafter\def\csname\m_mult_interfaces_namespace#1\endcsname{#2}% \fi} - \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0% - {\mult_interfaces_get_parameters_error_indeed{#2}{#3}} +% \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0% +% {\if,#3\else\mult_interfaces_get_parameters_error_indeed{#2}{#3}\fi} + + \def\mult_interfaces_get_parameters_item_error#-\csname#1#2\endcsname#-% + {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi} \stopinterface %D Used? -\def\mult_check_for_assignment_indeed#0=#2#0^^^^0004% - {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi} +% \def\mult_check_for_assignment_indeed#0=#2#0^^^^0004% +% {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi} +% +% \def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004% +% {\if#2^^^^0003} + +\def\mult_check_for_assignment_indeed#-=#1#-^^^^0004% + {\if#1^^^^0003\assignmentfalse\else\assignmenttrue\fi} -\def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004% - {\if#2^^^^0003} +\def\mult_check_for_assignment_indeed_begin_#-=#1#-^^^^0004% + {\if#1^^^^0003} \def\mult_check_for_assignment#1% {\expandafter\mult_check_for_assignment_indeed\detokenize{#1}=^^^^0003^^^^0003^^^^0004} diff --git a/tex/context/base/mkiv/mult-ini.lua b/tex/context/base/mkiv/mult-ini.lua index 0c8581281..3dc425953 100644 --- a/tex/context/base/mkiv/mult-ini.lua +++ b/tex/context/base/mkiv/mult-ini.lua @@ -454,16 +454,18 @@ implement { local function showassignerror(namespace,key,line) - local ns, instance = match(namespace,"^(%d+)[^%a]+(%a*)") - if ns then - namespace = corenamespaces[tonumber(ns)] or ns - end - -- injected in the stream for timing: - if instance and instance ~= "" then - context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key)) - else - context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key)) - end + -- if key and key ~= "" and key ~= "," then + local ns, instance = match(namespace,"^(%d+)[^%a]+(%a*)") + if ns then + namespace = corenamespaces[tonumber(ns)] or ns + end + -- injected in the stream for timing: + if instance and instance ~= "" then + context.writestatus("setup",formatters["error in line %a, namespace %a, instance %a, key %a"](line,namespace,instance,key)) + else + context.writestatus("setup",formatters["error in line %a, namespace %a, key %a"](line,namespace,key)) + end + -- end end implement { diff --git a/tex/context/base/mkiv/mult-low.lua b/tex/context/base/mkiv/mult-low.lua index ec65d6a7c..58202fa1a 100644 --- a/tex/context/base/mkiv/mult-low.lua +++ b/tex/context/base/mkiv/mult-low.lua @@ -57,7 +57,8 @@ return { "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", -- "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", - "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", + "commaasciicode", "spaceasciicode", "periodasciicode", + "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua index 91afcf524..e4ff584b4 100644 --- a/tex/context/base/mkiv/mult-prm.lua +++ b/tex/context/base/mkiv/mult-prm.lua @@ -271,8 +271,10 @@ return { "etoksapp", "etokspre", "exceptionpenalty", + "expandafterpars", "expandafterspaces", "expanded", + "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", @@ -329,6 +331,7 @@ return { "lastnodesubtype", "leftmarginkern", "letcharcode", + "letdatacode", "letfrozen", "letprotected", "linedirection", diff --git a/tex/context/base/mkiv/pack-rul.mkiv b/tex/context/base/mkiv/pack-rul.mkiv index ba81a0956..393668c60 100644 --- a/tex/context/base/mkiv/pack-rul.mkiv +++ b/tex/context/base/mkiv/pack-rul.mkiv @@ -1900,7 +1900,7 @@ {\iffirstargument \setupcurrentmathframed[#1]% \fi - \c_framed_mstyle\mathstyle + \c_framed_mstyle\normalmathstyle \edef\m_framed_location{\mathframedparameter\c!location}% \ifx\m_framed_location\v!mathematics \let\normalstrut\pack_framed_math_pos diff --git a/tex/context/base/mkiv/pack-rul.mkxl b/tex/context/base/mkiv/pack-rul.mkxl index 4fef06ad0..6268aad3e 100644 --- a/tex/context/base/mkiv/pack-rul.mkxl +++ b/tex/context/base/mkiv/pack-rul.mkxl @@ -1949,7 +1949,7 @@ {\iffirstargument \setupcurrentmathframed[#1]% \fi - \c_framed_mstyle\mathstyle + \c_framed_mstyle\normalmathstyle \edef\m_framed_location{\mathframedparameter\c!location}% \ifx\m_framed_location\v!mathematics \let\normalstrut\pack_framed_math_pos diff --git a/tex/context/base/mkiv/page-bck.mkiv b/tex/context/base/mkiv/page-bck.mkiv index 1ec7cdbb8..1af681049 100644 --- a/tex/context/base/mkiv/page-bck.mkiv +++ b/tex/context/base/mkiv/page-bck.mkiv @@ -269,14 +269,14 @@ \def\page_backgrounds_set_boxes_b {\ifconditional\c_page_backgrounds_new_left % \showmessage\m!layouts8\empty - \page_backgrounds_set_box\leftbackground % \conditionalfalse + \page_backgrounds_set_box\leftbackground \global\setfalse\c_page_backgrounds_new_left \fi} \def\page_backgrounds_set_boxes_c {\ifconditional\c_page_backgrounds_new_right % \showmessage\m!layouts8\empty - \page_backgrounds_set_box\rightbackground % \conditionaltrue + \page_backgrounds_set_box\rightbackground \global\setfalse\c_page_backgrounds_new_right \fi} diff --git a/tex/context/base/mkiv/page-lin.mkvi b/tex/context/base/mkiv/page-lin.mkvi index 6a03d12e4..4debcb68f 100644 --- a/tex/context/base/mkiv/page-lin.mkvi +++ b/tex/context/base/mkiv/page-lin.mkvi @@ -16,6 +16,9 @@ % % to be redone (was experiment) .. can be hooked into margin code % reshuffle arguments +% +% this is early luatex code, 2007 or even before that, and it shows ... we +% have better tricks now \writestatus{loading}{ConTeXt Core Macros / Line Numbering} @@ -348,6 +351,7 @@ \def\page_lines_add_numbers_to_box#box#column#max#nesting% {\bgroup + \strc_tags_enable_indeed \b_page_lines_number #box\relax \c_page_lines_column #column\relax \c_page_lines_last_column#max\relax @@ -459,24 +463,34 @@ % \def\dodollap{\hbox to \zeropoint{\normalhss\box\nextbox}\endgroup} \def\page_line_handle_left#align#width#distance% - {\llap + {\dostarttagged\t!linenumber\empty + \llap {\page_lines_number_inject#align#width% + \dostarttagged\t!ignore\empty \kern\dimexpr #distance+\d_page_lines_distance \ifconditional\c_page_lines_dir_left_to_right\else+\d_page_lines_line_width\fi \relax \the\everylinenumber - \hss}} + \hss + \dostoptagged}% + \dostoptagged} \def\page_line_handle_right#align#width#distance% - {\rlap - {\kern\dimexpr + {\dostarttagged\t!linenumber\empty + \rlap + {\dostarttagged\t!ignore\empty + \kern\dimexpr #distance+\d_page_lines_distance \ifconditional\c_page_lines_dir_left_to_right+\d_page_lines_line_width\fi \relax + \dostoptagged \page_lines_number_inject#align#width% + \dostarttagged\t!ignore\empty \the\everylinenumber - \hss}} + \hss + \dostoptagged}% + \dostoptagged} \setuvalue{\??linenumberinghandler\v!left}% {\page_line_handle_left\p_align\leftmarginwidth\leftmargindistance} diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index 3aa2579ce..e57661b9e 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 713f812fa..271444c2d 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-tag.lua b/tex/context/base/mkiv/strc-tag.lua index 88e0f108d..694f7bdf0 100644 --- a/tex/context/base/mkiv/strc-tag.lua +++ b/tex/context/base/mkiv/strc-tag.lua @@ -104,6 +104,7 @@ local properties = allocate { -- todo: more "record = true" to improve forma lines = { pdf = "Code", nature = "display" }, line = { pdf = "Code", nature = "mixed" }, + linenumber = { pdf = "Span", nature = "inline" }, synonym = { pdf = "Span", nature = "inline" }, sorting = { pdf = "Span", nature = "inline" }, @@ -362,7 +363,9 @@ function tags.start(tag,specification) metadata = nil end local userdata = specification.userdata - if userdata ~= "" and type(userdata) == "string" then + if userdata == "" then + specification.userdata = nil + elseif type(userdata) == "string" then specification.userdata = settings_to_hash(userdata) end local detail = specification.detail diff --git a/tex/context/base/mkiv/strc-tag.mkiv b/tex/context/base/mkiv/strc-tag.mkiv index 83ee03090..ab532f0ef 100644 --- a/tex/context/base/mkiv/strc-tag.mkiv +++ b/tex/context/base/mkiv/strc-tag.mkiv @@ -61,6 +61,7 @@ \def\t!lines {lines} % Code \def\t!line {line} % Code +\def\t!linenumber {linenumber} % Span \def\t!sorting {sorting} % Span \def\t!synonym {synonym} % Span @@ -329,11 +330,8 @@ \chardef\strc_tags_placeholder_char\zerocount % "FFFC -\unexpanded\def\strc_tags_enable - {% once enable one is toast - \global\settrue\c_strc_tags_enabled - % and gets: - \let\dotaggedplaceholder \strc_tags_placeholder_char +\unexpanded\def\strc_tags_enable_indeed + {\let\dotaggedplaceholder \strc_tags_placeholder_char \let\dostarttagged \strc_tags_enabled_start_detail \let\dostarttaggednodetail\strc_tags_enabled_start_no_detail \let\dostarttaggedchained \strc_tags_enabled_start_chained @@ -341,6 +339,12 @@ \let\dostartignoretagging \strc_tags_start_yes_ignore \let\dostopignoretagging \strc_tags_stop_yes_ignore} +\unexpanded\def\strc_tags_enable + {% once enable one is toast + \global\settrue\c_strc_tags_enabled + % and gets: + \strc_tags_enable_indeed} + \unexpanded\def\strc_tags_disable {\ifconditional\c_strc_tags_enabled % so now all are artifacts diff --git a/tex/context/base/mkiv/supp-box.lua b/tex/context/base/mkiv/supp-box.lua index 8c615b528..353562344 100644 --- a/tex/context/base/mkiv/supp-box.lua +++ b/tex/context/base/mkiv/supp-box.lua @@ -28,6 +28,11 @@ local vlist_code = nodecodes.vlist local glue_code = nodecodes.glue local penalty_code = nodecodes.penalty local glyph_code = nodecodes.glyph +local localpar_code = nodecodes.localpar + +local indent_code = nodes.listcodes.indent + +local hmode_code = tex.modelevels.horizontal local nuts = nodes.nuts local tonut = nuts.tonut @@ -39,6 +44,7 @@ local getprev = nuts.getprev local getboth = nuts.getboth local getdisc = nuts.getdisc local getid = nuts.getid +local getsubtype = nuts.getsubtype local getlist = nuts.getlist local getattribute = nuts.getattribute local getbox = nuts.getbox @@ -89,6 +95,7 @@ local setlistcolor = nodes.tracers.colors.setlist local texget = tex.get local texgetbox = tex.getbox local texsetdimen = tex.setdimen +local texgetnest = tex.getnest local function hyphenatedlist(head,usecolor) local current = head and tonut(head) @@ -828,24 +835,50 @@ implement { if CONTEXTLMTXMODE > 0 then - interfaces.implement { name = "widthuptohere", public = true, protected = true, value = true, actions = function() - local n = tex.getnest() + local n = texgetnest() local w = 0 - if n.mode == tex.modelevels.horizontal then - local h = nodes.hpack(n.head.next) - w = h.width - h.list = nil - nodes.free(h) + if n.mode == hmode_code then + local h = hpack(getnext(tonut(n.head))) + w = getwidth(h) + setlist(h) + free(h) end return tokens.values.dimension, w end, } - end + +interfaces.implement { + name = "doifelseindented", + public = true, + protected = true, + actions = function() + local n = texgetnest() + local b = false + if n.mode == hmode_code then + n = tonut(n.head) + while n do + n = getnext(n) + if n then + local id = getid(n) + if id == hlist_code then + if getsubtype(n) == indent_code then + b = getwidth(n) > 0 + break + end + elseif id ~= localpar_code then + break + end + end + end + end + commands.doifelse(b) + end, +} diff --git a/tex/context/base/mkiv/supp-box.mkiv b/tex/context/base/mkiv/supp-box.mkiv index 74a3462dd..35b400b09 100644 --- a/tex/context/base/mkiv/supp-box.mkiv +++ b/tex/context/base/mkiv/supp-box.mkiv @@ -220,7 +220,7 @@ \newcount\c_boxes_math_style \unexpanded\def\syst_boxes_math_set_nextbox#1% - {\c_boxes_math_style\mathstyle + {\c_boxes_math_style\normalmathstyle \setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}} %D \macros diff --git a/tex/context/base/mkiv/supp-box.mkxl b/tex/context/base/mkiv/supp-box.mkxl index af1030f2f..bb3c71aaa 100644 --- a/tex/context/base/mkiv/supp-box.mkxl +++ b/tex/context/base/mkiv/supp-box.mkxl @@ -189,7 +189,7 @@ \newcount\c_boxes_math_style \unexpanded\def\syst_boxes_math_set_nextbox#1% - {\c_boxes_math_style\mathstyle + {\c_boxes_math_style\normalmathstyle \setbox\nextbox\hbox{\normalstartimath\mathsurround\zeropoint\triggermathstyle\c_boxes_math_style{#1}\normalstopimath}} %D \macros diff --git a/tex/context/base/mkiv/syst-aux.mkxl b/tex/context/base/mkiv/syst-aux.mkxl index c92201aa2..d78a7b307 100644 --- a/tex/context/base/mkiv/syst-aux.mkxl +++ b/tex/context/base/mkiv/syst-aux.mkxl @@ -201,21 +201,37 @@ %D is more efficient but it probably won't be noticed. It's anyway cheaper on memory %D access. -\def\gobbleoneargument #0{} -\def\gobbletwoarguments #0#0{} -\def\gobblethreearguments #0#0#0{} -\def\gobblefourarguments #0#0#0#0{} -\def\gobblefivearguments #0#0#0#0{} -\def\gobblesixarguments #0#0#0#0{} -\def\gobblesevenarguments #0#0#0#0#0{} -\def\gobbleeightarguments #0#0#0#0#0#0{} -\def\gobbleninearguments #0#0#0#0#0#0#0{} - -\def\gobbleoneoptional [#0]{} -\def\gobbletwooptionals [#0][#0]{} -\def\gobblethreeoptionals[#0][#0][#0]{} -\def\gobblefouroptionals [#0][#0][#0][#0]{} -\def\gobblefiveoptionals [#0][#0][#0][#0][#0]{} +% \def\gobbleoneargument #0{} +% \def\gobbletwoarguments #0#0{} +% \def\gobblethreearguments #0#0#0{} +% \def\gobblefourarguments #0#0#0#0{} +% \def\gobblefivearguments #0#0#0#0{} +% \def\gobblesixarguments #0#0#0#0{} +% \def\gobblesevenarguments #0#0#0#0#0{} +% \def\gobbleeightarguments #0#0#0#0#0#0{} +% \def\gobbleninearguments #0#0#0#0#0#0#0{} +% +% \def\gobbleoneoptional [#0]{} +% \def\gobbletwooptionals [#0][#0]{} +% \def\gobblethreeoptionals[#0][#0][#0]{} +% \def\gobblefouroptionals [#0][#0][#0][#0]{} +% \def\gobblefiveoptionals [#0][#0][#0][#0][#0]{} + +\def\gobbleoneargument #-{} +\def\gobbletwoarguments #-#-{} +\def\gobblethreearguments #-#-#-{} +\def\gobblefourarguments #-#-#-#-{} +\def\gobblefivearguments #-#-#-#-{} +\def\gobblesixarguments #-#-#-#-{} +\def\gobblesevenarguments #-#-#-#-#-{} +\def\gobbleeightarguments #-#-#-#-#-#-{} +\def\gobbleninearguments #-#-#-#-#-#-#-{} + +\def\gobbleoneoptional [#-]{} +\def\gobbletwooptionals [#-][#-]{} +\def\gobblethreeoptionals[#-][#-][#-]{} +\def\gobblefouroptionals [#-][#-][#-][#-]{} +\def\gobblefiveoptionals [#-][#-][#-][#-][#-]{} %D Reserved macros for tests: @@ -621,31 +637,65 @@ %D These are normally only used for keywords, i.e.\ strings so we can delegate %D the work to \LUA: -% \unexpanded\def\doifelseinset#1#2{\clf_doifelseinset{#1}{#2}} -% \unexpanded\def\doifinset #1#2{\clf_doifinset {#1}{#2}} -% \unexpanded\def\doifnotinset #1#2{\clf_doifnotinset {#1}{#2}} +\unexpanded\def\doifelseinset#1#2{\clf_doifelseinset{#1}{#2}} +\unexpanded\def\doifinset #1#2{\clf_doifinset {#1}{#2}} +\unexpanded\def\doifnotinset #1#2{\clf_doifnotinset {#1}{#2}} % % \let\firstinset \clf_firstinset -\unexpanded\def\doifelseinset#1#2% - {\ifhasxtoks{,#1,}{,#2,}% - \expandafter\firstoftwoarguments - \else - \expandafter\secondoftwoarguments - \fi} +% These don't accept spaces after commas: +% +% \unexpanded\def\doifelseinset#1#2% +% {\ifhasxtoks{,#1,}{,#2,}% +% \expandafter\firstoftwoarguments +% \else +% \expandafter\secondoftwoarguments +% \fi} -\unexpanded\def\doifinset#1#2% - {\ifhasxtoks{,#1,}{,#2,}% - \expandafter\firstofoneargument - \else - \expandafter\gobbleoneargument - \fi} +% \unexpanded\def\doifinset#1#2% +% {\ifhasxtoks{,#1,}{,#2,}% +% \expandafter\firstofoneargument +% \else +% \expandafter\gobbleoneargument +% \fi} -\unexpanded\def\doifnotinset#1#2% - {\ifhasxtoks{,#1,}{,#2,}% - \expandafter\gobbleoneargument - \else - \expandafter\firstofoneargument - \fi} +% \unexpanded\def\doifnotinset#1#2% +% {\ifhasxtoks{,#1,}{,#2,}% +% \expandafter\gobbleoneargument +% \else +% \expandafter\firstofoneargument +% \fi} + +% But these do: + +\edef\a!comma{\expandtoken \ignorecatcode \commaasciicode} +\edef\a!space{\expandtoken \ignorecatcode \spaceasciicode} + +\normalexpanded { + + \unexpanded \def \noexpand \doifelseinset#1#2% + {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}% + \noexpand\expandafter\noexpand\firstoftwoarguments + \noexpand\else + \noexpand\expandafter\noexpand\secondoftwoarguments + \noexpand\fi} + + \unexpanded \def \noexpand \doifinset#1#2% + {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}% + \noexpand\expandafter\noexpand\firstofoneargument + \noexpand\else + \noexpand\expandafter\noexpand\gobbleoneargument + \noexpand\fi} + + \unexpanded \def \noexpand \doifnotinset#1#2% + {\noexpand\ifhasxtoks{,\a!space#1,}{,#2,}% + \noexpand\expandafter\noexpand\gobbleoneargument + \noexpand\else + \noexpand\expandafter\noexpand\firstofoneargument + \noexpand\fi} + +} + +%D Done. \let\doifinsetelse\doifelseinset @@ -769,10 +819,15 @@ \normalexpanded{\noexpand\expandafterspaces\syst_helpers_process_comma_item#1,}\ignorearguments\ignorearguments\ignorearguments \popmacro\commalistcommand} +% \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next +% \def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} +% \def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} +% \def\syst_helpers_process_comma_item_gobble#0\ignorearguments{} + \let\syst_helpers_process_comma_item_next_a \syst_helpers_process_comma_item_next -\def\syst_helpers_process_comma_item_next_b#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} -\def\syst_helpers_process_comma_item_next_c#0\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} -\def\syst_helpers_process_comma_item_gobble#0\ignorearguments{} +\def\syst_helpers_process_comma_item_next_b#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_a} +\def\syst_helpers_process_comma_item_next_c#-\ignorearguments{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} +\def\syst_helpers_process_comma_item_gobble#-\ignorearguments{} \unexpanded\def\quitcommalist {\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_b} \unexpanded\def\quitprevcommalist{\let\syst_helpers_process_comma_item_next\syst_helpers_process_comma_item_next_c} @@ -1298,7 +1353,10 @@ \fi \fi} -\def\syst_helpers_raw_process_action_gobble#0\ignorearguments +% \def\syst_helpers_raw_process_action_gobble#0\ignorearguments +% {} + +\def\syst_helpers_raw_process_action_gobble#-\ignorearguments {} \def\syst_helpers_raw_process_action_next @@ -1483,10 +1541,16 @@ \def\syst_helpers_grab_parameter_next {\expandafterspaces\syst_helpers_grab_parameter} -\unexpanded\def\dogetparameters#1[#2]#0[#4]% +% \unexpanded\def\dogetparameters#1[#2]#0[#4]% +% {\def\m_syst_parameter_n{#2}% +% \let\m_syst_parameter_s#1% +% \expandafterspaces\syst_helpers_grab_parameter#4\ignorearguments\ignorearguments} + +\unexpanded\def\dogetparameters#1[#2]#-[#3]% {\def\m_syst_parameter_n{#2}% \let\m_syst_parameter_s#1% - \expandafterspaces\syst_helpers_grab_parameter#4\ignorearguments\ignorearguments} + \expandafterspaces\syst_helpers_grab_parameter#3\ignorearguments\ignorearguments} + %D \macros %D {getemptyparameters} @@ -1634,7 +1698,7 @@ \def\commalistsize{0} -\def\syst_helpers_get_comma_list_size#0,% +\def\syst_helpers_get_comma_list_size#0,% no #- as we need to count {\ifarguments\or \advance\commalistcounter\plusone \expandafter\syst_helpers_get_comma_list_size @@ -1665,7 +1729,9 @@ %D Filters: -\def\syst_helpers_gobble_comma_list#0\ignorearguments{} +% \def\syst_helpers_gobble_comma_list#0\ignorearguments{} + +\def\syst_helpers_gobble_comma_list#-\ignorearguments{} \def\syst_helpers_get_from_comma_list#1,% {\ifarguments \or @@ -2505,32 +2571,59 @@ % \def\fifthofsixarguments #1#2#3#4#5#6{#5} % \def\sixthofsixarguments #1#2#3#4#5#6{#6} +% \def\firstofoneargument #1{#1} +% +% \def\firstoftwoarguments #1#0{#1} +% \def\secondoftwoarguments #0#2{#2} +% +% \def\firstofthreearguments #1#0#0{#1} +% \def\secondofthreearguments #0#2#0{#2} +% \def\thirdofthreearguments #0#0#3{#3} +% +% \def\firstoffourarguments #1#0#0#0{#1} +% \def\secondoffourarguments #0#2#0#0{#2} +% \def\thirdoffourarguments #0#0#3#0{#3} +% \def\fourthoffourarguments #0#0#0#4{#4} +% +% \def\firstoffivearguments #1#0#0#0#0{#1} +% \def\secondoffivearguments #0#2#0#0#0{#2} +% \def\thirdoffivearguments #0#0#3#0#0{#3} +% \def\fourthoffivearguments #0#0#0#4#0{#4} +% \def\fifthoffivearguments #0#0#0#0#5{#5} +% +% \def\firstofsixarguments #1#0#0#0#0#0{#1} +% \def\secondofsixarguments#0#2#0#0#0#0{#2} +% \def\thirdofsixarguments #0#0#3#0#0#0{#3} +% \def\fourthofsixarguments#0#0#0#4#0#0{#4} +% \def\fifthofsixarguments #0#0#0#0#5#0{#5} +% \def\sixthofsixarguments #0#0#0#0#0#6{#6} + \def\firstofoneargument #1{#1} -\def\firstoftwoarguments #1#0{#1} -\def\secondoftwoarguments #0#2{#2} +\def\firstoftwoarguments #1#-{#1} +\def\secondoftwoarguments #-#1{#1} -\def\firstofthreearguments #1#0#0{#1} -\def\secondofthreearguments #0#2#0{#2} -\def\thirdofthreearguments #0#0#3{#3} +\def\firstofthreearguments #1#-#-{#1} +\def\secondofthreearguments #-#1#-{#1} +\def\thirdofthreearguments #-#-#1{#1} -\def\firstoffourarguments #1#0#0#0{#1} -\def\secondoffourarguments #0#2#0#0{#2} -\def\thirdoffourarguments #0#0#3#0{#3} -\def\fourthoffourarguments #0#0#0#4{#4} +\def\firstoffourarguments #1#-#-#-{#1} +\def\secondoffourarguments #-#1#-#-{#1} +\def\thirdoffourarguments #-#-#1#-{#1} +\def\fourthoffourarguments #-#-#-#1{#1} -\def\firstoffivearguments #1#0#0#0#0{#1} -\def\secondoffivearguments #0#2#0#0#0{#2} -\def\thirdoffivearguments #0#0#3#0#0{#3} -\def\fourthoffivearguments #0#0#0#4#0{#4} -\def\fifthoffivearguments #0#0#0#0#5{#5} +\def\firstoffivearguments #1#-#-#-#-{#1} +\def\secondoffivearguments #-#1#-#-#-{#1} +\def\thirdoffivearguments #-#-#1#-#-{#1} +\def\fourthoffivearguments #-#-#-#1#-{#1} +\def\fifthoffivearguments #-#-#-#-#1{#1} -\def\firstofsixarguments #1#0#0#0#0#0{#1} -\def\secondofsixarguments#0#2#0#0#0#0{#2} -\def\thirdofsixarguments #0#0#3#0#0#0{#3} -\def\fourthofsixarguments#0#0#0#4#0#0{#4} -\def\fifthofsixarguments #0#0#0#0#5#0{#5} -\def\sixthofsixarguments #0#0#0#0#0#6{#6} +\def\firstofsixarguments #1#-#-#-#-#-{#1} +\def\secondofsixarguments#-#1#-#-#-#-{#1} +\def\thirdofsixarguments #-#-#1#-#-#-{#1} +\def\fourthofsixarguments#-#-#-#1#-#-{#1} +\def\fifthofsixarguments #-#-#-#-#1#-{#1} +\def\sixthofsixarguments #-#-#-#-#-#1{#1} % \unexpanded\def\firstofoneunexpanded #1{#1} % @@ -2541,14 +2634,23 @@ % \unexpanded\def\secondofthreeunexpanded#1#2#3{#2} % \unexpanded\def\thirdofthreeunexpanded #1#2#3{#3} +% \unexpanded\def\firstofoneunexpanded #1{#1} +% +% \unexpanded\def\firstoftwounexpanded #1#0{#1} +% \unexpanded\def\secondoftwounexpanded #0#2{#2} +% +% \unexpanded\def\firstofthreeunexpanded #1#0#0{#1} +% \unexpanded\def\secondofthreeunexpanded#0#2#0{#2} +% \unexpanded\def\thirdofthreeunexpanded #0#0#3{#3} + \unexpanded\def\firstofoneunexpanded #1{#1} -\unexpanded\def\firstoftwounexpanded #1#0{#1} -\unexpanded\def\secondoftwounexpanded #0#2{#2} +\unexpanded\def\firstoftwounexpanded #1#-{#1} +\unexpanded\def\secondoftwounexpanded #-#1{#1} -\unexpanded\def\firstofthreeunexpanded #1#0#0{#1} -\unexpanded\def\secondofthreeunexpanded#0#2#0{#2} -\unexpanded\def\thirdofthreeunexpanded #0#0#3{#3} +\unexpanded\def\firstofthreeunexpanded #1#-#-{#1} +\unexpanded\def\secondofthreeunexpanded#-#1#-{#1} +\unexpanded\def\thirdofthreeunexpanded #-#-#1{#1} %D \macros %D {globalletempty,letempty, @@ -2643,10 +2745,15 @@ \def\syst_helpers_grab_raw_parameter_next {\expandafterspaces\syst_helpers_grab_raw_parameter} -\unexpanded\def\rawgetparameters#1[#2]#0[#4]% +% \unexpanded\def\rawgetparameters#1[#2]#0[#4]% +% {\def\m_syst_parameter_n{#2}% +% %\expandafterspaces\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} +% \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} + +\unexpanded\def\rawgetparameters#1[#2]#-[#3]% {\def\m_syst_parameter_n{#2}% - %\expandafterspaces\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} - \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#4\ignorearguments\ignorearguments} + %\expandafterspaces\syst_helpers_grab_raw_parameter#3\ignorearguments\ignorearguments} + \expandafter\expandafterspaces\expandafter\syst_helpers_grab_raw_parameter#3\ignorearguments\ignorearguments} %D \macros %D {doglobal, @@ -3082,10 +3189,7 @@ \globalpushmacro\recurseaction \unexpanded\gdef\recurseaction##1##2{#1}% \let\endofloop\syst_helpers_loop - \syst_helpers_loop1% no \plusone else \recurselevel wrong - \globalpopmacro\recurselevel - \globalpopmacro\recurseaction - \global\advance\outerrecurse\minusone} + \syst_helpers_loop1}% no \plusone else \recurselevel wrong \unexpanded\def\syst_helpers_loop#1% {\def\recurselevel{#1}% @@ -3095,13 +3199,16 @@ {\syst_helpers_recurse_content \endofloop} -\unexpanded\def\syst_helpers_loop_nop#1% - {} +\unexpanded\def\syst_helpers_loop_nop#0% + {\let\endofloop\syst_helpers_loop + \globalpopmacro\recurselevel + \globalpopmacro\recurseaction + \global\advance\outerrecurse\minusone} \unexpanded\def\exitloop % \exitloop quits at end {\let\endofloop\syst_helpers_loop_nop} -\unexpanded\def\exitloopnow#1\endofloop % \exitloopnow quits directly +\unexpanded\def\exitloopnow#0\endofloop % \exitloopnow quits directly {\syst_helpers_loop_nop} %D The loop is executed at least once, so beware of situations like: @@ -3689,9 +3796,9 @@ % {} \unexpanded\def\gobbleuntil#1% - {\def\syst_helpers_gobble_indeed##0#1{}\syst_helpers_gobble_indeed} + {\def\syst_helpers_gobble_indeed##-#1{}\syst_helpers_gobble_indeed} -\unexpanded\def\gobbleuntilrelax#0\relax +\unexpanded\def\gobbleuntilrelax#-\relax {} %D The next one simply expands the pickup up tokens. @@ -4316,7 +4423,7 @@ \let\syst_helpers_split_string\relax \unexpanded\def\beforesplitstring#1\at#2\to#3% - {\def\syst_helpers_split_string##1#2##0^^^^0004% + {\def\syst_helpers_split_string##1#2##0^^^^0004% no #- as we need to count {\ifarguments \let#3\empty \or @@ -4327,7 +4434,7 @@ \expandafter\syst_helpers_split_string#1^^^^0004\ignorearguments\ignorearguments} \unexpanded\def\aftersplitstring#1\at#2\to#3% - {\def\syst_helpers_split_string##0#2##2^^^^0004% + {\def\syst_helpers_split_string##0#2##2^^^^0004% no #- as we need to count {\ifarguments \let#3\empty \or @@ -4387,7 +4494,7 @@ \let\beforetestandsplitstring\beforesplitstring \unexpanded\def\aftertestandsplitstring#1\at#2\to#3% - {\def\syst_helpers_split_string##0#2##2^^^^0004% + {\def\syst_helpers_split_string##0#2##2^^^^0004% no #- as we need to count {\ifarguments \let#3\empty \or @@ -4418,11 +4525,17 @@ %D splitatcolon, %D splitatcolons} -\unexpanded\def\syst_helpers_splitatperiod #1.#2.#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatcomma #1,#2,#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatasterisk #1*#2*#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatcolon #1:#2:#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} -\unexpanded\def\syst_helpers_splitatcolons #1::#2::#0^^^^0004#4#5{\edef#4{#1}\edef#5{#2}} +% \unexpanded\def\syst_helpers_splitatperiod #1.#2.#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatcomma #1,#2,#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatasterisk #1*#2*#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatcolon #1:#2:#0^^^^0004#4#5{\def #4{#1}\def #5{#2}} +% \unexpanded\def\syst_helpers_splitatcolons #1::#2::#0^^^^0004#4#5{\edef#4{#1}\edef#5{#2}} + +\unexpanded\def\syst_helpers_splitatperiod #1.#2.#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatcomma #1,#2,#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatasterisk #1*#2*#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatcolon #1:#2:#-^^^^0004#3#4{\def #3{#1}\def #4{#2}} +\unexpanded\def\syst_helpers_splitatcolons #1::#2::#-^^^^0004#3#4{\edef#3{#1}\edef#4{#2}} \unexpanded\def\splitatperiod #1{\normalexpanded{\syst_helpers_splitatperiod #1}..^^^^0004} \unexpanded\def\splitatcomma #1{\normalexpanded{\syst_helpers_splitatcomma #1},,^^^^0004} % not at ", " @@ -4528,14 +4641,16 @@ {\dodoglobal\edef#2{#1\ifempty#2\else,#2\fi}}} \unexpanded\def\xsplitstring#1#2% \cs {str} - {\def\syst_helpers_split_string##1,#2,##2,#2,##3\\% + %{\def\syst_helpers_split_string##1,#2,##2,#2,##3\\% + {\def\syst_helpers_split_string##1,#2,##2,#2,##-\\% {\edef\m_syst_string_one{\bcleanedupcommalist##1\empty\empty\relax}% \edef\m_syst_string_two{\acleanedupcommalist##2,,\relax}}% \expandafter\syst_helpers_split_string\expandafter,#1,,#2,,#2,\\} \def\bcleanedupcommalist#1#2#3\relax{\if#1,\else#1\fi\if#2,\else#2\fi#3} \def\bcleanedupcommalist#1#2\relax{\if#1,\else#1\fi#2} -\def\acleanedupcommalist#1,,#2\relax{#1} +%def\acleanedupcommalist#1,,#2\relax{#1} +\def\acleanedupcommalist#1,,#-\relax{#1} \unexpanded\def\removefromcommalist#1#2% to be sped up {\rawdoifelseinset{#1}#2% @@ -4694,8 +4809,7 @@ % \def\PtToCm#1% % {\withoutpt\the\dimexpr0.0351459804\dimexpr#1\relax\relax cm} -\def\PtToCm#1% - {\thewithoutunit\dimexpr0.0351459804\dimexpr#1\relax\relax cm} +\def\PtToCm#1{\thewithoutunit\dimexpr0.0351459804\dimexpr#1\relax\relax cm} %D We also support: %D @@ -5228,9 +5342,16 @@ %D This command can be integrated in \type {\getparameters}, but we decided best not %D to do so. +% \unexpanded\def\processassignlist#1[#2]#3% +% {\def\syst_helpers_process_assign_list_assign[##1=##2=##3]% +% {\doif{##3}\relax{#3{##1}}}% +% \def\syst_helpers_process_assign_list_step##1% +% {\syst_helpers_process_assign_list_assign[##1==\relax]}% +% \processcommalist[#2]\syst_helpers_process_assign_list_step} + \unexpanded\def\processassignlist#1[#2]#3% - {\def\syst_helpers_process_assign_list_assign[##1=##2=##3]% - {\doif{##3}\relax{#3{##1}}}% + {\def\syst_helpers_process_assign_list_assign[##1=##-=##2]% + {\doif{##2}\relax{#3{##1}}}% \def\syst_helpers_process_assign_list_step##1% {\syst_helpers_process_assign_list_assign[##1==\relax]}% \processcommalist[#2]\syst_helpers_process_assign_list_step} @@ -6293,7 +6414,10 @@ \def\docheckedpair#1% {\syst_helpers_checked_pair#1,,\_o_e_p_} -\def\syst_helpers_checked_pair#1,#2,#0\_o_e_p_ +% \def\syst_helpers_checked_pair#1,#2,#0\_o_e_p_ +% {#1,#2} + +\def\syst_helpers_checked_pair#1,#2,#-\_o_e_p_ {#1,#2} %D Here are some nasty helpers. They can be used to fill often expanded token diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv index 3e71e0893..1de243a6d 100644 --- a/tex/context/base/mkiv/syst-ini.mkiv +++ b/tex/context/base/mkiv/syst-ini.mkiv @@ -58,7 +58,9 @@ \chardef\primeasciicode 39 % ' \chardef\leftparentasciicode 40 \chardef\rightparentasciicode 41 +\chardef\commaasciicode 44 \chardef\hyphenasciicode 45 +\chardef\periodasciicode 46 \chardef\forwardslashasciicode 47 % / \chardef\colonasciicode 58 \chardef\lessthanasciicode 60 % < used as alternative verbatim { diff --git a/tex/context/base/mkiv/syst-ini.mkxl b/tex/context/base/mkiv/syst-ini.mkxl index 09ab93d58..a4c355bba 100644 --- a/tex/context/base/mkiv/syst-ini.mkxl +++ b/tex/context/base/mkiv/syst-ini.mkxl @@ -58,7 +58,9 @@ \chardef\primeasciicode 39 % ' \chardef\leftparentasciicode 40 \chardef\rightparentasciicode 41 +\chardef\commaasciicode 44 \chardef\hyphenasciicode 45 +\chardef\periodasciicode 46 \chardef\forwardslashasciicode 47 % / \chardef\colonasciicode 58 \chardef\lessthanasciicode 60 % < used as alternative verbatim { diff --git a/tex/context/base/mkiv/toks-ini.lua b/tex/context/base/mkiv/toks-ini.lua index f38cf915f..da5affa63 100644 --- a/tex/context/base/mkiv/toks-ini.lua +++ b/tex/context/base/mkiv/toks-ini.lua @@ -67,7 +67,7 @@ local scan_luainteger = token.scan_luainteger or scan_int -- only lmtx local scan_luacardinal = token.scan_luacardinal or scan_int -- only lmtx local get_next = token.get_next -local get_next_token = token.get_next_token +----- get_next_token = token.get_next_token local skip_next = token.skip_next local peek_next_char = token.peek_next_char local is_next_char = token.is_next_char @@ -90,6 +90,9 @@ tokens.istoken = is_token tokens.isdefined = is_defined tokens.defined = is_defined +tokens.getdata = token.get_data -- only lmtx +tokens.setdata = token.set_data -- only lmtx + local bits = { escape = 0x00000001, -- 2^00 begingroup = 0x00000002, -- 2^01 @@ -278,6 +281,7 @@ if setinspector then frozen = t.frozen, mode = t.mode, index = t.index, + user = t.user, cmdname = cmdname, } end @@ -298,3 +302,18 @@ tokens.cache = table.setmetatableindex(function(t,k) t[k] = v return v end) + +if LUATEXVERSION < 114 and CONTEXTLMTXMODE == 0 then + + local d = tokens.defined + local c = tokens.create + + function tokens.defined(s,b) + if b then + return d(s) + else + return c(s).cmd_name == "undefined_cmd" + end + end + +end diff --git a/tex/context/base/mkiv/type-ini.mklx b/tex/context/base/mkiv/type-ini.mklx index b4eee64d8..c710fbec5 100644 --- a/tex/context/base/mkiv/type-ini.mklx +++ b/tex/context/base/mkiv/type-ini.mklx @@ -277,7 +277,7 @@ \expandafter\font_typescripts_start_gobble \fi} -\def\font_typescripts_start_gobble#definitions\stoptypescript{} +\def\font_typescripts_start_gobble#ignore\stoptypescript{} \def\font_typescripts_start_document#definitions\stoptypescript {\toksapp\c_font_typescripts_document{\starttypescript#definitions\stoptypescript}} diff --git a/tex/context/interface/mkii/keys-it.xml b/tex/context/interface/mkii/keys-it.xml index 7ae291cf0..881705608 100644 --- a/tex/context/interface/mkii/keys-it.xml +++ b/tex/context/interface/mkii/keys-it.xml @@ -913,7 +913,10 @@ + + + diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml index 33ee652e1..ff6203585 100644 --- a/tex/context/interface/mkiv/context-en.xml +++ b/tex/context/interface/mkiv/context-en.xml @@ -931,6 +931,20 @@ + + + + + + + + + + + + + + @@ -1368,6 +1382,8 @@ + + @@ -4383,6 +4399,19 @@ + + + + + + + + + + + + + @@ -6206,28 +6235,28 @@ - + - + - + - + @@ -6269,6 +6298,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6345,40 +6402,52 @@ - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + - - + + + + + + + + + + + + @@ -6537,6 +6606,8 @@ + + @@ -6710,6 +6781,20 @@ + + + + + + + + + + + + + + @@ -6731,9 +6816,65 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10565,6 +10706,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11336,6 +11506,11 @@ + + + + + @@ -11833,7 +12008,11 @@ - + + + + + @@ -11844,6 +12023,13 @@ + + + + + + + @@ -12749,6 +12935,9 @@ + + + @@ -13419,6 +13608,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14740,6 +14967,11 @@ + + + + + @@ -14898,6 +15130,16 @@ + + + + + + + + + + @@ -15235,6 +15477,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -15826,6 +16092,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -15856,7 +16145,7 @@ - + @@ -21048,10 +21337,11 @@ - + + @@ -21625,11 +21915,15 @@ + + + + @@ -22105,6 +22399,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22643,6 +23007,7 @@ + @@ -22736,6 +23101,7 @@ + @@ -22765,6 +23131,7 @@ + @@ -22794,6 +23161,7 @@ + @@ -22805,6 +23173,7 @@ + @@ -22924,9 +23293,9 @@ - + - + @@ -24769,14 +25138,40 @@ - + + + + + + + + + + + + + + - + + + + + + + + + + + + + + @@ -24787,7 +25182,20 @@ - + + + + + + + + + + + + + + @@ -24797,7 +25205,20 @@ - + + + + + + + + + + + + + + @@ -24823,6 +25244,7 @@ + @@ -25110,14 +25532,40 @@ - + + + + + + + + + + + + + + - + + + + + + + + + + + + + + @@ -26848,6 +27296,9 @@ + + + @@ -27571,6 +28022,7 @@ + @@ -27602,6 +28054,7 @@ + @@ -33840,6 +34293,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -37987,7 +38467,18 @@ - + + + + + + + + + + + + @@ -43654,6 +44145,7 @@ + @@ -43663,6 +44155,7 @@ + @@ -44155,7 +44648,7 @@ - + @@ -44163,14 +44656,15 @@ - - - + - + - + + + + @@ -44322,43 +44816,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tex/context/interface/mkiv/i-accent.xml b/tex/context/interface/mkiv/i-accent.xml index 190e1faa9..1b9560cb1 100644 --- a/tex/context/interface/mkiv/i-accent.xml +++ b/tex/context/interface/mkiv/i-accent.xml @@ -261,4 +261,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-anchor.xml b/tex/context/interface/mkiv/i-anchor.xml index c8dad56d5..b3c366cfd 100644 --- a/tex/context/interface/mkiv/i-anchor.xml +++ b/tex/context/interface/mkiv/i-anchor.xml @@ -32,4 +32,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-attachment.xml b/tex/context/interface/mkiv/i-attachment.xml index 550cc57ce..ed7586000 100644 --- a/tex/context/interface/mkiv/i-attachment.xml +++ b/tex/context/interface/mkiv/i-attachment.xml @@ -160,4 +160,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-attribute.xml b/tex/context/interface/mkiv/i-attribute.xml index 0ea4ce7c0..f1117cf04 100644 --- a/tex/context/interface/mkiv/i-attribute.xml +++ b/tex/context/interface/mkiv/i-attribute.xml @@ -95,4 +95,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-backend.xml b/tex/context/interface/mkiv/i-backend.xml index d0bdb4853..ccb948e9b 100644 --- a/tex/context/interface/mkiv/i-backend.xml +++ b/tex/context/interface/mkiv/i-backend.xml @@ -86,4 +86,19 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-blackrule.xml b/tex/context/interface/mkiv/i-blackrule.xml index 0463f21ed..d9561a59f 100644 --- a/tex/context/interface/mkiv/i-blackrule.xml +++ b/tex/context/interface/mkiv/i-blackrule.xml @@ -110,9 +110,11 @@ + + - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-bleed.xml b/tex/context/interface/mkiv/i-bleed.xml index ee860b85f..f48b9d40c 100644 --- a/tex/context/interface/mkiv/i-bleed.xml +++ b/tex/context/interface/mkiv/i-bleed.xml @@ -61,4 +61,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-bookmark.xml b/tex/context/interface/mkiv/i-bookmark.xml index 3dbfa3406..4b02ab7d1 100644 --- a/tex/context/interface/mkiv/i-bookmark.xml +++ b/tex/context/interface/mkiv/i-bookmark.xml @@ -76,4 +76,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-buffer.xml b/tex/context/interface/mkiv/i-buffer.xml index f08cb8ca4..b166c84b1 100644 --- a/tex/context/interface/mkiv/i-buffer.xml +++ b/tex/context/interface/mkiv/i-buffer.xml @@ -231,4 +231,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-capitals.xml b/tex/context/interface/mkiv/i-capitals.xml index 6115b1519..03d8d7f8b 100644 --- a/tex/context/interface/mkiv/i-capitals.xml +++ b/tex/context/interface/mkiv/i-capitals.xml @@ -223,4 +223,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-catcodes.xml b/tex/context/interface/mkiv/i-catcodes.xml index 351e8f6e4..75a17a0e4 100644 --- a/tex/context/interface/mkiv/i-catcodes.xml +++ b/tex/context/interface/mkiv/i-catcodes.xml @@ -120,4 +120,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-characteralign.xml b/tex/context/interface/mkiv/i-characteralign.xml index b95ff8487..d2aa3f9eb 100644 --- a/tex/context/interface/mkiv/i-characteralign.xml +++ b/tex/context/interface/mkiv/i-characteralign.xml @@ -93,4 +93,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-characterspacing.xml b/tex/context/interface/mkiv/i-characterspacing.xml index 0247115a3..6c43db076 100644 --- a/tex/context/interface/mkiv/i-characterspacing.xml +++ b/tex/context/interface/mkiv/i-characterspacing.xml @@ -40,4 +40,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-characterstripping.xml b/tex/context/interface/mkiv/i-characterstripping.xml index 5c776e3ab..ee9750f3e 100644 --- a/tex/context/interface/mkiv/i-characterstripping.xml +++ b/tex/context/interface/mkiv/i-characterstripping.xml @@ -17,4 +17,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-chart.xml b/tex/context/interface/mkiv/i-chart.xml index 43672efa0..7f0a51393 100644 --- a/tex/context/interface/mkiv/i-chart.xml +++ b/tex/context/interface/mkiv/i-chart.xml @@ -541,4 +541,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-charwidth.xml b/tex/context/interface/mkiv/i-charwidth.xml index dc19713f3..14d5d71ed 100644 --- a/tex/context/interface/mkiv/i-charwidth.xml +++ b/tex/context/interface/mkiv/i-charwidth.xml @@ -14,4 +14,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-chemical.xml b/tex/context/interface/mkiv/i-chemical.xml index a2df03ede..2d2498797 100644 --- a/tex/context/interface/mkiv/i-chemical.xml +++ b/tex/context/interface/mkiv/i-chemical.xml @@ -252,4 +252,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-cleaning.xml b/tex/context/interface/mkiv/i-cleaning.xml index dd54fdacc..f5f7b353a 100644 --- a/tex/context/interface/mkiv/i-cleaning.xml +++ b/tex/context/interface/mkiv/i-cleaning.xml @@ -35,6 +35,14 @@ + + + + + + + + diff --git a/tex/context/interface/mkiv/i-clipping.xml b/tex/context/interface/mkiv/i-clipping.xml index c823b102d..2eda483b6 100644 --- a/tex/context/interface/mkiv/i-clipping.xml +++ b/tex/context/interface/mkiv/i-clipping.xml @@ -75,4 +75,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-collector.xml b/tex/context/interface/mkiv/i-collector.xml index 6642e6980..8531d4009 100644 --- a/tex/context/interface/mkiv/i-collector.xml +++ b/tex/context/interface/mkiv/i-collector.xml @@ -111,4 +111,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-color.xml b/tex/context/interface/mkiv/i-color.xml index 6a4042ae8..ee5597e95 100644 --- a/tex/context/interface/mkiv/i-color.xml +++ b/tex/context/interface/mkiv/i-color.xml @@ -610,4 +610,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-columns.xml b/tex/context/interface/mkiv/i-columns.xml index aa290a0a9..d112efeb9 100644 --- a/tex/context/interface/mkiv/i-columns.xml +++ b/tex/context/interface/mkiv/i-columns.xml @@ -81,9 +81,40 @@ - + + + - + @@ -100,12 +131,4 @@ - - - - - - - - - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-combination.xml b/tex/context/interface/mkiv/i-combination.xml index bd732c264..d2d07f06e 100644 --- a/tex/context/interface/mkiv/i-combination.xml +++ b/tex/context/interface/mkiv/i-combination.xml @@ -128,4 +128,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-comment.xml b/tex/context/interface/mkiv/i-comment.xml index a1eb14d23..913b8e152 100644 --- a/tex/context/interface/mkiv/i-comment.xml +++ b/tex/context/interface/mkiv/i-comment.xml @@ -153,4 +153,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-common-argument.xml b/tex/context/interface/mkiv/i-common-argument.xml index 89ce1904b..5741a1c8a 100644 --- a/tex/context/interface/mkiv/i-common-argument.xml +++ b/tex/context/interface/mkiv/i-common-argument.xml @@ -565,4 +565,33 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-common-assignment.xml b/tex/context/interface/mkiv/i-common-assignment.xml index 900a75452..f9d296484 100644 --- a/tex/context/interface/mkiv/i-common-assignment.xml +++ b/tex/context/interface/mkiv/i-common-assignment.xml @@ -333,4 +333,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-common-definitions.xml b/tex/context/interface/mkiv/i-common-definitions.xml index 54e729aa4..9f6d461f9 100644 --- a/tex/context/interface/mkiv/i-common-definitions.xml +++ b/tex/context/interface/mkiv/i-common-definitions.xml @@ -9,4 +9,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-common-instance.xml b/tex/context/interface/mkiv/i-common-instance.xml index 3d4864de7..74d30263a 100644 --- a/tex/context/interface/mkiv/i-common-instance.xml +++ b/tex/context/interface/mkiv/i-common-instance.xml @@ -431,4 +431,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-common-keyword.xml b/tex/context/interface/mkiv/i-common-keyword.xml index 8469dab2f..19a4e18c7 100644 --- a/tex/context/interface/mkiv/i-common-keyword.xml +++ b/tex/context/interface/mkiv/i-common-keyword.xml @@ -809,4 +809,26 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-common-string.xml b/tex/context/interface/mkiv/i-common-string.xml index 0c0bb2ef3..abcd8a78f 100644 --- a/tex/context/interface/mkiv/i-common-string.xml +++ b/tex/context/interface/mkiv/i-common-string.xml @@ -191,4 +191,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-common-value.xml b/tex/context/interface/mkiv/i-common-value.xml index d34e1fc7d..c3caf1062 100644 --- a/tex/context/interface/mkiv/i-common-value.xml +++ b/tex/context/interface/mkiv/i-common-value.xml @@ -174,6 +174,7 @@ + @@ -914,4 +915,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-context-modules.xml b/tex/context/interface/mkiv/i-context-modules.xml index 85194c6ec..319ba53df 100644 --- a/tex/context/interface/mkiv/i-context-modules.xml +++ b/tex/context/interface/mkiv/i-context-modules.xml @@ -37,4 +37,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf index 018ee8cb5..ca7a9bbbf 100644 Binary files a/tex/context/interface/mkiv/i-context.pdf and b/tex/context/interface/mkiv/i-context.pdf differ diff --git a/tex/context/interface/mkiv/i-context.xml b/tex/context/interface/mkiv/i-context.xml index 17ef0636a..cb82fb4a4 100644 --- a/tex/context/interface/mkiv/i-context.xml +++ b/tex/context/interface/mkiv/i-context.xml @@ -56,6 +56,9 @@ + @@ -124,6 +127,7 @@ + @@ -134,6 +138,9 @@ + @@ -215,6 +222,9 @@ + diff --git a/tex/context/interface/mkiv/i-contextname.xml b/tex/context/interface/mkiv/i-contextname.xml index 3e289f3f5..c1b7d85cb 100644 --- a/tex/context/interface/mkiv/i-contextname.xml +++ b/tex/context/interface/mkiv/i-contextname.xml @@ -2350,4 +2350,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-conversion.xml b/tex/context/interface/mkiv/i-conversion.xml index 80db79cad..4c8c9683e 100644 --- a/tex/context/interface/mkiv/i-conversion.xml +++ b/tex/context/interface/mkiv/i-conversion.xml @@ -214,25 +214,25 @@ - + - + - + - + @@ -268,6 +268,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -318,40 +342,52 @@ - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + - - + + + + + + + + + + + + @@ -496,6 +532,8 @@ + + @@ -631,6 +669,18 @@ + + + + + + + + + + + + @@ -649,10 +699,58 @@ - + - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-counter.xml b/tex/context/interface/mkiv/i-counter.xml index ec841a597..bba8004f0 100644 --- a/tex/context/interface/mkiv/i-counter.xml +++ b/tex/context/interface/mkiv/i-counter.xml @@ -514,4 +514,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-database.xml b/tex/context/interface/mkiv/i-database.xml index a81cd75f8..24ae7ac1e 100644 --- a/tex/context/interface/mkiv/i-database.xml +++ b/tex/context/interface/mkiv/i-database.xml @@ -115,4 +115,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-dataset.xml b/tex/context/interface/mkiv/i-dataset.xml index c006454d3..afb8f8fa3 100644 --- a/tex/context/interface/mkiv/i-dataset.xml +++ b/tex/context/interface/mkiv/i-dataset.xml @@ -48,4 +48,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-define.xml b/tex/context/interface/mkiv/i-define.xml index 91975e752..f37645cf1 100644 --- a/tex/context/interface/mkiv/i-define.xml +++ b/tex/context/interface/mkiv/i-define.xml @@ -20,4 +20,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-digits.xml b/tex/context/interface/mkiv/i-digits.xml index c917bf0d4..f962ac734 100644 --- a/tex/context/interface/mkiv/i-digits.xml +++ b/tex/context/interface/mkiv/i-digits.xml @@ -23,4 +23,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-dimension.xml b/tex/context/interface/mkiv/i-dimension.xml index 1980687ab..bb7c3bfa7 100644 --- a/tex/context/interface/mkiv/i-dimension.xml +++ b/tex/context/interface/mkiv/i-dimension.xml @@ -64,4 +64,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-direction.xml b/tex/context/interface/mkiv/i-direction.xml index 87e64e457..a29314549 100644 --- a/tex/context/interface/mkiv/i-direction.xml +++ b/tex/context/interface/mkiv/i-direction.xml @@ -52,4 +52,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-document.xml b/tex/context/interface/mkiv/i-document.xml index 178f7e9fe..5886aa8eb 100644 --- a/tex/context/interface/mkiv/i-document.xml +++ b/tex/context/interface/mkiv/i-document.xml @@ -248,4 +248,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-dummy.xml b/tex/context/interface/mkiv/i-dummy.xml index 47d005e20..dfb3bcf5b 100644 --- a/tex/context/interface/mkiv/i-dummy.xml +++ b/tex/context/interface/mkiv/i-dummy.xml @@ -55,4 +55,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-enumeration.xml b/tex/context/interface/mkiv/i-enumeration.xml index 0f286b8b5..ab10e0bf1 100644 --- a/tex/context/interface/mkiv/i-enumeration.xml +++ b/tex/context/interface/mkiv/i-enumeration.xml @@ -226,4 +226,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-export.xml b/tex/context/interface/mkiv/i-export.xml index 3c3afff2b..07156c95b 100644 --- a/tex/context/interface/mkiv/i-export.xml +++ b/tex/context/interface/mkiv/i-export.xml @@ -74,4 +74,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-field.xml b/tex/context/interface/mkiv/i-field.xml index 7a67786f9..04f947144 100644 --- a/tex/context/interface/mkiv/i-field.xml +++ b/tex/context/interface/mkiv/i-field.xml @@ -380,4 +380,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-file.xml b/tex/context/interface/mkiv/i-file.xml index bf12e5825..df649e8e0 100644 --- a/tex/context/interface/mkiv/i-file.xml +++ b/tex/context/interface/mkiv/i-file.xml @@ -407,4 +407,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-fillinline.xml b/tex/context/interface/mkiv/i-fillinline.xml index eb2f9d6ae..614a9bc99 100644 --- a/tex/context/interface/mkiv/i-fillinline.xml +++ b/tex/context/interface/mkiv/i-fillinline.xml @@ -40,4 +40,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-fillinrule.xml b/tex/context/interface/mkiv/i-fillinrule.xml index d73b70ff9..9802b4fbb 100644 --- a/tex/context/interface/mkiv/i-fillinrule.xml +++ b/tex/context/interface/mkiv/i-fillinrule.xml @@ -63,4 +63,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-firstline.xml b/tex/context/interface/mkiv/i-firstline.xml index b22035651..074326769 100644 --- a/tex/context/interface/mkiv/i-firstline.xml +++ b/tex/context/interface/mkiv/i-firstline.xml @@ -49,4 +49,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-fittingpage.xml b/tex/context/interface/mkiv/i-fittingpage.xml index f5daafcf1..309e6c542 100644 --- a/tex/context/interface/mkiv/i-fittingpage.xml +++ b/tex/context/interface/mkiv/i-fittingpage.xml @@ -100,4 +100,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-floats.xml b/tex/context/interface/mkiv/i-floats.xml index b37953746..afb945e3e 100644 --- a/tex/context/interface/mkiv/i-floats.xml +++ b/tex/context/interface/mkiv/i-floats.xml @@ -521,6 +521,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -555,4 +556,26 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-help.xml b/tex/context/interface/mkiv/i-help.xml index 6e8612c5a..f1cd9907f 100644 --- a/tex/context/interface/mkiv/i-help.xml +++ b/tex/context/interface/mkiv/i-help.xml @@ -86,4 +86,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-hemistich.xml b/tex/context/interface/mkiv/i-hemistich.xml index a508c51f8..9337315cd 100644 --- a/tex/context/interface/mkiv/i-hemistich.xml +++ b/tex/context/interface/mkiv/i-hemistich.xml @@ -89,4 +89,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-highlight.xml b/tex/context/interface/mkiv/i-highlight.xml index 9da39818e..35e954148 100644 --- a/tex/context/interface/mkiv/i-highlight.xml +++ b/tex/context/interface/mkiv/i-highlight.xml @@ -61,4 +61,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-hspace.xml b/tex/context/interface/mkiv/i-hspace.xml index 31c215864..d807fbb57 100644 --- a/tex/context/interface/mkiv/i-hspace.xml +++ b/tex/context/interface/mkiv/i-hspace.xml @@ -167,4 +167,26 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-hyphenation.xml b/tex/context/interface/mkiv/i-hyphenation.xml index 75cdbae75..4ab4fe1d8 100644 --- a/tex/context/interface/mkiv/i-hyphenation.xml +++ b/tex/context/interface/mkiv/i-hyphenation.xml @@ -34,7 +34,7 @@ - + @@ -261,4 +261,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-imposition.xml b/tex/context/interface/mkiv/i-imposition.xml index 68ba5893d..ad05424ce 100644 --- a/tex/context/interface/mkiv/i-imposition.xml +++ b/tex/context/interface/mkiv/i-imposition.xml @@ -79,4 +79,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-indentedtext.xml b/tex/context/interface/mkiv/i-indentedtext.xml index 8d19c321f..4921115a5 100644 --- a/tex/context/interface/mkiv/i-indentedtext.xml +++ b/tex/context/interface/mkiv/i-indentedtext.xml @@ -69,4 +69,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-injector.xml b/tex/context/interface/mkiv/i-injector.xml index 3728d7bb8..2ba2a5da2 100644 --- a/tex/context/interface/mkiv/i-injector.xml +++ b/tex/context/interface/mkiv/i-injector.xml @@ -70,4 +70,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-insertion.xml b/tex/context/interface/mkiv/i-insertion.xml index c8c4ed721..8bb52616b 100644 --- a/tex/context/interface/mkiv/i-insertion.xml +++ b/tex/context/interface/mkiv/i-insertion.xml @@ -45,4 +45,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-interaction.xml b/tex/context/interface/mkiv/i-interaction.xml index 2496e5d94..36c0c3572 100644 --- a/tex/context/interface/mkiv/i-interaction.xml +++ b/tex/context/interface/mkiv/i-interaction.xml @@ -157,4 +157,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-interactionbar.xml b/tex/context/interface/mkiv/i-interactionbar.xml index e03d2a071..8981c6e2b 100644 --- a/tex/context/interface/mkiv/i-interactionbar.xml +++ b/tex/context/interface/mkiv/i-interactionbar.xml @@ -97,4 +97,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-interactionmenu.xml b/tex/context/interface/mkiv/i-interactionmenu.xml index 32fac36f9..26b7eabe8 100644 --- a/tex/context/interface/mkiv/i-interactionmenu.xml +++ b/tex/context/interface/mkiv/i-interactionmenu.xml @@ -277,4 +277,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-interface.xml b/tex/context/interface/mkiv/i-interface.xml index 66b48535e..08c273812 100644 --- a/tex/context/interface/mkiv/i-interface.xml +++ b/tex/context/interface/mkiv/i-interface.xml @@ -199,4 +199,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-interlinespace.xml b/tex/context/interface/mkiv/i-interlinespace.xml index 94911afb9..e0fbe0dca 100644 --- a/tex/context/interface/mkiv/i-interlinespace.xml +++ b/tex/context/interface/mkiv/i-interlinespace.xml @@ -173,4 +173,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-ipsum.xml b/tex/context/interface/mkiv/i-ipsum.xml index b3fb7cfdd..3cb4a5350 100644 --- a/tex/context/interface/mkiv/i-ipsum.xml +++ b/tex/context/interface/mkiv/i-ipsum.xml @@ -78,4 +78,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-italiccorrection.xml b/tex/context/interface/mkiv/i-italiccorrection.xml index 2d406bdf5..4522634fc 100644 --- a/tex/context/interface/mkiv/i-italiccorrection.xml +++ b/tex/context/interface/mkiv/i-italiccorrection.xml @@ -29,4 +29,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-items.xml b/tex/context/interface/mkiv/i-items.xml index ab50b669d..6ff396bed 100644 --- a/tex/context/interface/mkiv/i-items.xml +++ b/tex/context/interface/mkiv/i-items.xml @@ -82,4 +82,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-javascript.xml b/tex/context/interface/mkiv/i-javascript.xml index e97c5109c..1c3f11f63 100644 --- a/tex/context/interface/mkiv/i-javascript.xml +++ b/tex/context/interface/mkiv/i-javascript.xml @@ -48,4 +48,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-kerning.xml b/tex/context/interface/mkiv/i-kerning.xml index 64a2513b9..a467a11f5 100644 --- a/tex/context/interface/mkiv/i-kerning.xml +++ b/tex/context/interface/mkiv/i-kerning.xml @@ -122,4 +122,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-label.xml b/tex/context/interface/mkiv/i-label.xml index a1d36ef43..9faf850a5 100644 --- a/tex/context/interface/mkiv/i-label.xml +++ b/tex/context/interface/mkiv/i-label.xml @@ -221,4 +221,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-labeltext.xml b/tex/context/interface/mkiv/i-labeltext.xml index 7ad6b6ba8..47bdd23af 100644 --- a/tex/context/interface/mkiv/i-labeltext.xml +++ b/tex/context/interface/mkiv/i-labeltext.xml @@ -520,4 +520,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-layer.xml b/tex/context/interface/mkiv/i-layer.xml index 77aaf7d52..a851b64bd 100644 --- a/tex/context/interface/mkiv/i-layer.xml +++ b/tex/context/interface/mkiv/i-layer.xml @@ -324,4 +324,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-layout.xml b/tex/context/interface/mkiv/i-layout.xml index ff5a0e57b..2f918bf0d 100644 --- a/tex/context/interface/mkiv/i-layout.xml +++ b/tex/context/interface/mkiv/i-layout.xml @@ -387,4 +387,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-linenumber.xml b/tex/context/interface/mkiv/i-linenumber.xml index 3dc562e68..4aa68c319 100644 --- a/tex/context/interface/mkiv/i-linenumber.xml +++ b/tex/context/interface/mkiv/i-linenumber.xml @@ -169,4 +169,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-lines.xml b/tex/context/interface/mkiv/i-lines.xml index 500786276..dcaca281e 100644 --- a/tex/context/interface/mkiv/i-lines.xml +++ b/tex/context/interface/mkiv/i-lines.xml @@ -120,4 +120,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-linetable.xml b/tex/context/interface/mkiv/i-linetable.xml index a515f40fd..756b20d5d 100644 --- a/tex/context/interface/mkiv/i-linetable.xml +++ b/tex/context/interface/mkiv/i-linetable.xml @@ -162,4 +162,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-linewidth.xml b/tex/context/interface/mkiv/i-linewidth.xml index 6d9043a1f..e276572af 100644 --- a/tex/context/interface/mkiv/i-linewidth.xml +++ b/tex/context/interface/mkiv/i-linewidth.xml @@ -17,4 +17,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-list.xml b/tex/context/interface/mkiv/i-list.xml index a3ae22676..ac20aefff 100644 --- a/tex/context/interface/mkiv/i-list.xml +++ b/tex/context/interface/mkiv/i-list.xml @@ -101,10 +101,11 @@ - + + @@ -680,4 +681,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-logo.xml b/tex/context/interface/mkiv/i-logo.xml index 3208555e0..d345d76c8 100644 --- a/tex/context/interface/mkiv/i-logo.xml +++ b/tex/context/interface/mkiv/i-logo.xml @@ -7,6 +7,11 @@ + + @@ -23,12 +28,16 @@ + + + + diff --git a/tex/context/interface/mkiv/i-lohi.xml b/tex/context/interface/mkiv/i-lohi.xml index c174a9f54..035c7b23b 100644 --- a/tex/context/interface/mkiv/i-lohi.xml +++ b/tex/context/interface/mkiv/i-lohi.xml @@ -226,4 +226,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-lua.xml b/tex/context/interface/mkiv/i-lua.xml index c7f114251..94f25d0f7 100644 --- a/tex/context/interface/mkiv/i-lua.xml +++ b/tex/context/interface/mkiv/i-lua.xml @@ -190,4 +190,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-luatable.xml b/tex/context/interface/mkiv/i-luatable.xml new file mode 100644 index 000000000..a2eb74d82 --- /dev/null +++ b/tex/context/interface/mkiv/i-luatable.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-makeup.xml b/tex/context/interface/mkiv/i-makeup.xml index dc2bd9ad4..fee025a9a 100644 --- a/tex/context/interface/mkiv/i-makeup.xml +++ b/tex/context/interface/mkiv/i-makeup.xml @@ -173,4 +173,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-marginblock.xml b/tex/context/interface/mkiv/i-marginblock.xml index 0d0e3c2b4..fffa32113 100644 --- a/tex/context/interface/mkiv/i-marginblock.xml +++ b/tex/context/interface/mkiv/i-marginblock.xml @@ -84,4 +84,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-margindata.xml b/tex/context/interface/mkiv/i-margindata.xml index a157aaf9c..cb97090b6 100644 --- a/tex/context/interface/mkiv/i-margindata.xml +++ b/tex/context/interface/mkiv/i-margindata.xml @@ -430,4 +430,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-marker.xml b/tex/context/interface/mkiv/i-marker.xml index 2db8a9de1..8dc6ba978 100644 --- a/tex/context/interface/mkiv/i-marker.xml +++ b/tex/context/interface/mkiv/i-marker.xml @@ -30,4 +30,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-marking.xml b/tex/context/interface/mkiv/i-marking.xml index 914922cf2..bd0d9b45b 100644 --- a/tex/context/interface/mkiv/i-marking.xml +++ b/tex/context/interface/mkiv/i-marking.xml @@ -88,6 +88,7 @@ + @@ -131,6 +132,7 @@ + @@ -144,6 +146,7 @@ + @@ -157,6 +160,7 @@ + @@ -167,8 +171,9 @@ + - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-math.xml b/tex/context/interface/mkiv/i-math.xml index 888d2bac5..1f2255cef 100644 --- a/tex/context/interface/mkiv/i-math.xml +++ b/tex/context/interface/mkiv/i-math.xml @@ -111,9 +111,9 @@ - + - + @@ -567,4 +567,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-mathalignment.xml b/tex/context/interface/mkiv/i-mathalignment.xml index 325b288c7..be1c86c5d 100644 --- a/tex/context/interface/mkiv/i-mathalignment.xml +++ b/tex/context/interface/mkiv/i-mathalignment.xml @@ -87,4 +87,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-mathcases.xml b/tex/context/interface/mkiv/i-mathcases.xml index 837f2b782..76af5a4f8 100644 --- a/tex/context/interface/mkiv/i-mathcases.xml +++ b/tex/context/interface/mkiv/i-mathcases.xml @@ -75,4 +75,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-mathname.xml b/tex/context/interface/mkiv/i-mathname.xml index 63dab0991..29b8ad32f 100644 --- a/tex/context/interface/mkiv/i-mathname.xml +++ b/tex/context/interface/mkiv/i-mathname.xml @@ -1088,4 +1088,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-mathornament.xml b/tex/context/interface/mkiv/i-mathornament.xml index 70100b8e4..11f630c65 100644 --- a/tex/context/interface/mkiv/i-mathornament.xml +++ b/tex/context/interface/mkiv/i-mathornament.xml @@ -43,4 +43,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-mathradical.xml b/tex/context/interface/mkiv/i-mathradical.xml index a7ba93b75..9a29ad82b 100644 --- a/tex/context/interface/mkiv/i-mathradical.xml +++ b/tex/context/interface/mkiv/i-mathradical.xml @@ -53,4 +53,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-metapost.xml b/tex/context/interface/mkiv/i-metapost.xml index 1c8fd2d0b..e2cc0d443 100644 --- a/tex/context/interface/mkiv/i-metapost.xml +++ b/tex/context/interface/mkiv/i-metapost.xml @@ -6,13 +6,13 @@ - + - + @@ -23,7 +23,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -53,6 +53,7 @@ + @@ -296,13 +297,13 @@ - + - + @@ -403,4 +404,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-modes.xml b/tex/context/interface/mkiv/i-modes.xml index 8b35da6f8..beee0b392 100644 --- a/tex/context/interface/mkiv/i-modes.xml +++ b/tex/context/interface/mkiv/i-modes.xml @@ -213,4 +213,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-modules.xml b/tex/context/interface/mkiv/i-modules.xml index 03ed005e2..d3c846a16 100644 --- a/tex/context/interface/mkiv/i-modules.xml +++ b/tex/context/interface/mkiv/i-modules.xml @@ -123,4 +123,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-naturaltable.xml b/tex/context/interface/mkiv/i-naturaltable.xml index d005810a0..9aca6a848 100644 --- a/tex/context/interface/mkiv/i-naturaltable.xml +++ b/tex/context/interface/mkiv/i-naturaltable.xml @@ -309,4 +309,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-note.xml b/tex/context/interface/mkiv/i-note.xml index ee1ac5a31..44604fd22 100644 --- a/tex/context/interface/mkiv/i-note.xml +++ b/tex/context/interface/mkiv/i-note.xml @@ -636,6 +636,9 @@ + + + @@ -759,4 +762,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-object.xml b/tex/context/interface/mkiv/i-object.xml index 2083c3572..ee692b396 100644 --- a/tex/context/interface/mkiv/i-object.xml +++ b/tex/context/interface/mkiv/i-object.xml @@ -129,4 +129,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-offset.xml b/tex/context/interface/mkiv/i-offset.xml index 15a162b1a..ddc54736e 100644 --- a/tex/context/interface/mkiv/i-offset.xml +++ b/tex/context/interface/mkiv/i-offset.xml @@ -71,4 +71,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-opposite.xml b/tex/context/interface/mkiv/i-opposite.xml index 3ed22559f..3f32f3c2b 100644 --- a/tex/context/interface/mkiv/i-opposite.xml +++ b/tex/context/interface/mkiv/i-opposite.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-ornament.xml b/tex/context/interface/mkiv/i-ornament.xml index 847fda4e6..8ee83a17e 100644 --- a/tex/context/interface/mkiv/i-ornament.xml +++ b/tex/context/interface/mkiv/i-ornament.xml @@ -100,4 +100,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-output.xml b/tex/context/interface/mkiv/i-output.xml index 28b5b3799..c5b9f796d 100644 --- a/tex/context/interface/mkiv/i-output.xml +++ b/tex/context/interface/mkiv/i-output.xml @@ -46,4 +46,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-overlay.xml b/tex/context/interface/mkiv/i-overlay.xml index 40d0bda93..da79925a4 100644 --- a/tex/context/interface/mkiv/i-overlay.xml +++ b/tex/context/interface/mkiv/i-overlay.xml @@ -42,4 +42,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagebreak.xml b/tex/context/interface/mkiv/i-pagebreak.xml index 9972800ec..8858c41c4 100644 --- a/tex/context/interface/mkiv/i-pagebreak.xml +++ b/tex/context/interface/mkiv/i-pagebreak.xml @@ -132,4 +132,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagecomment.xml b/tex/context/interface/mkiv/i-pagecomment.xml index 75b9056a8..8e72c42a9 100644 --- a/tex/context/interface/mkiv/i-pagecomment.xml +++ b/tex/context/interface/mkiv/i-pagecomment.xml @@ -37,4 +37,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagefigure.xml b/tex/context/interface/mkiv/i-pagefigure.xml index 0e8af435f..5eba4ff28 100644 --- a/tex/context/interface/mkiv/i-pagefigure.xml +++ b/tex/context/interface/mkiv/i-pagefigure.xml @@ -32,4 +32,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagegrid.xml b/tex/context/interface/mkiv/i-pagegrid.xml index 8b2cd86b9..b1ccd82ef 100644 --- a/tex/context/interface/mkiv/i-pagegrid.xml +++ b/tex/context/interface/mkiv/i-pagegrid.xml @@ -486,4 +486,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pageinjection.xml b/tex/context/interface/mkiv/i-pageinjection.xml index f2ded298e..e98272cd5 100644 --- a/tex/context/interface/mkiv/i-pageinjection.xml +++ b/tex/context/interface/mkiv/i-pageinjection.xml @@ -86,4 +86,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagelayout.xml b/tex/context/interface/mkiv/i-pagelayout.xml index 3aadda0ff..06afe400d 100644 --- a/tex/context/interface/mkiv/i-pagelayout.xml +++ b/tex/context/interface/mkiv/i-pagelayout.xml @@ -38,4 +38,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagemarks.xml b/tex/context/interface/mkiv/i-pagemarks.xml index 4d41bbfdd..3bab14121 100644 --- a/tex/context/interface/mkiv/i-pagemarks.xml +++ b/tex/context/interface/mkiv/i-pagemarks.xml @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pagenumber.xml b/tex/context/interface/mkiv/i-pagenumber.xml index 91c0d8f59..20414d9c3 100644 --- a/tex/context/interface/mkiv/i-pagenumber.xml +++ b/tex/context/interface/mkiv/i-pagenumber.xml @@ -183,4 +183,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pageselection.xml b/tex/context/interface/mkiv/i-pageselection.xml index 082f53b6d..90d419bbc 100644 --- a/tex/context/interface/mkiv/i-pageselection.xml +++ b/tex/context/interface/mkiv/i-pageselection.xml @@ -178,4 +178,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pageshift.xml b/tex/context/interface/mkiv/i-pageshift.xml index 01e014a28..779304d6c 100644 --- a/tex/context/interface/mkiv/i-pageshift.xml +++ b/tex/context/interface/mkiv/i-pageshift.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pairedbox.xml b/tex/context/interface/mkiv/i-pairedbox.xml index a5a0b9b5f..f80ed4f53 100644 --- a/tex/context/interface/mkiv/i-pairedbox.xml +++ b/tex/context/interface/mkiv/i-pairedbox.xml @@ -181,4 +181,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-papersize.xml b/tex/context/interface/mkiv/i-papersize.xml index 8156235bd..4b92bda9a 100644 --- a/tex/context/interface/mkiv/i-papersize.xml +++ b/tex/context/interface/mkiv/i-papersize.xml @@ -300,4 +300,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-paragraph.xml b/tex/context/interface/mkiv/i-paragraph.xml index b253f404b..c729f76d4 100644 --- a/tex/context/interface/mkiv/i-paragraph.xml +++ b/tex/context/interface/mkiv/i-paragraph.xml @@ -68,4 +68,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-paragraphnumber.xml b/tex/context/interface/mkiv/i-paragraphnumber.xml index 6d35f11a0..144619088 100644 --- a/tex/context/interface/mkiv/i-paragraphnumber.xml +++ b/tex/context/interface/mkiv/i-paragraphnumber.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-paragraphs.xml b/tex/context/interface/mkiv/i-paragraphs.xml index e2fc9116e..bbbbe1bf2 100644 --- a/tex/context/interface/mkiv/i-paragraphs.xml +++ b/tex/context/interface/mkiv/i-paragraphs.xml @@ -166,4 +166,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-parallel.xml b/tex/context/interface/mkiv/i-parallel.xml index 3f7154c9f..c182df093 100644 --- a/tex/context/interface/mkiv/i-parallel.xml +++ b/tex/context/interface/mkiv/i-parallel.xml @@ -82,4 +82,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-parbuilder.xml b/tex/context/interface/mkiv/i-parbuilder.xml index 95621fce0..243e4c9bd 100644 --- a/tex/context/interface/mkiv/i-parbuilder.xml +++ b/tex/context/interface/mkiv/i-parbuilder.xml @@ -32,4 +32,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-pdf.xml b/tex/context/interface/mkiv/i-pdf.xml index fc83777a1..1d835158f 100644 --- a/tex/context/interface/mkiv/i-pdf.xml +++ b/tex/context/interface/mkiv/i-pdf.xml @@ -128,4 +128,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-penalty.xml b/tex/context/interface/mkiv/i-penalty.xml index d69c196f9..527a51670 100644 --- a/tex/context/interface/mkiv/i-penalty.xml +++ b/tex/context/interface/mkiv/i-penalty.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-periods.xml b/tex/context/interface/mkiv/i-periods.xml index 5cded3b1c..2fd4e8d38 100644 --- a/tex/context/interface/mkiv/i-periods.xml +++ b/tex/context/interface/mkiv/i-periods.xml @@ -40,4 +40,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-phantom.xml b/tex/context/interface/mkiv/i-phantom.xml index 8458be67b..8efca3ce6 100644 --- a/tex/context/interface/mkiv/i-phantom.xml +++ b/tex/context/interface/mkiv/i-phantom.xml @@ -38,4 +38,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-placement.xml b/tex/context/interface/mkiv/i-placement.xml index 665d9aeb8..e07998a69 100644 --- a/tex/context/interface/mkiv/i-placement.xml +++ b/tex/context/interface/mkiv/i-placement.xml @@ -72,4 +72,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-position.xml b/tex/context/interface/mkiv/i-position.xml index b9f4b3780..2e62592ba 100644 --- a/tex/context/interface/mkiv/i-position.xml +++ b/tex/context/interface/mkiv/i-position.xml @@ -531,4 +531,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-positionbar.xml b/tex/context/interface/mkiv/i-positionbar.xml index 286466bef..037045aaa 100644 --- a/tex/context/interface/mkiv/i-positionbar.xml +++ b/tex/context/interface/mkiv/i-positionbar.xml @@ -70,4 +70,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-positioning.xml b/tex/context/interface/mkiv/i-positioning.xml index 9d873fd46..7c3b2cb9a 100644 --- a/tex/context/interface/mkiv/i-positioning.xml +++ b/tex/context/interface/mkiv/i-positioning.xml @@ -95,4 +95,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-postponing.xml b/tex/context/interface/mkiv/i-postponing.xml index 0d4c98d7a..929a0c75d 100644 --- a/tex/context/interface/mkiv/i-postponing.xml +++ b/tex/context/interface/mkiv/i-postponing.xml @@ -12,4 +12,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-processor.xml b/tex/context/interface/mkiv/i-processor.xml index 7e23c6631..364e428a1 100644 --- a/tex/context/interface/mkiv/i-processor.xml +++ b/tex/context/interface/mkiv/i-processor.xml @@ -48,4 +48,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-profile.xml b/tex/context/interface/mkiv/i-profile.xml index acc486cb7..af98e9c10 100644 --- a/tex/context/interface/mkiv/i-profile.xml +++ b/tex/context/interface/mkiv/i-profile.xml @@ -97,4 +97,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-publication.xml b/tex/context/interface/mkiv/i-publication.xml index b6280047a..a13a06d8d 100644 --- a/tex/context/interface/mkiv/i-publication.xml +++ b/tex/context/interface/mkiv/i-publication.xml @@ -1139,4 +1139,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-random.xml b/tex/context/interface/mkiv/i-random.xml index a1a17f669..1bf425898 100644 --- a/tex/context/interface/mkiv/i-random.xml +++ b/tex/context/interface/mkiv/i-random.xml @@ -61,4 +61,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf index affc21f56..4eb6b1845 100644 Binary files a/tex/context/interface/mkiv/i-readme.pdf and b/tex/context/interface/mkiv/i-readme.pdf differ diff --git a/tex/context/interface/mkiv/i-references.xml b/tex/context/interface/mkiv/i-references.xml index 0c8407b42..a04b589a3 100644 --- a/tex/context/interface/mkiv/i-references.xml +++ b/tex/context/interface/mkiv/i-references.xml @@ -49,6 +49,16 @@ + + + + + + + + + + @@ -577,4 +587,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-regime.xml b/tex/context/interface/mkiv/i-regime.xml index e126abb65..d30d96332 100644 --- a/tex/context/interface/mkiv/i-regime.xml +++ b/tex/context/interface/mkiv/i-regime.xml @@ -85,4 +85,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-renderingwindow.xml b/tex/context/interface/mkiv/i-renderingwindow.xml index 525415c70..ee2dd9ce5 100644 --- a/tex/context/interface/mkiv/i-renderingwindow.xml +++ b/tex/context/interface/mkiv/i-renderingwindow.xml @@ -59,4 +59,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-replacement.xml b/tex/context/interface/mkiv/i-replacement.xml index 851d2b773..8e21c1f17 100644 --- a/tex/context/interface/mkiv/i-replacement.xml +++ b/tex/context/interface/mkiv/i-replacement.xml @@ -23,4 +23,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-rotation.xml b/tex/context/interface/mkiv/i-rotation.xml index 7bfb9b2de..b35f9de18 100644 --- a/tex/context/interface/mkiv/i-rotation.xml +++ b/tex/context/interface/mkiv/i-rotation.xml @@ -51,4 +51,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-ruby.xml b/tex/context/interface/mkiv/i-ruby.xml index 4422029b8..fff39f665 100644 --- a/tex/context/interface/mkiv/i-ruby.xml +++ b/tex/context/interface/mkiv/i-ruby.xml @@ -74,4 +74,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-scale.xml b/tex/context/interface/mkiv/i-scale.xml index 36a46479e..4d88c912d 100644 --- a/tex/context/interface/mkiv/i-scale.xml +++ b/tex/context/interface/mkiv/i-scale.xml @@ -121,4 +121,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-scite.xml b/tex/context/interface/mkiv/i-scite.xml index f04e575e0..3e1ed2e81 100644 --- a/tex/context/interface/mkiv/i-scite.xml +++ b/tex/context/interface/mkiv/i-scite.xml @@ -30,4 +30,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-script.xml b/tex/context/interface/mkiv/i-script.xml index affa2658b..da5c5049d 100644 --- a/tex/context/interface/mkiv/i-script.xml +++ b/tex/context/interface/mkiv/i-script.xml @@ -106,4 +106,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-section.xml b/tex/context/interface/mkiv/i-section.xml index 0ec20a804..0395a741c 100644 --- a/tex/context/interface/mkiv/i-section.xml +++ b/tex/context/interface/mkiv/i-section.xml @@ -546,4 +546,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-sectionblock.xml b/tex/context/interface/mkiv/i-sectionblock.xml index 1cb2debde..3c13ee394 100644 --- a/tex/context/interface/mkiv/i-sectionblock.xml +++ b/tex/context/interface/mkiv/i-sectionblock.xml @@ -129,4 +129,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-selector.xml b/tex/context/interface/mkiv/i-selector.xml index 44970669b..ce9a90e9e 100644 --- a/tex/context/interface/mkiv/i-selector.xml +++ b/tex/context/interface/mkiv/i-selector.xml @@ -49,4 +49,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-setup.xml b/tex/context/interface/mkiv/i-setup.xml index a4420bfcf..fe41ff18d 100644 --- a/tex/context/interface/mkiv/i-setup.xml +++ b/tex/context/interface/mkiv/i-setup.xml @@ -167,4 +167,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-shift.xml b/tex/context/interface/mkiv/i-shift.xml index 521317d1d..68199337e 100644 --- a/tex/context/interface/mkiv/i-shift.xml +++ b/tex/context/interface/mkiv/i-shift.xml @@ -89,4 +89,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-sidebar.xml b/tex/context/interface/mkiv/i-sidebar.xml index 7518b5c61..5f4258028 100644 --- a/tex/context/interface/mkiv/i-sidebar.xml +++ b/tex/context/interface/mkiv/i-sidebar.xml @@ -100,4 +100,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-simplecolumns.xml b/tex/context/interface/mkiv/i-simplecolumns.xml index caefa9fbb..40829f786 100644 --- a/tex/context/interface/mkiv/i-simplecolumns.xml +++ b/tex/context/interface/mkiv/i-simplecolumns.xml @@ -26,9 +26,20 @@ - + + + + + + + + + + + + - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-smash.xml b/tex/context/interface/mkiv/i-smash.xml index 9183c8a6b..74df570e2 100644 --- a/tex/context/interface/mkiv/i-smash.xml +++ b/tex/context/interface/mkiv/i-smash.xml @@ -79,4 +79,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-sort.xml b/tex/context/interface/mkiv/i-sort.xml index 6858fd90e..889d20e69 100644 --- a/tex/context/interface/mkiv/i-sort.xml +++ b/tex/context/interface/mkiv/i-sort.xml @@ -204,4 +204,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-soundtrack.xml b/tex/context/interface/mkiv/i-soundtrack.xml index c374268bb..ecb474d34 100644 --- a/tex/context/interface/mkiv/i-soundtrack.xml +++ b/tex/context/interface/mkiv/i-soundtrack.xml @@ -27,4 +27,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-spellchecking.xml b/tex/context/interface/mkiv/i-spellchecking.xml index 90a219fc8..6495826aa 100644 --- a/tex/context/interface/mkiv/i-spellchecking.xml +++ b/tex/context/interface/mkiv/i-spellchecking.xml @@ -30,4 +30,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-spreadsheet.xml b/tex/context/interface/mkiv/i-spreadsheet.xml index 8181cfe2d..942be9f7d 100644 --- a/tex/context/interface/mkiv/i-spreadsheet.xml +++ b/tex/context/interface/mkiv/i-spreadsheet.xml @@ -137,4 +137,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-startstop.xml b/tex/context/interface/mkiv/i-startstop.xml index ba0abb0b7..3df32a516 100644 --- a/tex/context/interface/mkiv/i-startstop.xml +++ b/tex/context/interface/mkiv/i-startstop.xml @@ -97,4 +97,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-steps.xml b/tex/context/interface/mkiv/i-steps.xml index c71bc2e2f..dc86f6397 100644 --- a/tex/context/interface/mkiv/i-steps.xml +++ b/tex/context/interface/mkiv/i-steps.xml @@ -409,4 +409,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-stream.xml b/tex/context/interface/mkiv/i-stream.xml index 7e769fdb6..b392fd001 100644 --- a/tex/context/interface/mkiv/i-stream.xml +++ b/tex/context/interface/mkiv/i-stream.xml @@ -71,4 +71,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-string.xml b/tex/context/interface/mkiv/i-string.xml index aba5429c5..567881602 100644 --- a/tex/context/interface/mkiv/i-string.xml +++ b/tex/context/interface/mkiv/i-string.xml @@ -66,4 +66,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-synctex.xml b/tex/context/interface/mkiv/i-synctex.xml index 21f49e3f6..363d9657c 100644 --- a/tex/context/interface/mkiv/i-synctex.xml +++ b/tex/context/interface/mkiv/i-synctex.xml @@ -39,4 +39,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-synonym.xml b/tex/context/interface/mkiv/i-synonym.xml index d2a966f15..017b688c4 100644 --- a/tex/context/interface/mkiv/i-synonym.xml +++ b/tex/context/interface/mkiv/i-synonym.xml @@ -237,4 +237,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-system.xml b/tex/context/interface/mkiv/i-system.xml index d00ebc01a..b7c46c9ce 100644 --- a/tex/context/interface/mkiv/i-system.xml +++ b/tex/context/interface/mkiv/i-system.xml @@ -3425,6 +3425,8 @@ + + @@ -3434,6 +3436,8 @@ + + diff --git a/tex/context/interface/mkiv/i-systemlog.xml b/tex/context/interface/mkiv/i-systemlog.xml index fc3243cfb..93717af21 100644 --- a/tex/context/interface/mkiv/i-systemlog.xml +++ b/tex/context/interface/mkiv/i-systemlog.xml @@ -28,4 +28,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-table.xml b/tex/context/interface/mkiv/i-table.xml index b4a4e7dde..c75fc1d8e 100644 --- a/tex/context/interface/mkiv/i-table.xml +++ b/tex/context/interface/mkiv/i-table.xml @@ -407,4 +407,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-tabulation.xml b/tex/context/interface/mkiv/i-tabulation.xml index 6768b9b4c..09937504f 100644 --- a/tex/context/interface/mkiv/i-tabulation.xml +++ b/tex/context/interface/mkiv/i-tabulation.xml @@ -4,19 +4,164 @@ - + + + - - - + - + + + - + + @@ -120,36 +265,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tex/context/interface/mkiv/i-tex.xml b/tex/context/interface/mkiv/i-tex.xml index 277c4db95..5599315c5 100644 --- a/tex/context/interface/mkiv/i-tex.xml +++ b/tex/context/interface/mkiv/i-tex.xml @@ -454,4 +454,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-textbackground.xml b/tex/context/interface/mkiv/i-textbackground.xml index 6104b1d9a..9d5b36c07 100644 --- a/tex/context/interface/mkiv/i-textbackground.xml +++ b/tex/context/interface/mkiv/i-textbackground.xml @@ -148,4 +148,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-textflow.xml b/tex/context/interface/mkiv/i-textflow.xml index 9c9ea2190..b532b10f9 100644 --- a/tex/context/interface/mkiv/i-textflow.xml +++ b/tex/context/interface/mkiv/i-textflow.xml @@ -81,4 +81,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-textrule.xml b/tex/context/interface/mkiv/i-textrule.xml index b71df66a6..addbc1316 100644 --- a/tex/context/interface/mkiv/i-textrule.xml +++ b/tex/context/interface/mkiv/i-textrule.xml @@ -69,4 +69,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-texts.xml b/tex/context/interface/mkiv/i-texts.xml index eb6f79ec8..18f40911c 100644 --- a/tex/context/interface/mkiv/i-texts.xml +++ b/tex/context/interface/mkiv/i-texts.xml @@ -286,4 +286,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-thinrule.xml b/tex/context/interface/mkiv/i-thinrule.xml index 372f9a238..bc150083a 100644 --- a/tex/context/interface/mkiv/i-thinrule.xml +++ b/tex/context/interface/mkiv/i-thinrule.xml @@ -71,4 +71,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-token.xml b/tex/context/interface/mkiv/i-token.xml index 09e2ad3d6..8d9ced890 100644 --- a/tex/context/interface/mkiv/i-token.xml +++ b/tex/context/interface/mkiv/i-token.xml @@ -59,4 +59,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-tolerance.xml b/tex/context/interface/mkiv/i-tolerance.xml index 3d0010edf..1613c3170 100644 --- a/tex/context/interface/mkiv/i-tolerance.xml +++ b/tex/context/interface/mkiv/i-tolerance.xml @@ -19,4 +19,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-tooltip.xml b/tex/context/interface/mkiv/i-tooltip.xml index df43ff9ce..99019933b 100644 --- a/tex/context/interface/mkiv/i-tooltip.xml +++ b/tex/context/interface/mkiv/i-tooltip.xml @@ -88,4 +88,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-tracker.xml b/tex/context/interface/mkiv/i-tracker.xml index 3db36addc..579de59fb 100644 --- a/tex/context/interface/mkiv/i-tracker.xml +++ b/tex/context/interface/mkiv/i-tracker.xml @@ -72,4 +72,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-translate.xml b/tex/context/interface/mkiv/i-translate.xml index a865a4dd0..566208f96 100644 --- a/tex/context/interface/mkiv/i-translate.xml +++ b/tex/context/interface/mkiv/i-translate.xml @@ -23,4 +23,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-translation.xml b/tex/context/interface/mkiv/i-translation.xml index f4f03037e..9737fffaa 100644 --- a/tex/context/interface/mkiv/i-translation.xml +++ b/tex/context/interface/mkiv/i-translation.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-twopassdata.xml b/tex/context/interface/mkiv/i-twopassdata.xml index 992735693..63783d040 100644 --- a/tex/context/interface/mkiv/i-twopassdata.xml +++ b/tex/context/interface/mkiv/i-twopassdata.xml @@ -121,4 +121,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-typography.xml b/tex/context/interface/mkiv/i-typography.xml index c5f06fa13..8f6fb1974 100644 --- a/tex/context/interface/mkiv/i-typography.xml +++ b/tex/context/interface/mkiv/i-typography.xml @@ -170,4 +170,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-unit.xml b/tex/context/interface/mkiv/i-unit.xml index c8092a4ed..247254ec5 100644 --- a/tex/context/interface/mkiv/i-unit.xml +++ b/tex/context/interface/mkiv/i-unit.xml @@ -137,4 +137,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-variables.xml b/tex/context/interface/mkiv/i-variables.xml index 7c295f9ad..12855e36f 100644 --- a/tex/context/interface/mkiv/i-variables.xml +++ b/tex/context/interface/mkiv/i-variables.xml @@ -370,4 +370,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-verbatim.xml b/tex/context/interface/mkiv/i-verbatim.xml index 830b8bb11..f81665cc1 100644 --- a/tex/context/interface/mkiv/i-verbatim.xml +++ b/tex/context/interface/mkiv/i-verbatim.xml @@ -440,4 +440,4 @@ --> - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-version.xml b/tex/context/interface/mkiv/i-version.xml index 22a3846d9..1e6e46d58 100644 --- a/tex/context/interface/mkiv/i-version.xml +++ b/tex/context/interface/mkiv/i-version.xml @@ -75,4 +75,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-viewerlayer.xml b/tex/context/interface/mkiv/i-viewerlayer.xml index fde846e4d..6b68b7fb9 100644 --- a/tex/context/interface/mkiv/i-viewerlayer.xml +++ b/tex/context/interface/mkiv/i-viewerlayer.xml @@ -65,4 +65,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-visual.xml b/tex/context/interface/mkiv/i-visual.xml index 7849ab90b..dc9e96ec3 100644 --- a/tex/context/interface/mkiv/i-visual.xml +++ b/tex/context/interface/mkiv/i-visual.xml @@ -151,4 +151,4 @@ - \ No newline at end of file + diff --git a/tex/context/interface/mkiv/i-whitespace.xml b/tex/context/interface/mkiv/i-whitespace.xml index a44b08f1d..0f3e0bdcc 100644 --- a/tex/context/interface/mkiv/i-whitespace.xml +++ b/tex/context/interface/mkiv/i-whitespace.xml @@ -61,4 +61,4 @@ - \ No newline at end of file + diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 0af016d2a..d0aa965f3 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 : 2020-05-25 23:36 +-- merge date : 2020-06-09 18:53 do -- begin closure to overcome local limits and interference @@ -27999,6 +27999,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local sweepnode=sweepnode local sweeptype=sweeptype local sweepoverflow=false + local checkdisc=getprev(head) local keepdisc=not sweepnode local lookaheaddisc=nil local backtrackdisc=nil @@ -28122,7 +28123,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local current=prev local i=f local t=sweeptype=="pre" or sweeptype=="replace" - if not current and t and current==checkdisk then + if not current and t and current==checkdisc then current=getprev(sweepnode) end while current and i>1 do @@ -28150,7 +28151,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) end end current=getprev(current) - if t and current==checkdisk then + if t and current==checkdisc then current=getprev(sweepnode) end end @@ -28335,6 +28336,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s local l=ck[5] local current=start local last=start + if s==1 then + goto next + end if l>f then local discfound local n=f+1 @@ -28400,6 +28404,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s break end end + if n<=l then + notmatchpre[last]=true + end else notmatchpre[last]=true end -- cgit v1.2.3