summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context/data/scite/lexers/data/scite-context-data-context.lua2
-rw-r--r--context/data/scite/lexers/scite-context-lexer-mps.lua4
-rw-r--r--context/data/scite/lexers/scite-context-lexer-tex.lua4
-rw-r--r--context/data/scite/scite-context-data-context.properties17
-rw-r--r--context/data/scite/scite-context.properties2
-rw-r--r--scripts/context/lua/mtx-context.lua160
-rw-r--r--scripts/context/lua/mtxrun.lua15
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua15
-rwxr-xr-xscripts/context/stubs/unix/mtxrun15
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4133 -> 4128 bytes
-rw-r--r--tex/context/base/context-version.pngbin106192 -> 106161 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/data-exp.lua3
-rw-r--r--tex/context/base/data-res.lua5
-rw-r--r--tex/context/base/data-zip.lua5
-rw-r--r--tex/context/base/file-job.mkvi6
-rw-r--r--tex/context/base/font-mis.lua2
-rw-r--r--tex/context/base/font-otf.lua15
-rw-r--r--tex/context/base/font-set.mkvi4
-rw-r--r--tex/context/base/font-tra.mkiv4
-rw-r--r--tex/context/base/meta-ini.mkiv11
-rw-r--r--tex/context/base/mult-low.lua2
-rw-r--r--tex/context/base/page-sid.mkiv2
-rw-r--r--tex/context/base/s-mod-01.mkii2
-rw-r--r--tex/context/base/status-files.pdfbin24428 -> 24406 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin180037 -> 180035 bytes
-rw-r--r--tex/context/base/tabl-tbl.mkiv7
-rw-r--r--tex/context/fonts/asana-math.lfg2
-rw-r--r--tex/context/fonts/px-math.lfg2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua17
33 files changed, 189 insertions, 142 deletions
diff --git a/context/data/scite/lexers/data/scite-context-data-context.lua b/context/data/scite/lexers/data/scite-context-data-context.lua
index 8c2a59209..aa36277b7 100644
--- a/context/data/scite/lexers/data/scite-context-data-context.lua
+++ b/context/data/scite/lexers/data/scite-context-data-context.lua
@@ -1,4 +1,4 @@
return {
- ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "etexversion", "pdftexversion", "xetexversion", "xetexrevision", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifmodeelse", "doifnotmode", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startdocument", "stopdocument", "documentvariable", "startmodule", "stopmodule", "usemodule", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile" },
+ ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "plussixteen", "plushundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "etexversion", "pdftexversion", "xetexversion", "xetexrevision", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "spaceasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vcentergroupcode", "mathchoicegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "vadjustgroupcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "charifcode", "catifcode", "numifcode", "dimifcode", "oddifcode", "vmodeifcode", "hmodeifcode", "mmodeifcode", "innerifcode", "voidifcode", "hboxifcode", "vboxifcode", "xifcode", "eofifcode", "trueifcode", "falseifcode", "caseifcode", "definedifcode", "csnameifcode", "fontcharifcode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathsupdisplay", "mathsupnormal", "mathsupcramped", "mathsubnormal", "mathsubcombined", "mathaxisheight", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifmodeelse", "doifnotmode", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "startmodule", "stopmodule", "usemodule", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordcode", "mathopcode", "mathbincode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctcode", "mathalphacode", "mathinnercode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathboxcode", "mathchoicecode", "mathaccentcode", "mathradicalcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "continueifinputfile" },
["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newlanguage", "newfamily", "newfam", "newhelp", "then", "donothing", "dontcomplain", "donetrue", "donefalse", "htdp", "unvoidbox", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruledvcenter", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "scratchcounter", "globalscratchcounter", "scratchdimen", "globalscratchdimen", "scratchskip", "globalscratchskip", "scratchmuskip", "globalscratchmuskip", "scratchtoks", "globalscratchtoks", "scratchbox", "globalscratchbox", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "doif", "doifnot", "doifelse", "doifinset", "doifnotinset", "doifinsetelse", "doifnextcharelse", "doifnextoptionalelse", "doifnextbgroupelse", "doifnextparenthesiselse", "doiffastoptionalcheckelse", "doifundefinedelse", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifdimensionelse", "doifnumberelse", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifinstringelse", "doifassignmentelse", "tracingall", "tracingnone", "loggingall", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "empty", "null", "space", "quad", "enspace", "obeyspaces", "obeylines", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "wait", "writestatus", "define", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "measure", "getvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "newconstant", "setnewconstant", "newconditional", "settrue", "setfalse", "setconstant", "newmacro", "setnewmacro", "newfraction", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doiffirstcharelse", "startnointerference", "stopnointerference", "strut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "begstrut", "endstrut" },
} \ No newline at end of file
diff --git a/context/data/scite/lexers/scite-context-lexer-mps.lua b/context/data/scite/lexers/scite-context-lexer-mps.lua
index e6987f6c6..1a2a2571d 100644
--- a/context/data/scite/lexers/scite-context-lexer-mps.lua
+++ b/context/data/scite/lexers/scite-context-lexer-mps.lua
@@ -94,7 +94,7 @@ local identifier = token('default', cstoken^1)
local number = token('number', number)
local grouping = token('grouping', S("()[]{}")) -- can be an option
local special = token('special', S("#()[]{}<>=:\"")) -- or else := <> etc split
-local texlike = token('string', P("\\") * cstokentex^1)
+local texlike = token('warning', P("\\") * cstokentex^1)
local extra = token('extra', S("`~%^&_-+*/\'|\\"))
metafunlexer._rules = {
@@ -111,7 +111,7 @@ metafunlexer._rules = {
{ 'quoted', quoted },
-- { 'grouping', grouping }, -- can be an option
{ 'special', special },
- -- { 'texlike', texlike },
+ { 'texlike', texlike },
{ 'extra', extra },
{ 'rest', rest },
}
diff --git a/context/data/scite/lexers/scite-context-lexer-tex.lua b/context/data/scite/lexers/scite-context-lexer-tex.lua
index 68b67488e..1ff68750f 100644
--- a/context/data/scite/lexers/scite-context-lexer-tex.lua
+++ b/context/data/scite/lexers/scite-context-lexer-tex.lua
@@ -389,13 +389,13 @@ local stoplua = P("\\stop") * Cmt(luaenvironment,stopdisplaylua)
local startluacode = token("embedded", startlua)
local stopluacode = #stoplua * token("embedded", stoplua)
-local metafuncall = ( P("use") + P("reusable") + P("unique") ) * ("MPgraphic")
+local metafuncall = ( P("reusable") + P("usable") + P("unique") + P("use") ) * ("MPgraphic")
local metafunenvironment = metafuncall -- ( P("use") + P("reusable") + P("unique") ) * ("MPgraphic")
+ P("MP") * ( P("code")+ P("page") + P("inclusions") + P("initializations") + P("definitions") + P("extensions") + P("graphic") )
local startmetafun = P("\\start") * metafunenvironment
-local stopmetafun = P("\\stop") * metafunenvironment
+local stopmetafun = P("\\stop") * metafunenvironment -- todo match start
local openargument = token("special", P("{"))
local closeargument = token("special", P("}"))
diff --git a/context/data/scite/scite-context-data-context.properties b/context/data/scite/scite-context-data-context.properties
index c0622e213..37a39e1e0 100644
--- a/context/data/scite/scite-context-data-context.properties
+++ b/context/data/scite/scite-context-data-context.properties
@@ -118,12 +118,13 @@ startallmodes stopallmodes startnotallmodes stopnotallmodes doifallmodes \
doifallmodeselse doifnotallmodes startenvironment stopenvironment environment \
startcomponent stopcomponent component startproduct stopproduct \
product startproject stopproject project starttext \
-stoptext startdocument stopdocument documentvariable startmodule \
-stopmodule usemodule startTEXpage stopTEXpage enablemode \
-disablemode preventmode pushmode popmode typescriptone \
-typescripttwo typescriptthree mathsizesuffix mathordcode mathopcode \
-mathbincode mathrelcode mathopencode mathclosecode mathpunctcode \
-mathalphacode mathinnercode mathnothingcode mathlimopcode mathnolopcode \
-mathboxcode mathchoicecode mathaccentcode mathradicalcode constantnumber \
-constantnumberargument constantdimen constantdimenargument constantemptyargument continueifinputfile
+stoptext startnotext stopnotext startdocument stopdocument \
+documentvariable startmodule stopmodule usemodule startTEXpage \
+stopTEXpage enablemode disablemode preventmode pushmode \
+popmode typescriptone typescripttwo typescriptthree mathsizesuffix \
+mathordcode mathopcode mathbincode mathrelcode mathopencode \
+mathclosecode mathpunctcode mathalphacode mathinnercode mathnothingcode \
+mathlimopcode mathnolopcode mathboxcode mathchoicecode mathaccentcode \
+mathradicalcode constantnumber constantnumberargument constantdimen constantdimenargument \
+constantemptyargument continueifinputfile
diff --git a/context/data/scite/scite-context.properties b/context/data/scite/scite-context.properties
index 4f91fae2d..1a4f0f5e8 100644
--- a/context/data/scite/scite-context.properties
+++ b/context/data/scite/scite-context.properties
@@ -73,7 +73,7 @@ lexer.$(file.patterns.example)=xml
# Lua : patterns
-file.patterns.lua=*.lua;*.luc;*.cld;*.tuc;*.luj;*.tma;*.lfg
+file.patterns.lua=*.lua;*.luc;*.cld;*.tuc;*.luj;*.lum;*.tma;*.lfg
open.suffix.$(file.patterns.lua)=.lua
diff --git a/scripts/context/lua/mtx-context.lua b/scripts/context/lua/mtx-context.lua
index f1138979e..e07ecdfc7 100644
--- a/scripts/context/lua/mtx-context.lua
+++ b/scripts/context/lua/mtx-context.lua
@@ -10,6 +10,8 @@ local format, gmatch, match, gsub, find = string.format, string.gmatch, string.m
local quote = string.quote
local concat = table.concat
+local getargument = environment.argument
+
local basicinfo = [[
--run process (one or more) files (default action)
--make create context formats
@@ -47,6 +49,8 @@ local basicinfo = [[
--paranoid don't descend to .. and ../..
--version report installed context version
+--global assume given file present elsewhere
+
--expert expert options
]]
@@ -481,7 +485,7 @@ function scripts.context.multipass.makeoptionfile(jobname,ctxdata,kindofrun,curr
local f = io.open(jobname..".top","w")
if f then
local function someflag(flag)
- return (ctxdata and ctxdata.flags[flag]) or environment.argument(flag)
+ return (ctxdata and ctxdata.flags[flag]) or getargument(flag)
end
local function setvalue(flag,template,hash,default)
local a = someflag(flag) or default
@@ -548,7 +552,7 @@ function scripts.context.multipass.makeoptionfile(jobname,ctxdata,kindofrun,curr
--
setalways("%% process info")
--
- setalways( "\\setupsystem[inputfile=%s]",environment.argument("input") or environment.files[1] or "\\jobname")
+ setalways( "\\setupsystem[inputfile=%s]",getargument("input") or environment.files[1] or "\\jobname")
setvalue ("result" , "\\setupsystem[file=%s]")
setalways( "\\setupsystem[\\c!n=%s,\\c!m=%s]", kindofrun or 0, currentrun or 0)
setvalues("path" , "\\usepath[%s]")
@@ -571,7 +575,7 @@ function scripts.context.multipass.makeoptionfile(jobname,ctxdata,kindofrun,curr
setfixed ("color" , "\\setupcolors[\\c!state=\\v!start]")
setvalue ("separation" , "\\setupcolors[\\c!split=%s]")
setfixed ("noarrange" , "\\setuparranging[\\v!disable]")
- if environment.argument('arrange') and not finalrun then
+ if getargument('arrange') and not finalrun then
setalways( "\\setuparranging[\\v!disable]")
end
setalways("\\stopsetups")
@@ -775,8 +779,8 @@ function scripts.context.run(ctxdata,filename)
end
if #files > 0 then
--
- local interface = environment.argument("interface")
- -- todo: environment.argument("interface","en")
+ local interface = getargument("interface")
+ -- todo: getargument("interface","en")
interface = (type(interface) == "string" and interface) or "en"
--
local formatname = scripts.context.interfaces[interface] or "cont-en"
@@ -793,17 +797,17 @@ function scripts.context.run(ctxdata,filename)
local filename = files[i]
local basename, pathname = file.basename(filename), file.dirname(filename)
local jobname = file.removesuffix(basename)
- if pathname == "" and not environment.argument("global") then
+ if pathname == "" and not getargument("global") then
filename = "./" .. filename
end
-- look at the first line
local a = analyze(filename)
- if a and (a.engine == 'pdftex' or a.engine == 'xetex' or environment.argument("pdftex") or environment.argument("xetex")) then
+ if a and (a.engine == 'pdftex' or a.engine == 'xetex' or getargument("pdftex") or getargument("xetex")) then
if false then
-- we need to write a top etc too and run mp etc so it's not worth the
-- trouble, so it will take a while before the next is finished
--
- -- require "mtx-texutil.lua"
+ -- context --extra=texutil --convert myfile
else
local texexec = resolvers.findfile("texexec.rb") or ""
if texexec ~= "" then
@@ -812,10 +816,10 @@ function scripts.context.run(ctxdata,filename)
options = gsub(options,"--purge","")
options = gsub(options,"--purgeall","")
local command = format("ruby %s %s",texexec,options)
- if environment.argument("purge") then
+ if getargument("purge") then
os.execute(command)
scripts.context.purge_job(filename,false,true)
- elseif environment.argument("purgeall") then
+ elseif getargument("purgeall") then
os.execute(command)
scripts.context.purge_job(filename,true,true)
else
@@ -838,25 +842,25 @@ function scripts.context.run(ctxdata,filename)
-- we default to mkiv xml !
-- the --prep argument might become automatic (and noprep)
local suffix = file.extname(filename) or "?"
- if scripts.context.xmlsuffixes[suffix] or environment.argument("forcexml") then
- if environment.argument("mkii") then
+ if scripts.context.xmlsuffixes[suffix] or getargument("forcexml") then
+ if getargument("mkii") then
filename = makestub(true,"\\processXMLfilegrouped{%s}",filename)
else
filename = makestub(true,"\\xmlprocess{\\xmldocument}{%s}{}",filename)
end
- elseif scripts.context.cldsuffixes[suffix] or environment.argument("forcecld") then
+ elseif scripts.context.cldsuffixes[suffix] or getargument("forcecld") then
-- self contained cld files need to have a starttext/stoptext (less fontloading)
filename = makestub(false,"\\ctxlua{context.runfile('%s')}",filename)
- elseif scripts.context.luasuffixes[suffix] or environment.argument("forcelua") then
+ elseif scripts.context.luasuffixes[suffix] or getargument("forcelua") then
filename = makestub(true,"\\ctxlua{dofile('%s')}",filename)
- elseif environment.argument("prep") then
+ elseif getargument("prep") then
-- we need to keep the original jobname
filename = makestub(true,"\\readfile{%s}{}{}",filename,ctxrunner.preppedfile(ctxdata,filename))
end
--
-- todo: also other stubs
--
- local suffix, resultname = environment.argument("suffix"), environment.argument("result")
+ local suffix, resultname = getargument("suffix"), getargument("result")
if type(suffix) == "string" then
resultname = file.removesuffix(jobname) .. suffix
end
@@ -865,7 +869,7 @@ function scripts.context.run(ctxdata,filename)
oldbase = file.removesuffix(jobname)
newbase = file.removesuffix(resultname)
if oldbase ~= newbase then
- if environment.argument("purgeresult") then
+ if getargument("purgeresult") then
push_result_purge(oldbase,newbase)
else
push_result_keep(oldbase,newbase)
@@ -877,7 +881,7 @@ function scripts.context.run(ctxdata,filename)
resultname = nil
end
--
- local pdfview = environment.argument("autopdf") or environment.argument("closepdf")
+ local pdfview = getargument("autopdf") or getargument("closepdf")
if pdfview then
scripts.context.closepdf(filename,pdfview)
if resultname then
@@ -892,10 +896,10 @@ function scripts.context.run(ctxdata,filename)
end
--
local flags = { }
- if environment.argument("batchmode") or environment.argument("batch") then
+ if getargument("batchmode") or getargument("batch") then
flags[#flags+1] = "--interaction=batchmode"
end
- if environment.argument("synctex") then
+ if getargument("synctex") then
-- this should become a directive
report("warning: synctex is enabled") -- can add upto 5% runtime
flags[#flags+1] = "--synctex=1"
@@ -906,10 +910,10 @@ function scripts.context.run(ctxdata,filename)
-- We pass these directly.
--
---~ local silent = environment.argument("silent")
---~ local noconsole = environment.argument("noconsole")
---~ local directives = environment.argument("directives")
---~ local trackers = environment.argument("trackers")
+--~ local silent = getargument("silent")
+--~ local noconsole = getargument("noconsole")
+--~ local directives = getargument("directives")
+--~ local trackers = getargument("trackers")
--~ if silent == true then
--~ silent = "*"
--~ end
@@ -940,7 +944,7 @@ function scripts.context.run(ctxdata,filename)
flags[#flags+1] = format('--trackers="%s"',trackers)
end
--
- local backend = environment.argument("backend")
+ local backend = getargument("backend")
if type(backend) ~= "string" then
backend = "pdf"
end
@@ -948,9 +952,9 @@ function scripts.context.run(ctxdata,filename)
--
local command = format("luatex %s %s \\stoptext", concat(flags," "), quote(filename))
local oldhash, newhash = scripts.context.multipass.hashfiles(jobname), { }
- local once = environment.argument("once")
+ local once = getargument("once")
local maxnofruns = (once and 1) or scripts.context.multipass.nofruns
- local arrange = environment.argument("arrange")
+ local arrange = getargument("arrange")
for i=1,maxnofruns do
-- 1:first run, 2:successive run, 3:once, 4:last of maxruns
local kindofrun = (once and 3) or (i==1 and 1) or (i==maxnofruns and 4) or 2
@@ -1007,16 +1011,16 @@ function scripts.context.run(ctxdata,filename)
end
end
--
- if environment.argument("purge") then
+ if getargument("purge") then
scripts.context.purge_job(jobname)
- elseif environment.argument("purgeall") then
+ elseif getargument("purgeall") then
scripts.context.purge_job(jobname,true)
end
--
os.remove(jobname..".top")
--
if resultname then
- if environment.argument("purgeresult") then
+ if getargument("purgeresult") then
-- so, if there is no result then we don't get the old one, but
-- related files (log etc) are still there for tracing purposes
save_result_purge(oldbase,newbase)
@@ -1026,18 +1030,18 @@ function scripts.context.run(ctxdata,filename)
report("result renamed to: %s",newbase)
end
--
- if environment.argument("purge") then
+ if getargument("purge") then
scripts.context.purge_job(resultname)
- elseif environment.argument("purgeall") then
+ elseif getargument("purgeall") then
scripts.context.purge_job(resultname,true)
end
--
- local pdfview = environment.argument("autopdf")
+ local pdfview = getargument("autopdf")
if pdfview then
scripts.context.openpdf(resultname or filename,pdfview)
end
--
- if environment.argument("timing") then
+ if getargument("timing") then
report()
report("you can process (timing) statistics with:",jobname)
report()
@@ -1068,7 +1072,7 @@ end
function scripts.context.pipe()
-- context --pipe
-- context --pipe --purge --dummyfile=whatever.tmp
- local interface = environment.argument("interface")
+ local interface = getargument("interface")
interface = (type(interface) == "string" and interface) or "en"
local formatname = scripts.context.interfaces[interface] or "cont-en"
local formatfile, scriptfile = resolvers.locateformat(formatname)
@@ -1089,7 +1093,7 @@ function scripts.context.pipe()
"--lua=" .. quote(scriptfile),
"--backend=pdf",
}
- local filename = environment.argument("dummyfile") or ""
+ local filename = getargument("dummyfile") or ""
if filename == "" then
filename = "\\relax"
report("entering scrollmode, end job with \\end")
@@ -1101,9 +1105,9 @@ function scripts.context.pipe()
end
local command = format("luatex %s %s", concat(flags," "), quote(filename))
os.spawn(command)
- if environment.argument("purge") then
+ if getargument("purge") then
scripts.context.purge_job(filename)
- elseif environment.argument("purgeall") then
+ elseif getargument("purgeall") then
scripts.context.purge_job(filename,true)
os.remove(filename)
end
@@ -1119,7 +1123,7 @@ end
local make_mkiv_format = environment.make_format
local function make_mkii_format(name,engine)
- if environment.argument(engine) then
+ if getargument(engine) then
local command = format("mtxrun texexec.rb --make --%s %s",name,engine)
report("running command: %s",command)
os.spawn(command)
@@ -1133,7 +1137,7 @@ function scripts.context.generate()
end
function scripts.context.make(name)
- if not environment.argument("fast") then -- as in texexec
+ if not getargument("fast") then -- as in texexec
scripts.context.generate()
end
local list = (name and { name }) or (environment.files[1] and environment.files) or scripts.context.defaultformats
@@ -1151,7 +1155,7 @@ end
function scripts.context.ctx()
local ctxdata = ctxrunner.new()
ctxdata.jobname = environment.files[1]
- ctxrunner.manipulate(ctxdata,environment.argument("ctx"))
+ ctxrunner.manipulate(ctxdata,getargument("ctx"))
scripts.context.run(ctxdata)
end
@@ -1191,13 +1195,13 @@ function scripts.context.metapost()
commands = commands or { }
commands.writestatus = report -- no longer needed
end
- local formatname = environment.argument("format") or "metafun"
+ local formatname = getargument("format") or "metafun"
if formatname == "" or type(formatname) == "boolean" then
formatname = "metafun"
end
- if environment.argument("pdf") then
+ if getargument("pdf") then
local basename = file.removesuffix(filename)
- local resultname = environment.argument("result") or basename
+ local resultname = getargument("result") or basename
local jobname = "mtx-context-metapost"
local tempname = file.addsuffix(jobname,"tex")
io.savedata(tempname,format(template,"metafun",filename))
@@ -1207,7 +1211,7 @@ function scripts.context.metapost()
scripts.context.run()
scripts.context.purge_job(jobname,true)
scripts.context.purge_job(resultname,true)
- elseif environment.argument("svg") then
+ elseif getargument("svg") then
metapost.directrun(formatname,filename,"svg")
else
metapost.directrun(formatname,filename,"mps")
@@ -1304,8 +1308,8 @@ function scripts.context.purge_job(jobname,all,mkiitoo)
end
function scripts.context.purge(all,pattern,mkiitoo)
- local all = all or environment.argument("all")
- local pattern = environment.argument("pattern") or (pattern and (pattern.."*")) or "*.*"
+ local all = all or getargument("all")
+ local pattern = getargument("pattern") or (pattern and (pattern.."*")) or "*.*"
local files = dir.glob(pattern)
local obsolete = table.tohash(obsolete_results)
local temporary = table.tohash(temporary_runfiles)
@@ -1366,7 +1370,7 @@ local function touchfiles(suffix)
end
function scripts.context.touch()
- if environment.argument("expert") then
+ if getargument("expert") then
touchfiles("mkii")
touchfiles("mkiv")
touchfiles("mkvi")
@@ -1457,9 +1461,9 @@ function scripts.context.extras(pattern)
end
function scripts.context.extra()
- local extra = environment.argument("extra")
+ local extra = getargument("extra")
if type(extra) == "string" then
- if environment.argument("help") then
+ if getargument("help") then
scripts.context.extras(extra)
else
local fullextra = extra
@@ -1528,7 +1532,7 @@ function zip.loaddata(zipfile,filename) -- should be in zip lib
end
function scripts.context.update()
- local force = environment.argument("force")
+ local force = getargument("force")
local socket = require("socket")
local http = require("socket.http")
local basepath = resolvers.findfile("context.mkiv") or ""
@@ -1650,7 +1654,7 @@ end
do
- local silent = environment.argument("silent")
+ local silent = getargument("silent")
if type(silent) == "string" then
directives.enable(format("logs.blocked={%s}",silent))
elseif silent then
@@ -1659,71 +1663,71 @@ do
end
-if environment.argument("once") then
+if getargument("once") then
scripts.context.multipass.nofruns = 1
-elseif environment.argument("runs") then
- scripts.context.multipass.nofruns = tonumber(environment.argument("runs")) or nil
+elseif getargument("runs") then
+ scripts.context.multipass.nofruns = tonumber(getargument("runs")) or nil
end
-if environment.argument("profile") then
+if getargument("profile") then
os.setenv("MTX_PROFILE_RUN","YES")
end
-if environment.argument("run") then
+if getargument("run") then
-- scripts.context.timed(scripts.context.run)
scripts.context.timed(scripts.context.autoctx)
-elseif environment.argument("make") then
+elseif getargument("make") then
scripts.context.timed(function() scripts.context.make() end)
-elseif environment.argument("generate") then
+elseif getargument("generate") then
scripts.context.timed(function() scripts.context.generate() end)
-elseif environment.argument("ctx") then
+elseif getargument("ctx") then
scripts.context.timed(scripts.context.ctx)
-elseif environment.argument("mp") or environment.argument("metapost") then
+elseif getargument("mp") or getargument("metapost") then
scripts.context.timed(scripts.context.metapost)
-elseif environment.argument("version") then
+elseif getargument("version") then
application.identify()
scripts.context.version()
-elseif environment.argument("touch") then
+elseif getargument("touch") then
scripts.context.touch()
-elseif environment.argument("update") then
+elseif getargument("update") then
scripts.context.update()
-elseif environment.argument("expert") then
+elseif getargument("expert") then
application.help("expert", "special")
-elseif environment.argument("modules") then
+elseif getargument("modules") then
scripts.context.modules()
-elseif environment.argument("extras") then
- scripts.context.extras(environment.files[1] or environment.argument("extras"))
-elseif environment.argument("extra") then
+elseif getargument("extras") then
+ scripts.context.extras(environment.files[1] or getargument("extras"))
+elseif getargument("extra") then
scripts.context.extra()
-elseif environment.argument("help") then
+elseif getargument("help") then
if environment.files[1] == "extras" then
scripts.context.extras()
else
application.help("basic")
end
-elseif environment.argument("showtrackers") or environment.argument("trackers") == true then
+elseif getargument("showtrackers") or getargument("trackers") == true then
scripts.context.trackers()
-elseif environment.argument("showdirectives") or environment.argument("directives") == true then
+elseif getargument("showdirectives") or getargument("directives") == true then
scripts.context.directives()
-elseif environment.argument("showlogcategories") then
+elseif getargument("showlogcategories") then
scripts.context.logcategories()
-elseif environment.argument("track") and type(environment.argument("track")) == "boolean" then -- for old times sake, will go
+elseif getargument("track") and type(getargument("track")) == "boolean" then -- for old times sake, will go
scripts.context.trackers()
elseif environment.files[1] then
-- scripts.context.timed(scripts.context.run)
scripts.context.timed(scripts.context.autoctx)
-elseif environment.argument("pipe") then
+elseif getargument("pipe") then
scripts.context.timed(scripts.context.pipe)
-elseif environment.argument("purge") then
+elseif getargument("purge") then
-- only when no filename given, supports --pattern
scripts.context.purge()
-elseif environment.argument("purgeall") then
+elseif getargument("purgeall") then
-- only when no filename given, supports --pattern
scripts.context.purge(true,nil,true)
else
application.help("basic")
end
-if environment.argument("profile") then
+if getargument("profile") then
os.setenv("MTX_PROFILE_RUN","NO")
end
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index 51cbb95f2..37ca30d8c 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -11004,6 +11004,9 @@ local function f_second(a,b)
return concat(t,",")
end
+-- kpsewhich --expand-braces '{a,b}{c,d}'
+-- ac:bc:ad:bd
+
-- old {a,b}{c,d} => ac ad bc bd
--
-- local function f_both(a,b)
@@ -13040,7 +13043,10 @@ function resolvers.expandpathfromvariable(str)
end
function resolvers.expandbraces(str) -- output variable and brace expansion of STRING
- local ori = resolvers.variable(str)
+-- local ori = resolvers.variable(str)
+-- if ori == "" then
+ local ori = str
+-- end
local pth = expandedpathfromlist(resolvers.splitpath(ori))
return joinpath(pth)
end
@@ -14733,16 +14739,17 @@ function resolvers.usezipfile(archive)
if archive and not registeredfiles[archive] then
local z = zip.openarchive(archive)
if z then
+ local instance = resolvers.instance
local tree = url.query(specification.query).tree or ""
if trace_locating then
report_zip("registering, registering archive '%s'",archive)
end
- statistics.starttiming(resolvers.instance)
+ statistics.starttiming(instance)
resolvers.prependhash('zip',archive)
resolvers.extendtexmfvariable(archive) -- resets hashes too
registeredfiles[archive] = z
instance.files[archive] = resolvers.registerzipfile(z,tree)
- statistics.stoptiming(resolvers.instance)
+ statistics.stoptiming(instance)
elseif trace_locating then
report_zip("registering, unknown archive '%s'",archive)
end
@@ -16673,7 +16680,7 @@ elseif e_argument("find-path") then
elseif e_argument("expand-braces") then
- -- luatools: runners.execute_ctx_script("mtx-base","--expand-braces",filename)
+ -- luatools: runners.execute_ctx_script("mtx-base","--expand-braces",filename
resolvers.load("nofiles")
runners.register_arguments(filename)
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index 51cbb95f2..37ca30d8c 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -11004,6 +11004,9 @@ local function f_second(a,b)
return concat(t,",")
end
+-- kpsewhich --expand-braces '{a,b}{c,d}'
+-- ac:bc:ad:bd
+
-- old {a,b}{c,d} => ac ad bc bd
--
-- local function f_both(a,b)
@@ -13040,7 +13043,10 @@ function resolvers.expandpathfromvariable(str)
end
function resolvers.expandbraces(str) -- output variable and brace expansion of STRING
- local ori = resolvers.variable(str)
+-- local ori = resolvers.variable(str)
+-- if ori == "" then
+ local ori = str
+-- end
local pth = expandedpathfromlist(resolvers.splitpath(ori))
return joinpath(pth)
end
@@ -14733,16 +14739,17 @@ function resolvers.usezipfile(archive)
if archive and not registeredfiles[archive] then
local z = zip.openarchive(archive)
if z then
+ local instance = resolvers.instance
local tree = url.query(specification.query).tree or ""
if trace_locating then
report_zip("registering, registering archive '%s'",archive)
end
- statistics.starttiming(resolvers.instance)
+ statistics.starttiming(instance)
resolvers.prependhash('zip',archive)
resolvers.extendtexmfvariable(archive) -- resets hashes too
registeredfiles[archive] = z
instance.files[archive] = resolvers.registerzipfile(z,tree)
- statistics.stoptiming(resolvers.instance)
+ statistics.stoptiming(instance)
elseif trace_locating then
report_zip("registering, unknown archive '%s'",archive)
end
@@ -16673,7 +16680,7 @@ elseif e_argument("find-path") then
elseif e_argument("expand-braces") then
- -- luatools: runners.execute_ctx_script("mtx-base","--expand-braces",filename)
+ -- luatools: runners.execute_ctx_script("mtx-base","--expand-braces",filename
resolvers.load("nofiles")
runners.register_arguments(filename)
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index 51cbb95f2..37ca30d8c 100755
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -11004,6 +11004,9 @@ local function f_second(a,b)
return concat(t,",")
end
+-- kpsewhich --expand-braces '{a,b}{c,d}'
+-- ac:bc:ad:bd
+
-- old {a,b}{c,d} => ac ad bc bd
--
-- local function f_both(a,b)
@@ -13040,7 +13043,10 @@ function resolvers.expandpathfromvariable(str)
end
function resolvers.expandbraces(str) -- output variable and brace expansion of STRING
- local ori = resolvers.variable(str)
+-- local ori = resolvers.variable(str)
+-- if ori == "" then
+ local ori = str
+-- end
local pth = expandedpathfromlist(resolvers.splitpath(ori))
return joinpath(pth)
end
@@ -14733,16 +14739,17 @@ function resolvers.usezipfile(archive)
if archive and not registeredfiles[archive] then
local z = zip.openarchive(archive)
if z then
+ local instance = resolvers.instance
local tree = url.query(specification.query).tree or ""
if trace_locating then
report_zip("registering, registering archive '%s'",archive)
end
- statistics.starttiming(resolvers.instance)
+ statistics.starttiming(instance)
resolvers.prependhash('zip',archive)
resolvers.extendtexmfvariable(archive) -- resets hashes too
registeredfiles[archive] = z
instance.files[archive] = resolvers.registerzipfile(z,tree)
- statistics.stoptiming(resolvers.instance)
+ statistics.stoptiming(instance)
elseif trace_locating then
report_zip("registering, unknown archive '%s'",archive)
end
@@ -16673,7 +16680,7 @@ elseif e_argument("find-path") then
elseif e_argument("expand-braces") then
- -- luatools: runners.execute_ctx_script("mtx-base","--expand-braces",filename)
+ -- luatools: runners.execute_ctx_script("mtx-base","--expand-braces",filename
resolvers.load("nofiles")
runners.register_arguments(filename)
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 94e836e1d..0fbfda73e 100644
--- a/tex/context/base/cont-new.mkii
+++ b/tex/context/base/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2012.05.24 19:36}
+\newcontextversion{2012.05.25 18:21}
%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/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index d13423741..a521479b5 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2012.05.24 19:36}
+\newcontextversion{2012.05.25 18:21}
%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/context-version.pdf b/tex/context/base/context-version.pdf
index dc456136f..078cdfb31 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index bc31e8a30..2ee0c710d 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index 1e8d73c4c..55b4110f1 100644
--- a/tex/context/base/context.mkii
+++ b/tex/context/base/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.05.24 19:36}
+\edef\contextversion{2012.05.25 18:21}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 98898765f..ccbc64c21 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -23,7 +23,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2012.05.24 19:36}
+\edef\contextversion{2012.05.25 18:21}
%D For those who want to use this:
diff --git a/tex/context/base/data-exp.lua b/tex/context/base/data-exp.lua
index 8040e5963..66bbb56cb 100644
--- a/tex/context/base/data-exp.lua
+++ b/tex/context/base/data-exp.lua
@@ -42,6 +42,9 @@ local function f_second(a,b)
return concat(t,",")
end
+-- kpsewhich --expand-braces '{a,b}{c,d}'
+-- ac:bc:ad:bd
+
-- old {a,b}{c,d} => ac ad bc bd
--
-- local function f_both(a,b)
diff --git a/tex/context/base/data-res.lua b/tex/context/base/data-res.lua
index 01b5f2525..7206c0d78 100644
--- a/tex/context/base/data-res.lua
+++ b/tex/context/base/data-res.lua
@@ -805,7 +805,10 @@ function resolvers.expandpathfromvariable(str)
end
function resolvers.expandbraces(str) -- output variable and brace expansion of STRING
- local ori = resolvers.variable(str)
+-- local ori = resolvers.variable(str)
+-- if ori == "" then
+ local ori = str
+-- end
local pth = expandedpathfromlist(resolvers.splitpath(ori))
return joinpath(pth)
end
diff --git a/tex/context/base/data-zip.lua b/tex/context/base/data-zip.lua
index 1d2f2d4f6..676a2df96 100644
--- a/tex/context/base/data-zip.lua
+++ b/tex/context/base/data-zip.lua
@@ -209,16 +209,17 @@ function resolvers.usezipfile(archive)
if archive and not registeredfiles[archive] then
local z = zip.openarchive(archive)
if z then
+ local instance = resolvers.instance
local tree = url.query(specification.query).tree or ""
if trace_locating then
report_zip("registering, registering archive '%s'",archive)
end
- statistics.starttiming(resolvers.instance)
+ statistics.starttiming(instance)
resolvers.prependhash('zip',archive)
resolvers.extendtexmfvariable(archive) -- resets hashes too
registeredfiles[archive] = z
instance.files[archive] = resolvers.registerzipfile(z,tree)
- statistics.stoptiming(resolvers.instance)
+ statistics.stoptiming(instance)
elseif trace_locating then
report_zip("registering, unknown archive '%s'",archive)
end
diff --git a/tex/context/base/file-job.mkvi b/tex/context/base/file-job.mkvi
index 83d9c78ba..112400cbd 100644
--- a/tex/context/base/file-job.mkvi
+++ b/tex/context/base/file-job.mkvi
@@ -110,6 +110,12 @@
\unexpanded\def\autostarttext{\ctxcommand{autostarttext()}}
\unexpanded\def\autostoptext {\ctxcommand{autostoptext()}}
+\newtoks\everystartnotext
+\newtoks\everystopnotext
+
+\unexpanded\def\startnotext {\the\everystartnotext}
+\unexpanded\def\stopnotext {\the\everystopnotext \normalend}
+
% protect structure
\unexpanded\def\processfilemany#name{\ctxcommand{processfilemany("#name")}}
diff --git a/tex/context/base/font-mis.lua b/tex/context/base/font-mis.lua
index e5971e524..9ca357751 100644
--- a/tex/context/base/font-mis.lua
+++ b/tex/context/base/font-mis.lua
@@ -22,7 +22,7 @@ local handlers = fonts.handlers
handlers.otf = handlers.otf or { }
local otf = handlers.otf
-otf.version = otf.version or 2.736
+otf.version = otf.version or 2.737
otf.cache = otf.cache or containers.define("fonts", "otf", otf.version, true)
function otf.loadcached(filename,format,sub)
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index 27a64e917..e1339aec9 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -49,7 +49,7 @@ local otf = fonts.handlers.otf
otf.glists = { "gsub", "gpos" }
-otf.version = 2.736 -- beware: also sync font-mis.lua
+otf.version = 2.737 -- beware: also sync font-mis.lua
otf.cache = containers.define("fonts", "otf", otf.version, true)
local fontdata = fonts.hashes.identifiers
@@ -1338,12 +1338,15 @@ local function check_variants(unicode,the_variants,splitter,unicodes)
local g = glyphs[i]
if done[g] then
report_otf("skipping cyclic reference U+%05X in math variant U+%05X",g,unicode)
- elseif n == 0 then
- n = 1
- variants = { g }
else
- n = n + 1
- variants[n] = g
+ if n == 0 then
+ n = 1
+ variants = { g }
+ else
+ n = n + 1
+ variants[n] = g
+ end
+ done[g] = true
end
end
if n == 0 then
diff --git a/tex/context/base/font-set.mkvi b/tex/context/base/font-set.mkvi
index d692c6cc8..8e4044267 100644
--- a/tex/context/base/font-set.mkvi
+++ b/tex/context/base/font-set.mkvi
@@ -72,6 +72,10 @@
\global\everyvbox\emptytoks
\font_preloads_reset_nullfont}
+\appendtoks
+ \font_preloads_reset
+\to \everystartnotext
+
\def\font_preloads_reset_checked
{\glet\font_preload_default_fonts_tt\relax
\glet\font_preload_default_fonts_mm\relax
diff --git a/tex/context/base/font-tra.mkiv b/tex/context/base/font-tra.mkiv
index 353d9e7a5..06b861378 100644
--- a/tex/context/base/font-tra.mkiv
+++ b/tex/context/base/font-tra.mkiv
@@ -82,8 +82,8 @@
\fetchruntimecommand \showcharratio {\f!fontprefix\s!run}
\fetchruntimecommand \showfontparameters {\f!fontprefix\s!run}
-\unexpanded\def\checkcharactersinfont {\ctxcommand{checkcharactersinfont }}
-\unexpanded\def\removemissingcharacters{\ctxcommand{removemissingcharacters}}
+\unexpanded\def\checkcharactersinfont {\ctxcommand{checkcharactersinfont()}}
+\unexpanded\def\removemissingcharacters{\ctxcommand{removemissingcharacters()}}
\unexpanded\def\showchardata #1{\ctxcommand{showchardata("#1")}}
\unexpanded\def\showfontdata {\ctxcommand{showfontparameters()}}
diff --git a/tex/context/base/meta-ini.mkiv b/tex/context/base/meta-ini.mkiv
index d2f5cd6cb..a62b81ccf 100644
--- a/tex/context/base/meta-ini.mkiv
+++ b/tex/context/base/meta-ini.mkiv
@@ -886,14 +886,9 @@
% A dirty trick, ** in colo-ini.lua (mpcolor).
-% \def\m_meta_colo_initializations{%
-% OverlayLineColor:=\MPcolor{\overlaylinecolor};
-% OverlayColor:=\MPcolor{\overlaycolor};
-% }
-
-\def\m_meta_colo_initializations{%
- vardef OverlayLineColor=\MPcolor{\overlaylinecolor} enddef;
- vardef OverlayColor=\MPcolor{\overlaycolor} enddef;
+\def\m_meta_colo_initializations{% no vardef, goes wrong with spot colors
+ def OverlayLineColor=\MPcolor{\overlaylinecolor} enddef;
+ def OverlayColor=\MPcolor{\overlaycolor} enddef;
}
\startMPextensions
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index 743f851c4..7d61d0427 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -94,7 +94,7 @@ return {
"startcomponent", "stopcomponent", "component",
"startproduct", "stopproduct", "product",
"startproject", "stopproject", "project",
- "starttext", "stoptext", "startdocument", "stopdocument", "documentvariable",
+ "starttext", "stoptext", "startnotext", "stopnotext","startdocument", "stopdocument", "documentvariable",
"startmodule", "stopmodule", "usemodule",
--
"startTEXpage", "stopTEXpage",
diff --git a/tex/context/base/page-sid.mkiv b/tex/context/base/page-sid.mkiv
index 4a24794eb..f4d42a41c 100644
--- a/tex/context/base/page-sid.mkiv
+++ b/tex/context/base/page-sid.mkiv
@@ -51,7 +51,7 @@
\newcount \c_page_sides_n_of_hang
\newconstant \c_page_sides_float_type
-\newconditional \c_page_sides_short
+\newconditional \c_page_sides_short % needs checking .. best write this from scratch
\newconditional \c_page_sides_flag
\newconditional \c_page_sides_r_eq % messy, needs checking anyway
diff --git a/tex/context/base/s-mod-01.mkii b/tex/context/base/s-mod-01.mkii
index 7e32a5b87..5b83cd121 100644
--- a/tex/context/base/s-mod-01.mkii
+++ b/tex/context/base/s-mod-01.mkii
@@ -37,7 +37,7 @@
[\v!big]
\setuptolerance
- [\v!verytolerant,\v!!stretch]
+ [\v!verytolerant,\v!stretch]
\setuplayout
[\c!backspace=3.5cm,
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index a1fb1c9c8..1bb5ecfc7 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index dcdf423f2..ca099cd41 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index ab4005fb7..20ddac461 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -1896,6 +1896,10 @@
\let\tabl_tabulate_flush_collected \empty
\let\tabl_tabulate_flush_collected_indeed\empty
+\def\tabl_tabulate_set_local_hsize
+ {\setlocalhsize
+ \hsize\localhsize}
+
\def\tabl_tabulate_process
{\c_tabl_tabulate_pass\plusone
\tabl_tabulate_check_full_content
@@ -1978,8 +1982,7 @@
\ifinsidefloat
\d_tabl_tabulate_indent\zeropoint
\else
- \setlocalhsize
- \hsize\localhsize
+ \tabl_tabulate_set_local_hsize
\fi
\dontcomplain
\forgetall % hm, interference with preceding \forgetparindent probably bug, to be solved
diff --git a/tex/context/fonts/asana-math.lfg b/tex/context/fonts/asana-math.lfg
index 2c13600c1..5b47b3ff8 100644
--- a/tex/context/fonts/asana-math.lfg
+++ b/tex/context/fonts/asana-math.lfg
@@ -39,7 +39,7 @@ return {
copyright = "ConTeXt development team",
mathematics = {
parameters = {
- DisplayOperatorMinHeight = more,
+ -- DisplayOperatorMinHeight = 0, -- more
-- StackBottomDisplayStyleShiftDown = 0,
-- StackBottomShiftDown = 0,
-- StackDisplayStyleGapMin = 0,
diff --git a/tex/context/fonts/px-math.lfg b/tex/context/fonts/px-math.lfg
index afb0270a2..2996a55e5 100644
--- a/tex/context/fonts/px-math.lfg
+++ b/tex/context/fonts/px-math.lfg
@@ -19,7 +19,7 @@ return {
{ name = "pxex.tfm", vector = "tex-ex", extension = true } ,
{ name = "pxsya.tfm", vector = "tex-ma" },
{ name = "pxsyb.tfm", vector = "tex-mb" },
- { name = "texgyrepagella-bold.otf", vector = "tex-bf" } ,
+ { name = "texgyrepagella-bold.otf", vector = "tex-bf", skewchar=0x7F } ,
{ name = "texgyrepagella-bolditalic.otf", vector = "tex-bi" } ,
{ name = "lmsans10-regular.otf", vector = "tex-ss", optional=true },
{ name = "lmmono10-regular.otf", vector = "tex-tt", optional=true },
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 32f7365f0..ad962eb88 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 : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 05/24/12 19:36:52
+-- merge date : 05/25/12 18:21:28
do -- begin closure to overcome local limits and interference
@@ -5397,7 +5397,7 @@ local otf = fonts.handlers.otf
otf.glists = { "gsub", "gpos" }
-otf.version = 2.736 -- beware: also sync font-mis.lua
+otf.version = 2.737 -- beware: also sync font-mis.lua
otf.cache = containers.define("fonts", "otf", otf.version, true)
local fontdata = fonts.hashes.identifiers
@@ -6686,12 +6686,15 @@ local function check_variants(unicode,the_variants,splitter,unicodes)
local g = glyphs[i]
if done[g] then
report_otf("skipping cyclic reference U+%05X in math variant U+%05X",g,unicode)
- elseif n == 0 then
- n = 1
- variants = { g }
else
- n = n + 1
- variants[n] = g
+ if n == 0 then
+ n = 1
+ variants = { g }
+ else
+ n = n + 1
+ variants[n] = g
+ end
+ done[g] = true
end
end
if n == 0 then