From 70bceaf73bc80f2c400205d0f6fa181e79b07def Mon Sep 17 00:00:00 2001 From: Marius Date: Fri, 25 May 2012 19:40:14 +0300 Subject: beta 2012.05.25 18:21 --- .../lexers/data/scite-context-data-context.lua | 2 +- .../data/scite/lexers/scite-context-lexer-mps.lua | 4 +- .../data/scite/lexers/scite-context-lexer-tex.lua | 4 +- .../scite/scite-context-data-context.properties | 17 +-- context/data/scite/scite-context.properties | 2 +- scripts/context/lua/mtx-context.lua | 160 +++++++++++---------- scripts/context/lua/mtxrun.lua | 15 +- scripts/context/stubs/mswin/mtxrun.lua | 15 +- scripts/context/stubs/unix/mtxrun | 15 +- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4133 -> 4128 bytes tex/context/base/context-version.png | Bin 106192 -> 106161 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/data-exp.lua | 3 + tex/context/base/data-res.lua | 5 +- tex/context/base/data-zip.lua | 5 +- tex/context/base/file-job.mkvi | 6 + tex/context/base/font-mis.lua | 2 +- tex/context/base/font-otf.lua | 15 +- tex/context/base/font-set.mkvi | 4 + tex/context/base/font-tra.mkiv | 4 +- tex/context/base/meta-ini.mkiv | 11 +- tex/context/base/mult-low.lua | 2 +- tex/context/base/page-sid.mkiv | 2 +- tex/context/base/s-mod-01.mkii | 2 +- tex/context/base/status-files.pdf | Bin 24428 -> 24406 bytes tex/context/base/status-lua.pdf | Bin 180037 -> 180035 bytes tex/context/base/tabl-tbl.mkiv | 7 +- tex/context/fonts/asana-math.lfg | 2 +- tex/context/fonts/px-math.lfg | 2 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 17 ++- 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 100644 --- 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 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index bc31e8a30..2ee0c710d 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png 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 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index dcdf423f2..ca099cd41 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf 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 -- cgit v1.2.3