From 5855e0bf17f2657517a87581aa1f02af0f78b020 Mon Sep 17 00:00:00 2001
From: Marius <mariausol@gmail.com>
Date: Thu, 29 Nov 2012 17:00:15 +0200
Subject: beta 2012.11.29 15:40

---
 .../lexers/data/scite-context-data-context.lua     |    2 +-
 .../scite/scite-context-data-context.properties    |   13 +-
 .../scite/scite-context-data-interfaces.properties | 1322 ++++++++++----------
 .../scite/scite-context-data-metafun.properties    |   14 +-
 .../scite/scite-context-data-metapost.properties   |   22 +-
 .../data/scite/scite-context-data-tex.properties   |  114 +-
 metapost/context/base/mp-chem.mpiv                 | 1037 +++++++--------
 metapost/context/base/mp-mlib.mpiv                 |   12 +-
 scripts/context/ruby/texexec.rb                    |    2 +-
 tex/context/base/chem-str.lua                      |   11 +-
 tex/context/base/cldf-ini.mkiv                     |   14 +-
 tex/context/base/cont-new.mkii                     |    2 +-
 tex/context/base/cont-new.mkiv                     |    2 +-
 tex/context/base/context-version.pdf               |  Bin 4142 -> 4106 bytes
 tex/context/base/context-version.png               |  Bin 40593 -> 40620 bytes
 tex/context/base/context.mkii                      |    2 +-
 tex/context/base/context.mkiv                      |    2 +-
 tex/context/base/core-env.mkiv                     |   18 +-
 tex/context/base/luat-cod.mkiv                     |    9 -
 tex/context/base/luat-ini.mkiv                     |    6 +-
 tex/context/base/lxml-css.mkiv                     |    2 +-
 tex/context/base/lxml-ini.mkiv                     |    2 +-
 tex/context/base/meta-ini.mkiv                     |   17 +-
 tex/context/base/mlib-ctx.lua                      |    4 +-
 tex/context/base/mlib-pdf.mkiv                     |    1 +
 tex/context/base/mlib-pps.lua                      |    9 +-
 tex/context/base/mlib-run.lua                      |   38 +-
 tex/context/base/mult-low.lua                      |    4 +-
 tex/context/base/s-abr-01.tex                      |    1 +
 tex/context/base/s-inf-03.pdf                      |  Bin 0 -> 17034 bytes
 tex/context/base/status-files.pdf                  |  Bin 24564 -> 24421 bytes
 tex/context/base/status-lua.log                    |  340 +++++
 tex/context/base/status-lua.pdf                    |  Bin 198959 -> 0 bytes
 tex/context/base/syst-lua.mkiv                     |    3 +-
 tex/context/base/util-sql-users.lua                |   21 +-
 tex/context/base/x-asciimath.mkiv                  |    2 +-
 tex/context/base/x-calcmath.mkiv                   |    2 +-
 tex/context/base/x-chemml.mkiv                     |    2 +-
 tex/generic/context/luatex/luatex-fonts-merged.lua |    2 +-
 39 files changed, 1671 insertions(+), 1383 deletions(-)
 create mode 100644 tex/context/base/s-inf-03.pdf
 create mode 100644 tex/context/base/status-lua.log
 delete mode 100644 tex/context/base/status-lua.pdf

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 86a817b70..b636d76f7 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", "zeromuskip", "onemuskip", "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" },
+ ["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", "zeromuskip", "onemuskip", "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", "globalenablemode", "globaldisablemode", "globalpreventmode", "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", "startcontextcode", "stopcontextcode", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "doifelsecommandhandler", "doifnotcommandhandler", "doifcommandhandler", "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", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthsargumenttrue", "sixthargumentfalse", "sixtsargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "dontcomplain", "forgetall", "donetrue", "donefalse", "htdp", "unvoidbox", "hfilll", "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", "availablehsize", "localhsize", "setlocalhsize", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "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", "doifnumber", "doifnotnumber", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifinstringelse", "doifassignmentelse", "docheckassignment", "tracingall", "tracingnone", "loggingall", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "everyendpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "obeyspaces", "obeylines", "normalspace", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "wait", "writestatus", "define", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "getvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "glet", "udef", "ugdef", "uedef", "uxdef", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "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", "newsignal", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doiffirstcharelse", "startnointerference", "stopnointerference", "twodigits", "threedigits", "strut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "begstrut", "endstrut", "lineheight" },
 }
\ No newline at end of file
diff --git a/context/data/scite/scite-context-data-context.properties b/context/data/scite/scite-context-data-context.properties
index c6a0213cf..064f018ce 100644
--- a/context/data/scite/scite-context-data-context.properties
+++ b/context/data/scite/scite-context-data-context.properties
@@ -136,10 +136,11 @@ 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 
+preventmode globalenablemode globaldisablemode globalpreventmode 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-data-interfaces.properties b/context/data/scite/scite-context-data-interfaces.properties
index c205bb568..44f315053 100644
--- a/context/data/scite/scite-context-data-interfaces.properties
+++ b/context/data/scite/scite-context-data-interfaces.properties
@@ -1,165 +1,152 @@
-keywordclass.context.it=\
-CAP Cap Caps GIORNOSETTIMANA \
-Lettera Lettere MESE Numeri Numeriromani \
-PAROLA PAROLE Parola Parole accoppiacarta \
-accoppiadocumento accoppiamarcatura accoppiapagina accoppiaregistro adattacampo \
-adattalayout al allineacentro allineadestra allineasinistra \
-altezzacarta altezzacartastampa altezzacima altezzaelenco altezzafondo \
-altezzaintestazione altezzamakeup altezzapdp altezzatesto ambiente \
-ampiezzabordo ampiezzabordodestro ampiezzabordosinistro ampiezzacarta ampiezzacartastampa \
-ampiezzaelenco ampiezzamakeup ampiezzamargine ampiezzamarginedestro ampiezzamarginesinistro \
-ampiezzatesto ap apagina appendix arg \
-atleftmargin atrightmargin barracolori barrainterazione barrasincronizzazione \
-bastablocchi bastafile cambiaafontdeltesto campi camporiempimento \
-cap capello chapter chim circondato \
-citazione clip clonacampo colonna colore \
-coloregrigio comment commento completecombinedlist completelistoffloats \
-completelistofsorts completelistofsynonyms completeregister componenet confrontagruppocolori \
-confrontatavolozza convertinumero copiacampo correggispaziobianco coupledregister \
-crlf cutspace da daqualcheparte data \
-datadioggi datareferral decrementnumber definebodyfontDEF definebodyfontREF \
-definecolumnbreak definecombination definedfont definefontfeature definefonthandling \
-defineindentedtext defineinmargin defineitemgroup definelayer definemathalignment \
-definepagebreak defineplacement definetypeface definisci definisciaccento \
-definisciambientefontdeltesto definisciblocco definiscibloccosezione definiscibuffer definiscicampo \
-definiscicampoprincipale definiscicapoversi definiscicarattere definiscicolore definiscicomando \
-definisciconversione definiscidescrizione definiscidimensionicarta definiscielenco definiscielencocombinato \
-definiscienumerazione definiscietichetta definiscifigurasimbolo definiscifont definiscifontdeltesto \
-definiscifontgrezzo definisciformatoriferimento definiscigruppocolonne definiscigruppocolori definiscihbox \
-definisciincorniciato definisciiniziatermina definiscilayout definiscilinea definiscilistariferimenti \
-definiscilogo definiscimakeup definiscimarcatura definiscimenuinterazione definiscimodellotabella \
-definiscioggettomobile definisciordinamento definiscioutput definisciposizionetesto definisciprofilo \
-definisciprogramma definisciregistro definisciriferimento definiscirigovuoto definiscisezione \
-definiscisimbolo definiscisinonimi definiscisinonimofont definiscisottocampo definiscisovrapposizione \
-definiscistackcampi definiscistile definiscistilefont definiscitabulato definiscitavolozza \
-definiscitesta definiscitesto definiscitestoincorniciato definiscitype definiscityping \
-definiscivariabiletesto definisciversion description determinacaratteristicheregistro determinacarattersticheelenco \
-determinanumerotesta dimensione disabilitamenuinterazione distanzabordo distanzabordodestro \
-distanzabordosinistro distanzacima distanzafondo distanzaintestazione distanzamargine \
-distanzamarginedestro distanzamarginesinistro distanzapdp domicilio el \
-elaborablocchi elaborapagina elementi elemento emptylines \
-enumeration etichetta etichette fatto figuraesterna \
-fondo forzablocchi framedtext frazione getnumber \
-giornosettimana griglia headsym hl ignoto \
-immediatebetweenlist immediatetolist impaccato impostaallineamento impostaambientefontdeltesto \
-impostaampiezzariga impostabarrainterazione impostabarrasincronizzazione impostablocchimargine impostablocco \
-impostabloccosezione impostabuffer impostacampi impostacampo impostacapoversi \
-impostacaption impostacaptions impostacima impostaclippling impostacolonne \
-impostacolore impostacolori impostacombinazioni impostacommento impostacommentopagina \
-impostadefinizionenotepdp impostadescrizioni impostadimensionicarta impostaelementi impostaelencazioni \
-impostaelenco impostaelencocombinato impostaenumerazioni impostafigureesterne impostafondo \
-impostafontdeltesto impostaforms impostaformule impostagruppocolonne impostaincorniciato \
-impostainiziatermina impostainmargine impostainstestazione impostainterazione impostainterlinea \
-impostalayout impostalegenda impostalinea impostalineemargine impostalineenere \
-impostalineeriempimento impostalineesottili impostalineetesto impostalingua impostalistariferimenti \
-impostamaiuscole impostamakeup impostamarcatura impostamenuinterazione impostamenzione \
-impostanotepdp impostanumerazione impostanumerazionecapoversi impostanumerazionepagina impostanumerazionerighe \
-impostanumeropagina impostanumerosottopagina impostanumerotesta impostaoggettimobili impostaoggettomobile \
-impostaordinamento impostaoutput impostaparranging impostapdp impostapiustretto \
-impostaposizionamento impostaposizionamentoopposti impostaposizionetesto impostaprofili impostaprogrammi \
-impostapubblicazioni impostapulsanti impostaregistro impostarientro impostariferimento \
-impostarighe impostarigheriempimento impostarigovuoto impostarotazione impostaschermi \
-impostaschermointerazione impostasegnosillabazione impostasetsimboli impostasezione impostasfondi \
-impostasfondo impostasincronizzazione impostasinonimi impostasistema impostasottolinea \
-impostaspaziatura impostaspaziobianco impostaspezzamentooggettomobile impostastrut impostatab \
-impostatabelle impostatabulato impostatavolozza impostatesta impostateste \
-impostatesticima impostatestifondo impostatestiincorniciati impostatestiintestazioni impostatestipdp \
-impostatesto impostatestoetichette impostatestointestazioni impostatestotesti impostatolleranza \
-impostatransizionepagina impostatype impostatyping impostaurl impostavariabiletesto \
-impostaversioni impostazioni in inaltromargine incorniciato \
-incrementanumero indentation indestra ininner iniziaallineamento \
-iniziaambiente iniziabloccomargine iniziacitazione iniziacodifica iniziacolonne \
-iniziacolore iniziacombinazione iniziacomponente iniziacorrezioneriga iniziadocumento \
-iniziafigura iniziaglobale iniziagruppocolonne iniziaimpaccato inizialineamargine \
-inizialineatesto inizialocale iniziamakeup inizianotepdplocali inizianumerazionerighe \
-iniziaopposto iniziaoverview iniziapiustretto iniziaposizionamento iniziaprodotto \
-iniziaprofilo iniziaprogetto iniziaraster iniziariga iniziarighe \
-iniziasetsimboli iniziasfondo iniziasincronizzazione iniziasovrapposizione iniziatabella \
-iniziatabelle iniziatesto iniziaunpacked iniziaversione inlatodestro \
-inlatosinistro inmaframed inmargine inmarginedestro inmarginesinistro \
-inneredgedistance inneredgewidth innermargindistance innermarginwidth inouter \
-inriga insinistra installalingua intorno labeling \
-leg lettera lettere lineamargine lineanera \
-lineasottile lineatesto lineenere lineeriempimento lineesottili \
-lingua linguaprincipale listsymbol livellotesta loadsorts \
-loadsynonyms logcampi lunghezzaelenco maframed mapfontsize \
-mar marcatura marcaversione matematica mediaeval \
-menuinterattivo menzione mese mettielenco mettielencocombinato \
-mettifiancoafianco mettiformula mettiingriglia mettilegenda mettilinea \
-mettiloghi mettinotepdp mettinotepdplocali mettinumeropagina mettiregistro \
-mettisegnalibro mettisottoformula mettiunosullaltro mettivariabiletesto mostraambientefontdeltesto \
-mostracampi mostracolore mostracornice mostrafiguresterne mostrafontdeltesto \
-mostragriglia mostragruppocolori mostraimpostazioni mostralyout mostramakeup \
-mostrasetsimboli mostrastampa mostrastruts mostratavolozza movesidefloat \
-name nascondiblocchi navigating nextsection nientedimensioni \
-nienteelenco nientelineecimafondo nientelineintestazionepdp nientemarcatura nienterientro \
-nientespazio nientespaziobianco nocap nome nomeunita \
-nop nota notapdp notest numberofsubpages \
-numeri numeriromani numeroformula numeropagina numeropaginacompleto \
-numerosottoformula numerotesta numerotestacorrente numerototaledipagine outeredgedistance \
-outeredgewidth outermargindistance outermarginwidth overbar overbars \
-overstrike overstrikes pagedepth pageoffset pagina \
-paragraph paroladestra parolainmargine part passaafontgrezzo \
-ped pedap perlungo placefloat placelistoffloats \
-placelistofsorts placelistofsynonyms placerawlist placereferencelist posizionanumerotesta \
-posizionatesto posizionatestotesta posizione prendibuffer prendimarcatura \
-prodotto progetto programma pubblicazione pulsante \
-pulsantemenu pulsantinterazione punti qualcheriga ran \
-referral referring register reimposta reimpostamarcatura \
-reservefloat resetnumber resettextcontent rientro rif \
-rifai riferimento riferimentopagina riferimentotesto riflessione \
-rigariempimento rigovuoto ruota saltablocchi scala \
-schermo scrividentroelenco scriviinelenco scriviinlistariferimenti scriviinregistro \
-section seeregister segnalibro seguiprofilo seguiversione \
-seguiversioneprofilo selezionablocchi selezionacarta selezionaversione separamarcatura \
-setnumber settext setupanswerarea setupcolumnsetlines setupcolumnsetstart \
-setupfonthandling setupfontsynonym setupindentedtext setupinterlinespace2 setupitemgroup \
-setuplistalternative setupmathalignment setuppaper setupplacement setvariabiletesto \
-sfondo sim simbolo sincronizza sort \
-spazifissi spazio spaziobianco spaziocima spaziodietro \
-spaziofisso spaziofondo spessoreriga spezzaoggettomobile spostaagriglia \
-spostaformula stackcampi startalignment startambiente startbuffer \
-startcitazione startcolore startcolumnmakeup startcolumns startcombination \
-startcomment startcomponenet startdescription startdocument startenumeration \
-startfatto startfigure startfloattext startformula startframedtext \
-starthiding startimpaccato startitemgroup startlegend startline \
-startlineamargine startlineatesto startlinecorrection startlinenumbering startlines \
+keywordclass.context.en=\
+CAP Cap Caps Character \
+Characters MONTH Numbers Romannumerals WEEKDAY \
+WORD WORDS Word Words about \
+adaptlayout adding appendix arg at \
+atleftmargin atpage atrightmargin background backspace \
+blackrule blackrules blank bookmark bottomdistance \
+bottomheight bottomspace but button bypassblocks \
+cap chapter character characters chem \
+clip clonefield color colorbar colorvalue \
+column comment comparecolorgroup comparepalet completecombinedlist \
+completelistoffloats completelistofsorts completelistofsynonyms completepagenumber completeregister \
+component convertnumber copyfield correctwhitespace coupledocument \
+coupledregister couplemarking couplepage couplepaper coupleregister \
+crlf currentdate currentheadnumber cutspace date \
+decouplemarking decrementnumber define defineaccent defineblank \
+defineblock definebodyfont definebodyfontDEF definebodyfontREF definebodyfontenvironment \
+definebuffer definecharacter definecolor definecolorgroup definecolumnbreak \
+definecolumnset definecombination definecombinedlist definecommand defineconversion \
+definedescription definedfont defineenumeration definefield definefieldstack \
+definefiguresymbol definefloat definefont definefontfeature definefonthandling \
+definefontstyle definefontsynonym defineframed defineframedtext definehbox \
+definehead defineindentedtext defineinmargin defineinteractionmenu defineitemgroup \
+definelabel definelayer definelayout definelist definelogo \
+definemainfield definemakeup definemarking definemathalignment defineoutput \
+defineoverlay definepagebreak definepalet definepapersize defineparagraphs \
+defineplacement defineprofile defineprogram definerawfont definereference \
+definereferenceformat definereferencelist defineregister definerule definesection \
+definesectionblock definesorting definestartstop definestyle definesubfield \
+definesymbol definesynonyms definetabletemplate definetabulate definetext \
+definetextposition definetextvariable definetype definetypeface definetyping \
+defineversion description determineheadnumber determinelistcharacteristics determineregistercharacteristics \
+dimension disableinteractionmenu domicile donttest edgedistance \
+edgewidth emptylines enumeration environment externalfigure \
+fact field fieldstack fillinfield fillinline \
+fillinrules fillintext fitfield fixedspace fixedspaces \
+followprofile followprofileversion followversion footerdistance footerheight \
+footnote footnotetext forceblocks formulanumber fraction \
+framed framedtext from getbuffer getmarking \
+getnumber godown goto gotobox gotopage \
+graycolor greyvalue grid hairline head \
+headerdistance headerheight headlevel headnumber headsym \
+headtext hideblocks high hl immediatebetweenlist \
+immediatetolist in incrementnumber indentation indenting \
+inframed infull ininner inleft inleftedge \
+inleftmargin inline inmaframed inmargin inneredgedistance \
+inneredgewidth innermargindistance innermarginwidth inothermargin inouter \
+inright inrightedge inrightmargin installlanguage interactionbar \
+interactionbuttons interactionmenu item items its \
+keepblocks label labeling labels labeltext \
+language leftaligned leftedgedistance leftedgewidth leftmargindistance \
+leftmarginwidth leg linethickness listheight listlength \
+listsymbol listwidth loadsorts loadsynonyms logfields \
+lohi low maframed mainlanguage makeupheight \
+makeupwidth mapfontsize mar margindistance marginrule \
+margintext margintitle marginwidth marginword marking \
+markversion mathematics mediaeval menubutton midaligned \
+mirror month moveformula moveongrid movesidefloat \
+name navigating nextsection nocap nodimension \
+noheaderandfooterlines noindenting nolist nomarking nomoreblocks \
+nomorefiles nop nospace note notopandbottomlines \
+nowhitespace numberofsubpages numbers outeredgedistance outeredgewidth \
+outermargindistance outermarginwidth overbar overbars overstrike \
+overstrikes packed page pagedepth pagenumber \
+pageoffset pagereference paperheight paperwidth paragraph \
+part periods placebookmarks placecombinedlist placefloat \
+placefootnotes placeformula placeheadnumber placeheadtext placelegend \
+placelist placelistoffloats placelistofsorts placelistofsynonyms placelocalfootnotes \
+placelogos placeongrid placeontopofeachother placepagenumber placerawlist \
+placereferencelist placeregister placerule placesidebyside placesubformula \
+placetextvariable position positiontext printpaperheight printpaperwidth \
+processblocks processpage product program project \
+publication quotation quote ran redo \
+ref reference referral referraldate referring \
+register remark reservefloat reset resetmarking \
+resetnumber resettextcontent rightaligned rightedgedistance rightedgewidth \
+rightmargindistance rightmarginwidth romannumerals rotate scale \
+screen section seeregister selectblocks selectpaper \
+selectversion setnumber settextcontent settextvariable setupalign \
+setupanswerarea setuparranging setupbackground setupbackgrounds setupblackrules \
+setupblank setupblock setupbodyfont setupbodyfontenvironment setupbottom \
+setupbottomtexts setupbuffer setupbuttons setupcapitals setupcaption \
+setupcaptions setupclipping setupcolor setupcolors setupcolumns \
+setupcolumnset setupcolumnsetlines setupcolumnsetstart setupcombinations setupcombinedlist \
+setupcomment setupdescriptions setupenumerations setupexternalfigures setupfield \
+setupfields setupfillinlines setupfillinrules setupfloat setupfloats \
+setupfloatsplitting setupfonthandling setupfontsynonym setupfooter setupfootertexts \
+setupfootnotedefinition setupfootnotes setupforms setupformulae setupframed \
+setupframedtexts setuphead setupheader setupheadertexts setupheadnumber \
+setupheads setupheadtext setuphyphenmark setupindentedtext setupindenting \
+setupinmargin setupinteraction setupinteractionbar setupinteractionmenu setupinteractionscreen \
+setupinterlinespace setupinterlinespace2 setupitemgroup setupitemizations setupitems \
+setuplabeltext setuplanguage setuplayout setuplegend setuplinenumbering \
+setuplines setuplinewidth setuplist setuplistalternative setupmakeup \
+setupmarginblocks setupmarginrules setupmarking setupmathalignment setupnarrower \
+setupnumber setupnumbering setupoppositeplacing setupoutput setuppagecomment \
+setuppagenumber setuppagenumbering setuppagetransitions setuppalet setuppaper \
+setuppapersize setupparagraphnumbering setupparagraphs setupplacement setuppositioning \
+setupprofiles setupprograms setuppublications setupquote setupreferencelist \
+setupreferencing setupregister setuprotate setuprule setups \
+setupscreens setupsection setupsectionblock setupsorting setupspacing \
+setupstartstop setupstrut setupsubpagenumber setupsymbolset setupsynchronization \
+setupsynchronizationbar setupsynonyms setupsystem setuptab setuptables \
+setuptabulate setuptext setuptextposition setuptextrules setuptexttexts \
+setuptextvariable setupthinrules setuptolerance setuptop setuptoptexts \
+setuptype setuptyping setupunderbar setupurl setupversions \
+setupwhitespace showbodyfont showbodyfontenvironment showcolor showcolorgroup \
+showexternalfigures showfields showframe showgrid showlayout \
+showmakeup showpalet showprint showsetups showstruts \
+showsymbolset someline somewhere sort space \
+splitfloat startalignment startbackground startbuffer startcoding \
+startcolor startcolumnmakeup startcolumns startcolumnset startcombination \
+startcomment startcomponent startdescription startdocument startenumeration \
+startenvironment startfact startfigure startfloattext startformula \
+startframedtext startglobal starthiding startinteractionmenu startitemgroup \
+startlegend startline startlinecorrection startlinenumbering startlines \
 startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \
-startmenuinterattivo startnamemakeup startnarrower startopposite startoverlay \
-startoverview startparagraph startpositioning startpostponing startprodotto \
-startprofile startprogetto startregister startsfondo startsymbolset \
-startsynchronization starttable starttables starttabulate starttyping \
-startunpacked startversione stirato stopalignment stopambiente \
-stopbuffer stopcitazione stopcolore stopcolumnmakeup stopcolumns \
-stopcombination stopcomment stopcomponenet stopdescription stopdocument \
-stopenumeration stopfatto stopfigure stopfloattext stopformula \
-stopframedtext stophiding stopimpaccato stopitemgroup stoplegend \
-stopline stoplineamargine stoplineatesto stoplinecorrection stoplinenumbering \
-stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup \
-stopmarginblock stopmenuinterattivo stopnamemakeup stopnarrower stopopposite \
-stopoverlay stopoverview stopparagraph stoppositioning stoppostponing \
-stopprodotto stopprofile stopprogetto stopsfondo stopsymbolset \
-stopsynchronization stoptable stoptables stoptabulate stoptyping \
-stopunpacked stopversione sub subject subpagenumber \
-subsection subsubject subsubsection subsubsubject synonym \
-tab terminaallineamento terminaambiente terminabloccomargine terminacitazione \
-terminacodifica terminacolonne terminacolore terminacombinazione terminacomponente \
-terminacorrezioneriga terminadocumento terminaglobale terminagruppocolonne terminaimpaccato \
-terminalineamargine terminalineatesto terminalocale terminamakeup terminanotepdplocali \
-terminanumerazionerighe terminaopposto terminaoverview terminapiustretto terminaposizionamento \
-terminaprodotto terminaprofili terminaprogetto terminaraster terminariga \
-terminarighe terminasfondo terminasincronizzazione terminasovrapposizione terminatabella \
-terminatabelle terminatesto terminaunpacked terminaversioni testa \
-testcolumn testoetichetta testoinmargine testoinstestazioni testonotapdp \
-testoriempimento testpage tex tieniblocchi title \
-titoloinmargine tooltip traduci txt typ \
-type typebuffer typefile underbar underbars \
-usaJSscripts usaURL usablocco usacartella usacodifica \
-usacolonnasonoraesterna usacomandi usadocumentoesterno usafiguraesterna usafileesterni \
-usafileesterno usamoduli usamodulo usariferimenti usasimboli \
-usaspecialita usaurl useXMLfilter usedirectory usetypescript \
-usetypescriptfile vaia vaiabox vaiapagina vaigiu \
-valorecolore valoregrigio variabiletesto versione vl 
+startmarginrule startnamemakeup startnarrower startopposite startoverlay \
+startoverview startpacked startparagraph startpositioning startpostponing \
+startproduct startprofile startproject startquotation startraster \
+startregister startsymbolset startsynchronization starttable starttables \
+starttabulate starttext starttextrule starttyping startunpacked \
+startversion stopalignment stopbackground stopbuffer stopcoding \
+stopcolor stopcolumnmakeup stopcolumns stopcolumnset stopcombination \
+stopcomment stopcomponent stopdescription stopdocument stopenumeration \
+stopenvironment stopfact stopfigure stopfloattext stopformula \
+stopframedtext stopglobal stophiding stopinteractionmenu stopitemgroup \
+stoplegend stopline stoplinecorrection stoplinenumbering stoplines \
+stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \
+stopmarginrule stopnamemakeup stopnarrower stopopposite stopoverlay \
+stopoverview stoppacked stopparagraph stoppositioning stoppostponing \
+stopproduct stopprofile stopproject stopquotation stopraster \
+stopsymbolset stopsynchronization stoptable stoptables stoptabulate \
+stoptext stoptextrule stoptyping stopunpacked stopversion \
+stretched sub subformulanumber subject subpagenumber \
+subsection subsubject subsubsection subsubsubject switchtobodyfont \
+switchtorawfont sym symbol synchronizationbar synchronize \
+synonym tab testcolumn testpage tex \
+textheight textreference textrule textvariable textwidth \
+thinrule thinrules title tooltip topdistance \
+topheight topspace totalnumberofpages translate txt \
+typ type typebuffer typefile underbar \
+underbars unitmeaning unknown useJSscripts useURL \
+useXMLfilter useblocks usecommands usedirectory useencoding \
+useexternaldocument useexternalfigure useexternalfile useexternalfiles useexternalsoundtrack \
+usemodule usemodules usereferences usespecials usesymbols \
+usetypescript usetypescriptfile useurl version vl \
+weekday whitespace wordright writebetweenlist writetolist \
+writetoreferencelist writetoregister 
 
 keywordclass.context.fr=\
 CAP Cap Caps Caractere \
@@ -324,6 +311,169 @@ utilisepsiteaudioexterne utilisereferences utilisespecialites utilisesymboles ut
 va vaalaboite vaalapage vaenbas valeurcouleur \
 valeurgris variabletexte version vide vl 
 
+keywordclass.context.pe=\
+CAP Cap Caps Character \
+Characters MONTH Numbers Romannumerals WEEKDAY \
+WORD WORDS Word Words appendix \
+cap chapter chem comment completecombinedlist \
+completelistoffloats completelistofsorts completelistofsynonyms coupledregister crlf \
+definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling \
+defineindentedtext definetypeface description enumeration framedtext \
+indentation inmframed its labeling loadsorts \
+loadsynonyms mapfontsize mediaeval mframed name \
+nextsection nocap overbar overbars overstrike \
+overstrikes paragraph part placelistoffloats placelistofsorts \
+placelistofsynonyms ran register reservefloat resettextcontent \
+section seeregister setupanswerarea setupcapitals setupfonthandling \
+setupfontsynonym setupindentedtext setupinterlinespace2 setuplistalternative setupurl \
+sort startalignment startbuffer startcolumns startcombination \
+startcomment startdescription startdocument startenumeration startfigure \
+startfloattext startformula startframedtext starthiding startitemgroup \
+startlegend startline startlinecorrection startlinenumbering startlines \
+startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \
+startnamemakeup startnarrower startopposite startoverlay startoverview \
+startparagraph startpositioning startpostponing startprofile startraster \
+startregister startsymbolset startsynchronization starttable starttables \
+starttabulate starttyping startunpacked startتولید startحقیقت \
+startخط‌حاشیه startخط‌متن startرنگ startفشرده startمحیط \
+startمنوی‌پانل startمولفه startنسخه startنقل‌قول startپروژه \
+startپس‌زمینه stopalignment stopbuffer stopcolumns stopcombination \
+stopcomment stopdescription stopdocument stopenumeration stopfigure \
+stopfloattext stopformula stopframedtext stophiding stopitemgroup \
+stoplegend stopline stoplinecorrection stoplinenumbering stoplines \
+stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \
+stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview \
+stopparagraph stoppositioning stoppostponing stopprofile stopraster \
+stopsymbolset stopsynchronization stoptable stoptables stoptabulate \
+stoptyping stopunpacked stopتولید stopحقیقت stopخط‌حاشیه \
+stopخط‌متن stopرنگ stopفشرده stopمحیط stopمنوی‌پانل \
+stopمولفه stopنسخه stopنقل‌قول stopپروژه stopپس‌زمینه \
+sub subject subsection subsubject subsubsection \
+subsubsubject synonym title tooltip txt \
+typ underbar underbars useJSscripts useURL \
+useXMLfilter usedirectory useurl آفست‌صفحه آیتم \
+آیتمها آینه اجباربلوکها ارتفاع‌آرایش ارتفاع‌بالا \
+ارتفاع‌برگ ارتفاع‌ته‌برگ ارتفاع‌خط ارتفاع‌سربرگ ارتفاع‌متن \
+ارتفاع‌پایین از ازکارانداختن‌منوی‌پانل استفاده‌بلوکها استفاده‌دستخط‌تایپ \
+استفاده‌رمزینه استفاده‌شکل‌خارجی استفاده‌فرمانها استفاده‌قطعه‌موزیک‌خارجی استفاده‌مدول \
+استفاده‌مدولها استفاده‌مرجعها استفاده‌مسیر استفاده‌نمادها استفاده‌نوشتارخارجی \
+استفاده‌ویژگیها استفاده‌پرونده‌خارجی استفاده‌پرونده‌دستخط‌تایپ استفاده‌پرونده‌های‌خارجی اعدادلاتین \
+افزودن اما امتحان‌نکن انتخاب‌برگ انتخاب‌بلوکها \
+انتخاب‌نسخه انتقال‌به‌توری انتقال‌فرمول انتقال‌کنار‌شناور انجام‌دوباره \
+بارگذاریها بارگذاری‌آرایش بارگذاری‌آیتمها بارگذاری‌ارجاع بارگذاری‌اندازه‌برگ \
+بارگذاری‌باریکتر بارگذاری‌بافر بارگذاری‌بالا بارگذاری‌بخش بارگذاری‌بردباری \
+بارگذاری‌برنامه‌ها بارگذاری‌برگ بارگذاری‌بست بارگذاری‌بلوک بارگذاری‌بلوکهای‌حاشیه \
+بارگذاری‌بلوک‌بخش بارگذاری‌تایپ بارگذاری‌تایپ‌کردن بارگذاری‌تب بارگذاری‌ترتیب \
+بارگذاری‌ترکیب‌ها بارگذاری‌تطابق بارگذاری‌تعریف‌پانوشت بارگذاری‌تنظیم بارگذاری‌تنظیم‌ریاضی \
+بارگذاری‌ته‌برگ بارگذاری‌تورفتگی بارگذاری‌توضیح بارگذاری‌توضیح‌صفحه بارگذاری‌ثبت \
+بارگذاری‌جانشانی بارگذاری‌جدولها بارگذاری‌جدول‌بندی بارگذاری‌خالی بارگذاری‌خروجی \
+بارگذاری‌خط بارگذاری‌خطها بارگذاری‌خطهای‌حاشیه بارگذاری‌خطهای‌سیاه بارگذاری‌خطهای‌متن \
+بارگذاری‌خطهای‌مجموعه‌ستون بارگذاری‌خطها‌ی‌نازک بارگذاری‌درج‌درخطها بارگذاری‌درج‌مخالف بارگذاری‌درون‌حاشیه \
+بارگذاری‌دوران بارگذاری‌دکمه‌ها بارگذاری‌راهنما بارگذاری‌رنگ بارگذاری‌رنگها \
+بارگذاری‌زبان بارگذاری‌ستونها بارگذاری‌سر بارگذاری‌سربرگ بارگذاری‌سرها \
+بارگذاری‌سیستم بارگذاری‌شرح بارگذاری‌شرحها بارگذاری‌شروع‌مجموعه‌ستون بارگذاری‌شروع‌پایان \
+بارگذاری‌شماره بارگذاری‌شماره‌زیرصفحه بارگذاری‌شماره‌سر بارگذاری‌شماره‌صفحه بارگذاری‌شماره‌گذاری \
+بارگذاری‌شماره‌گذاریها بارگذاری‌شماره‌گذاری‌صفحه بارگذاری‌شماره‌گذاری‌پاراگراف بارگذاری‌شماره‌‌گذاری‌خط بارگذاری‌شناور \
+بارگذاری‌شناورها بارگذاری‌شکافتن‌شناورها بارگذاری‌شکلهای‌خارجی بارگذاری‌طرح بارگذاری‌طرح‌بندی \
+بارگذاری‌عرض‌خط بارگذاری‌فاصله‌بین‌خط بارگذاری‌فرمولها بارگذاری‌فضای‌سفید بارگذاری‌فضا‌گذاری \
+بارگذاری‌قالبی بارگذاری‌قلم‌متن بارگذاری‌لوح بارگذاری‌لیست بارگذاری‌لیست‌ترکیبی \
+بارگذاری‌لیست‌مرجع بارگذاری‌مترادفها بارگذاری‌متغیر‌متن بارگذاری‌متن بارگذاری‌متنهای‌بالا \
+بارگذاری‌متن‌سر بارگذاری‌متن‌سربرگ بارگذاری‌متن‌قالبی بارگذاری‌متن‌متنها بارگذاری‌متن‌پانوشت \
+بارگذاری‌متن‌پایین بارگذاری‌مجموعه‌ستون بارگذاری‌مجموعه‌نماد بارگذاری‌محیط‌قلم‌متن بارگذاری‌منوی‌پانل \
+بارگذاری‌مکان‌متن بارگذاری‌مکان‌گذاری بارگذاری‌میدان بارگذاری‌میدانها بارگذاری‌میله‌تطابق \
+بارگذاری‌میله‌زیر بارگذاری‌میله‌پانل بارگذاری‌نسخه‌ها بارگذاری‌نشانه‌شکستن بارگذاری‌نشانه‌گذاری \
+بارگذاری‌نشرها بارگذاری‌نقل بارگذاری‌پاراگرافها بارگذاری‌پانل بارگذاری‌پانوشتها \
+بارگذاری‌پایین بارگذاری‌پرده‌ها بارگذاری‌پرده‌پانل بارگذاری‌پروفایلها بارگذاری‌پرکردن‌خطها \
+بارگذاری‌پس‌زمینه بارگذاری‌پس‌زمینه‌ها بارگذاری‌چیدن بارگذاری‌گذارصفحه بارگذاری‌گروههای‌آیتم \
+بارگذاری‌گروه‌آیتم بازنشانی بازنشانی‌شماره بازنشانی‌متن بازنشانی‌نشانه‌گذاری \
+باگذاری‌متن‌برچسب بدون‌بعد بدون‌بلوکهای‌بیشتر بدون‌تورفتگی بدون‌خط‌بالاوپایین \
+بدون‌خط‌سروته‌برگ بدون‌فایلهای‌بیشتر بدون‌فضا بدون‌فضای‌سفید بدون‌لیست \
+بدون‌نشانه‌گذاری برنامه بروبه بروبه‌جعبه بروبه‌صفحه \
+بروپایین برچسب برچسبها بعد بلند \
+بلوکهای‌پردازش بلوکها‌پنهان بنویس‌بین‌لیست بنویس‌درثبت بنویس‌درلیست‌مرجع \
+بنویس‌در‌لیست تاریخ تاریخ‌جاری تاریخ‌رجوع تایپ \
+تایپ‌بافر تایپ‌پرونده تب ترجمه تطابق \
+تعریف تعریف‌آرایش تعریف‌آرم تعریف‌الگوی‌جدول تعریف‌اندازه‌برگ \
+تعریف‌بافر تعریف‌بخش تعریف‌برنامه تعریف‌برچسب تعریف‌بلوک \
+تعریف‌بلوک‌بخش تعریف‌تایپ تعریف‌تایپ‌کردن تعریف‌تبدیل تعریف‌ترتیب \
+تعریف‌ترکیب تعریف‌تنظیم‌ریاضی تعریف‌توده‌میدان تعریف‌ثبت تعریف‌جانشانی \
+تعریف‌جدول‌بندی تعریف‌جعبه‌‌افقی تعریف‌حرف تعریف‌خالی تعریف‌خروجی \
+تعریف‌خط‌حائل تعریف‌درون‌حاشیه تعریف‌رنگ تعریف‌زیرمیدان تعریف‌سبک \
+تعریف‌سبک‌قلم تعریف‌سر تعریف‌شرح تعریف‌شروع‌پایان تعریف‌شماره‌بندی \
+تعریف‌شمایل‌مرجع تعریف‌شناور تعریف‌شکستن‌ستون تعریف‌شکست‌صفحه تعریف‌طرح‌بندی \
+تعریف‌فرمان تعریف‌قالبی تعریف‌قلم تعریف‌قلم‌خام تعریف‌قلم‌متن \
+تعریف‌لایه تعریف‌لهجه تعریف‌لوح تعریف‌لیست تعریف‌لیست‌ترکیبی \
+تعریف‌لیست‌مرجع تعریف‌مترادفها تعریف‌مترادف‌قلم تعریف‌متغیرمتن تعریف‌متن \
+تعریف‌متن‌قالبی تعریف‌مجموعه‌ستون تعریف‌محیط‌قلم‌بدنه تعریف‌مرجع تعریف‌منوی‌پانل \
+تعریف‌مکان‌متن تعریف‌میدان تعریف‌میدان‌اصلی تعریف‌نسخه تعریف‌نشانه‌گذاری \
+تعریف‌نماد تعریف‌نمادشکل تعریف‌پاراگرافها تعریف‌پروفایل تعریف‌پوشش \
+تعریف‌گروه‌آیتم تعریف‌گروه‌رنگ تعیین‌شماره تعیین‌شماره‌سر تعیین‌متغیر‌متن \
+تعیین‌محتوای‌متن تعیین‌مشخصات‌ثبت تعیین‌مشخصات‌لیست تغییربه‌قلم‌بدنه تغییربه‌قلم‌خام \
+تنظیم‌راست تنظیم‌طرح‌بندی تنظیم‌وسط توجه تورفتگی \
+توری تولید تک ثبت‌زوج ثبت‌کامل \
+جداسازی‌نشانه‌گذاری حاش حرف حرفها حفظ‌بلوکها \
+حقیقت خالی خطهای‌سیاه خطهای‌نازک خطها‌خالی \
+خط‌حاشیه خط‌سیاه خط‌متن خط‌مو خط‌نازک \
+خ‌ا خ‌ع در درج‌آرمها درج‌ثبت \
+درج‌خط درج‌درخط درج‌درخطها درج‌درمتن درج‌درمیدان \
+درج‌در‌بالای‌یکدیگر درج‌در‌توری درج‌راهنما درج‌زیرفرمول درج‌شماره‌سر \
+درج‌شماره‌صفحه درج‌شناور درج‌فرمول درج‌لیست درج‌لیست‌خام \
+درج‌لیست‌مختلط درج‌لیست‌مرجع درج‌متغیرمتن درج‌متن‌سر درج‌پانوشتها \
+درج‌پانوشتهای‌موضعی درج‌چوب‌خط درج‌کنار‌به‌کنار درحاشیه درحاشیه‌دیگر \
+درحاشیه‌راست درحاشیه‌چپ درخارجی درخط درداخلی \
+درراست درصفحه درقالبی درلبه‌راست درلبه‌چپ \
+درمورد درون درپر درچپ دریافت‌بافر \
+دریافت‌شماره دریافت‌نشانه دوران دکمه دکمه‌منو \
+دکمه‌پانل رج رجوع رنگ رنگ‌خاکستری \
+روزهفته ریاضی زبان زبان‌اصلی ستون \
+ستون‌امتحان سر سرپوش‌کوچک‌نه شروع‌آرایش شروع‌آرایش‌ستون \
+شروع‌باریکتر شروع‌بازبینی شروع‌بلوک‌حاشیه شروع‌ترکیب شروع‌تصحیح‌خط \
+شروع‌تطابق شروع‌تنظیم شروع‌تولید شروع‌جدول شروع‌جدولها \
+شروع‌خط شروع‌خطها شروع‌خط‌حاشیه شروع‌خط‌متن شروع‌رنگ \
+شروع‌ستونها شروع‌سراسری شروع‌شماره‌گذاری‌خط شروع‌شکل شروع‌غیر‌فشرده \
+شروع‌فشرده شروع‌متن شروع‌مجموعه‌ستون شروع‌مجموعه‌نماد شروع‌محیط \
+شروع‌مخالف شروع‌موضعی شروع‌مولفه شروع‌مکان‌گذاری شروع‌نسخه \
+شروع‌نقل‌قول شروع‌نوشتار شروع‌پانوشتهای‌موضعی شروع‌پروفایل شروع‌پروژه \
+شروع‌پس‌زمینه شروع‌پوشش شروع‌کد شماره‌افزایش شماره‌زیرصفحه \
+شماره‌زیرفرمول شماره‌سر شماره‌سرجاری شماره‌صفحه شماره‌صفحه‌کامل \
+شماره‌فرمول شماره‌مبدل شماره‌ها شماره‌کاهش شماره‌کل‌صفحه‌ها \
+شکافتن‌شناور شکل‌خارجی صفحه صفحه‌تست صفحه‌زوج \
+صفحه‌پردازش طول‌لیست عبوربلوکها عرض‌آرایش عرض‌برگ \
+عرض‌حاشیه عرض‌حاشیه‌خارجی عرض‌حاشیه‌داخلی عرض‌حاشیه‌راست عرض‌حاشیه‌چپ \
+عرض‌خط عرض‌لبه عرض‌لبه‌خارجی عرض‌لبه‌داخلی عرض‌لبه‌راست \
+عرض‌لبه‌چپ عرض‌لیست عرض‌متن عمق‌صفحه عنوان‌حاشیه \
+فاصله‌بالا فاصله‌ته‌برگ فاصله‌حاشیه فاصله‌حاشیه‌خارجی فاصله‌حاشیه‌داخلی \
+فاصله‌حاشیه‌راست فاصله‌حاشیه‌چپ فاصله‌سربرگ فاصله‌لبه فاصله‌لبه‌خارجی \
+فاصله‌لبه‌داخلی فاصله‌لبه‌راست فاصله‌لبه‌چپ فاصله‌پایین فاصله‌پشت \
+فشرده فضا فضاهای‌ثابت فضای‌بالا فضای‌برش \
+فضای‌ثابت فضای‌سفید فضای‌سفیدصحیح فضای‌پایین فوری‌به‌لیست \
+فوری‌بین‌لیست قالبی لوح‌مقایسه ماه متغیر متن \
+متن‌برچسب متن‌حاشیه متن‌سر متن‌پانوشت محیط \
+مراجعه مرجع مرجع‌صفحه مرجع‌متن مرحله‌سر \
+مسکن معنی‌واحد مقایسه‌گروه‌رنگ مقدارخاکستری مقداررنگ \
+مقیاس منفی منوی‌پانل مولفه مکان \
+مکان‌متن میدان میدانهای‌گزارش میدان‌شبیه‌سازی میدان‌پشته \
+میدان‌کپی میله‌تطابق میله‌رنگ میله‌پانل ناشناس \
+نام‌ماکرو نسخه نسخه‌نشانه نشانه‌گذاری نشانه‌گذاری‌زوج \
+نشر نصب‌زبان نقطه‌ها نقل نقل‌قول \
+نم نماد نمادسر نمادلیست نمایش‌آرایش \
+نمایش‌بارگذاریها نمایش‌بستها نمایش‌توری نمایش‌رنگ نمایش‌شکلهای‌خارجی \
+نمایش‌طرح‌بندی نمایش‌قالب نمایش‌قلم‌بدنه نمایش‌لوح نمایش‌مجموعه‌علامت \
+نمایش‌محیط‌قلم‌بدنه نمایش‌میدانها نمایش‌چاپ نمایش‌گروه‌رنگ نوشتارزوج \
+هدایت پا پابا پانوشت پایان‌آرایش \
+پایان‌آرایش‌ستون پایان‌بازبینی پایان‌بلوک‌حاشیه پایان‌ترکیب پایان‌تصحیح‌خط \
+پایان‌تطابق پایان‌تنظیم پایان‌تولید پایان‌جدول پایان‌جدولها \
+پایان‌خط پایان‌خطها پایان‌خط‌حاشیه پایان‌خط‌متن پایان‌رنگ \
+پایان‌ستونها پایان‌سراسری پایان‌شماره‌گذاری‌خط پایان‌غیرفشرده پایان‌فشرده \
+پایان‌متن پایان‌مجموعه‌ستون پایان‌محیط پایان‌مخالف پایان‌موضعی \
+پایان‌مولفه پایان‌مکان‌گذاری پایان‌نازکتر پایان‌نسخه پایان‌نقل‌قول \
+پایان‌نوشتار پایان‌پانوشتهای‌موضعی پایان‌پروفایل پایان‌پروژه پایان‌پس‌زمینه \
+پایان‌پوشش پایان‌کد پایین پرده پروژه \
+پرکردن‌میدان پس‌زمینه پیروی‌نسخه پیروی‌نسخه‌پروفایل پیروی‌پروفایل \
+چاپ‌ارتفاع‌برگ چاپ‌عرض‌برگ چوبخط چپ‌چین کاغذزوج \
+کسر کشیده کلمه‌حاشیه کلمه‌راست گیره \
+یادداشت یک‌جا یک‌خط 
+
 keywordclass.context.de=\
 Buchstabe Buchstaben CAP Cap \
 Caps KAP Kap Kaps MONAT \
@@ -454,344 +604,34 @@ stophiding stophintergrund stopinteraktionsmenue stopitemgroup stopkleinerdurchs
 stopkodierung stopkombination stopkomponente stoplegend stopline \
 stoplinecorrection stoplinenumbering stoplines stoplocal stoplocalenvironment \
 stoplocalfootnotes stoplokal stoplokalefussnoten stopmakeup stopmarginalblock \
-stopmarginallinie stopmarginblock stopnamemakeup stopnarrower stopopposite \
-stopoverlay stopoverview stopparagraph stoppositionieren stoppositioning \
-stoppostponing stopprodukt stopprofil stopprofile stopprojekt \
-stopraster stopspalten stopsymbolset stopsynchronisation stopsynchronization \
-stoptabelle stoptabellen stoptable stoptables stoptabulate \
-stoptext stoptextlinie stoptyping stopueberblick stopumbruch \
-stopumgebung stopunpacked stopversion stopzeile stopzeilen \
-stopzeilenkorrektur stopzeilennumerierung stopzitat sub subject \
-subpagenumber subsection subsubject subsubsection subsubsubject \
-switchtorawfont sym symbol synchronisationsbalken synchronisieren \
-synonym tab teilegleitobjekt testcolumn testpage \
-tex textbreite texthoehe textlinie textreferenz \
-textvariable tief tiho tip tippedatei \
-tippen tippepuffer title tooltip txt \
-ueber ueberschrifttext uebersetzten umgebung umrahmt \
-unbekant underbar underbars unterformelnummer useXMLfilter \
-usedirectory usetypescript usetypescriptfile verbergebloecke vergleichefarbengruppe \
-vergleichepalette verknuepfebeschriftung verknuepfedokument verknuepfregister version \
-verweis verweisdatum verwendeJSscript verwendeURL verwendebefehl \
-verwendebloecke verwendeexteresdokument verwendeexterneabbildung verwendeexternedatei verwendeexternedateien \
-verwendeexternestonstueck verwendemodul verwendemodule verwendereferenzen verwendesymbole \
-verwendeurl vl volleswort von waehlebloeckeaus \
-waehlepapieraus waehleversionaus wechselezumfliesstext wiederholen wochentag \
-wohnort wortrechts zeigedruck zeigeeinstellungen zeigeexterneabbildungen \
-zeigefarbe zeigefarbengruppe zeigefelder zeigefliesstext zeigefliesstextumgebung \
-zeigegitter zeigelayout zeigepalette zeigerahmen zeigestruts \
-zeigeumbruch zentriert ziffern zitat zitieren \
-zu zurbox zurseite zwischenraum 
-
-keywordclass.context.cs=\
-CAP Cap Caps Cisla \
-KAP Kap Kaps MESIC Rimskecislice \
-SLOVA SLOVO Slova Slovo VSEDNIDEN \
-Znak Znaky aktualnicislonadpisu aktualnidatum appendix \
-arg atleftmargin atrightmargin barevnalista barva \
-bilemisto bottomspace bublinkovanapoveda bydliste bypassblocks \
-cap celkovypocetstran cernalinka cernelinky chapter \
-chem cisla cislonadpisu cislopodrovnice cislorovnice \
-cislostrany citace citovat comment completecombinedlist \
-completelistoffloats completelistofsorts completelistofsynonyms completepagenumber completeregister \
-coupledregister crlf cutspace datum decrementnumber \
-definebodyfontDEF definebodyfontREF definecolumnbreak definecolumnset definecombination \
-definedfont definefontfeature definefonthandling defineindentedtext defineinmargin \
-defineitemgroup definelayer definelayout definemathalignment definepagebreak \
-defineplacement definerawfont definerule definetextposition definetextvariable \
-definetype definetypeface definuj definujakcent definujbarvu \
-definujblok definujbloksekce definujbuffer definujfont definujformatodkazu \
-definujhbox definujhlavnipole definujinterakcnimenu definujkombinovanyseznam definujkonverzi \
-definujlogo definujnadpis definujobrazeksymbol definujodkaz definujodstavce \
-definujopis definujoramovani definujoramovanytext definujpaletu definujplvouciobjekt \
-definujpodpole definujpole definujpopis definujpopisek definujprekryv \
-definujpreskok definujprikaz definujprofil definujprogram definujprostredizakladnihofontu \
-definujrejstrik definujsablonutabulky definujsekci definujseznam definujseznamodkazu \
-definujskupinubarev definujstartstop definujstyl definujstylfontu definujsymbol \
-definujsynonumumfontu definujsynonyma definujtabelaci definujtext definujtrideni \
-definujupravu definujvelikostpapiru definujverzi definujvycet definujvystup \
-definujzakladnifont definujzasobnikpoli definujznaceni definujznak delkaseznamu \
-description dodrzujprofil dodrzujverzi dodrzujverziprofilu dvoustrannypapir \
-emptylines enumeration externiobraz fakt footnotetext \
-forceblocks framedtext getnumber headsym hl \
-hlavnijazyk hlavniuroven hodnotabarvy hodnotasedi immediatebetweenlist \
-immediatetolist indentation ininner inneredgedistance inneredgewidth \
-innermargindistance innermarginwidth inouter instalacejazyka interakcnilista \
-interakcnitlacitka interaktivnimenu jazyk jdidolu jdina \
-jdinabox jdinastranu jmeno kap klonujpole \
-komponenta konvertujcislo kopirujpole korekcebilehomista labeling \
-leg listsymbol loadsorts loadsynonyms maoramovani \
-mapfontsize marginalnilinka marginalninadpis marginalnislovo marginalnitext \
-matematika mazaramovani mediaeval meritko mesic \
-mezera moveformula movesidefloat mrizka nadpis \
-nadruhyokraj nalevo nalevyokraj name naokraj \
-napravo napravyokraj nastavbarvu nastavbarvy nastavbilamista \
-nastavblok nastavbloksekce nastavbuffer nastavcernelinky nastavcislonadpisu \
-nastavcislostrany nastavcislovani nastavcislovaniodstavcu nastavcislovaniradku nastavcislovanistran \
-nastavcitaci nastavdefinicipoznamekpodcarou nastavdeleniplvoucichobjektu nastavdelitko nastavdolnitexty \
-nastaveni nastavexterniobrazy nastavhorejsek nastavhornitexty nastavinterakci \
-nastavinterakcnilistu nastavinterakcnimenu nastavinterakcniobrazovku nastavjazyk nastavkapitalky \
-nastavkombinovanyseznam nastavkomentar nastavkomentarstrany nastavlegendu nastavmarginalie \
-nastavmarginalniblok nastavmarginalnilinky nastavmeziradkovoumezeru nastavnadpis nastavnadpisy \
-nastavodkazovani nastavodsazovani nastavodstavce nastavopis nastavoramovanetexty \
-nastavoramovani nastavorez nastavotoceni nastavpaletu nastavplvouciobjekt \
-nastavplvouciobjekty nastavpodcislostrany nastavpodtrzeni nastavpole nastavpolozky \
-nastavpopisek nastavpopisky nastavpopisy nastavpozadi nastavpoznamkypodcarou \
-nastavprechodstrany nastavpreskok nastavprofily nastavprogramy nastavprostredizakladnihofontu \
-nastavpublikace nastavradkovani nastavradky nastavrastr nastavrejstrik \
-nastavrovnice nastavsadusymbolu nastavsekci nastavseznam nastavseznamodkazu \
-nastavsirkucary nastavsloupce nastavspodek nastavspojeni nastavsynchronizaci \
-nastavsynchronizacnilistu nastavsynonyma nastavsystem nastavtab nastavtabelaci \
-nastavtabulky nastavtenkelinky nastavtext nastavtexthlavicky nastavtextovelinky \
-nastavtextpopisku nastavtexttexty nastavtextyupati nastavtextyzahlavi nastavtlacitka \
-nastavtoleranci nastavtrideni nastavtype nastavumisteniprotejsku nastavumistovani \
-nastavupati nastavupravu nastavurl nastavusporadani nastavvelikostpapiru \
-nastavverze nastavvsechnapole nastavvycty nastavvyplnovelinky nastavvyplnoveradky \
-nastavvystup nastavvzhled nastavzahlavi nastavzakladnifont nastavzarovnani \
-nastavznaceni nastavzuzeni nastrane navigating nejakyradek \
-nekde nextsection neznamo nivy nizky \
-nocap nokap nop numberofsubpages obrazovka \
-odkaz odkaznadatum odkaznastranu odkaznatext odkazujici \
-odsazenishora odsazenizleva odsazovani okr opakovat \
-opis opissoubor oramovani oref orez \
-otocit outeredgedistance outeredgewidth outermargindistance outermarginwidth \
-overbar overbars overstrike overstrikes oznaceni \
-oznacverzi pagedepth pageoffset paragraph parovastrana \
-part pis placefloat placeheadnumber placeheadtext \
-placelistoffloats placelistofsorts placelistofsynonyms placepagenumber placerawlist \
-placereferencelist placerule placetextvariable plnezneni pol \
-pole polozka polozky popisky poppisek \
-porovnejpaletu porovnejskupinubarev positiontext pozadi pozice \
-poznamka poznamkapodcarou pref prelozit premistinamrizku \
-prepninazakladnifont preskoc prizpusobivepole prizpusobvzhled produkt \
-program projekt propojeneznaceni propojenydokument propojenyrejstrik \
-prostredi publikace ran ref register \
-reservefloat reset resetnumber resettextcontent resetznaceni \
-rimskecislice rozdelplvouciobjekt rozmer rozpojeneznaceni roztazene \
-schovejbloky section sedabarva seeregister setnumber \
-settextcontent settextvariable setupanswerarea setupcolumnset setupcolumnsetlines \
-setupcolumnsetstart setupfonthandling setupfontsynonym setupforms setupindentedtext \
-setupinterlinespace2 setupitemgroup setuplistalternative setupmathalignment setupnumber \
-setuppaper setupplacement setuprule setupstartstop setupstrut \
-setuptextposition setuptextvariable sirkalevehookraje sirkalevemarginalie sirkamarginalie \
-sirkaokraje sirkapapiru sirkapravehookraje sirkapravemarginalie sirkasazby \
-sirkaseznamu sirkatextu sirkatiskpapiru sloupec slovovpravo \
-sort spodek stanovcharakteristickuseznamu stanovcislonadpisu startalignment \
-startbarva startbuffer startcislovaniradku startcitace startcolumnmakeup \
-startcolumns startcolumnset startcombination startcomment startdescription \
-startdocument startdokument startenumeration startfakt startfigure \
-startfloattext startformula startframedtext startglobalni starthiding \
-startinteraktivnimenu startitemgroup startkodovani startkomponenta startkorekceradku \
-startlegend startline startlinecorrection startlinenumbering startlines \
-startlocal startlocalenvironment startlocalfootnotes startlokalni startlokalnipoznamkypodcarou \
-startmakeup startmarginalniblok startmarginalnilinka startmarginblock startnamemakeup \
-startnarrower startnezhustene startobraz startopposite startoverlay \
-startoverview startparagraph startpositioning startpostponing startpozadi \
-startprehled startprekryv startprodukt startprofil startprofile \
-startprojekt startprostredi startprotejsek startradek startradky \
-startrastr startregister startsadasymbolu startsloupce startspojeni \
-startsymbolset startsynchronizace startsynchronization starttable starttables \
-starttabulate starttabulka starttabulky starttext starttextovalinka \
-starttyping startumistovani startunpacked startuprava startverze \
-startzarovnavani startzhustene startzuzeni stopalignment stopbarva \
-stopbuffer stopcislovaniradku stopcitace stopcolumnmakeup stopcolumns \
-stopcolumnset stopcombination stopcomment stopdescription stopdocument \
-stopdokument stopenumeration stopfakt stopfigure stopfloattext \
-stopformula stopframedtext stopglobalni stophiding stopinteraktivnimenu \
-stopitemgroup stopkodovani stopkomponenta stopkorekceradku stoplegend \
-stopline stoplinecorrection stoplinenumbering stoplines stoplocal \
-stoplocalenvironment stoplocalfootnotes stoplokalni stoplokalnipoznamkypodcarou stopmakeup \
-stopmarginalniblok stopmarginalnilinka stopmarginblock stopnamemakeup stopnarrower \
-stopnezhustene stopopposite stopoverlay stopoverview stopparagraph \
-stoppositioning stoppostponing stoppozadi stopprehled stopprekryv \
-stopprodukt stopprofil stopprofile stopprojekt stopprostredi \
-stopprotejsek stopradek stopradky stoprastr stopsloupce \
-stopspojeni stopsymbolset stopsynchronizace stopsynchronization stoptable \
-stoptables stoptabulate stoptabulka stoptabulky stoptext \
-stoptextovalinka stoptyping stopumistovani stopunpacked stopuprava \
-stopverze stopzarovnavani stopzhustene stopzuzeni strana \
-sub subject subpagenumber subsection subsubject \
-subsubsection subsubsubject switchtorawfont sym symbol \
-synchronizacnilista synchronizovat synonym tab tecky \
-tenkalinka tenkelinky testcolumn testpage tex \
-texthlavicky textovalinka textpopisku textvariable title \
-tlacitko tlacitkomenu tloustkacary tref tvrdamezera \
-tvrdemezery txt typebuffer ukazbarvu ukazexterniobrazy \
-ukazmrizku ukaznastaveni ukazpaletu ukazpodpery ukazpole \
-ukazpostredizakladnihofontu ukazramecek ukazsadusymbolu ukazskupinubarev ukazupravu \
-ukazvytisk ukazvzhled ukazzakladnifont umistikombinovanyseznam umistilegendu \
-umistiloga umistilokalnipoznamkypodcarou umistinadsebe umistinamrizku umistipodrovnici \
-umistipoznamkypodcarou umistirejstrik umistirovnici umistiseznam umistivedlesebe \
-umistizalozky underbar underbars urcicharakteristikurejstriku useXMLfilter \
-usedirectory usetypescript usetypescriptfile uzijJSscripts uzijURL \
-uzijadresar uzijbloky uzijexternidokument uzijexterniobraz uzijexternisoubor \
-uzijexternisoubory uzijexternizvuk uzijkodovani uzijmodul uzijmoduly \
-uzijodkazy uzijprikazy uzijspeciality uzijsymbol uzijurl \
-verze vl vlasovalinka vlevo vpravo \
-vradku vsedniden vyberbloky vyberpapir vyberverzi \
-vyplnenytext vyplnovelinky vyplnovepole vyplnovyradek vyskahorejsku \
-vyskapapiru vyskasazby vyskaseznamu vyskaspodku vyskatextu \
-vyskatiskpapiru vyskaupati vyskazahlavi vysoky vyznam \
-vzdalenosthorejsku vzdalenostlevehookraje vzdalenostlevemarginalie vzdalenostmarginalie vzdalenostokraje \
-vzdalenostpravehookraje vzdalenostpravemarginalie vzdalenostspodku vzdalenostupati vzdalenostzahlavi \
-zablokujinterakcnimenu zachovejbloky zadnamezera zadnebilemisto zadnedalsibloky \
-zadnedalsisoubory zadnehorniadolniradky zadneodsazovani zadnezahlaviaupati zadneznaceni \
-zadnyrozmer zadnyseznam zadnytest zalozka zapisdorejstriku \
-zapisdoseznamu zapisdoseznamuodkazu zapismeziseznam zaramovani zarovnanonastred \
-zarovnanovlevo zarovnanovpravo zasobnikpoli zaznamovepole zhustene \
-ziskejbuffer ziskejznaceni zlomek znaceni znak \
-znaky zpracujbloky zpracujstranu zrcadlit zref \
-zvysujicicislo 
-
-keywordclass.context.en=\
-CAP Cap Caps Character \
-Characters MONTH Numbers Romannumerals WEEKDAY \
-WORD WORDS Word Words about \
-adaptlayout adding appendix arg at \
-atleftmargin atpage atrightmargin background backspace \
-blackrule blackrules blank bookmark bottomdistance \
-bottomheight bottomspace but button bypassblocks \
-cap chapter character characters chem \
-clip clonefield color colorbar colorvalue \
-column comment comparecolorgroup comparepalet completecombinedlist \
-completelistoffloats completelistofsorts completelistofsynonyms completepagenumber completeregister \
-component convertnumber copyfield correctwhitespace coupledocument \
-coupledregister couplemarking couplepage couplepaper coupleregister \
-crlf currentdate currentheadnumber cutspace date \
-decouplemarking decrementnumber define defineaccent defineblank \
-defineblock definebodyfont definebodyfontDEF definebodyfontREF definebodyfontenvironment \
-definebuffer definecharacter definecolor definecolorgroup definecolumnbreak \
-definecolumnset definecombination definecombinedlist definecommand defineconversion \
-definedescription definedfont defineenumeration definefield definefieldstack \
-definefiguresymbol definefloat definefont definefontfeature definefonthandling \
-definefontstyle definefontsynonym defineframed defineframedtext definehbox \
-definehead defineindentedtext defineinmargin defineinteractionmenu defineitemgroup \
-definelabel definelayer definelayout definelist definelogo \
-definemainfield definemakeup definemarking definemathalignment defineoutput \
-defineoverlay definepagebreak definepalet definepapersize defineparagraphs \
-defineplacement defineprofile defineprogram definerawfont definereference \
-definereferenceformat definereferencelist defineregister definerule definesection \
-definesectionblock definesorting definestartstop definestyle definesubfield \
-definesymbol definesynonyms definetabletemplate definetabulate definetext \
-definetextposition definetextvariable definetype definetypeface definetyping \
-defineversion description determineheadnumber determinelistcharacteristics determineregistercharacteristics \
-dimension disableinteractionmenu domicile donttest edgedistance \
-edgewidth emptylines enumeration environment externalfigure \
-fact field fieldstack fillinfield fillinline \
-fillinrules fillintext fitfield fixedspace fixedspaces \
-followprofile followprofileversion followversion footerdistance footerheight \
-footnote footnotetext forceblocks formulanumber fraction \
-framed framedtext from getbuffer getmarking \
-getnumber godown goto gotobox gotopage \
-graycolor greyvalue grid hairline head \
-headerdistance headerheight headlevel headnumber headsym \
-headtext hideblocks high hl immediatebetweenlist \
-immediatetolist in incrementnumber indentation indenting \
-inframed infull ininner inleft inleftedge \
-inleftmargin inline inmaframed inmargin inneredgedistance \
-inneredgewidth innermargindistance innermarginwidth inothermargin inouter \
-inright inrightedge inrightmargin installlanguage interactionbar \
-interactionbuttons interactionmenu item items its \
-keepblocks label labeling labels labeltext \
-language leftaligned leftedgedistance leftedgewidth leftmargindistance \
-leftmarginwidth leg linethickness listheight listlength \
-listsymbol listwidth loadsorts loadsynonyms logfields \
-lohi low maframed mainlanguage makeupheight \
-makeupwidth mapfontsize mar margindistance marginrule \
-margintext margintitle marginwidth marginword marking \
-markversion mathematics mediaeval menubutton midaligned \
-mirror month moveformula moveongrid movesidefloat \
-name navigating nextsection nocap nodimension \
-noheaderandfooterlines noindenting nolist nomarking nomoreblocks \
-nomorefiles nop nospace note notopandbottomlines \
-nowhitespace numberofsubpages numbers outeredgedistance outeredgewidth \
-outermargindistance outermarginwidth overbar overbars overstrike \
-overstrikes packed page pagedepth pagenumber \
-pageoffset pagereference paperheight paperwidth paragraph \
-part periods placebookmarks placecombinedlist placefloat \
-placefootnotes placeformula placeheadnumber placeheadtext placelegend \
-placelist placelistoffloats placelistofsorts placelistofsynonyms placelocalfootnotes \
-placelogos placeongrid placeontopofeachother placepagenumber placerawlist \
-placereferencelist placeregister placerule placesidebyside placesubformula \
-placetextvariable position positiontext printpaperheight printpaperwidth \
-processblocks processpage product program project \
-publication quotation quote ran redo \
-ref reference referral referraldate referring \
-register remark reservefloat reset resetmarking \
-resetnumber resettextcontent rightaligned rightedgedistance rightedgewidth \
-rightmargindistance rightmarginwidth romannumerals rotate scale \
-screen section seeregister selectblocks selectpaper \
-selectversion setnumber settextcontent settextvariable setupalign \
-setupanswerarea setuparranging setupbackground setupbackgrounds setupblackrules \
-setupblank setupblock setupbodyfont setupbodyfontenvironment setupbottom \
-setupbottomtexts setupbuffer setupbuttons setupcapitals setupcaption \
-setupcaptions setupclipping setupcolor setupcolors setupcolumns \
-setupcolumnset setupcolumnsetlines setupcolumnsetstart setupcombinations setupcombinedlist \
-setupcomment setupdescriptions setupenumerations setupexternalfigures setupfield \
-setupfields setupfillinlines setupfillinrules setupfloat setupfloats \
-setupfloatsplitting setupfonthandling setupfontsynonym setupfooter setupfootertexts \
-setupfootnotedefinition setupfootnotes setupforms setupformulae setupframed \
-setupframedtexts setuphead setupheader setupheadertexts setupheadnumber \
-setupheads setupheadtext setuphyphenmark setupindentedtext setupindenting \
-setupinmargin setupinteraction setupinteractionbar setupinteractionmenu setupinteractionscreen \
-setupinterlinespace setupinterlinespace2 setupitemgroup setupitemizations setupitems \
-setuplabeltext setuplanguage setuplayout setuplegend setuplinenumbering \
-setuplines setuplinewidth setuplist setuplistalternative setupmakeup \
-setupmarginblocks setupmarginrules setupmarking setupmathalignment setupnarrower \
-setupnumber setupnumbering setupoppositeplacing setupoutput setuppagecomment \
-setuppagenumber setuppagenumbering setuppagetransitions setuppalet setuppaper \
-setuppapersize setupparagraphnumbering setupparagraphs setupplacement setuppositioning \
-setupprofiles setupprograms setuppublications setupquote setupreferencelist \
-setupreferencing setupregister setuprotate setuprule setups \
-setupscreens setupsection setupsectionblock setupsorting setupspacing \
-setupstartstop setupstrut setupsubpagenumber setupsymbolset setupsynchronization \
-setupsynchronizationbar setupsynonyms setupsystem setuptab setuptables \
-setuptabulate setuptext setuptextposition setuptextrules setuptexttexts \
-setuptextvariable setupthinrules setuptolerance setuptop setuptoptexts \
-setuptype setuptyping setupunderbar setupurl setupversions \
-setupwhitespace showbodyfont showbodyfontenvironment showcolor showcolorgroup \
-showexternalfigures showfields showframe showgrid showlayout \
-showmakeup showpalet showprint showsetups showstruts \
-showsymbolset someline somewhere sort space \
-splitfloat startalignment startbackground startbuffer startcoding \
-startcolor startcolumnmakeup startcolumns startcolumnset startcombination \
-startcomment startcomponent startdescription startdocument startenumeration \
-startenvironment startfact startfigure startfloattext startformula \
-startframedtext startglobal starthiding startinteractionmenu startitemgroup \
-startlegend startline startlinecorrection startlinenumbering startlines \
-startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \
-startmarginrule startnamemakeup startnarrower startopposite startoverlay \
-startoverview startpacked startparagraph startpositioning startpostponing \
-startproduct startprofile startproject startquotation startraster \
-startregister startsymbolset startsynchronization starttable starttables \
-starttabulate starttext starttextrule starttyping startunpacked \
-startversion stopalignment stopbackground stopbuffer stopcoding \
-stopcolor stopcolumnmakeup stopcolumns stopcolumnset stopcombination \
-stopcomment stopcomponent stopdescription stopdocument stopenumeration \
-stopenvironment stopfact stopfigure stopfloattext stopformula \
-stopframedtext stopglobal stophiding stopinteractionmenu stopitemgroup \
-stoplegend stopline stoplinecorrection stoplinenumbering stoplines \
-stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \
-stopmarginrule stopnamemakeup stopnarrower stopopposite stopoverlay \
-stopoverview stoppacked stopparagraph stoppositioning stoppostponing \
-stopproduct stopprofile stopproject stopquotation stopraster \
-stopsymbolset stopsynchronization stoptable stoptables stoptabulate \
-stoptext stoptextrule stoptyping stopunpacked stopversion \
-stretched sub subformulanumber subject subpagenumber \
-subsection subsubject subsubsection subsubsubject switchtobodyfont \
-switchtorawfont sym symbol synchronizationbar synchronize \
-synonym tab testcolumn testpage tex \
-textheight textreference textrule textvariable textwidth \
-thinrule thinrules title tooltip topdistance \
-topheight topspace totalnumberofpages translate txt \
-typ type typebuffer typefile underbar \
-underbars unitmeaning unknown useJSscripts useURL \
-useXMLfilter useblocks usecommands usedirectory useencoding \
-useexternaldocument useexternalfigure useexternalfile useexternalfiles useexternalsoundtrack \
-usemodule usemodules usereferences usespecials usesymbols \
-usetypescript usetypescriptfile useurl version vl \
-weekday whitespace wordright writebetweenlist writetolist \
-writetoreferencelist writetoregister 
+stopmarginallinie stopmarginblock stopnamemakeup stopnarrower stopopposite \
+stopoverlay stopoverview stopparagraph stoppositionieren stoppositioning \
+stoppostponing stopprodukt stopprofil stopprofile stopprojekt \
+stopraster stopspalten stopsymbolset stopsynchronisation stopsynchronization \
+stoptabelle stoptabellen stoptable stoptables stoptabulate \
+stoptext stoptextlinie stoptyping stopueberblick stopumbruch \
+stopumgebung stopunpacked stopversion stopzeile stopzeilen \
+stopzeilenkorrektur stopzeilennumerierung stopzitat sub subject \
+subpagenumber subsection subsubject subsubsection subsubsubject \
+switchtorawfont sym symbol synchronisationsbalken synchronisieren \
+synonym tab teilegleitobjekt testcolumn testpage \
+tex textbreite texthoehe textlinie textreferenz \
+textvariable tief tiho tip tippedatei \
+tippen tippepuffer title tooltip txt \
+ueber ueberschrifttext uebersetzten umgebung umrahmt \
+unbekant underbar underbars unterformelnummer useXMLfilter \
+usedirectory usetypescript usetypescriptfile verbergebloecke vergleichefarbengruppe \
+vergleichepalette verknuepfebeschriftung verknuepfedokument verknuepfregister version \
+verweis verweisdatum verwendeJSscript verwendeURL verwendebefehl \
+verwendebloecke verwendeexteresdokument verwendeexterneabbildung verwendeexternedatei verwendeexternedateien \
+verwendeexternestonstueck verwendemodul verwendemodule verwendereferenzen verwendesymbole \
+verwendeurl vl volleswort von waehlebloeckeaus \
+waehlepapieraus waehleversionaus wechselezumfliesstext wiederholen wochentag \
+wohnort wortrechts zeigedruck zeigeeinstellungen zeigeexterneabbildungen \
+zeigefarbe zeigefarbengruppe zeigefelder zeigefliesstext zeigefliesstextumgebung \
+zeigegitter zeigelayout zeigepalette zeigerahmen zeigestruts \
+zeigeumbruch zentriert ziffern zitat zitieren \
+zu zurbox zurseite zwischenraum 
 
 keywordclass.context.ro=\
 CAP CUVANT CUVINTE Cap \
@@ -951,168 +791,165 @@ urmeazaversiune urmeazaversiuneprofil useXMLfilter usedirectory usetypescript \
 usetypescriptfile valoareculoare valoaregri variabilatext versiune \
 vl zidinsaptamana 
 
-keywordclass.context.pe=\
-CAP Cap Caps Character \
-Characters MONTH Numbers Romannumerals WEEKDAY \
-WORD WORDS Word Words appendix \
-cap chapter chem comment completecombinedlist \
-completelistoffloats completelistofsorts completelistofsynonyms coupledregister crlf \
-definebodyfontDEF definebodyfontREF definedfont definefontfeature definefonthandling \
-defineindentedtext definetypeface description enumeration framedtext \
-indentation inmframed its labeling loadsorts \
-loadsynonyms mapfontsize mediaeval mframed name \
-nextsection nocap overbar overbars overstrike \
-overstrikes paragraph part placelistoffloats placelistofsorts \
-placelistofsynonyms ran register reservefloat resettextcontent \
-section seeregister setupanswerarea setupcapitals setupfonthandling \
-setupfontsynonym setupindentedtext setupinterlinespace2 setuplistalternative setupurl \
-sort startalignment startbuffer startcolumns startcombination \
-startcomment startdescription startdocument startenumeration startfigure \
-startfloattext startformula startframedtext starthiding startitemgroup \
-startlegend startline startlinecorrection startlinenumbering startlines \
-startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \
-startnamemakeup startnarrower startopposite startoverlay startoverview \
-startparagraph startpositioning startpostponing startprofile startraster \
-startregister startsymbolset startsynchronization starttable starttables \
-starttabulate starttyping startunpacked startتولید startحقیقت \
-startخط‌حاشیه startخط‌متن startرنگ startفشرده startمحیط \
-startمنوی‌پانل startمولفه startنسخه startنقل‌قول startپروژه \
-startپس‌زمینه stopalignment stopbuffer stopcolumns stopcombination \
-stopcomment stopdescription stopdocument stopenumeration stopfigure \
-stopfloattext stopformula stopframedtext stophiding stopitemgroup \
-stoplegend stopline stoplinecorrection stoplinenumbering stoplines \
-stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup stopmarginblock \
-stopnamemakeup stopnarrower stopopposite stopoverlay stopoverview \
-stopparagraph stoppositioning stoppostponing stopprofile stopraster \
-stopsymbolset stopsynchronization stoptable stoptables stoptabulate \
-stoptyping stopunpacked stopتولید stopحقیقت stopخط‌حاشیه \
-stopخط‌متن stopرنگ stopفشرده stopمحیط stopمنوی‌پانل \
-stopمولفه stopنسخه stopنقل‌قول stopپروژه stopپس‌زمینه \
-sub subject subsection subsubject subsubsection \
-subsubsubject synonym title tooltip txt \
-typ underbar underbars useJSscripts useURL \
-useXMLfilter usedirectory useurl آفست‌صفحه آیتم \
-آیتمها آینه اجباربلوکها ارتفاع‌آرایش ارتفاع‌بالا \
-ارتفاع‌برگ ارتفاع‌ته‌برگ ارتفاع‌خط ارتفاع‌سربرگ ارتفاع‌متن \
-ارتفاع‌پایین از ازکارانداختن‌منوی‌پانل استفاده‌بلوکها استفاده‌دستخط‌تایپ \
-استفاده‌رمزینه استفاده‌شکل‌خارجی استفاده‌فرمانها استفاده‌قطعه‌موزیک‌خارجی استفاده‌مدول \
-استفاده‌مدولها استفاده‌مرجعها استفاده‌مسیر استفاده‌نمادها استفاده‌نوشتارخارجی \
-استفاده‌ویژگیها استفاده‌پرونده‌خارجی استفاده‌پرونده‌دستخط‌تایپ استفاده‌پرونده‌های‌خارجی اعدادلاتین \
-افزودن اما امتحان‌نکن انتخاب‌برگ انتخاب‌بلوکها \
-انتخاب‌نسخه انتقال‌به‌توری انتقال‌فرمول انتقال‌کنار‌شناور انجام‌دوباره \
-بارگذاریها بارگذاری‌آرایش بارگذاری‌آیتمها بارگذاری‌ارجاع بارگذاری‌اندازه‌برگ \
-بارگذاری‌باریکتر بارگذاری‌بافر بارگذاری‌بالا بارگذاری‌بخش بارگذاری‌بردباری \
-بارگذاری‌برنامه‌ها بارگذاری‌برگ بارگذاری‌بست بارگذاری‌بلوک بارگذاری‌بلوکهای‌حاشیه \
-بارگذاری‌بلوک‌بخش بارگذاری‌تایپ بارگذاری‌تایپ‌کردن بارگذاری‌تب بارگذاری‌ترتیب \
-بارگذاری‌ترکیب‌ها بارگذاری‌تطابق بارگذاری‌تعریف‌پانوشت بارگذاری‌تنظیم بارگذاری‌تنظیم‌ریاضی \
-بارگذاری‌ته‌برگ بارگذاری‌تورفتگی بارگذاری‌توضیح بارگذاری‌توضیح‌صفحه بارگذاری‌ثبت \
-بارگذاری‌جانشانی بارگذاری‌جدولها بارگذاری‌جدول‌بندی بارگذاری‌خالی بارگذاری‌خروجی \
-بارگذاری‌خط بارگذاری‌خطها بارگذاری‌خطهای‌حاشیه بارگذاری‌خطهای‌سیاه بارگذاری‌خطهای‌متن \
-بارگذاری‌خطهای‌مجموعه‌ستون بارگذاری‌خطها‌ی‌نازک بارگذاری‌درج‌درخطها بارگذاری‌درج‌مخالف بارگذاری‌درون‌حاشیه \
-بارگذاری‌دوران بارگذاری‌دکمه‌ها بارگذاری‌راهنما بارگذاری‌رنگ بارگذاری‌رنگها \
-بارگذاری‌زبان بارگذاری‌ستونها بارگذاری‌سر بارگذاری‌سربرگ بارگذاری‌سرها \
-بارگذاری‌سیستم بارگذاری‌شرح بارگذاری‌شرحها بارگذاری‌شروع‌مجموعه‌ستون بارگذاری‌شروع‌پایان \
-بارگذاری‌شماره بارگذاری‌شماره‌زیرصفحه بارگذاری‌شماره‌سر بارگذاری‌شماره‌صفحه بارگذاری‌شماره‌گذاری \
-بارگذاری‌شماره‌گذاریها بارگذاری‌شماره‌گذاری‌صفحه بارگذاری‌شماره‌گذاری‌پاراگراف بارگذاری‌شماره‌‌گذاری‌خط بارگذاری‌شناور \
-بارگذاری‌شناورها بارگذاری‌شکافتن‌شناورها بارگذاری‌شکلهای‌خارجی بارگذاری‌طرح بارگذاری‌طرح‌بندی \
-بارگذاری‌عرض‌خط بارگذاری‌فاصله‌بین‌خط بارگذاری‌فرمولها بارگذاری‌فضای‌سفید بارگذاری‌فضا‌گذاری \
-بارگذاری‌قالبی بارگذاری‌قلم‌متن بارگذاری‌لوح بارگذاری‌لیست بارگذاری‌لیست‌ترکیبی \
-بارگذاری‌لیست‌مرجع بارگذاری‌مترادفها بارگذاری‌متغیر‌متن بارگذاری‌متن بارگذاری‌متنهای‌بالا \
-بارگذاری‌متن‌سر بارگذاری‌متن‌سربرگ بارگذاری‌متن‌قالبی بارگذاری‌متن‌متنها بارگذاری‌متن‌پانوشت \
-بارگذاری‌متن‌پایین بارگذاری‌مجموعه‌ستون بارگذاری‌مجموعه‌نماد بارگذاری‌محیط‌قلم‌متن بارگذاری‌منوی‌پانل \
-بارگذاری‌مکان‌متن بارگذاری‌مکان‌گذاری بارگذاری‌میدان بارگذاری‌میدانها بارگذاری‌میله‌تطابق \
-بارگذاری‌میله‌زیر بارگذاری‌میله‌پانل بارگذاری‌نسخه‌ها بارگذاری‌نشانه‌شکستن بارگذاری‌نشانه‌گذاری \
-بارگذاری‌نشرها بارگذاری‌نقل بارگذاری‌پاراگرافها بارگذاری‌پانل بارگذاری‌پانوشتها \
-بارگذاری‌پایین بارگذاری‌پرده‌ها بارگذاری‌پرده‌پانل بارگذاری‌پروفایلها بارگذاری‌پرکردن‌خطها \
-بارگذاری‌پس‌زمینه بارگذاری‌پس‌زمینه‌ها بارگذاری‌چیدن بارگذاری‌گذارصفحه بارگذاری‌گروههای‌آیتم \
-بارگذاری‌گروه‌آیتم بازنشانی بازنشانی‌شماره بازنشانی‌متن بازنشانی‌نشانه‌گذاری \
-باگذاری‌متن‌برچسب بدون‌بعد بدون‌بلوکهای‌بیشتر بدون‌تورفتگی بدون‌خط‌بالاوپایین \
-بدون‌خط‌سروته‌برگ بدون‌فایلهای‌بیشتر بدون‌فضا بدون‌فضای‌سفید بدون‌لیست \
-بدون‌نشانه‌گذاری برنامه بروبه بروبه‌جعبه بروبه‌صفحه \
-بروپایین برچسب برچسبها بعد بلند \
-بلوکهای‌پردازش بلوکها‌پنهان بنویس‌بین‌لیست بنویس‌درثبت بنویس‌درلیست‌مرجع \
-بنویس‌در‌لیست تاریخ تاریخ‌جاری تاریخ‌رجوع تایپ \
-تایپ‌بافر تایپ‌پرونده تب ترجمه تطابق \
-تعریف تعریف‌آرایش تعریف‌آرم تعریف‌الگوی‌جدول تعریف‌اندازه‌برگ \
-تعریف‌بافر تعریف‌بخش تعریف‌برنامه تعریف‌برچسب تعریف‌بلوک \
-تعریف‌بلوک‌بخش تعریف‌تایپ تعریف‌تایپ‌کردن تعریف‌تبدیل تعریف‌ترتیب \
-تعریف‌ترکیب تعریف‌تنظیم‌ریاضی تعریف‌توده‌میدان تعریف‌ثبت تعریف‌جانشانی \
-تعریف‌جدول‌بندی تعریف‌جعبه‌‌افقی تعریف‌حرف تعریف‌خالی تعریف‌خروجی \
-تعریف‌خط‌حائل تعریف‌درون‌حاشیه تعریف‌رنگ تعریف‌زیرمیدان تعریف‌سبک \
-تعریف‌سبک‌قلم تعریف‌سر تعریف‌شرح تعریف‌شروع‌پایان تعریف‌شماره‌بندی \
-تعریف‌شمایل‌مرجع تعریف‌شناور تعریف‌شکستن‌ستون تعریف‌شکست‌صفحه تعریف‌طرح‌بندی \
-تعریف‌فرمان تعریف‌قالبی تعریف‌قلم تعریف‌قلم‌خام تعریف‌قلم‌متن \
-تعریف‌لایه تعریف‌لهجه تعریف‌لوح تعریف‌لیست تعریف‌لیست‌ترکیبی \
-تعریف‌لیست‌مرجع تعریف‌مترادفها تعریف‌مترادف‌قلم تعریف‌متغیرمتن تعریف‌متن \
-تعریف‌متن‌قالبی تعریف‌مجموعه‌ستون تعریف‌محیط‌قلم‌بدنه تعریف‌مرجع تعریف‌منوی‌پانل \
-تعریف‌مکان‌متن تعریف‌میدان تعریف‌میدان‌اصلی تعریف‌نسخه تعریف‌نشانه‌گذاری \
-تعریف‌نماد تعریف‌نمادشکل تعریف‌پاراگرافها تعریف‌پروفایل تعریف‌پوشش \
-تعریف‌گروه‌آیتم تعریف‌گروه‌رنگ تعیین‌شماره تعیین‌شماره‌سر تعیین‌متغیر‌متن \
-تعیین‌محتوای‌متن تعیین‌مشخصات‌ثبت تعیین‌مشخصات‌لیست تغییربه‌قلم‌بدنه تغییربه‌قلم‌خام \
-تنظیم‌راست تنظیم‌طرح‌بندی تنظیم‌وسط توجه تورفتگی \
-توری تولید تک ثبت‌زوج ثبت‌کامل \
-جداسازی‌نشانه‌گذاری حاش حرف حرفها حفظ‌بلوکها \
-حقیقت خالی خطهای‌سیاه خطهای‌نازک خطها‌خالی \
-خط‌حاشیه خط‌سیاه خط‌متن خط‌مو خط‌نازک \
-خ‌ا خ‌ع در درج‌آرمها درج‌ثبت \
-درج‌خط درج‌درخط درج‌درخطها درج‌درمتن درج‌درمیدان \
-درج‌در‌بالای‌یکدیگر درج‌در‌توری درج‌راهنما درج‌زیرفرمول درج‌شماره‌سر \
-درج‌شماره‌صفحه درج‌شناور درج‌فرمول درج‌لیست درج‌لیست‌خام \
-درج‌لیست‌مختلط درج‌لیست‌مرجع درج‌متغیرمتن درج‌متن‌سر درج‌پانوشتها \
-درج‌پانوشتهای‌موضعی درج‌چوب‌خط درج‌کنار‌به‌کنار درحاشیه درحاشیه‌دیگر \
-درحاشیه‌راست درحاشیه‌چپ درخارجی درخط درداخلی \
-درراست درصفحه درقالبی درلبه‌راست درلبه‌چپ \
-درمورد درون درپر درچپ دریافت‌بافر \
-دریافت‌شماره دریافت‌نشانه دوران دکمه دکمه‌منو \
-دکمه‌پانل رج رجوع رنگ رنگ‌خاکستری \
-روزهفته ریاضی زبان زبان‌اصلی ستون \
-ستون‌امتحان سر سرپوش‌کوچک‌نه شروع‌آرایش شروع‌آرایش‌ستون \
-شروع‌باریکتر شروع‌بازبینی شروع‌بلوک‌حاشیه شروع‌ترکیب شروع‌تصحیح‌خط \
-شروع‌تطابق شروع‌تنظیم شروع‌تولید شروع‌جدول شروع‌جدولها \
-شروع‌خط شروع‌خطها شروع‌خط‌حاشیه شروع‌خط‌متن شروع‌رنگ \
-شروع‌ستونها شروع‌سراسری شروع‌شماره‌گذاری‌خط شروع‌شکل شروع‌غیر‌فشرده \
-شروع‌فشرده شروع‌متن شروع‌مجموعه‌ستون شروع‌مجموعه‌نماد شروع‌محیط \
-شروع‌مخالف شروع‌موضعی شروع‌مولفه شروع‌مکان‌گذاری شروع‌نسخه \
-شروع‌نقل‌قول شروع‌نوشتار شروع‌پانوشتهای‌موضعی شروع‌پروفایل شروع‌پروژه \
-شروع‌پس‌زمینه شروع‌پوشش شروع‌کد شماره‌افزایش شماره‌زیرصفحه \
-شماره‌زیرفرمول شماره‌سر شماره‌سرجاری شماره‌صفحه شماره‌صفحه‌کامل \
-شماره‌فرمول شماره‌مبدل شماره‌ها شماره‌کاهش شماره‌کل‌صفحه‌ها \
-شکافتن‌شناور شکل‌خارجی صفحه صفحه‌تست صفحه‌زوج \
-صفحه‌پردازش طول‌لیست عبوربلوکها عرض‌آرایش عرض‌برگ \
-عرض‌حاشیه عرض‌حاشیه‌خارجی عرض‌حاشیه‌داخلی عرض‌حاشیه‌راست عرض‌حاشیه‌چپ \
-عرض‌خط عرض‌لبه عرض‌لبه‌خارجی عرض‌لبه‌داخلی عرض‌لبه‌راست \
-عرض‌لبه‌چپ عرض‌لیست عرض‌متن عمق‌صفحه عنوان‌حاشیه \
-فاصله‌بالا فاصله‌ته‌برگ فاصله‌حاشیه فاصله‌حاشیه‌خارجی فاصله‌حاشیه‌داخلی \
-فاصله‌حاشیه‌راست فاصله‌حاشیه‌چپ فاصله‌سربرگ فاصله‌لبه فاصله‌لبه‌خارجی \
-فاصله‌لبه‌داخلی فاصله‌لبه‌راست فاصله‌لبه‌چپ فاصله‌پایین فاصله‌پشت \
-فشرده فضا فضاهای‌ثابت فضای‌بالا فضای‌برش \
-فضای‌ثابت فضای‌سفید فضای‌سفیدصحیح فضای‌پایین فوری‌به‌لیست \
-فوری‌بین‌لیست قالبی لوح‌مقایسه ماه متغیر متن \
-متن‌برچسب متن‌حاشیه متن‌سر متن‌پانوشت محیط \
-مراجعه مرجع مرجع‌صفحه مرجع‌متن مرحله‌سر \
-مسکن معنی‌واحد مقایسه‌گروه‌رنگ مقدارخاکستری مقداررنگ \
-مقیاس منفی منوی‌پانل مولفه مکان \
-مکان‌متن میدان میدانهای‌گزارش میدان‌شبیه‌سازی میدان‌پشته \
-میدان‌کپی میله‌تطابق میله‌رنگ میله‌پانل ناشناس \
-نام‌ماکرو نسخه نسخه‌نشانه نشانه‌گذاری نشانه‌گذاری‌زوج \
-نشر نصب‌زبان نقطه‌ها نقل نقل‌قول \
-نم نماد نمادسر نمادلیست نمایش‌آرایش \
-نمایش‌بارگذاریها نمایش‌بستها نمایش‌توری نمایش‌رنگ نمایش‌شکلهای‌خارجی \
-نمایش‌طرح‌بندی نمایش‌قالب نمایش‌قلم‌بدنه نمایش‌لوح نمایش‌مجموعه‌علامت \
-نمایش‌محیط‌قلم‌بدنه نمایش‌میدانها نمایش‌چاپ نمایش‌گروه‌رنگ نوشتارزوج \
-هدایت پا پابا پانوشت پایان‌آرایش \
-پایان‌آرایش‌ستون پایان‌بازبینی پایان‌بلوک‌حاشیه پایان‌ترکیب پایان‌تصحیح‌خط \
-پایان‌تطابق پایان‌تنظیم پایان‌تولید پایان‌جدول پایان‌جدولها \
-پایان‌خط پایان‌خطها پایان‌خط‌حاشیه پایان‌خط‌متن پایان‌رنگ \
-پایان‌ستونها پایان‌سراسری پایان‌شماره‌گذاری‌خط پایان‌غیرفشرده پایان‌فشرده \
-پایان‌متن پایان‌مجموعه‌ستون پایان‌محیط پایان‌مخالف پایان‌موضعی \
-پایان‌مولفه پایان‌مکان‌گذاری پایان‌نازکتر پایان‌نسخه پایان‌نقل‌قول \
-پایان‌نوشتار پایان‌پانوشتهای‌موضعی پایان‌پروفایل پایان‌پروژه پایان‌پس‌زمینه \
-پایان‌پوشش پایان‌کد پایین پرده پروژه \
-پرکردن‌میدان پس‌زمینه پیروی‌نسخه پیروی‌نسخه‌پروفایل پیروی‌پروفایل \
-چاپ‌ارتفاع‌برگ چاپ‌عرض‌برگ چوبخط چپ‌چین کاغذزوج \
-کسر کشیده کلمه‌حاشیه کلمه‌راست گیره \
-یادداشت یک‌جا یک‌خط 
+keywordclass.context.cs=\
+CAP Cap Caps Cisla \
+KAP Kap Kaps MESIC Rimskecislice \
+SLOVA SLOVO Slova Slovo VSEDNIDEN \
+Znak Znaky aktualnicislonadpisu aktualnidatum appendix \
+arg atleftmargin atrightmargin barevnalista barva \
+bilemisto bottomspace bublinkovanapoveda bydliste bypassblocks \
+cap celkovypocetstran cernalinka cernelinky chapter \
+chem cisla cislonadpisu cislopodrovnice cislorovnice \
+cislostrany citace citovat comment completecombinedlist \
+completelistoffloats completelistofsorts completelistofsynonyms completepagenumber completeregister \
+coupledregister crlf cutspace datum decrementnumber \
+definebodyfontDEF definebodyfontREF definecolumnbreak definecolumnset definecombination \
+definedfont definefontfeature definefonthandling defineindentedtext defineinmargin \
+defineitemgroup definelayer definelayout definemathalignment definepagebreak \
+defineplacement definerawfont definerule definetextposition definetextvariable \
+definetype definetypeface definuj definujakcent definujbarvu \
+definujblok definujbloksekce definujbuffer definujfont definujformatodkazu \
+definujhbox definujhlavnipole definujinterakcnimenu definujkombinovanyseznam definujkonverzi \
+definujlogo definujnadpis definujobrazeksymbol definujodkaz definujodstavce \
+definujopis definujoramovani definujoramovanytext definujpaletu definujplvouciobjekt \
+definujpodpole definujpole definujpopis definujpopisek definujprekryv \
+definujpreskok definujprikaz definujprofil definujprogram definujprostredizakladnihofontu \
+definujrejstrik definujsablonutabulky definujsekci definujseznam definujseznamodkazu \
+definujskupinubarev definujstartstop definujstyl definujstylfontu definujsymbol \
+definujsynonumumfontu definujsynonyma definujtabelaci definujtext definujtrideni \
+definujupravu definujvelikostpapiru definujverzi definujvycet definujvystup \
+definujzakladnifont definujzasobnikpoli definujznaceni definujznak delkaseznamu \
+description dodrzujprofil dodrzujverzi dodrzujverziprofilu dvoustrannypapir \
+emptylines enumeration externiobraz fakt footnotetext \
+forceblocks framedtext getnumber headsym hl \
+hlavnijazyk hlavniuroven hodnotabarvy hodnotasedi immediatebetweenlist \
+immediatetolist indentation ininner inneredgedistance inneredgewidth \
+innermargindistance innermarginwidth inouter instalacejazyka interakcnilista \
+interakcnitlacitka interaktivnimenu jazyk jdidolu jdina \
+jdinabox jdinastranu jmeno kap klonujpole \
+komponenta konvertujcislo kopirujpole korekcebilehomista labeling \
+leg listsymbol loadsorts loadsynonyms maoramovani \
+mapfontsize marginalnilinka marginalninadpis marginalnislovo marginalnitext \
+matematika mazaramovani mediaeval meritko mesic \
+mezera moveformula movesidefloat mrizka nadpis \
+nadruhyokraj nalevo nalevyokraj name naokraj \
+napravo napravyokraj nastavbarvu nastavbarvy nastavbilamista \
+nastavblok nastavbloksekce nastavbuffer nastavcernelinky nastavcislonadpisu \
+nastavcislostrany nastavcislovani nastavcislovaniodstavcu nastavcislovaniradku nastavcislovanistran \
+nastavcitaci nastavdefinicipoznamekpodcarou nastavdeleniplvoucichobjektu nastavdelitko nastavdolnitexty \
+nastaveni nastavexterniobrazy nastavhorejsek nastavhornitexty nastavinterakci \
+nastavinterakcnilistu nastavinterakcnimenu nastavinterakcniobrazovku nastavjazyk nastavkapitalky \
+nastavkombinovanyseznam nastavkomentar nastavkomentarstrany nastavlegendu nastavmarginalie \
+nastavmarginalniblok nastavmarginalnilinky nastavmeziradkovoumezeru nastavnadpis nastavnadpisy \
+nastavodkazovani nastavodsazovani nastavodstavce nastavopis nastavoramovanetexty \
+nastavoramovani nastavorez nastavotoceni nastavpaletu nastavplvouciobjekt \
+nastavplvouciobjekty nastavpodcislostrany nastavpodtrzeni nastavpole nastavpolozky \
+nastavpopisek nastavpopisky nastavpopisy nastavpozadi nastavpoznamkypodcarou \
+nastavprechodstrany nastavpreskok nastavprofily nastavprogramy nastavprostredizakladnihofontu \
+nastavpublikace nastavradkovani nastavradky nastavrastr nastavrejstrik \
+nastavrovnice nastavsadusymbolu nastavsekci nastavseznam nastavseznamodkazu \
+nastavsirkucary nastavsloupce nastavspodek nastavspojeni nastavsynchronizaci \
+nastavsynchronizacnilistu nastavsynonyma nastavsystem nastavtab nastavtabelaci \
+nastavtabulky nastavtenkelinky nastavtext nastavtexthlavicky nastavtextovelinky \
+nastavtextpopisku nastavtexttexty nastavtextyupati nastavtextyzahlavi nastavtlacitka \
+nastavtoleranci nastavtrideni nastavtype nastavumisteniprotejsku nastavumistovani \
+nastavupati nastavupravu nastavurl nastavusporadani nastavvelikostpapiru \
+nastavverze nastavvsechnapole nastavvycty nastavvyplnovelinky nastavvyplnoveradky \
+nastavvystup nastavvzhled nastavzahlavi nastavzakladnifont nastavzarovnani \
+nastavznaceni nastavzuzeni nastrane navigating nejakyradek \
+nekde nextsection neznamo nivy nizky \
+nocap nokap nop numberofsubpages obrazovka \
+odkaz odkaznadatum odkaznastranu odkaznatext odkazujici \
+odsazenishora odsazenizleva odsazovani okr opakovat \
+opis opissoubor oramovani oref orez \
+otocit outeredgedistance outeredgewidth outermargindistance outermarginwidth \
+overbar overbars overstrike overstrikes oznaceni \
+oznacverzi pagedepth pageoffset paragraph parovastrana \
+part pis placefloat placeheadnumber placeheadtext \
+placelistoffloats placelistofsorts placelistofsynonyms placepagenumber placerawlist \
+placereferencelist placerule placetextvariable plnezneni pol \
+pole polozka polozky popisky poppisek \
+porovnejpaletu porovnejskupinubarev positiontext pozadi pozice \
+poznamka poznamkapodcarou pref prelozit premistinamrizku \
+prepninazakladnifont preskoc prizpusobivepole prizpusobvzhled produkt \
+program projekt propojeneznaceni propojenydokument propojenyrejstrik \
+prostredi publikace ran ref register \
+reservefloat reset resetnumber resettextcontent resetznaceni \
+rimskecislice rozdelplvouciobjekt rozmer rozpojeneznaceni roztazene \
+schovejbloky section sedabarva seeregister setnumber \
+settextcontent settextvariable setupanswerarea setupcolumnset setupcolumnsetlines \
+setupcolumnsetstart setupfonthandling setupfontsynonym setupforms setupindentedtext \
+setupinterlinespace2 setupitemgroup setuplistalternative setupmathalignment setupnumber \
+setuppaper setupplacement setuprule setupstartstop setupstrut \
+setuptextposition setuptextvariable sirkalevehookraje sirkalevemarginalie sirkamarginalie \
+sirkaokraje sirkapapiru sirkapravehookraje sirkapravemarginalie sirkasazby \
+sirkaseznamu sirkatextu sirkatiskpapiru sloupec slovovpravo \
+sort spodek stanovcharakteristickuseznamu stanovcislonadpisu startalignment \
+startbarva startbuffer startcislovaniradku startcitace startcolumnmakeup \
+startcolumns startcolumnset startcombination startcomment startdescription \
+startdocument startdokument startenumeration startfakt startfigure \
+startfloattext startformula startframedtext startglobalni starthiding \
+startinteraktivnimenu startitemgroup startkodovani startkomponenta startkorekceradku \
+startlegend startline startlinecorrection startlinenumbering startlines \
+startlocal startlocalenvironment startlocalfootnotes startlokalni startlokalnipoznamkypodcarou \
+startmakeup startmarginalniblok startmarginalnilinka startmarginblock startnamemakeup \
+startnarrower startnezhustene startobraz startopposite startoverlay \
+startoverview startparagraph startpositioning startpostponing startpozadi \
+startprehled startprekryv startprodukt startprofil startprofile \
+startprojekt startprostredi startprotejsek startradek startradky \
+startrastr startregister startsadasymbolu startsloupce startspojeni \
+startsymbolset startsynchronizace startsynchronization starttable starttables \
+starttabulate starttabulka starttabulky starttext starttextovalinka \
+starttyping startumistovani startunpacked startuprava startverze \
+startzarovnavani startzhustene startzuzeni stopalignment stopbarva \
+stopbuffer stopcislovaniradku stopcitace stopcolumnmakeup stopcolumns \
+stopcolumnset stopcombination stopcomment stopdescription stopdocument \
+stopdokument stopenumeration stopfakt stopfigure stopfloattext \
+stopformula stopframedtext stopglobalni stophiding stopinteraktivnimenu \
+stopitemgroup stopkodovani stopkomponenta stopkorekceradku stoplegend \
+stopline stoplinecorrection stoplinenumbering stoplines stoplocal \
+stoplocalenvironment stoplocalfootnotes stoplokalni stoplokalnipoznamkypodcarou stopmakeup \
+stopmarginalniblok stopmarginalnilinka stopmarginblock stopnamemakeup stopnarrower \
+stopnezhustene stopopposite stopoverlay stopoverview stopparagraph \
+stoppositioning stoppostponing stoppozadi stopprehled stopprekryv \
+stopprodukt stopprofil stopprofile stopprojekt stopprostredi \
+stopprotejsek stopradek stopradky stoprastr stopsloupce \
+stopspojeni stopsymbolset stopsynchronizace stopsynchronization stoptable \
+stoptables stoptabulate stoptabulka stoptabulky stoptext \
+stoptextovalinka stoptyping stopumistovani stopunpacked stopuprava \
+stopverze stopzarovnavani stopzhustene stopzuzeni strana \
+sub subject subpagenumber subsection subsubject \
+subsubsection subsubsubject switchtorawfont sym symbol \
+synchronizacnilista synchronizovat synonym tab tecky \
+tenkalinka tenkelinky testcolumn testpage tex \
+texthlavicky textovalinka textpopisku textvariable title \
+tlacitko tlacitkomenu tloustkacary tref tvrdamezera \
+tvrdemezery txt typebuffer ukazbarvu ukazexterniobrazy \
+ukazmrizku ukaznastaveni ukazpaletu ukazpodpery ukazpole \
+ukazpostredizakladnihofontu ukazramecek ukazsadusymbolu ukazskupinubarev ukazupravu \
+ukazvytisk ukazvzhled ukazzakladnifont umistikombinovanyseznam umistilegendu \
+umistiloga umistilokalnipoznamkypodcarou umistinadsebe umistinamrizku umistipodrovnici \
+umistipoznamkypodcarou umistirejstrik umistirovnici umistiseznam umistivedlesebe \
+umistizalozky underbar underbars urcicharakteristikurejstriku useXMLfilter \
+usedirectory usetypescript usetypescriptfile uzijJSscripts uzijURL \
+uzijadresar uzijbloky uzijexternidokument uzijexterniobraz uzijexternisoubor \
+uzijexternisoubory uzijexternizvuk uzijkodovani uzijmodul uzijmoduly \
+uzijodkazy uzijprikazy uzijspeciality uzijsymbol uzijurl \
+verze vl vlasovalinka vlevo vpravo \
+vradku vsedniden vyberbloky vyberpapir vyberverzi \
+vyplnenytext vyplnovelinky vyplnovepole vyplnovyradek vyskahorejsku \
+vyskapapiru vyskasazby vyskaseznamu vyskaspodku vyskatextu \
+vyskatiskpapiru vyskaupati vyskazahlavi vysoky vyznam \
+vzdalenosthorejsku vzdalenostlevehookraje vzdalenostlevemarginalie vzdalenostmarginalie vzdalenostokraje \
+vzdalenostpravehookraje vzdalenostpravemarginalie vzdalenostspodku vzdalenostupati vzdalenostzahlavi \
+zablokujinterakcnimenu zachovejbloky zadnamezera zadnebilemisto zadnedalsibloky \
+zadnedalsisoubory zadnehorniadolniradky zadneodsazovani zadnezahlaviaupati zadneznaceni \
+zadnyrozmer zadnyseznam zadnytest zalozka zapisdorejstriku \
+zapisdoseznamu zapisdoseznamuodkazu zapismeziseznam zaramovani zarovnanonastred \
+zarovnanovlevo zarovnanovpravo zasobnikpoli zaznamovepole zhustene \
+ziskejbuffer ziskejznaceni zlomek znaceni znak \
+znaky zpracujbloky zpracujstranu zrcadlit zref \
+zvysujicicislo 
 
 keywordclass.context.nl=\
 CAP Cap Caps Cijfers \
@@ -1274,3 +1111,166 @@ volledigepaginanummer volledigregister voluit weekdag wilijnd \
 wiskunde witruimte woonplaats woordrechts zetbreedte \
 zethoogte 
 
+keywordclass.context.it=\
+CAP Cap Caps GIORNOSETTIMANA \
+Lettera Lettere MESE Numeri Numeriromani \
+PAROLA PAROLE Parola Parole accoppiacarta \
+accoppiadocumento accoppiamarcatura accoppiapagina accoppiaregistro adattacampo \
+adattalayout al allineacentro allineadestra allineasinistra \
+altezzacarta altezzacartastampa altezzacima altezzaelenco altezzafondo \
+altezzaintestazione altezzamakeup altezzapdp altezzatesto ambiente \
+ampiezzabordo ampiezzabordodestro ampiezzabordosinistro ampiezzacarta ampiezzacartastampa \
+ampiezzaelenco ampiezzamakeup ampiezzamargine ampiezzamarginedestro ampiezzamarginesinistro \
+ampiezzatesto ap apagina appendix arg \
+atleftmargin atrightmargin barracolori barrainterazione barrasincronizzazione \
+bastablocchi bastafile cambiaafontdeltesto campi camporiempimento \
+cap capello chapter chim circondato \
+citazione clip clonacampo colonna colore \
+coloregrigio comment commento completecombinedlist completelistoffloats \
+completelistofsorts completelistofsynonyms completeregister componenet confrontagruppocolori \
+confrontatavolozza convertinumero copiacampo correggispaziobianco coupledregister \
+crlf cutspace da daqualcheparte data \
+datadioggi datareferral decrementnumber definebodyfontDEF definebodyfontREF \
+definecolumnbreak definecombination definedfont definefontfeature definefonthandling \
+defineindentedtext defineinmargin defineitemgroup definelayer definemathalignment \
+definepagebreak defineplacement definetypeface definisci definisciaccento \
+definisciambientefontdeltesto definisciblocco definiscibloccosezione definiscibuffer definiscicampo \
+definiscicampoprincipale definiscicapoversi definiscicarattere definiscicolore definiscicomando \
+definisciconversione definiscidescrizione definiscidimensionicarta definiscielenco definiscielencocombinato \
+definiscienumerazione definiscietichetta definiscifigurasimbolo definiscifont definiscifontdeltesto \
+definiscifontgrezzo definisciformatoriferimento definiscigruppocolonne definiscigruppocolori definiscihbox \
+definisciincorniciato definisciiniziatermina definiscilayout definiscilinea definiscilistariferimenti \
+definiscilogo definiscimakeup definiscimarcatura definiscimenuinterazione definiscimodellotabella \
+definiscioggettomobile definisciordinamento definiscioutput definisciposizionetesto definisciprofilo \
+definisciprogramma definisciregistro definisciriferimento definiscirigovuoto definiscisezione \
+definiscisimbolo definiscisinonimi definiscisinonimofont definiscisottocampo definiscisovrapposizione \
+definiscistackcampi definiscistile definiscistilefont definiscitabulato definiscitavolozza \
+definiscitesta definiscitesto definiscitestoincorniciato definiscitype definiscityping \
+definiscivariabiletesto definisciversion description determinacaratteristicheregistro determinacarattersticheelenco \
+determinanumerotesta dimensione disabilitamenuinterazione distanzabordo distanzabordodestro \
+distanzabordosinistro distanzacima distanzafondo distanzaintestazione distanzamargine \
+distanzamarginedestro distanzamarginesinistro distanzapdp domicilio el \
+elaborablocchi elaborapagina elementi elemento emptylines \
+enumeration etichetta etichette fatto figuraesterna \
+fondo forzablocchi framedtext frazione getnumber \
+giornosettimana griglia headsym hl ignoto \
+immediatebetweenlist immediatetolist impaccato impostaallineamento impostaambientefontdeltesto \
+impostaampiezzariga impostabarrainterazione impostabarrasincronizzazione impostablocchimargine impostablocco \
+impostabloccosezione impostabuffer impostacampi impostacampo impostacapoversi \
+impostacaption impostacaptions impostacima impostaclippling impostacolonne \
+impostacolore impostacolori impostacombinazioni impostacommento impostacommentopagina \
+impostadefinizionenotepdp impostadescrizioni impostadimensionicarta impostaelementi impostaelencazioni \
+impostaelenco impostaelencocombinato impostaenumerazioni impostafigureesterne impostafondo \
+impostafontdeltesto impostaforms impostaformule impostagruppocolonne impostaincorniciato \
+impostainiziatermina impostainmargine impostainstestazione impostainterazione impostainterlinea \
+impostalayout impostalegenda impostalinea impostalineemargine impostalineenere \
+impostalineeriempimento impostalineesottili impostalineetesto impostalingua impostalistariferimenti \
+impostamaiuscole impostamakeup impostamarcatura impostamenuinterazione impostamenzione \
+impostanotepdp impostanumerazione impostanumerazionecapoversi impostanumerazionepagina impostanumerazionerighe \
+impostanumeropagina impostanumerosottopagina impostanumerotesta impostaoggettimobili impostaoggettomobile \
+impostaordinamento impostaoutput impostaparranging impostapdp impostapiustretto \
+impostaposizionamento impostaposizionamentoopposti impostaposizionetesto impostaprofili impostaprogrammi \
+impostapubblicazioni impostapulsanti impostaregistro impostarientro impostariferimento \
+impostarighe impostarigheriempimento impostarigovuoto impostarotazione impostaschermi \
+impostaschermointerazione impostasegnosillabazione impostasetsimboli impostasezione impostasfondi \
+impostasfondo impostasincronizzazione impostasinonimi impostasistema impostasottolinea \
+impostaspaziatura impostaspaziobianco impostaspezzamentooggettomobile impostastrut impostatab \
+impostatabelle impostatabulato impostatavolozza impostatesta impostateste \
+impostatesticima impostatestifondo impostatestiincorniciati impostatestiintestazioni impostatestipdp \
+impostatesto impostatestoetichette impostatestointestazioni impostatestotesti impostatolleranza \
+impostatransizionepagina impostatype impostatyping impostaurl impostavariabiletesto \
+impostaversioni impostazioni in inaltromargine incorniciato \
+incrementanumero indentation indestra ininner iniziaallineamento \
+iniziaambiente iniziabloccomargine iniziacitazione iniziacodifica iniziacolonne \
+iniziacolore iniziacombinazione iniziacomponente iniziacorrezioneriga iniziadocumento \
+iniziafigura iniziaglobale iniziagruppocolonne iniziaimpaccato inizialineamargine \
+inizialineatesto inizialocale iniziamakeup inizianotepdplocali inizianumerazionerighe \
+iniziaopposto iniziaoverview iniziapiustretto iniziaposizionamento iniziaprodotto \
+iniziaprofilo iniziaprogetto iniziaraster iniziariga iniziarighe \
+iniziasetsimboli iniziasfondo iniziasincronizzazione iniziasovrapposizione iniziatabella \
+iniziatabelle iniziatesto iniziaunpacked iniziaversione inlatodestro \
+inlatosinistro inmaframed inmargine inmarginedestro inmarginesinistro \
+inneredgedistance inneredgewidth innermargindistance innermarginwidth inouter \
+inriga insinistra installalingua intorno labeling \
+leg lettera lettere lineamargine lineanera \
+lineasottile lineatesto lineenere lineeriempimento lineesottili \
+lingua linguaprincipale listsymbol livellotesta loadsorts \
+loadsynonyms logcampi lunghezzaelenco maframed mapfontsize \
+mar marcatura marcaversione matematica mediaeval \
+menuinterattivo menzione mese mettielenco mettielencocombinato \
+mettifiancoafianco mettiformula mettiingriglia mettilegenda mettilinea \
+mettiloghi mettinotepdp mettinotepdplocali mettinumeropagina mettiregistro \
+mettisegnalibro mettisottoformula mettiunosullaltro mettivariabiletesto mostraambientefontdeltesto \
+mostracampi mostracolore mostracornice mostrafiguresterne mostrafontdeltesto \
+mostragriglia mostragruppocolori mostraimpostazioni mostralyout mostramakeup \
+mostrasetsimboli mostrastampa mostrastruts mostratavolozza movesidefloat \
+name nascondiblocchi navigating nextsection nientedimensioni \
+nienteelenco nientelineecimafondo nientelineintestazionepdp nientemarcatura nienterientro \
+nientespazio nientespaziobianco nocap nome nomeunita \
+nop nota notapdp notest numberofsubpages \
+numeri numeriromani numeroformula numeropagina numeropaginacompleto \
+numerosottoformula numerotesta numerotestacorrente numerototaledipagine outeredgedistance \
+outeredgewidth outermargindistance outermarginwidth overbar overbars \
+overstrike overstrikes pagedepth pageoffset pagina \
+paragraph paroladestra parolainmargine part passaafontgrezzo \
+ped pedap perlungo placefloat placelistoffloats \
+placelistofsorts placelistofsynonyms placerawlist placereferencelist posizionanumerotesta \
+posizionatesto posizionatestotesta posizione prendibuffer prendimarcatura \
+prodotto progetto programma pubblicazione pulsante \
+pulsantemenu pulsantinterazione punti qualcheriga ran \
+referral referring register reimposta reimpostamarcatura \
+reservefloat resetnumber resettextcontent rientro rif \
+rifai riferimento riferimentopagina riferimentotesto riflessione \
+rigariempimento rigovuoto ruota saltablocchi scala \
+schermo scrividentroelenco scriviinelenco scriviinlistariferimenti scriviinregistro \
+section seeregister segnalibro seguiprofilo seguiversione \
+seguiversioneprofilo selezionablocchi selezionacarta selezionaversione separamarcatura \
+setnumber settext setupanswerarea setupcolumnsetlines setupcolumnsetstart \
+setupfonthandling setupfontsynonym setupindentedtext setupinterlinespace2 setupitemgroup \
+setuplistalternative setupmathalignment setuppaper setupplacement setvariabiletesto \
+sfondo sim simbolo sincronizza sort \
+spazifissi spazio spaziobianco spaziocima spaziodietro \
+spaziofisso spaziofondo spessoreriga spezzaoggettomobile spostaagriglia \
+spostaformula stackcampi startalignment startambiente startbuffer \
+startcitazione startcolore startcolumnmakeup startcolumns startcombination \
+startcomment startcomponenet startdescription startdocument startenumeration \
+startfatto startfigure startfloattext startformula startframedtext \
+starthiding startimpaccato startitemgroup startlegend startline \
+startlineamargine startlineatesto startlinecorrection startlinenumbering startlines \
+startlocal startlocalenvironment startlocalfootnotes startmakeup startmarginblock \
+startmenuinterattivo startnamemakeup startnarrower startopposite startoverlay \
+startoverview startparagraph startpositioning startpostponing startprodotto \
+startprofile startprogetto startregister startsfondo startsymbolset \
+startsynchronization starttable starttables starttabulate starttyping \
+startunpacked startversione stirato stopalignment stopambiente \
+stopbuffer stopcitazione stopcolore stopcolumnmakeup stopcolumns \
+stopcombination stopcomment stopcomponenet stopdescription stopdocument \
+stopenumeration stopfatto stopfigure stopfloattext stopformula \
+stopframedtext stophiding stopimpaccato stopitemgroup stoplegend \
+stopline stoplineamargine stoplineatesto stoplinecorrection stoplinenumbering \
+stoplines stoplocal stoplocalenvironment stoplocalfootnotes stopmakeup \
+stopmarginblock stopmenuinterattivo stopnamemakeup stopnarrower stopopposite \
+stopoverlay stopoverview stopparagraph stoppositioning stoppostponing \
+stopprodotto stopprofile stopprogetto stopsfondo stopsymbolset \
+stopsynchronization stoptable stoptables stoptabulate stoptyping \
+stopunpacked stopversione sub subject subpagenumber \
+subsection subsubject subsubsection subsubsubject synonym \
+tab terminaallineamento terminaambiente terminabloccomargine terminacitazione \
+terminacodifica terminacolonne terminacolore terminacombinazione terminacomponente \
+terminacorrezioneriga terminadocumento terminaglobale terminagruppocolonne terminaimpaccato \
+terminalineamargine terminalineatesto terminalocale terminamakeup terminanotepdplocali \
+terminanumerazionerighe terminaopposto terminaoverview terminapiustretto terminaposizionamento \
+terminaprodotto terminaprofili terminaprogetto terminaraster terminariga \
+terminarighe terminasfondo terminasincronizzazione terminasovrapposizione terminatabella \
+terminatabelle terminatesto terminaunpacked terminaversioni testa \
+testcolumn testoetichetta testoinmargine testoinstestazioni testonotapdp \
+testoriempimento testpage tex tieniblocchi title \
+titoloinmargine tooltip traduci txt typ \
+type typebuffer typefile underbar underbars \
+usaJSscripts usaURL usablocco usacartella usacodifica \
+usacolonnasonoraesterna usacomandi usadocumentoesterno usafiguraesterna usafileesterni \
+usafileesterno usamoduli usamodulo usariferimenti usasimboli \
+usaspecialita usaurl useXMLfilter usedirectory usetypescript \
+usetypescriptfile vaia vaiabox vaiapagina vaigiu \
+valorecolore valoregrigio variabiletesto versione vl 
+
diff --git a/context/data/scite/scite-context-data-metafun.properties b/context/data/scite/scite-context-data-metafun.properties
index 099f8119b..f53048363 100644
--- a/context/data/scite/scite-context-data-metafun.properties
+++ b/context/data/scite/scite-context-data-metafun.properties
@@ -1,10 +1,3 @@
-keywordclass.metafun.internals=\
-nocolormodel greycolormodel graycolormodel rgbcolormodel \
-cmykcolormodel shadefactor textextoffset normaltransparent multiplytransparent \
-screentransparent overlaytransparent softlighttransparent hardlighttransparent colordodgetransparent \
-colorburntransparent darkentransparent lightentransparent differencetransparent exclusiontransparent \
-huetransparent saturationtransparent colortransparent luminositytransparent 
-
 keywordclass.metafun.commands=\
 sqr log ln exp \
 inv pow pi radian tand \
@@ -51,3 +44,10 @@ drawpath drawpoint drawpoints drawcontrolpoints drawcontrollines \
 drawpointlabels drawlineoptions drawpointoptions drawcontroloptions drawlabeloptions \
 draworiginoptions drawboundoptions drawpathoptions resetdrawoptions 
 
+keywordclass.metafun.internals=\
+nocolormodel greycolormodel graycolormodel rgbcolormodel \
+cmykcolormodel shadefactor textextoffset normaltransparent multiplytransparent \
+screentransparent overlaytransparent softlighttransparent hardlighttransparent colordodgetransparent \
+colorburntransparent darkentransparent lightentransparent differencetransparent exclusiontransparent \
+huetransparent saturationtransparent colortransparent luminositytransparent 
+
diff --git a/context/data/scite/scite-context-data-metapost.properties b/context/data/scite/scite-context-data-metapost.properties
index cade4e8ce..565df0927 100644
--- a/context/data/scite/scite-context-data-metapost.properties
+++ b/context/data/scite/scite-context-data-metapost.properties
@@ -1,3 +1,10 @@
+keywordclass.metapost.internals=\
+mitered rounded beveled butt \
+squared eps epsilon infinity bboxmargin \
+ahlength ahangle labeloffset dotlabeldiam defaultpen \
+defaultscale join_radius pen_lft pen_rt pen_top \
+pen_bot 
+
 keywordclass.metapost.primitives=\
 charcode day linecap linejoin \
 miterlimit month pausing prologues showstopping \
@@ -51,6 +58,10 @@ graycolor colormodel graypart dashpart penpart \
 stroked filled textual clipped bounded \
 expandafter 
 
+keywordclass.metapost.shortcuts=\
+.. ... -- --- \
+& 
+
 keywordclass.metapost.commands=\
 beginfig endfig rotatedaround reflectedabout \
 arrowhead currentpen currentpicture cuttings defaultfont \
@@ -85,14 +96,3 @@ cm pc cc in
 keywordclass.metapost.tex=\
 btex etex verbatimtex 
 
-keywordclass.metapost.internals=\
-mitered rounded beveled butt \
-squared eps epsilon infinity bboxmargin \
-ahlength ahangle labeloffset dotlabeldiam defaultpen \
-defaultscale join_radius pen_lft pen_rt pen_top \
-pen_bot 
-
-keywordclass.metapost.shortcuts=\
-.. ... -- --- \
-& 
-
diff --git a/context/data/scite/scite-context-data-tex.properties b/context/data/scite/scite-context-data-tex.properties
index 0f63b994d..df065e374 100644
--- a/context/data/scite/scite-context-data-tex.properties
+++ b/context/data/scite/scite-context-data-tex.properties
@@ -1,18 +1,3 @@
-keywordclass.tex.etex=\
-botmarks clubpenalties currentgrouplevel currentgrouptype \
-currentifbranch currentiflevel currentiftype detokenize dimexpr \
-displaywidowpenalties eTeXVersion eTeXminorversion eTeXrevision eTeXversion \
-everyeof firstmarks fontchardp fontcharht fontcharic \
-fontcharwd glueexpr glueshrink glueshrinkorder gluestretch \
-gluestretchorder gluetomu ifcsname ifdefined iffontchar \
-interactionmode interlinepenalties lastlinefit lastnodetype marks \
-muexpr mutoglue numexpr pagediscards parshapedimen \
-parshapeindent parshapelength predisplaydirection protected readline \
-savinghyphcodes savingvdiscards scantokens showgroups showifs \
-showtokens splitbotmarks splitdiscards splitfirstmarks topmarks \
-tracingassigns tracinggroups tracingifs tracingnesting tracingscantokens \
-unexpanded unless widowpenalties 
-
 keywordclass.tex.pdftex=\
 efcode expanded ifincsname ifpdfabsdim \
 ifpdfabsnum ifpdfprimitive leftmarginkern letterspacefont lpcode \
@@ -38,9 +23,66 @@ pdftrailer pdfuniformdeviate pdfuniqueresname pdfvorigin pdfxform \
 pdfxformattr pdfxformname pdfxformresources pdfximage pdfximagebbox \
 quitvmode rightmarginkern rpcode tagcode 
 
+keywordclass.tex.luatex=\
+Udelcode Udelcodenum Udelimiter Udelimiterover \
+Udelimiterunder Umathaccent Umathaccents Umathaxis Umathbinbinspacing \
+Umathbinclosespacing Umathbininnerspacing Umathbinopenspacing Umathbinopspacing Umathbinordspacing \
+Umathbinpunctspacing Umathbinrelspacing Umathbotaccent Umathchar Umathchardef \
+Umathcharnum Umathclosebinspacing Umathcloseclosespacing Umathcloseinnerspacing Umathcloseopenspacing \
+Umathcloseopspacing Umathcloseordspacing Umathclosepunctspacing Umathcloserelspacing Umathcode \
+Umathcodenum Umathconnectoroverlapmin Umathfractiondelsize Umathfractiondenomdown Umathfractiondenomvgap \
+Umathfractionnumup Umathfractionnumvgap Umathfractionrule Umathinnerbinspacing Umathinnerclosespacing \
+Umathinnerinnerspacing Umathinneropenspacing Umathinneropspacing Umathinnerordspacing Umathinnerpunctspacing \
+Umathinnerrelspacing Umathlimitabovebgap Umathlimitabovekern Umathlimitabovevgap Umathlimitbelowbgap \
+Umathlimitbelowkern Umathlimitbelowvgap Umathopbinspacing Umathopclosespacing Umathopenbinspacing \
+Umathopenclosespacing Umathopeninnerspacing Umathopenopenspacing Umathopenopspacing Umathopenordspacing \
+Umathopenpunctspacing Umathopenrelspacing Umathoperatorsize Umathopinnerspacing Umathopopenspacing \
+Umathopopspacing Umathopordspacing Umathoppunctspacing Umathoprelspacing Umathordbinspacing \
+Umathordclosespacing Umathordinnerspacing Umathordopenspacing Umathordopspacing Umathordordspacing \
+Umathordpunctspacing Umathordrelspacing Umathoverbarkern Umathoverbarrule Umathoverbarvgap \
+Umathoverdelimiterbgap Umathoverdelimitervgap Umathpunctbinspacing Umathpunctclosespacing Umathpunctinnerspacing \
+Umathpunctopenspacing Umathpunctopspacing Umathpunctordspacing Umathpunctpunctspacing Umathpunctrelspacing \
+Umathquad Umathradicaldegreeafter Umathradicaldegreebefore Umathradicaldegreeraise Umathradicalkern \
+Umathradicalrule Umathradicalvgap Umathrelbinspacing Umathrelclosespacing Umathrelinnerspacing \
+Umathrelopenspacing Umathrelopspacing Umathrelordspacing Umathrelpunctspacing Umathrelrelspacing \
+Umathspaceafterscript Umathstackdenomdown Umathstacknumup Umathstackvgap Umathsubshiftdown \
+Umathsubshiftdrop Umathsubsupshiftdown Umathsubsupvgap Umathsubtopmax Umathsupbottommin \
+Umathsupshiftdrop Umathsupshiftup Umathsupsubbottommax Umathunderbarkern Umathunderbarrule \
+Umathunderbarvgap Umathunderdelimiterbgap Umathunderdelimitervgap Uoverdelimiter Uradical \
+Uroot Ustack Ustartdisplaymath Ustartmath Ustopdisplaymath \
+Ustopmath Usubscript Usuperscript Uunderdelimiter alignmark \
+aligntab attribute attributedef catcodetable clearmarks \
+crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle fontid \
+formatname gleaders ifabsdim ifabsnum ifprimitive \
+initcatcodetable latelua luaescapestring luastartup luatexdatestamp \
+luatexrevision luatexversion mathstyle nokerns noligs \
+outputbox pageleftoffset pagetopoffset postexhyphenchar posthyphenchar \
+preexhyphenchar prehyphenchar primitive savecatcodetable scantextokens \
+suppressfontnotfounderror suppressifcsnameerror suppresslongerror suppressoutererror synctex 
+
+keywordclass.tex.etex=\
+botmarks clubpenalties currentgrouplevel currentgrouptype \
+currentifbranch currentiflevel currentiftype detokenize dimexpr \
+displaywidowpenalties eTeXVersion eTeXminorversion eTeXrevision eTeXversion \
+everyeof firstmarks fontchardp fontcharht fontcharic \
+fontcharwd glueexpr glueshrink glueshrinkorder gluestretch \
+gluestretchorder gluetomu ifcsname ifdefined iffontchar \
+interactionmode interlinepenalties lastlinefit lastnodetype marks \
+muexpr mutoglue numexpr pagediscards parshapedimen \
+parshapeindent parshapelength predisplaydirection protected readline \
+savinghyphcodes savingvdiscards scantokens showgroups showifs \
+showtokens splitbotmarks splitdiscards splitfirstmarks topmarks \
+tracingassigns tracinggroups tracingifs tracingnesting tracingscantokens \
+unexpanded unless widowpenalties 
+
 keywordclass.tex.xetex=\
 XeTeXversion 
 
+keywordclass.tex.aleph=\
+AlephVersion Alephminorversion Alephrevision Alephversion \
+Omegaminorversion Omegarevision Omegaversion boxdir pagebottomoffset \
+pagerightoffset 
+
 keywordclass.tex.tex=\
 - / AlephVersion Alephminorversion \
 Alephrevision Alephversion OmegaVersion Omegaminorversion Omegarevision \
@@ -186,48 +228,6 @@ vrule vsize vskip vsplit vss \
 vtop wd widowpenalties widowpenalty write \
 xdef xleaders xspaceskip year 
 
-keywordclass.tex.aleph=\
-AlephVersion Alephminorversion Alephrevision Alephversion \
-Omegaminorversion Omegarevision Omegaversion boxdir pagebottomoffset \
-pagerightoffset 
-
-keywordclass.tex.luatex=\
-Udelcode Udelcodenum Udelimiter Udelimiterover \
-Udelimiterunder Umathaccent Umathaccents Umathaxis Umathbinbinspacing \
-Umathbinclosespacing Umathbininnerspacing Umathbinopenspacing Umathbinopspacing Umathbinordspacing \
-Umathbinpunctspacing Umathbinrelspacing Umathbotaccent Umathchar Umathchardef \
-Umathcharnum Umathclosebinspacing Umathcloseclosespacing Umathcloseinnerspacing Umathcloseopenspacing \
-Umathcloseopspacing Umathcloseordspacing Umathclosepunctspacing Umathcloserelspacing Umathcode \
-Umathcodenum Umathconnectoroverlapmin Umathfractiondelsize Umathfractiondenomdown Umathfractiondenomvgap \
-Umathfractionnumup Umathfractionnumvgap Umathfractionrule Umathinnerbinspacing Umathinnerclosespacing \
-Umathinnerinnerspacing Umathinneropenspacing Umathinneropspacing Umathinnerordspacing Umathinnerpunctspacing \
-Umathinnerrelspacing Umathlimitabovebgap Umathlimitabovekern Umathlimitabovevgap Umathlimitbelowbgap \
-Umathlimitbelowkern Umathlimitbelowvgap Umathopbinspacing Umathopclosespacing Umathopenbinspacing \
-Umathopenclosespacing Umathopeninnerspacing Umathopenopenspacing Umathopenopspacing Umathopenordspacing \
-Umathopenpunctspacing Umathopenrelspacing Umathoperatorsize Umathopinnerspacing Umathopopenspacing \
-Umathopopspacing Umathopordspacing Umathoppunctspacing Umathoprelspacing Umathordbinspacing \
-Umathordclosespacing Umathordinnerspacing Umathordopenspacing Umathordopspacing Umathordordspacing \
-Umathordpunctspacing Umathordrelspacing Umathoverbarkern Umathoverbarrule Umathoverbarvgap \
-Umathoverdelimiterbgap Umathoverdelimitervgap Umathpunctbinspacing Umathpunctclosespacing Umathpunctinnerspacing \
-Umathpunctopenspacing Umathpunctopspacing Umathpunctordspacing Umathpunctpunctspacing Umathpunctrelspacing \
-Umathquad Umathradicaldegreeafter Umathradicaldegreebefore Umathradicaldegreeraise Umathradicalkern \
-Umathradicalrule Umathradicalvgap Umathrelbinspacing Umathrelclosespacing Umathrelinnerspacing \
-Umathrelopenspacing Umathrelopspacing Umathrelordspacing Umathrelpunctspacing Umathrelrelspacing \
-Umathspaceafterscript Umathstackdenomdown Umathstacknumup Umathstackvgap Umathsubshiftdown \
-Umathsubshiftdrop Umathsubsupshiftdown Umathsubsupvgap Umathsubtopmax Umathsupbottommin \
-Umathsupshiftdrop Umathsupshiftup Umathsupsubbottommax Umathunderbarkern Umathunderbarrule \
-Umathunderbarvgap Umathunderdelimiterbgap Umathunderdelimitervgap Uoverdelimiter Uradical \
-Uroot Ustack Ustartdisplaymath Ustartmath Ustopdisplaymath \
-Ustopmath Usubscript Usuperscript Uunderdelimiter alignmark \
-aligntab attribute attributedef catcodetable clearmarks \
-crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle fontid \
-formatname gleaders ifabsdim ifabsnum ifprimitive \
-initcatcodetable latelua luaescapestring luastartup luatexdatestamp \
-luatexrevision luatexversion mathstyle nokerns noligs \
-outputbox pageleftoffset pagetopoffset postexhyphenchar posthyphenchar \
-preexhyphenchar prehyphenchar primitive savecatcodetable scantextokens \
-suppressfontnotfounderror suppressifcsnameerror suppresslongerror suppressoutererror synctex 
-
 keywordclass.tex.omega=\
 OmegaVersion bodydir chardp charht \
 charit charwd leftghost localbrokenpenalty localinterlinepenalty \
diff --git a/metapost/context/base/mp-chem.mpiv b/metapost/context/base/mp-chem.mpiv
index e80f5e0c4..03dd63ae8 100644
--- a/metapost/context/base/mp-chem.mpiv
+++ b/metapost/context/base/mp-chem.mpiv
@@ -13,19 +13,6 @@
 
 %D This module is incomplete and experimental.
 
-% we can use this in quite some places:
-
-% vardef test(expr first,last,pth,trf,lin,col) =
-%     for i=first upto last :
-%         draw pth
-%             chem_transformed(trf)
-%             dashed evenly
-%             withpen pencircle scaled lin
-%             withcolor col ;
-%         fi :
-%     endfor
-% enddef ;
-
 % either consistent setting or not
 
 if known context_chem : endinput ; fi ;
@@ -64,11 +51,11 @@ chem_axis_rulethickness := 1pt ;
 chem_emwidth            := 10pt ; % EmWidth or \the\emwidth does not work...
 chem_setting_scale      := 3 ;
 chem_b_length           := chem_setting_scale * chem_emwidth ;
-chem_dbl_offset         := .05chem_b_length ;
-chem_bb_angle           := angle(chem_b_length,2chem_dbl_offset) ;
 chem_text_offset        := .25chem_emwidth ; % ?
 chem_center_offset      := .5chem_emwidth ;
 chem_picture_offset     := chem_emwidth ;
+chem_dbl_offset         := .05 ;
+chem_bb_angle           := angle(1,2chem_dbl_offset) ;
 chem_text_min           := 0.75 ;
 chem_text_max           := 1.25 ;
 chem_dot_factor         := 4 ; % *linewidth
@@ -144,120 +131,6 @@ path
     chem_r_path.chair,         chem_r_path.lft.chair,         chem_r_path.rt.chair,
     chem_r_path.boat,          chem_r_path.lft.boat,          chem_r_path.rt.boat ;
 
-a := 2angle(1,sqrt 2) ;
-2b = 180 - .5a ;
-4c = 180 - .5a ;
-d = 3e ; % this is the one tunable parameter which fixes the perspective.
-d + e = 360 - 2a ;
-z2 = z1 shifted dir(90+a+d) ;
-z3 = z2 shifted dir(270-a) ;
-z4 = z3 shifted dir(90+a) ;
-z6 = z1 shifted dir(90+a) ;
-z5 = z6 shifted dir(270-a) ;
-z4 = z1 xyscaled (-1,-1) ;
-z5 = z2 xyscaled (-1,-1) ;
-
-path chem_generic_carbon ;
-
-path chem_generic_carbon         ; chem_generic_carbon         = dir(0)--dir(360-a)--dir(180-.5a+b)--dir(180-.5a);
-path chem_generic_alkyl          ; chem_generic_alkyl          = dir(0)--dir(360-a)--dir(360-a-90)--dir(90) ;
-path chem_generic_newmanstagger  ; chem_generic_newmanstagger  = dir(30)--dir(270)--dir(150)--dir(330)--dir(210)--dir(90) ;
-path chem_generic_newmaneclipsed ; chem_generic_newmaneclipsed = dir(30)--dir(270)--dir(150)--dir(0)--dir(240)--dir(120) ;
-path chem_generic_chair          ; chem_generic_chair          = z1--z2--z3--z4--z5--z6 ;
-path chem_generic_chair_x        ; chem_generic_chair_x        = up--dir(270+a)--up--dir(270-a)--up--dir(90+e) ;
-path chem_generic_chair_y        ; chem_generic_chair_y        = dir(90-a)--down--dir(90+a+d)--down--dir(90+a)--down--cycle ;
-path chem_generic_boat_x         ; chem_generic_boat_x         = dir(30+.5a)--dir(330+.5a)--dir(210-.5a)--dir(150-.5a)--dir(120)--dir(60) ;
-path chem_generic_boat_y         ; chem_generic_boat_y         = dir(30-.5a)--dir(330-.5a)--dir(210+.5a)--dir(150+.5a)--dir(120+a)--dir(60-a) ;
-
-def chem_init_all =
-    % some helpers
-    save a, b, c, d, e; numeric a, b, c, d, e ;
-    save p ; path p ;
-    % we use the solver
-%     a := 2angle(1,sqrt 2) ;
-%     2b = 180 - .5a ;
-%     4c = 180 - .5a ;
-    % basics
-    chem_init_some(one,8) ;
-    chem_init_some(three,3) ;
-    chem_init_some(four,4) ;
-    chem_init_some(five,5) ;
-    chem_init_some(six,6) ;
-    chem_init_some(seven,7) ;
-    chem_init_some(eight,8) ;
-    chem_init_some(fivefront,5) ;
-    chem_init_some(sixfront,6) ;
-    % specials
-%     chem_init_some(carbon,(dir(0)--dir(360-a)--dir(180-.5a+b)--dir(180-.5a)) scaled chem_b_length) ;
-%     chem_init_some(alkyl,(dir(0)--dir(360-a)--dir(360-a-90)--dir(90)) scaled chem_b_length) ;
-%     chem_init_some(newmanstagger,(dir(30)--dir(270)--dir(150)--dir(330)--dir(210)--dir(90)) scaled chem_b_length) ;
-%     chem_init_some(newmaneclipsed,(dir(30)--dir(270)--dir(150)--dir(0)--dir(240)--dir(120)) scaled chem_b_length) ;
-    chem_init_some(carbon,        chem_generic_carbon         scaled chem_b_length) ;
-    chem_init_some(alkyl,         chem_generic_alkyl          scaled chem_b_length) ;
-    chem_init_some(newmanstagger, chem_generic_newmanstagger  scaled chem_b_length) ;
-    chem_init_some(newmaneclipsed,chem_generic_newmaneclipsed scaled chem_b_length) ;
-    % chair
-%     d = 3e ; % this is the one tunable parameter which fixes the perspective.
-%     d + e = 360 - 2a ;
-%     z2 = z1 shifted dir(90+a+d) ;
-%     z3 = z2 shifted dir(270-a) ;
-%     z4 = z3 shifted dir(90+a) ;
-%     z6 = z1 shifted dir(90+a) ;
-%     z5 = z6 shifted dir(270-a) ;
-%     z4 = z1 xyscaled (-1,-1) ;
-%     z5 = z2 xyscaled (-1,-1) ;
-%     chem_init_some(chair,(z1--z2--z3--z4--z5--z6) scaled chem_b_length) ;
-    chem_init_some(chair,chem_generic_chair scaled chem_b_length) ;
-%     p := (up--dir(270+a)--up--dir(270-a)--up--dir(90+e)) scaled chem_b_length ;
-    p := chem_generic_chair_x scaled chem_b_length ;
-    chem_r_path.lft.chair :=
-        for i=0 upto 5 :
-            point i of p shifted point i of chem_b_path.chair --
-        endfor
-        cycle ;
-    p :=
-        chem_generic_chair_y
-        scaled chem_b_length ;
-    chem_r_path.rt.chair :=
-        for i=0 upto 5 :
-            point i of p shifted point i of chem_b_path.chair --
-        endfor
-        cycle ;
-    % boat
-    chem_init_some(boat,
-        for i=1 upto 4 :
-            point i-1 of chem_b_path.sixfront --
-        endfor
-        point 2 of chem_b_path.sixfront yscaled .5 -- point 1 of chem_b_path.sixfront
-        yscaled .5
-    ) ;
-    p :=
-        chem_generic_boat_x
-        scaled chem_b_length ;
-    chem_r_path.lft.boat :=
-        for i=0 upto 5 :
-            point i of p shifted point i of chem_b_path.boat --
-        endfor cycle ;
-    p :=
-        chem_generic_boat_y
-        scaled chem_b_length ;
-    chem_r_path.rt.boat :=
-        for i=0 upto 5 :
-            point i of p shifted point i of chem_b_path.boat --
-        endfor
-        cycle ;
-    % defaults
-    chem_star.carbon         := true ;
-    chem_star.alkyl          := true ;
-    chem_star.newmanstagger  := true ;
-    chem_star.newmaneclipsed := true ;
-    chem_star.one            := true ;
-    chem_front.fivefront     := true ;
-    chem_front.sixfront      := true ;
-    chem_front.chair         := true ;
-    chem_front.boat          := true ;
-enddef ;
-
 % We define all paths as closed, so that they may be indexed mod length.
 
 vardef chem_init_some (suffix $) (expr e) =
@@ -269,8 +142,8 @@ vardef chem_init_some (suffix $) (expr e) =
     fi
     save n ; numeric n ;
     if path(e) :
-        n := length(e) if cycle(e) : -1 fi ;
         chem_b_path.$ := e if not cycle(e) : -- cycle fi ;
+        n := length(chem_b_path.$) - 1 ;
     else : % polygon
         n := e ;
         save a ; numeric a ; a := 360/n ;
@@ -280,7 +153,6 @@ vardef chem_init_some (suffix $) (expr e) =
                     dir(if chem_star.$ : -i else : (.5-i) fi *a) --
                 endfor cycle
             )
-            scaled chem_b_length
             if chem_front.$ :
                 rotated (a-90)
             fi
@@ -288,87 +160,151 @@ vardef chem_init_some (suffix $) (expr e) =
                 scaled (.5/(sind .5a))
             fi ;
     fi ;
+    save m ; numeric m ; m := 0 ;
     chem_c_path.$ :=
-        reverse(fullcircle) scaled
-        if chem_star.$ :
-             abs(point 0 of chem_b_path.$)
-        else :
-             (2*(abs(point .5 of chem_b_path.$) - 2chem_dbl_offset))
-        fi
-        rotated angle(point 0 of chem_b_path.$) ;
+        reverse(fullcircle) rotated angle(point 0 of chem_b_path.$)
+        if not chem_star.$ :
+             hide (for i=0 upto n:
+                       if abs(point i+.5 of chem_b_path.$)<abs(point m+.5 of chem_b_path.$):
+                           m := i ;
+                       fi
+                   endfor)
+             scaled (2*(abs(point m+.5 of chem_b_path.$) - chem_dbl_offset))
+        fi ;
     if not chem_front.$ :
         chem_r_path.$ :=
             if chem_star.$ :
                 chem_b_path.$
             else :
-                (
-                    for i=0 upto n-1 :
-                        (unitvector point i of chem_b_path.$)
-                        scaled chem_b_length
-                        shifted point i of chem_b_path.$ --
-                    endfor
-                    cycle
-                ) ;
-            fi
-    fi
+                for i=0 upto n-1 :
+                    (unitvector point i of chem_b_path.$)
+                    shifted point i of chem_b_path.$ --
+                endfor
+                cycle
+            fi ;
+    fi ;
     if not chem_star.$ :
-        chem_r_path.lft.$ := (
+        chem_r_path.lft.$ :=
             for i=0 upto n-1 :
                 if chem_front.$ :
                     up
-                    scaled .5chem_b_length
+                    scaled .5
                     shifted point i of chem_b_path.$
                 else :
                     point i+1 of chem_b_path.$
                     rotatedabout(point i of chem_b_path.$,180)
                 fi --
             endfor
-            cycle
-        ) ;
-        chem_r_path.rt.$ := (
+            cycle ;
+        chem_r_path.rt.$ :=
             for i=0 upto n-1 :
                 if chem_front.$ :
                     down
-                    scaled .5chem_b_length
+                    scaled .5
                     shifted point i of chem_b_path.$
                 else :
                     point i-1 of chem_b_path.$
                     rotatedabout(point i of chem_b_path.$,180)
                 fi --
             endfor
-            cycle
-        ) ;
-    fi
+            cycle ;
+    fi ;
+enddef ;
+
+% The following is used only once:
+
+def chem_init_all =
+    begingroup
+    save a, b, c, d, e ; numeric a, b, c, d, e ;
+    save lft, rt ; path lft, rt ;
+
+    % tetrahedrial angle
+    a := 2angle(1,sqrt 2) ;
+    % solve for chair
+    2b = 180 - .5a ;
+    4c = 180 - .5a ;
+    d + e = 360 - 2a ;
+    d = 3e ; % this is the one tunable parameter which fixes the perspective.
+    z2 = z1 shifted dir(90+a+d) ;
+    z3 = z2 shifted dir(270-a) ;
+    z4 = z3 shifted dir(90+a) ;
+    z6 = z1 shifted dir(90+a) ;
+    z5 = z6 shifted dir(270-a) ;
+    z4 = z1 xyscaled (-1,-1) ;
+    z5 = z2 xyscaled (-1,-1) ;
+
+    % polygons
+    chem_init_some(three,3) ;
+    chem_init_some(four, 4) ;
+    chem_init_some(five, 5) ;
+    chem_init_some(six,  6) ;
+    chem_init_some(seven,7) ;
+    chem_init_some(eight,8) ;
+    % star-form
+    chem_star.one            := true ;
+    chem_star.carbon         := true ;
+    chem_star.alkyl          := true ;
+    chem_star.newmanstagger  := true ;
+    chem_star.newmaneclipsed := true ;
+    chem_init_some(one,8) ;
+    chem_init_some(carbon, dir(0)--dir(360-a)--dir(180-.5a+b)--dir(180-.5a)) ;
+    chem_init_some(alkyl,  dir(0)--dir(360-a)--dir(360-a-90)--dir(90)) ;
+    chem_init_some(newmanstagger, dir(30)--dir(270)--dir(150)--dir(330)--dir(210)--dir(90)) ;
+    chem_init_some(newmaneclipsed,dir(30)--dir(270)--dir(150)--dir(0)--dir(240)--dir(120)) ;
+    % front
+    chem_front.fivefront     := true ;
+    chem_front.sixfront      := true ;
+    chem_front.chair         := true ;
+    chem_front.boat          := true ;
+    chem_init_some(fivefront,5) ;
+    chem_init_some(sixfront, 6) ;
+    % chair
+    chem_init_some(chair,    z1--z2--z3--z4--z5--z6) ;
+    rt  := up--dir(270+a)--up--dir(270-a)--up--dir(90+e) ;
+    lft := dir(90-a)--down--dir(90+a+d)--down--dir(90+a)--down ;
+    forsuffixes $ = lft, rt :
+        chem_r_path.$.chair :=
+            for i=0 upto 5 : point i of $ shifted point i of chem_b_path.chair -- endfor
+            cycle ;
+    endfor ;
+    % boat
+    chem_init_some(boat,
+        for i=1 upto 4 : point i-1 of chem_b_path.sixfront -- endfor
+        point 2 of chem_b_path.sixfront yscaled .5 --
+        point 1 of chem_b_path.sixfront yscaled .5
+    ) ;
+    lft := dir(30+.5a)--dir(330+.5a)--dir(210-.5a)--dir(150-.5a)--dir(120)--dir(60) ;
+    rt  := dir(30-.5a)--dir(330-.5a)--dir(210+.5a)--dir(150+.5a)--dir(120+a)--dir(60-a) ;
+    forsuffixes $ = lft, rt :
+        chem_r_path.$.boat :=
+            for i=0 upto 5 : point i of $ shifted point i of chem_b_path.boat -- endfor
+            cycle ;
+    endfor ;
+    endgroup ;
 enddef ;
 
-chem_init_all ;
+chem_init_all ; % WHY does this not work unless defined and then called?
+
 
-% Like most often in ConTeXt, we will trap but just silently ignore mistaken use, unless
-% of course it is too harmful.
+% Like most often in ConTeXt, we will trap but then silently ignore mistaken use,
+% unless of course the error be too harmful...
 
 % \startchemical
 
 vardef chem_start_structure(expr i, l, r, t, b, scale, fitwidth, fitheight, emwidth, offset, axis, rulethickness, axiscolor) =
-
     chem_emwidth            := emwidth ; % EmWidth or \the\emwidth does not work...
-    if scale<>chem_setting_scale :
-        chem_setting_scale  := scale ;
-        chem_b_length       := chem_setting_scale * chem_emwidth ;
-        chem_dbl_offset     := .05chem_b_length ;
-
-        chem_init_all ;
-    fi ;
-
-    chem_setting_fitwidth   := fitwidth ;
-    chem_setting_fitheight  := fitheight ;
+    chem_setting_scale      := if scale<>0: scale else: 3 fi ;
+    chem_b_length           := chem_setting_scale * chem_emwidth ;
+    chem_setting_fitwidth   := if boolean fitwidth :  fitwidth  else : (fitwidth<>0) fi ;
+    chem_setting_fitheight  := if boolean fitheight : fitheight else : (fithheight<>0) fi ;
     chem_setting_l          := l * chem_b_length ;
     chem_setting_r          := r * chem_b_length ;
     chem_setting_t          := t * chem_b_length ;
     chem_setting_b          := b * chem_b_length ;
     chem_setting_offset     := offset ;
-    chem_setting_axis       := axis ;
+    chem_setting_axis       := if boolean axis : axis else : (axis<>0) fi ;
     chem_axis_rulethickness := .75*(rulethickness) ; % axis 50% thinner than frame and bonds.
-    chem_axis_color         := axiscolor ;
+    chem_axis_color         := if color axiscolor : axiscolor else : axiscolor*[white,black] fi ;
 
     chem_reset ;
 enddef ;
@@ -406,7 +342,7 @@ vardef chem_stop_structure =
         for i = 0 step -stp until -chem_setting_b : draw (-siz,i) -- (siz,i)
             withpen pencircle scaled chem_axis_rulethickness withcolor chem_axis_color ; endfor
         % frame=on : draw chem_setting_bbox withcolor chem_axis_color ;
-	addto currentpicture also chem_picture ;
+        addto currentpicture also chem_picture ;
     fi ;
     setbounds currentpicture to chem_setting_bbox ;
 enddef ;
@@ -513,14 +449,39 @@ vardef chem_sub@# (suffix $) (expr d, s) = % SUB
 enddef ;
 
 def chem_transformed (suffix $) = % not vardef!
+    scaled chem_b_length
     if not chem_front.$ :
         if chem_mirror<>origin : reflectedabout(origin,chem_mirror) fi
         rotated chem_rotation
     fi
 enddef ;
 
+vardef chem_draw (suffix $) (expr p, r, c) (text t) =
+    draw p
+        chem_transformed($)
+        withpen pencircle scaled r
+        withcolor c
+        t ;
+enddef ;
+
+vardef chem_fill (suffix $) (expr p, r, c) (text t) =
+    fill p
+        chem_transformed($)
+        withpen pencircle scaled r
+        withcolor c
+        t ;
+enddef ;
+
+vardef chem_drawarrow (suffix $) (expr p, r, c) (text t) =
+    drawarrow p
+        chem_transformed($)
+        withpen pencircle scaled r
+        withcolor c
+        t ;
+enddef ;
+
 def chem_check (suffix $) =
-    if (chem_adjacent<>0) or (chem_substituent<> 0) or
+    if (chem_adjacent<>0) or (chem_substituent<>0) or
         (chem_substituent.lft<>0) or (chem_substituent.rt<>0) :
         chem_set($) ; % if not explicitly called...
     fi
@@ -664,8 +625,9 @@ vardef chem_b (suffix $) (expr f,     t,   r,     c) = % B
         chem_r($,f,t,r,c) ;
     else :
         chem_check($) ;
-        draw (subpath (f-1,t) of chem_b_path.$) chem_transformed($)
-            withpen pencircle scaled r withcolor c ;
+        chem_draw($,
+            subpath (f-1,t) of chem_b_path.$,
+            r,c,) ;
     fi
 enddef ;
 
@@ -675,8 +637,9 @@ vardef chem_sb@# (suffix $) (expr f, t, r, c) = % SB
     else :
         chem_check($) ;
         for i=f upto t :
-            draw (subpath (chem_sb_pair@# shifted (i-1,i-1)) of chem_b_path.$)
-                chem_transformed($) withpen pencircle scaled r withcolor c ;
+            chem_draw($,
+                subpath (chem_sb_pair@# shifted (i-1,i-1)) of chem_b_path.$,
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -687,10 +650,17 @@ enddef ;
 
 vardef chem_r_fragment@# (suffix $) (expr i) =
      if chem_front.$ and (length(str @#)=0) : % note that length=3, not 2...
-         (point i-1 of chem_r_path.rt.$ -- point i-1 of chem_b_path.$ -- point i-1 of chem_r_path.lft.$)
+         (point i-1 of chem_r_path.rt.$ --
+          point i-1 of chem_b_path.$ --
+          point i-1 of chem_r_path.lft.$)
      else :
-         (if chem_star.$ : origin else : point i-1 of chem_b_path.$ fi -- point i-1 of chem_r_path@#.$)
-     fi % no ;
+         (if chem_star.$ :
+              origin
+          else :
+              point i-1 of chem_b_path.$
+          fi --
+          point i-1 of chem_r_path@#.$)
+     fi
 enddef ;
 
 vardef chem_r (suffix $) (expr f, t, r, c) = % R
@@ -699,8 +669,10 @@ vardef chem_r (suffix $) (expr f, t, r, c) = % R
     save im, l ; numeric im, l ; l := length chem_b_path.$ ;
     for i=f upto t :
         im := if i<0 : ((i+1) mod l) + 6 else : ((i-1) mod l) + 1 fi ;
-        draw (if (nm and (im>3)) : subpath (.5,1) of fi chem_r_fragment($,i))
-            chem_transformed($) withpen pencircle scaled r withcolor c ;
+        chem_draw($,
+            if (nm and (im>3)) : subpath (.5,1) of fi
+            chem_r_fragment($,i),
+            r,c,) ;
     endfor
 enddef ;
 
@@ -709,9 +681,13 @@ vardef chem_er (suffix $) (expr f, t, r, c) = % ER
     if not chem_front.$ :
     for i=f upto t :
         save p ; path p ;
-        p := chem_r_fragment($,i) chem_transformed($) ;
-        draw p paralleled  chem_dbl_offset withpen pencircle scaled r withcolor c ;
-        draw p paralleled -chem_dbl_offset withpen pencircle scaled r withcolor c ;
+        p := chem_r_fragment($,i) ;
+        chem_draw($,
+            p paralleled  chem_dbl_offset,
+            r,c,) ;
+        chem_draw($,
+            p paralleled -chem_dbl_offset,
+            r,c,) ;
     endfor
     fi
 enddef ;
@@ -720,7 +696,9 @@ vardef chem_lr (suffix $) (expr f, t, r, c) = % LR
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            draw chem_r_fragment.lft($,i) chem_transformed($) withpen pencircle scaled r withcolor c ;
+            chem_draw($,
+                chem_r_fragment.lft($,i),
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -729,7 +707,9 @@ vardef chem_rr (suffix $) (expr f, t, r, c) = % RR
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            draw chem_r_fragment.rt($,i) chem_transformed($) withpen pencircle scaled r withcolor c ;
+            chem_draw($,
+                chem_r_fragment.rt($,i),
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -738,11 +718,10 @@ vardef chem_eb  (suffix $) (expr f, t, r, c) = % EB
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            draw
-                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$ paralleled -2chem_dbl_offset)
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$)
+                paralleled -2chem_dbl_offset,
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -751,11 +730,10 @@ vardef chem_ad (suffix $) (expr f, t, r, c) = % AD
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            drawarrow
-                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$ paralleled 2chem_dbl_offset)
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_drawarrow($,
+                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$)
+                paralleled 2chem_dbl_offset,
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -764,11 +742,11 @@ vardef chem_au (suffix $) (expr f, t, r, c) = % AU
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            drawarrow
-                reverse(subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$ paralleled 2chem_dbl_offset)
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_drawarrow($,
+                reverse(
+                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$)
+                paralleled 2chem_dbl_offset),
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -776,35 +754,31 @@ enddef ;
 vardef chem_es (suffix $) (expr f, t, r, c) = % ES
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
-        draw
-            point i-1 of chem_r_path.$ scaled (xpart chem_sb_pair)
-            withpen pencircle scaled (chem_dot_factor*r)
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            chem_draw($,
+                (point i-1 of chem_r_path.$) scaled (xpart chem_sb_pair),
+                chem_dot_factor*r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_ed (suffix $) (expr f, t, r, c) = % ED
     chem_check($) ;
     for i=f upto t :
+        save p ; path p ;
         if chem_star.$ :
-            save p ; path p ; p := subpath chem_sb_pair of chem_r_fragment($,i) ;
-            draw
-                point 0 of (p paralleled -chem_dbl_offset)
-                withpen pencircle scaled (chem_dot_factor*r)
-                withcolor c ;
-            draw
-                point 0 of (p paralleled chem_dbl_offset)
-                withpen pencircle scaled (chem_dot_factor*r)
-                withcolor c ;
+            p := subpath chem_sb_pair of chem_r_fragment($,i) ;
+            chem_draw($,
+                point 0 of (p paralleled -chem_dbl_offset),
+                chem_dot_factor*r,c,) ;
+            chem_draw($,
+                point 0 of (p paralleled  chem_dbl_offset),
+                chem_dot_factor*r,c,) ;
         else :
-            draw
-                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$ paralleled -2chem_dbl_offset)
-                chem_transformed($)
-                dashed evenly
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                (subpath (chem_sb_pair shifted (i-1,i-1)) of chem_b_path.$)
+                paralleled -2chem_dbl_offset,
+                chem_dot_factor*r,c,dashed evenly) ;
         fi
     endfor
 enddef ;
@@ -812,36 +786,33 @@ enddef ;
 vardef chem_ep (suffix $) (expr f, t, r, c) = % EP
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p ;
-        p := subpath chem_sb_pair of chem_r_fragment($,i) ;
-        draw
-            (point 0 of (p paralleled -chem_dbl_offset) -- point 0 of (p paralleled  chem_dbl_offset))
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            p := subpath chem_sb_pair of chem_r_fragment($,i) ;
+            chem_draw($,
+                point 0 of (p paralleled -chem_dbl_offset) --
+                point 0 of (p paralleled  chem_dbl_offset),
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_et (suffix $) (expr f, t, r, c) = % ET
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p ;
-        p := subpath chem_sb_pair of chem_r_fragment($,i) ;
-        draw
-            point 0 of (p paralleled -2chem_dbl_offset)
-            withpen pencircle scaled (chem_dot_factor*r)
-            withcolor c ;
-        draw
-            point 0 of p
-            withpen pencircle scaled (chem_dot_factor*r)
-            withcolor c ;
-        draw
-            point 0 of (p paralleled  2chem_dbl_offset)
-            withpen pencircle scaled (chem_dot_factor*r)
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            p := subpath chem_sb_pair of chem_r_fragment($,i) ;
+            chem_draw($,
+                point 0 of (p paralleled -2chem_dbl_offset),
+                chem_dot_factor*r,c,) ;
+            chem_draw($,
+                point 0 of p,
+                chem_dot_factor*r,c,) ;
+            chem_draw($,
+                point 0 of (p paralleled  2chem_dbl_offset),
+                chem_dot_factor*r,c,) ;
+        endfor
     fi
 enddef ;
 
@@ -851,19 +822,17 @@ vardef chem_db@# (suffix $) (expr f, t, r, c) = % DB
     else :
         chem_check($) ;
         if not chem_front.$ :
-        for i=f upto t :
             save p ; path p ;
-            p := (subpath (chem_sb_pair@# shifted (i-1,i-1)) of chem_b_path.$) chem_transformed($) ;
-            draw
-                p paralleled -chem_dbl_offset
-                withpen pencircle scaled r
-                withcolor c ;
-            draw
-                p paralleled  chem_dbl_offset
-                withpen pencircle scaled r
-                withcolor c ;
-            % todo : this should be cut-off where it overlaps an neighboring standard bond.
-        endfor
+            for i=f upto t :
+                p := subpath (chem_sb_pair@# shifted (i-1,i-1)) of chem_b_path.$ ;
+                chem_draw($,
+                    p paralleled -chem_dbl_offset,
+                    r,c,) ;
+                chem_draw($,
+                    p paralleled  chem_dbl_offset,
+                    r,c,) ;
+                % todo : this should be cut-off where it overlaps a neighboring standard bond.
+            endfor
         fi
     fi
 enddef ;
@@ -871,66 +840,59 @@ enddef ;
 vardef chem_tb@# (suffix $) (expr f, t, r, c) = % TB
     chem_check($) ;
     if chem_star.$ :
+        save p ; path p ;
         for i=f upto t :
-            save p ; path p ;
-            p := (subpath chem_sb_pair@# of chem_r_fragment($,i)) chem_transformed($) ;
-            draw
-                p
-                paralleled -2chem_dbl_offset
-                withpen pencircle scaled r
-                withcolor c ;
-            draw
-                p
-                withpen pencircle scaled r
-                withcolor c ;
-            draw
-                p
-                paralleled  2chem_dbl_offset
-                withpen pencircle scaled r
-                withcolor c ;
+            p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
+            chem_draw($,
+                p paralleled -2chem_dbl_offset,
+                r,c,) ;
+            chem_draw($,
+                p,
+                r,c,) ;
+            chem_draw($,
+                p paralleled  2chem_dbl_offset,
+                r,c,) ;
         endfor
     fi
 enddef ;
 
 vardef chem_sr@# (suffix $) (expr f, t, r, c) = % SR
     chem_check($) ;
-    save nm ; boolean nm ;
-    nm := ((substring (0,6) of (str $))="newman") ;
-    save im, l ; numeric im, l ;
-    l := length chem_b_path.$ ;
+    if (substring (0,6) of (str $))="newman" :
+        save im, l ; numeric im, l ;
+        l := length chem_b_path.$ ;
+        for i=f upto t :
+            im := if i<0 : ((i+1) mod l) + 6 else : ((i-1) mod l) + 1 fi ;
+            chem_draw($,
+                subpath (if im>3: .5,ypart fi chem_sb_pair@#) of chem_r_fragment($,i),
+                r,c,) ;
+        endfor
+    else:
     for i=f upto t :
         if chem_front.$ : % length=3...
-            draw
-                (subpath chem_sb_pair@# of (subpath (1,0) of chem_r_fragment($,i)))
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
-            draw
-                (subpath chem_sb_pair@# of (subpath (1,2) of chem_r_fragment($,i)))
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of (subpath (1,0) of chem_r_fragment($,i)),
+                r,c,) ;
+            chem_draw($,
+                subpath chem_sb_pair@# of (subpath (1,2) of chem_r_fragment($,i)),
+                r,c,) ;
         else :
-            im := if i<0 : ((i+1) mod l) + 6 else : ((i-1) mod l) + 1 fi ;
-            draw
-                (subpath if (nm and (im>3)) : (.5,ypart chem_sb_pair@#) else : chem_sb_pair@# fi of chem_r_fragment($,i))
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment($,i),
+                r,c,) ;
         fi
     endfor
+    fi
 enddef ;
 
 vardef chem_sd@# (suffix $) (expr f, t, r, c) = % SD
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
-        draw
-            (subpath chem_sb_pair@# of chem_r_fragment($,i)) chem_transformed($)
-            dashed evenly
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment($,i),
+                r,c,dashed evenly) ;
+        endfor
     fi
 enddef ;
 
@@ -938,24 +900,16 @@ vardef chem_rd@# (suffix $) (expr f, t, r, c) = % RD
     chem_check($) ;
     for i=f upto t :
         if chem_front.$ :
-            draw
-                (subpath chem_sb_pair@# of (subpath (1,0) of chem_r_fragment($,i)))
-                chem_transformed($)
-                dashed evenly
-                withpen pencircle scaled r
-                withcolor c ;
-            draw
-                (subpath chem_sb_pair@# of (subpath (1,2) of chem_r_fragment($,i)))
-                chem_transformed($)
-                dashed evenly
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of (subpath (1,0) of chem_r_fragment($,i)),
+                r,c,dashed evenly) ;
+            chem_draw($,
+                subpath chem_sb_pair@# of (subpath (1,2) of chem_r_fragment($,i)),
+                r,c,dashed evenly) ;
         else :
-            draw
-                (subpath chem_sb_pair@# of chem_r_fragment($,i)) chem_transformed($)
-                dashed evenly
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment($,i),
+                r,c,dashed evenly) ;
         fi :
     endfor
 enddef ;
@@ -964,24 +918,16 @@ vardef chem_rh@# (suffix $) (expr f, t, r, c) = % RH
     chem_check($) ;
     for i=f upto t :
         if chem_front.$ :
-            draw
-                (subpath chem_sb_pair@# of (subpath (1,0) of chem_r_fragment($,i)))
-                chem_transformed($)
-                dashed withdots scaled ((.5chem_b_length/5bp)/3)
-                withpen pencircle scaled r
-                withcolor c ;
-            draw
-                (subpath chem_sb_pair@# of (subpath (1,2) of chem_r_fragment($,i)))
-                chem_transformed($)
-                dashed withdots scaled ((.5chem_b_length/5bp)/3)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of (subpath (1,0) of chem_r_fragment($,i)),
+                r,c,dashed withdots scaled ((.5chem_b_length/3)/5bp)) ;
+            chem_draw($,
+                subpath chem_sb_pair@# of (subpath (1,2) of chem_r_fragment($,i)),
+                r,c,dashed withdots scaled ((.5chem_b_length/3)/5bp)) ;
         else :
-            draw
-                (subpath chem_sb_pair@# of chem_r_fragment($,i)) chem_transformed($)
-                dashed withdots scaled ((.5chem_b_length/5bp)/3)
-                withpen pencircle scaled (chem_dot_factor*r)
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment($,i),
+                chem_dot_factor*r,c,dashed withdots scaled ((.5chem_b_length/3)/5bp)) ;
         fi
     endfor
 enddef ;
@@ -991,12 +937,16 @@ vardef chem_hb@# (suffix $) (expr f, t, r, c) = if chem_star.$ : chem_rh@#($,f,t
 vardef chem_dr@# (suffix $) (expr f, t, r, c) = % DR
     chem_check($) ;
     if not chem_front.$ :
-    for i=f upto t :
         save p ; path p ;
-        p := (subpath chem_sb_pair@# of chem_r_fragment($,i)) chem_transformed($) ;
-        draw p paralleled  chem_dbl_offset withpen pencircle scaled r withcolor c ;
-        draw p paralleled -chem_dbl_offset withpen pencircle scaled r withcolor c ;
-    endfor
+        for i=f upto t :
+            p := (subpath chem_sb_pair@# of chem_r_fragment($,i)) ;
+            chem_draw($,
+                p paralleled  chem_dbl_offset,
+                r,c,) ;
+            chem_draw($,
+                p paralleled -chem_dbl_offset,
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
@@ -1005,11 +955,9 @@ vardef chem_bb (suffix $) (expr f, t, r, c) = % BB
         chem_rb($,f,t,r,c) ;
     elseif chem_front.$ :
         chem_check($) ;
-        draw
-            (subpath (f-1,t) of chem_b_path.$)
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
+        chem_draw($,
+            subpath (f-1,t) of chem_b_path.$,
+            r,c,) ;
         save l, fm, tm, nb ; numeric l, fm, tm, nb ;
         l := length chem_b_path.$ ;
         nb := if (str $)="chair" : 4 else : 3 fi ; % number of bold bonds
@@ -1018,33 +966,35 @@ vardef chem_bb (suffix $) (expr f, t, r, c) = % BB
         if tm<fm :
             save tmp ; numeric tmp ;
             tmp := tm ;
-            tm := fm ;
-            fm := tmp ;
+            tm  := fm ;
+            fm  := tmp ;
         fi
         if fm<nb :
             if fm=1 :
-                fill
+                chem_fill($,
                     point fm-1 of chem_b_path.$ --
                     point fm   of chem_b_path.$ shifted (0,-.5chem_dbl_offset) --
-                    point fm   of chem_b_path.$ shifted (0, .5chem_dbl_offset) -- cycle
-                    withpen pencircle scaled r
-                    withcolor c ;
+                    point fm   of chem_b_path.$ shifted (0, .5chem_dbl_offset) --
+                    cycle,
+                    r,c,) ;
             fi
             if (fm<=nb-1) and (tm>1) :
                 save p ; path p;
-                p := subpath (if fm>2 : fm-1 else : 1 fi,if tm<nb : tm else : nb-1 fi) of chem_b_path.$ ;
-                fill p          paralleled -.5chem_dbl_offset --
-                     reverse(p) paralleled -.5chem_dbl_offset -- cycle
-                     withpen pencircle scaled r
-                     withcolor c ;
+                p := subpath (if fm>2 : fm-1 else : 1 fi,if tm<nb : tm else : nb-1 fi)
+                    of chem_b_path.$ ;
+                chem_fill($,
+                    p          paralleled -.5chem_dbl_offset --
+                    reverse(p) paralleled -.5chem_dbl_offset --
+                    cycle,
+                    r,c,) ;
             fi
             if tm>=nb :
-                fill
+                chem_fill($,
                     point nb of chem_b_path.$ --
                     point nb-1 of chem_b_path.$ shifted (0,-.5chem_dbl_offset) --
-                    point nb-1 of chem_b_path.$ shifted (0, .5chem_dbl_offset) -- cycle
-                    withpen pencircle scaled r
-                    withcolor c ;
+                    point nb-1 of chem_b_path.$ shifted (0, .5chem_dbl_offset) --
+                    cycle,
+                    r,c,) ;
             fi
         fi
     fi
@@ -1061,18 +1011,15 @@ enddef ;
 vardef chem_rb@# (suffix $) (expr f, t, r, c) = % RB
     chem_check($) ;
     if not chem_front.$ :
+        save p ; path p ;
         for i=f upto t :
-            save p ; path p[] ;
-            p0 := subpath chem_sb_pair of chem_r_fragment@#($,i) ;
-            p1 := point 0 of p0 --
-                  point 1 of p0 rotatedaround(point 0 of p0, -chem_bb_angle) --
-                  point 1 of p0 rotatedaround(point 0 of p0,  chem_bb_angle) --
-                  cycle ;
-            fill
-                p1
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            p := subpath chem_sb_pair of chem_r_fragment@#($,i) ;
+            chem_fill($,
+                point 0 of p --
+                point 1 of p rotatedaround(point 0 of p, -chem_bb_angle) --
+                point 1 of p rotatedaround(point 0 of p,  chem_bb_angle) --
+                cycle,
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -1081,11 +1028,9 @@ vardef chem_lsr@# (suffix $) (expr f, t, r, c) = % LSR
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            draw
-                (subpath chem_sb_pair@# of chem_r_fragment.lft($,i))
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment.lft($,i),
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -1094,11 +1039,9 @@ vardef chem_rsr@# (suffix $) (expr f, t, r, c) = % RSR
     chem_check($) ;
     if not chem_star.$ :
         for i=f upto t :
-            draw
-                (subpath chem_sb_pair@# of chem_r_fragment.rt($,i))
-                chem_transformed($)
-                withpen pencircle scaled r
-                withcolor c ;
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment.rt($,i),
+                r,c,) ;
         endfor
     fi
 enddef ;
@@ -1106,73 +1049,62 @@ enddef ;
 vardef chem_lrd@# (suffix $) (expr f, t, r, c) = % LRD
     chem_check($) ;
     if not chem_star.$ :
-    for i=f upto t :
-        draw
-            (subpath chem_sb_pair@# of chem_r_fragment.lft($,i))
-            chem_transformed($)
-            dashed evenly
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment.lft($,i),
+                r,c,dashed evenly) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_rrd@# (suffix $) (expr f, t, r, c) = % RRD
     chem_check($) ;
     if not chem_star.$ :
-    for i=f upto t :
-        draw
-            (subpath chem_sb_pair@# of chem_r_fragment.rt($,i))
-            chem_transformed($)
-            dashed evenly
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            chem_draw($,
+                subpath chem_sb_pair@# of chem_r_fragment.rt($,i),
+                r,c,dashed evenly) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_s (suffix $) (expr f, t, r, c) = % S
     chem_check($) ;
     if not (chem_star.$ or chem_front.$) :
-        draw
-            (point f-2 of chem_b_path.$ -- point t of chem_b_path.$)
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
+        chem_draw($,
+            point f-2 of chem_b_path.$ -- point t of chem_b_path.$,
+            r,c,) ;
     fi
 enddef ;
 
 vardef chem_ss@# (suffix $) (expr f, t, r, c) = % SS
     chem_check($) ;
     if not (chem_star.$ or chem_front.$) :
-    draw (subpath chem_sb_pair@# of (point f-2 of chem_b_path.$ -- point t of chem_b_path.$))
-        chem_transformed($) withpen pencircle scaled r withcolor c ;
+        chem_draw($,
+            subpath chem_sb_pair@# of (point f-2 of chem_b_path.$ -- point t of chem_b_path.$),
+            r,c,) ;
     fi
 enddef ;
 
 vardef chem_mid (suffix $) (expr f, t, r, c) = % MID
     chem_check($) ;
     if not (chem_star.$ or chem_front.$) :
-    for i=f upto t :
-        draw
-            (origin -- point i-1 of chem_b_path.$)
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            chem_draw($,
+                origin -- point i-1 of chem_b_path.$,
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_mids@# (suffix $) (expr f, t, r, c) = % MIDS
     chem_check($) ;
     if not (chem_star.$ or chem_front.$) :
-    for i=f upto t :
-        draw
-            (subpath chem_sb_pair@# of (origin -- point i-1 of chem_b_path.$))
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            chem_draw($,
+                subpath chem_sb_pair@# of (origin -- point i-1 of chem_b_path.$),
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
@@ -1182,11 +1114,13 @@ enddef ;
 
 vardef chem_c@# (suffix $) (expr r, c) = % C
     chem_check($) ;
-    draw
-        chem_c_path.$
-        if (str @#)="d" : dashed evenly fi
-        withpen pencircle scaled r
-        withcolor c ;
+    chem_draw($,
+        chem_c_path.$,
+        if (str @#)="d" :
+            r,c,dashed evenly) ;
+        else:
+            r,c,) ;
+        fi
 enddef ;
 
 vardef chem_ccd  (suffix $) (expr f, t, r, c) = % CCD
@@ -1196,165 +1130,153 @@ enddef ;
 vardef chem_cc@# (suffix $) (expr f, t, r, c) = % CC
     chem_check($) ;
     save l; numeric l[] ;
-    l0 = ypart((origin--center(subpath (f-2,f-1) of chem_b_path.$)) intersectiontimes chem_c_path.$) ;
-    l1 = ypart((origin--center(subpath (t-1,t)   of chem_b_path.$)) intersectiontimes chem_c_path.$) ;
+    l0 = ypart((origin--center(subpath (f-2,f-1) of chem_b_path.$))
+               intersectiontimes chem_c_path.$) ;
+    l1 = ypart((origin--center(subpath (t-1,t)   of chem_b_path.$))
+               intersectiontimes chem_c_path.$) ;
     if l1>l0 :
         l0 := l0 + length chem_c_path.$ ;
     fi
-    draw
-        (subpath (l1,l0) of chem_c_path.$)
-        chem_transformed($)
-        if (str @#)="d" : dashed evenly fi
-        withpen pencircle scaled r
-        withcolor c ;
+    chem_draw($,
+        subpath (l1,l0) of chem_c_path.$,
+        if (str @#)="d" :
+            r,c,dashed evenly) ;
+        else:
+            r,c,) ;
+        fi
 enddef ;
 
 vardef chem_ld@# (suffix $) (expr f, t, r, c) = % LD
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p ;
-        p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
-        draw
-            p
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-        draw
-            (p paralleled  2chem_dbl_offset)
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
+            chem_draw($,
+                p,
+                r,c,) ;
+            chem_draw($,
+                p paralleled  2chem_dbl_offset,
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_rd@# (suffix $) (expr f, t, r, c) = % RD
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
-        save p ; path p ; p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
-        draw p chem_transformed($) withpen pencircle scaled r withcolor c ;
-        draw (p paralleled -2chem_dbl_offset) chem_transformed($)
-            withpen pencircle scaled r withcolor c ;
-    endfor
+        save p ; path p ;
+        for i=f upto t :
+            p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
+            chem_draw($,
+                p,
+                r,c,) ;
+            chem_draw($,
+                p paralleled -2chem_dbl_offset,
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_ldd@# (suffix $) (expr f, t, r, c) = % LDD
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p ;
-        p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
-        draw
-            p
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-        draw
-            (p paralleled  2chem_dbl_offset)
-            chem_transformed($)
-            dashed evenly
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
+            chem_draw($,
+                p,
+                r,c,) ;
+            chem_draw($,
+                p paralleled  2chem_dbl_offset,
+                r,c,dashed evenly) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_rdd@# (suffix $) (expr f, t, r, c) = % RDD
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p ;
-        p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
-        draw
-            p
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-        draw
-            (p paralleled -2chem_dbl_offset)
-            chem_transformed($)
-            dashed evenly
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            p := subpath chem_sb_pair@# of chem_r_fragment($,i) ;
+            chem_draw($,
+                p,
+                r,c,) ;
+            chem_draw($,
+                p paralleled -2chem_dbl_offset,
+                r,c,dashed evenly) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_oe (suffix $) (expr f, t, r, c) = % OE
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p[] ;
-        p0 := subpath chem_sb_pair of chem_r_fragment($,i) ;
-        p1 := p0 paralleled -.5chem_dbl_offset ;
-        p2 := p0 paralleled  .5chem_dbl_offset ;
-        draw
-              (point 0 of p0 --
-            .2[point 0 of p0, point infinity of p0]..
-            .3[point 0 of p1, point infinity of p1]..
-            .4[point 0 of p0, point infinity of p0]..
-            .5[point 0 of p2, point infinity of p2]..
-            .6[point 0 of p0, point infinity of p0]..
-            .7[point 0 of p1, point infinity of p1]..
-            .8[point 0 of p0, point infinity of p0]--
-               point infinity of p0)
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        for i=f upto t :
+            p0 := subpath chem_sb_pair of chem_r_fragment($,i) ;
+            p1 := p0 paralleled -.5chem_dbl_offset ;
+            p2 := p0 paralleled  .5chem_dbl_offset ;
+            chem_draw($,
+                   point 0 of p0 --
+                .2[point 0 of p0, point infinity of p0]..
+                .3[point 0 of p1, point infinity of p1]..
+                .4[point 0 of p0, point infinity of p0]..
+                .5[point 0 of p2, point infinity of p2]..
+                .6[point 0 of p0, point infinity of p0]..
+                .7[point 0 of p1, point infinity of p1]..
+                .8[point 0 of p0, point infinity of p0]--
+                   point infinity of p0,
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_bw (suffix $) (expr f, t, r, c) = % BW
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
-        save p ; path p[] ; p0 := subpath chem_sb_pair of chem_r_fragment($,i) ;
-        p1 := p0 paralleled -.5chem_dbl_offset ;
-        p2 := p0 paralleled  .5chem_dbl_offset ;
-        draw
-              (point 0 of p0..
-            .1[point 0 of p1, point infinity of p1]..
-            .2[point 0 of p0, point infinity of p0]..
-            .3[point 0 of p2, point infinity of p2]..
-            .4[point 0 of p0, point infinity of p0]..
-            .5[point 0 of p1, point infinity of p1]..
-            .6[point 0 of p0, point infinity of p0]..
-            .7[point 0 of p2, point infinity of p2]..
-            .8[point 0 of p0, point infinity of p0]..
-            .9[point 0 of p1, point infinity of p1]..
-               point infinity of p0)
-            chem_transformed($)
-            withpen pencircle scaled r
-            withcolor c ;
-    endfor
+        save p ; path p[] ;
+        for i=f upto t :
+            p0 := subpath chem_sb_pair of chem_r_fragment($,i) ;
+            p1 := p0 paralleled -.5chem_dbl_offset ;
+            p2 := p0 paralleled  .5chem_dbl_offset ;
+            chem_draw($,
+                   point 0 of p0..
+                .1[point 0 of p1, point infinity of p1]..
+                .2[point 0 of p0, point infinity of p0]..
+                .3[point 0 of p2, point infinity of p2]..
+                .4[point 0 of p0, point infinity of p0]..
+                .5[point 0 of p1, point infinity of p1]..
+                .6[point 0 of p0, point infinity of p0]..
+                .7[point 0 of p2, point infinity of p2]..
+                .8[point 0 of p0, point infinity of p0]..
+                .9[point 0 of p1, point infinity of p1]..
+                   point infinity of p0,
+                r,c,) ;
+        endfor
     fi
 enddef ;
 
 vardef chem_bd (suffix $) (expr f, t, r, c) = % BD
     chem_check($) ;
     if chem_star.$ :
-    for i=f upto t :
         save p ; path p[] ;
-        p0 := subpath chem_sb_pair of chem_r_fragment($,i) ;
-        if chem_bd_wedge :
-            p1 := p0 rotated -chem_bb_angle ;
-            p2 := p0 rotated  chem_bb_angle ;
-        else :
-            p1 := p0 paralleled -.5chem_dbl_offset ;
-            p2 := p0 paralleled  .5chem_dbl_offset ;
-        fi
-        for j=0 upto 3 :
-            draw
-                (point (j/3) of p1 -- point (j/3) of p2)
-                chem_transformed($)
-                withpen pencircle scaled 2r
-                withcolor c ;
+        for i=f upto t :
+            p0 := subpath chem_sb_pair of chem_r_fragment($,i) ;
+            if chem_bd_wedge :
+                p1 := p0 rotated -chem_bb_angle ;
+                p2 := p0 rotated  chem_bb_angle ;
+            else :
+                p1 := p0 paralleled -.5chem_dbl_offset ;
+                p2 := p0 paralleled  .5chem_dbl_offset ;
+            fi
+            for j=0 upto 3 :
+                chem_draw($,
+                    point (j/3) of p1 -- point (j/3) of p2,
+                    2r,c,) ;
+            endfor
         endfor
-    endfor
     fi
 enddef ;
 
@@ -1392,33 +1314,12 @@ vardef chem_midz@#(suffix $) (expr p) (text t) = % MIDZ
         draw chem_text@#(t,
             chem_do (
                 (xpart chem_sb_pair, 0) scaled (xpart point 0 of chem_b_path.$)
+                chem_transformed($)
             )
         ) ;
     fi
 enddef ;
 
-string mfun_auto_align[] ;
-
-mfun_auto_align[0] := "rt" ;
-mfun_auto_align[1] := "urt" ;
-mfun_auto_align[2] := "top" ;
-mfun_auto_align[3] := "ulft" ;
-mfun_auto_align[4] := "lft" ;
-mfun_auto_align[5] := "llft" ;
-mfun_auto_align[6] := "bot" ;
-mfun_auto_align[7] := "lrt" ;
-mfun_auto_align[8] := "rt" ;
-
-def autoalign(expr d) =
-     scantokens mfun_auto_align[round((d mod 360)/45)]
-enddef ;
-
-% draw textext.autoalign(60) ("\strut oeps 1") ;
-% draw textext.autoalign(160)("\strut oeps 2") ;
-% draw textext.autoalign(260)("\strut oeps 3") ;
-% draw textext.autoalign(360)("\strut oeps 4") ;
-
-
 vardef chem_rz@#(suffix $) (expr p) (text t) = % RZ
     chem_check($) ;
     if not chem_front.$ :
@@ -1464,7 +1365,8 @@ enddef ;
 
 vardef chem_zt@#(suffix $) (expr p) (text t) = % ZT
     chem_check($) ;
-    draw chem_text@#(t,chem_do ((point p-1 of chem_b_path.$) chem_transformed($) scaled chem_text_min)) ;
+    draw chem_text@#(t,chem_do ((point p-1 of chem_b_path.$) chem_transformed($)
+                                 scaled chem_text_min)) ;
 enddef ;
 
 vardef chem_zln@#(suffix $) (expr p) (text t) = % ZLN
@@ -1473,7 +1375,8 @@ enddef ;
 
 vardef chem_zlt@#(suffix $) (expr p) (text t) = % ZLT
     chem_check($) ;
-    draw chem_text@#(t, chem_do((point p-1.5 of chem_b_path.$) chem_transformed($)scaled chem_text_min)) ;
+    draw chem_text@#(t, chem_do((point p-1.5 of chem_b_path.$) chem_transformed($)
+                                scaled chem_text_min)) ;
 enddef ;
 
 vardef chem_zrn@#(suffix $) (expr p) (text t) = % ZRN
@@ -1482,13 +1385,15 @@ enddef ;
 
 vardef chem_zrt@#(suffix $) (expr p) (text t) = % ZRT
     chem_check($) ;
-    draw chem_text@#(t, chem_do((point p-0.5 of chem_b_path.$) chem_transformed($) scaled chem_text_min)) ;
+    draw chem_text@#(t, chem_do((point p-0.5 of chem_b_path.$) chem_transformed($)
+                                 scaled chem_text_min)) ;
 enddef ;
 
 vardef chem_crz@#(suffix $) (expr p) (text t) = % CRZ ????
     chem_check($) ;
     if chem_star.$ :
-        draw chem_text(t, chem_do((point p-1 of chem_b_path.$ enlonged chem_center_offset) chem_transformed($))) ;
+        draw chem_text(t, chem_do((point p-1 of chem_b_path.$ enlonged chem_center_offset)
+                                   chem_transformed($))) ;
     fi
 enddef ;
 
@@ -1594,7 +1499,8 @@ vardef chem_dir (suffix $) (expr d, s) = % DIR (same as MOV(d-1)MOV(d+1))
             chem_origin := origin ;
         else :
             save p ; pair p ;
-            p := (((point d-2 of chem_b_path.$) shifted (point d of chem_b_path.$)) scaled s) chem_transformed($) ;
+            p := (((point d-2 of chem_b_path.$) shifted (point d of chem_b_path.$)) scaled s)
+                 chem_transformed($) ;
             currentpicture := currentpicture shifted -p ;
             chem_origin := chem_origin - p ;
         fi
@@ -1632,9 +1538,10 @@ vardef chem_marked (expr d) =
     fi
 enddef ;
 
-vardef chem_draw (suffix $) (expr f, t, r, c) = % DRAW
+vardef chem_line (suffix $) (expr f, t, r, c) = % LINE
     chem_check($) ;
     draw chem_marked(f) -- chem_marked(t)
+        % no chem_transformed
         withpen pencircle scaled r
         withcolor c ;
 enddef ;
@@ -1642,14 +1549,16 @@ enddef ;
 vardef chem_dash (suffix $) (expr f, t, r, c) = % DASH
     chem_check($) ;
     draw chem_marked(f) -- chem_marked(t)
-        dashed evenly
+        % no chem_transformed
         withpen pencircle scaled r
-        withcolor c ;
+        withcolor c
+        dashed evenly ;
 enddef ;
 
 vardef chem_arrow (suffix $) (expr f, t, r, c) = % ARROW
     chem_check($) ;
     drawarrow chem_marked(f) -- chem_marked(t)
+        % no chem_transformed
         withpen pencircle scaled r
         withcolor c ;
 enddef ;
@@ -1672,7 +1581,9 @@ vardef chem_off (suffix $) (expr d, s) = % OFF
     else :
         save p ; pair p ;
         p := (unitvector(point d-1 of chem_b_path.one)) scaled chem_setting_offset*s ;
+        % not chem_transformed
         currentpicture := currentpicture shifted -p ;
         chem_origin := chem_origin - p ;
     fi ;
 enddef ;
+
diff --git a/metapost/context/base/mp-mlib.mpiv b/metapost/context/base/mp-mlib.mpiv
index b8fabbfb9..83e708b91 100644
--- a/metapost/context/base/mp-mlib.mpiv
+++ b/metapost/context/base/mp-mlib.mpiv
@@ -99,7 +99,13 @@ newinternal textextoffset ; textextoffset := 0 ;
 numeric mfun_tt_w[], mfun_tt_h[], mfun_tt_d[] ; % we can consider using colors (less hash space)
 numeric mfun_tt_n ; mfun_tt_n := 0 ;
 picture mfun_tt_p ; mfun_tt_p := nullpicture ;
-boolean mfun_trial_run ; mfun_trial_run := false ;
+
+if unknown mfun_trial_run :
+    boolean mfun_trial_run ;
+    mfun_trial_run := false ;
+else :
+    % already defined before the format is loaded
+fi ;
 
 def mfun_reset_tex_texts =
     mfun_tt_n := 0 ;
@@ -110,8 +116,8 @@ def mfun_flush_tex_texts =
     addto currentpicture also mfun_tt_p
 enddef ;
 
-extra_endfig   := "mfun_flush_tex_texts;" & extra_endfig;
-extra_beginfig := extra_beginfig & "mfun_reset_tex_texts;";
+extra_endfig   := "mfun_flush_tex_texts ;" & extra_endfig ;
+extra_beginfig := extra_beginfig & "mfun_reset_tex_texts ;" ;
 
 % We collect and flush them all, as we can also have temporary textexts
 % that gets never really flushed but are used for calculations. So, we
diff --git a/scripts/context/ruby/texexec.rb b/scripts/context/ruby/texexec.rb
index 32c9d0ca5..c673cb46b 100644
--- a/scripts/context/ruby/texexec.rb
+++ b/scripts/context/ruby/texexec.rb
@@ -733,7 +733,7 @@ class Commands
             else
                 n += 1
             end
-            r << '  ' + s
+            r << '  ' + s.to_s
         end
         report(r) unless r.empty?
     end
diff --git a/tex/context/base/chem-str.lua b/tex/context/base/chem-str.lua
index 0008616ad..c0892329f 100644
--- a/tex/context/base/chem-str.lua
+++ b/tex/context/base/chem-str.lua
@@ -17,7 +17,7 @@ if not modules then modules = { } end modules ['chem-str'] = {
 -- alternative output. As a consequence it still used a stepwise graphic construction
 -- approach. As we used \TEX\ for parsing, the syntax was more rigid than it is now.
 -- This new variant uses a more mathematical and metapostisch approach. In the process
--- more rendering variants have been added and alignment has been automated. As a result
+-- more rendering variants have been added and alignment has been automated.. As a result
 -- the current user interface is slightly different from the old one but hopefully users
 -- will like the added value.
 
@@ -41,7 +41,7 @@ local context   = context
 chemistry = chemistry or { }
 local chemistry = chemistry
 
-chemistry.instance   = "metafun" -- "ppchtex"
+chemistry.instance   = "chemistry"
 chemistry.format     = "metafun"
 chemistry.structures = 0
 
@@ -54,7 +54,7 @@ local common_keys = {
     rh    = "line",
     cc    = "line",
     ccd   = "line",
-    draw  = "line",
+    line  = "line",
     dash  = "line",
     arrow = "line",
     c     = "fixed",
@@ -280,6 +280,7 @@ local pattern   =
 -- print(lpegmatch(pattern,"RZ13=x"))      -- 1 RZ false false table x
 
 local t_initialize      = 'if unknown context_chem : input mp-chem.mpiv ; fi ;'
+local t_initialize      = 'input mp-chem.mpiv ;'
 local t_start_structure = 'chem_start_structure(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);'
 local t_stop_structure  = 'chem_stop_structure;'
 local t_start_component = 'chem_start_component;'
@@ -488,7 +489,7 @@ function chemistry.start(settings)
     local width, height, scale, offset = settings.width or 0, settings.height or 0, settings.scale or "normal", settings.offset or 0
     local l, r, t, b = settings.left or 0, settings.right or 0, settings.top or 0, settings.bottom or 0
     --
-    metacode = { t_initialize } -- no format anyway
+    metacode = {  } -- no format anyway
     --
     if trace_structure then
         report_chemistry("scale: %s, width: %s, height: %s, l: %s, r: %s, t: %s, b: %s", scale, width, height, l, r, t, b)
@@ -556,7 +557,7 @@ function chemistry.stop()
     if trace_metapost then
         report_chemistry("metapost code:\n%s", mpcode)
     end
-    metapost.graphic(chemistry.instance,chemistry.format,mpcode)
+    metapost.graphic(chemistry.instance,chemistry.format,mpcode,"","",t_initialize)
     metacode = nil
 end
 
diff --git a/tex/context/base/cldf-ini.mkiv b/tex/context/base/cldf-ini.mkiv
index 4ad31d81e..77948e058 100644
--- a/tex/context/base/cldf-ini.mkiv
+++ b/tex/context/base/cldf-ini.mkiv
@@ -31,12 +31,14 @@
 %D
 %D Anyway \unknown\ the following are {\em not} user commands:
 
-\def\cldf#1{\directlua\zerocount{_cldf_(#1)}} % global (functions)
-\def\cldn#1{\directlua\zerocount{_cldn_(#1)}} % global (nodes)
+% \zerocount removes as it's the default
 
-\normalprotected\def\cldprocessfile#1{\directlua\zerocount{context.runfile("#1")}}
-                \def\cldcontext    #1{\directlua\zerocount{context(#1)}}
-                \def\cldcommand    #1{\directlua\zerocount{context.#1}}
-              % \def\cldverbatim   #1{\directlua\zerocount{context.verbatim.#1}} % maybe make verbatim global
+\def\cldf#1{\directlua{_cldf_(#1)}} % global (functions)
+\def\cldn#1{\directlua{_cldn_(#1)}} % global (nodes)
+
+\normalprotected\def\cldprocessfile#1{\directlua{context.runfile("#1")}}
+                \def\cldcontext    #1{\directlua{context(#1)}}
+                \def\cldcommand    #1{\directlua{context.#1}}
+              % \def\cldverbatim   #1{\directlua{context.verbatim.#1}} % maybe make verbatim global
 
 \endinput
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 28361c247..096f09649 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.11.27 22:26}
+\newcontextversion{2012.11.29 15:40}
 
 %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 ecd627942..bbcc09138 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.11.27 22:26}
+\newcontextversion{2012.11.29 15:40}
 
 %D This file is loaded at runtime, thereby providing an excellent place for
 %D hacks, patches, extensions and new features.
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index d5335d140..4eb4e2f26 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 0645c793b..9775b0fef 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 f4eb035ee..579872eec 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.11.27 22:26}
+\edef\contextversion{2012.11.29 15:40}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 4b20e4fda..7b6493021 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -25,7 +25,7 @@
 %D up and the dependencies are more consistent.
 
 \edef\contextformat {\jobname}
-\edef\contextversion{2012.11.27 22:26}
+\edef\contextversion{2012.11.29 15:40}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv
index 38d3b1b29..e5d7792b3 100644
--- a/tex/context/base/core-env.mkiv
+++ b/tex/context/base/core-env.mkiv
@@ -103,30 +103,36 @@
 
 % user ones
 
+\let\syst_mode_prefix\relax
+
 \unexpanded\def\preventmode{\unprotect\syst_modes_prevent}
 \unexpanded\def\enablemode {\unprotect\syst_modes_enable }
 \unexpanded\def\disablemode{\unprotect\syst_modes_disable}
 
+\unexpanded\def\globalpreventmode{\let\syst_mode_prefix\global\unprotect\syst_modes_prevent}
+\unexpanded\def\globalenablemode {\let\syst_mode_prefix\global\unprotect\syst_modes_enable }
+\unexpanded\def\globaldisablemode{\let\syst_mode_prefix\global\unprotect\syst_modes_disable}
+
 \let\definemode\disablemode % nicer
 
-\def\syst_modes_prevent[#1]{\protect\rawprocesscommacommand[#1]\syst_modes_prevent_indeed}
-\def\syst_modes_enable [#1]{\protect\rawprocesscommacommand[#1]\syst_modes_enable_indeed }
-\def\syst_modes_disable[#1]{\protect\rawprocesscommacommand[#1]\syst_modes_disable_indeed}
+\def\syst_modes_prevent[#1]{\protect\rawprocesscommacommand[#1]\syst_modes_prevent_indeed\let\syst_mode_prefix\relax}
+\def\syst_modes_enable [#1]{\protect\rawprocesscommacommand[#1]\syst_modes_enable_indeed \let\syst_mode_prefix\relax}
+\def\syst_modes_disable[#1]{\protect\rawprocesscommacommand[#1]\syst_modes_disable_indeed\let\syst_mode_prefix\relax}
 
 \def\syst_modes_prevent_indeed#1%
   {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi
-   \csname\??mode#1\endcsname\preventedmode}
+   \syst_mode_prefix\csname\??mode#1\endcsname\preventedmode}
 
 \def\syst_modes_enable_indeed#1% we can speed it up by moving the new outside
   {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi
    \ifnum\csname\??mode#1\endcsname=\preventedmode \else
-     \csname\??mode#1\endcsname\enabledmode
+     \syst_mode_prefix\csname\??mode#1\endcsname\enabledmode
    \fi}
 
 \def\syst_modes_disable_indeed#1%
   {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi
    \ifnum\csname\??mode#1\endcsname=\preventedmode \else
-     \csname\??mode#1\endcsname\disabledmode
+     \syst_mode_prefix\csname\??mode#1\endcsname\disabledmode
    \fi}
 
 % handy for mp
diff --git a/tex/context/base/luat-cod.mkiv b/tex/context/base/luat-cod.mkiv
index 9f0f9e6a8..beb631844 100644
--- a/tex/context/base/luat-cod.mkiv
+++ b/tex/context/base/luat-cod.mkiv
@@ -49,15 +49,6 @@
 
 % we can drop the \zerocount as it's default
 
-% \def\ctxdirectlua      {\directlua\zerocount}
-% \def\ctxlatelua        {\latelua  \zerocount}
-% \def\ctxsprint       #1{\directlua\zerocount{tex.sprint(tex.ctxcatcodes,#1)}} % saves tokens
-% \def\ctxwrite        #1{\directlua\zerocount{tex.write(#1)}} % saves tokens
-% \def\ctxcommand      #1{\directlua\zerocount{commands.#1}} % saves tokens
-% \def\ctxdirectcommand#1{\directlua\zerocount{commands.#1}} % saves tokens
-% \def\ctxlatecommand  #1{\latelua  \zerocount{commands.#1}} % saves tokens
-% \def\ctxreport       #1{\directlua\zerocount{logs.writer[[#1]]}}
-
 \let\ctxdirectlua       \directlua
 \let\ctxlatelua         \latelua
 \def\ctxsprint       #1{\directlua{tex.sprint(tex.ctxcatcodes,#1)}} % saves tokens
diff --git a/tex/context/base/luat-ini.mkiv b/tex/context/base/luat-ini.mkiv
index 094c4ee53..8ce5e80fd 100644
--- a/tex/context/base/luat-ini.mkiv
+++ b/tex/context/base/luat-ini.mkiv
@@ -40,7 +40,7 @@
    \luat_start_lua_indeed}
 
 \def\luat_start_lua_indeed#1\stoplua
-  {\normalexpanded{\endgroup\noexpand\directlua\zerocount{#1}}}
+  {\normalexpanded{\endgroup\noexpand\directlua{#1}}} % \zerocount is default
 
 \def\luat_start_lua_code
   {\begingroup
@@ -49,7 +49,7 @@
    \luat_start_lua_code_indeed}
 
 \def\luat_start_lua_code_indeed#1\stopluacode
-  {\normalexpanded{\endgroup\noexpand\directlua\zerocount{#1}}}
+  {\normalexpanded{\endgroup\noexpand\directlua{#1}}} % \zerocount is default
 
 %D Some delayed definitions:
 
@@ -246,6 +246,6 @@
 % use \setcatcodetable\luacatcodes instead of \obeyluatokens now.
 
 \def\luat_lua_code
-  {\normalexpanded{\endgroup\noexpand\directlua\zerocount\expandafter{\the\scratchtoks}}}
+  {\normalexpanded{\endgroup\noexpand\directlua\expandafter{\the\scratchtoks}}} % \zerocount is default
 
 \protect \endinput
diff --git a/tex/context/base/lxml-css.mkiv b/tex/context/base/lxml-css.mkiv
index 2174874d9..79de85c08 100644
--- a/tex/context/base/lxml-css.mkiv
+++ b/tex/context/base/lxml-css.mkiv
@@ -13,7 +13,7 @@
 
 \registerctxluafile{lxml-css}{1.001}
 
-\def\ctxmodulecss#1{\directlua\zerocount{moduledata.css.#1}}
+\def\ctxmodulecss#1{\ctxlua{moduledata.css.#1}}
 
 % No stable interface yet.
 
diff --git a/tex/context/base/lxml-ini.mkiv b/tex/context/base/lxml-ini.mkiv
index 73cd4be7e..042b22e64 100644
--- a/tex/context/base/lxml-ini.mkiv
+++ b/tex/context/base/lxml-ini.mkiv
@@ -27,7 +27,7 @@
 
 \unprotect % todo \!!bs \!!es where handy (slower)
 
-\def\ctxlxml               #1{\directlua\zerocount{lxml.#1}}
+\def\ctxlxml               #1{\ctxlua{lxml.#1}}
 
 \def\xmlmain               #1{\ctxlxml{main("#1")}}
 \def\xmlmatch              #1{\ctxlxml{match("#1")}}
diff --git a/tex/context/base/meta-ini.mkiv b/tex/context/base/meta-ini.mkiv
index d0045fe14..d023193e9 100644
--- a/tex/context/base/meta-ini.mkiv
+++ b/tex/context/base/meta-ini.mkiv
@@ -67,7 +67,7 @@
 \unexpanded\def\startMPinclusions
   {\dosingleempty\meta_start_inclusions}
 
-\def\meta_start_inclusions[#1]#2\stopMPinclusions
+\def\meta_start_inclusions[#1]#2\ stopMPinclusions
   {\edef\m_meta_option{#1}%
    \ifx\m_meta_option\!!plustoken \else
      \global\t_meta_userinclusions\emptytoks
@@ -158,8 +158,10 @@
   {\ifconditional\c_meta_include_extensions
      \the\t_meta_extensions;%
      \the\t_meta_userinclusions;%
-   \fi
-   \the\t_meta_instance;}
+   \fi}
+
+\def\meta_flush_current_instance
+  {\the\t_meta_instance;}
 
 \def\meta_reset_current_preamble
   {\ifconditional\c_meta_include_extensions
@@ -213,6 +215,7 @@
        \!!bs#1;\!!es,
        \!!bs\meta_flush_current_initializations;\!!es,
        \!!bs\meta_flush_current_preamble;\!!es,
+       \!!bs\meta_flush_current_instance;\!!es,
        "\MPaskedfigure"
      )}}%
    \meta_process_graphic_stop
@@ -754,9 +757,9 @@
 \unexpanded\def\startMPenvironment
   {\begingroup
    \catcode\endoflineasciicode \ignorecatcode
-   \dosingleempty\dostartMPenvironment}
+   \dosingleempty\meta_start_environment}
 
-\def\dostartMPenvironment[#1]#2\stopMPenvironment
+\def\meta_start_environment[#1]#2\stopMPenvironment
   {\endgroup
    \edef\m_meta_option{#1}
    \ifx\m_meta_option\s!reset
@@ -935,10 +938,6 @@
     OverlayLineWidth:=\overlaylinewidth;
     %
     \m_meta_colo_initializations
-%     OverlayLineColor:=\MPcolor{\overlaylinecolor};
-%     OverlayColor:=\MPcolor{\overlaycolor};
-%     vardef OverlayLineColor=\MPcolor{\overlaylinecolor} enddef;
-%     vardef OverlayColor=\MPcolor{\overlaycolor} enddef;
     %
     BaseLineSkip:=\the\baselineskip;
     LineHeight:=\the\baselineskip;
diff --git a/tex/context/base/mlib-ctx.lua b/tex/context/base/mlib-ctx.lua
index a8ef84b80..4b1a5035d 100644
--- a/tex/context/base/mlib-ctx.lua
+++ b/tex/context/base/mlib-ctx.lua
@@ -21,9 +21,9 @@ local metapost = metapost
 
 metapost.defaultformat = "metafun"
 
-function metapost.graphic(instance,mpsformat,str,initializations,preamble,askedfig)
+function metapost.graphic(instance,mpsformat,str,initializations,preamble,definitions,askedfig)
     local mpx = metapost.format(instance,mpsformat or metapost.defaultformat)
-    metapost.graphic_base_pass(mpx,str,initializations,preamble,askedfig)
+    metapost.graphic_base_pass(mpx,str,initializations,preamble,definitions,askedfig)
 end
 
 function metapost.getclippath(instance,mpsformat,data,initializations,preamble)
diff --git a/tex/context/base/mlib-pdf.mkiv b/tex/context/base/mlib-pdf.mkiv
index 68b4b922a..044c416a2 100644
--- a/tex/context/base/mlib-pdf.mkiv
+++ b/tex/context/base/mlib-pdf.mkiv
@@ -146,6 +146,7 @@
       \!!bs#2;\!!es,
       \!!bs\meta_flush_current_initializations;\!!es,
       \!!bs\meta_flush_current_preamble;\!!es,
+      \!!bs\meta_flush_current_instance\!!es,
      "all"
    )}}%
    \meta_stop_current_graphic
diff --git a/tex/context/base/mlib-pps.lua b/tex/context/base/mlib-pps.lua
index 8d8db65ae..dfa475b68 100644
--- a/tex/context/base/mlib-pps.lua
+++ b/tex/context/base/mlib-pps.lua
@@ -462,7 +462,7 @@ local function sxsy(wd,ht,dp) -- helper for text
 end
 
 local no_trial_run       = "mfun_trial_run := false ;"
-local do_trial_run       = "if unknown mfun_trial_run : boolean mfun_trial_run fi ; mfun_trial_run := true ;"
+local do_trial_run       = "mfun_trial_run := true ;"
 local text_data_template = "mfun_tt_w[%i] := %f ; mfun_tt_h[%i] := %f ; mfun_tt_d[%i] := %f ;"
 local do_begin_fig       = "; beginfig(1) ; "
 local do_end_fig         = "; endfig ;"
@@ -512,7 +512,7 @@ local function checkaskedfig(askedfig) -- return askedfig, wrappit
     end
 end
 
-function metapost.graphic_base_pass(mpsformat,str,initializations,preamble,askedfig)
+function metapost.graphic_base_pass(mpsformat,str,initializations,preamble,definitions,askedfig)
     nofruns = nofruns + 1
     local askedfig, wrappit = checkaskedfig(askedfig)
     local done_1, done_2, forced_1, forced_2
@@ -524,13 +524,16 @@ function metapost.graphic_base_pass(mpsformat,str,initializations,preamble,asked
     end
     metapost.intermediate.needed  = false
     metapost.multipass = false -- no needed here
-    current_format, current_graphic, current_initializations = mpsformat, str, initializations or ""
+    current_format = mpsformat
+    current_graphic = str
+    current_initializations = initializations or ""
     if metapost.method == 1 or (metapost.method == 2 and (done_1 or done_2)) then
         if trace_runs then
             report_metapost("first run of job %s (asked: %s)",nofruns,tostring(askedfig))
         end
      -- first true means: trialrun, second true means: avoid extra run if no multipass
         local flushed = metapost.process(mpsformat, {
+            definitions,
             preamble,
             wrappit and do_begin_fig or "",
             do_trial_run,
diff --git a/tex/context/base/mlib-run.lua b/tex/context/base/mlib-run.lua
index bccca24eb..25e74790a 100644
--- a/tex/context/base/mlib-run.lua
+++ b/tex/context/base/mlib-run.lua
@@ -35,7 +35,8 @@ local concat = table.concat
 local emptystring = string.is_empty
 local lpegmatch, P = lpeg.match, lpeg.P
 
-local trace_graphics = false  trackers.register("metapost.graphics", function(v) trace_graphics = v end)
+local trace_graphics   = false  trackers.register("metapost.graphics",   function(v) trace_graphics   = v end)
+local trace_tracingall = false  trackers.register("metapost.tracingall", function(v) trace_tracingall = v end)
 
 local report_metapost = logs.reporter("metapost")
 local texerrormessage = logs.texerrormessage
@@ -394,14 +395,34 @@ function metapost.process(mpx, data, trialrun, flusher, multipass, isextrapass,
             mp_inp[mpx]:write(banner)
             mp_log[mpx]:write(banner)
         end
-        if metapost.collapse and type(data) == "table" then
-            if #data > 1 then
-                data = concat(data,"\n")
-            else
-                data = data[1]
+        if type(data) == "table" then
+            -- this hack is needed because the library currently barks on \n\n
+            local n = 0
+            local nofsnippets = #data
+            for i=1,nofsnippets do
+                local d = data[i]
+                if d ~= "" then
+                    n = n + 1
+                    data[n] = d
+                end
+            end
+            for i=nofsnippets,n+1,-1 do
+                data[i] = nil
             end
+            -- and this one because mp cannot handle snippets due to grouping issues
+            if metapost.collapse then
+                if #data > 1 then
+                    data = concat(data,"\n")
+                else
+                    data = data[1]
+                end
+            end
+            -- end of hacks
         end
         if type(data) == "table" then
+            if trace_tracingall then
+                mpx:execute("tracingall;")
+            end
             for i=1,#data do
                 local d = data[i]
                 if d then
@@ -434,8 +455,11 @@ function metapost.process(mpx, data, trialrun, flusher, multipass, isextrapass,
                 end
             end
        else
+            if trace_tracingall then
+                data = "tracingall;" .. data
+            end
             if trace_graphics then
-                mp_inp:write(data)
+                mp_inp[mpx]:write(data)
             end
             starttiming(metapost.exectime)
             result = mpx:execute(data)
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index bffdd288f..016229ce1 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -101,7 +101,9 @@ return {
         "startTEXpage", "stopTEXpage",
     --  "startMPpage", "stopMPpage", -- already catched by nested lexer
         --
-        "enablemode", "disablemode", "preventmode", "pushmode", "popmode",
+        "enablemode", "disablemode", "preventmode",
+        "globalenablemode", "globaldisablemode", "globalpreventmode",
+        "pushmode", "popmode",
         --
         "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix",
         --
diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex
index 87fb72863..500caa4b3 100644
--- a/tex/context/base/s-abr-01.tex
+++ b/tex/context/base/s-abr-01.tex
@@ -226,6 +226,7 @@
 \logo [SGML]          {sgml}
 \logo [SI]            {si}
 \logo [SQL]           {sql}
+\logo [SSD]           {ssd}
 \logo [SVG]           {svg}
 \logo [SWIG]          {swig}
 \logo [TABLE]         {\TaBlE}
diff --git a/tex/context/base/s-inf-03.pdf b/tex/context/base/s-inf-03.pdf
new file mode 100644
index 000000000..dbe3e7b4a
Binary files /dev/null and b/tex/context/base/s-inf-03.pdf differ
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index f10734d6b..56adaaf8b 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.log b/tex/context/base/status-lua.log
new file mode 100644
index 000000000..748405629
--- /dev/null
+++ b/tex/context/base/status-lua.log
@@ -0,0 +1,340 @@
+(cont-yes.mkiv
+
+ConTeXt  ver: 2012.11.29 15:40 MKIV  fmt: 2012.11.29  int: english/english
+
+system          > cont-new.mkiv loaded
+(cont-new.mkiv
+system          > beware: some patches loaded from cont-new.mkiv
+)
+system          > cont-loc.mkiv loaded
+(c:/data/develop/context/sources/cont-loc.mkiv
+system          > beware: some patches loaded from cont-loc.mkiv
+)
+system          > cont-exp.mkiv loaded
+(c:/data/develop/context/sources/cont-exp.mkiv
+system          > beware: some patches loaded from cont-exp.mkiv
+)
+system          > files > jobname: s-inf-03, input: s-inf-03.mkiv, result: status-lua.pdf
+fonts           > latin modern fonts are not preloaded
+languages       > language en is active
+(s-inf-03.mkiv (c:/data/develop/context/sources/type-loc.mkiv) (type-imp-dejavu.mkiv) (type-imp-xits.mkiv (type-imp-texgyre.mkiv)){c:/data/develop/tex-context/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map}
+
+% begin of command line arguments
+%
+% no-parse-first-line  = true
+% basepath             = c:\\data\\develop\\context\\texmf/tex/context/base
+% script               = true
+% result               = status-lua.pdf
+% currentrun           = 1
+% kindofrun            = 1
+% fulljobname          = ./s-inf-03.mkiv
+% purgeall             = true
+% input                = ./s-inf-03.mkiv
+%
+% end of command line arguments
+
+% begin of command line files
+%
+% 1  ./s-inf-03.mkiv
+%
+% end of command line files
+
+ (virtual://buffer.noname.1
+references      > unknown reference [][1]
+references      > unknown reference [][attributes]
+references      > unknown reference [][backends]
+references      > unknown reference [][bibtex]
+references      > unknown reference [][blobs]
+references      > unknown reference [][boolean]
+references      > unknown reference [][buffers]
+references      > unknown reference [][builders]
+references      > unknown reference [][caches]
+references      > unknown reference [][callback]
+references      > unknown reference [][callbacks]
+references      > unknown reference [][catcodes]
+references      > unknown reference [][characters]
+references      > unknown reference [][chemistry]
+references      > unknown reference [][commands]
+references      > unknown reference [][containers]
+references      > unknown reference [][context]
+references      > unknown reference [][converters]
+references      > unknown reference [][coroutine]
+references      > unknown reference [][ctxrunner]
+references      > unknown reference [][debug]
+references      > unknown reference [][dir]
+references      > unknown reference [][directives]
+references      > unknown reference [][document]
+references      > unknown reference [][documentdata]
+references      > unknown reference [][environment]
+references      > unknown reference [][epdf]
+references      > unknown reference [][experiments]
+references      > unknown reference [][figures]
+references      > unknown reference [][file]
+references      > unknown reference [][floats]
+references      > unknown reference [][font]
+references      > unknown reference [][fontloader]
+references      > unknown reference [][fonts]
+references      > unknown reference [][functions]
+references      > unknown reference [][graphics]
+references      > unknown reference [][gzip]
+references      > unknown reference [][img]
+references      > unknown reference [][interactions]
+references      > unknown reference [][interfaces]
+references      > unknown reference [][io]
+references      > unknown reference [][jit]
+references      > unknown reference [][job]
+references      > unknown reference [][lang]
+references      > unknown reference [][languages]
+references      > unknown reference [][layouts]
+references      > unknown reference [][lfs]
+references      > unknown reference [][libraries]
+references      > unknown reference [][lmx]
+references      > unknown reference [][logs]
+references      > unknown reference [][lpdf]
+references      > unknown reference [][lpeg]
+references      > unknown reference [][ltn12]
+references      > unknown reference [][lua]
+references      > unknown reference [][luatex]
+references      > unknown reference [][lxml]
+references      > unknown reference [][math]
+references      > unknown reference [][mathematics]
+references      > unknown reference [][md5]
+references      > unknown reference [][metapost]
+references      > unknown reference [][mime]
+references      > unknown reference [][moduledata]
+references      > unknown reference [][modules]
+references      > unknown reference [][mplib]
+references      > unknown reference [][noads]
+references      > unknown reference [][node]
+references      > unknown reference [][nodes]
+references      > unknown reference [][number]
+references      > unknown reference [][os]
+references      > unknown reference [][package]
+references      > unknown reference [][pagebuilders]
+references      > unknown reference [][parametersets]
+references      > unknown reference [][pdf]
+references      > unknown reference [][physics]
+references      > unknown reference [][profiler]
+references      > unknown reference [][regimes]
+references      > unknown reference [][resolvers]
+references      > unknown reference [][scripts]
+references      > unknown reference [][set]
+references      > unknown reference [][socket]
+references      > unknown reference [][sorters]
+references      > unknown reference [][statistics]
+references      > unknown reference [][status]
+references      > unknown reference [][storage]
+references      > unknown reference [][streams]
+references      > unknown reference [][string]
+references      > unknown reference [][structures]
+references      > unknown reference [][table]
+references      > unknown reference [][tex]
+references      > unknown reference [][texconfig]
+references      > unknown reference [][texio]
+references      > unknown reference [][token]
+references      > unknown reference [][tokens]
+references      > unknown reference [][tracers]
+references      > unknown reference [][trackers]
+references      > unknown reference [][typesetters]
+references      > unknown reference [][unicode]
+references      > unknown reference [][url]
+references      > unknown reference [][utilities]
+references      > unknown reference [][vf]
+references      > unknown reference [][visualizers]
+references      > unknown reference [][xml]
+references      > unknown reference [][zip]
+references      > unknown reference [][zlib]
+)
+backend         > xmp > using file 'lpdf-pdx.xml'
+pages           > flushing realpage 1, userpage 1
+! LuaTeX error [string "\directlua "]:99: invalid escape sequence near '"([~#$%%^&{}\'.
+
+system          > tex > error on line 352 in file s-inf-03.mkiv: LuaTeX error  ...
+
+342         if not skipglobal[k] and not obsolete[k] and type(v) == "table" and not marked(v) then
+343             if     basiclua[k] then show(k,"basic lua",sameglobal[k],basiclua[k],v,builtin[k],"darkred",   false,false,true)
+344             elseif extralua[k] then show(k,"extra lua",sameglobal[k],extralua[k],v,builtin[k],"darkred",   false,false,true)
+345             elseif basictex[k] then show(k,"basic tex",sameglobal[k],basictex[k],v,builtin[k],"darkred",   false,false,true)
+346             elseif extratex[k] then show(k,"extra tex",sameglobal[k],extratex[k],v,builtin[k],"darkred",   false,false,true)
+347             else                    show(k,"context",  sameglobal[k],false,      v,builtin[k],"darkyellow",false,false,true)
+348             end
+349         end
+350     end
+351     
+352 >>  \stopluacode
+353     
+354     \stoptext
+355     
+
+<inserted text> ...rue)
        end
    end
end

}
+                                                  
+\luat_start_lua_code_indeed ...nd \directlua {#1}}
+                                                  
+l.352 \stopluacode
+                  
+? 
+ ) )<c:/data/develop/tex-context/tex/texmf/fonts/truetype/public/dejavu/DejaVuSansMono-Bold.ttf>
+
+system          > files > start used files
+
+used files      >    1: filename=cont-yes.mkiv | foundname=cont-yes.mkiv | usedmethod=direct
+used files      >    2: filename=cont-new.mkiv | foundname=cont-new.mkiv | usedmethod=direct
+used files      >    3: filename=cont-loc.mkiv | filetype=tex | foundname=c:/data/develop/context/sources/cont-loc.mkiv | usedmethod=filesystem
+used files      >    4: filename=cont-exp.mkiv | filetype=tex | foundname=c:/data/develop/context/sources/cont-exp.mkiv | usedmethod=filesystem
+used files      >    5: filename=lang-us.lua | filetype=lua | foundname=c:/data/develop/tex-context/tex/texmf-context/tex/context/patterns/lang-us.lua | usedmethod=database
+used files      >    6: filename=s-inf-03.mkiv | foundname=s-inf-03.mkiv | usedmethod=direct
+used files      >    7: filename=type-loc.mkiv | filetype=tex | foundname=c:/data/develop/context/sources/type-loc.mkiv | usedmethod=filesystem
+used files      >    8: filename=type-imp-dejavu.mkiv | foundname=type-imp-dejavu.mkiv | usedmethod=direct
+used files      >    9: filename=type-imp-xits.mkiv | foundname=type-imp-xits.mkiv | usedmethod=direct
+used files      >   10: filename=type-imp-texgyre.mkiv | foundname=type-imp-texgyre.mkiv | usedmethod=direct
+used files      >   11: filename=xits-math.lfg | filetype=tex | foundname=c:/data/develop/context/sources/xits-math.lfg | usedmethod=filesystem
+used files      >   12: filename=DejaVuSerif.ttf | filetype=ttf | format=ttf | foundname=c:/data/develop/tex-context/tex/texmf/fonts/truetype/public/dejavu/DejaVuSerif.ttf | usedmethod=database
+used files      >   13: filename=xits-math.otf | filetype=otf | format=otf | foundname=c:/data/develop/tex-context/tex/texmf/fonts/opentype/public/xits/xits-math.otf | usedmethod=database
+used files      >   14: filename=DejaVuSansMono.ttf | filetype=ttf | format=ttf | foundname=c:/data/develop/tex-context/tex/texmf/fonts/truetype/public/dejavu/DejaVuSansMono.ttf | usedmethod=database
+used files      >   15: filename=mkiv-base.map | filetype=map | format=map | foundname=c:/data/develop/tex-context/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map | usedmethod=database
+used files      >   16: filename=DejaVuSansMono-Bold.ttf | filetype=ttf | format=ttf | foundname=c:/data/develop/tex-context/tex/texmf/fonts/truetype/public/dejavu/DejaVuSansMono-Bold.ttf | usedmethod=database
+used files      >   17: filename=lpdf-pdx.xml | foundname=lpdf-pdx.xml | usedmethod=direct
+
+system          > files > stop used files
+
+
+system          > structure > start used structure
+
+used structure  > text: s-inf-03
+
+system          > structure > stop used structure
+
+
+references      > start problematic references
+
+unknown         >    1: [][1]
+unknown         >    1: [][attributes]
+unknown         >    1: [][backends]
+unknown         >    1: [][bibtex]
+unknown         >    1: [][blobs]
+unknown         >    1: [][boolean]
+unknown         >    1: [][buffers]
+unknown         >    1: [][builders]
+unknown         >    1: [][caches]
+unknown         >    1: [][callback]
+unknown         >    1: [][callbacks]
+unknown         >    1: [][catcodes]
+unknown         >    1: [][characters]
+unknown         >    1: [][chemistry]
+unknown         >    1: [][commands]
+unknown         >    1: [][containers]
+unknown         >    1: [][context]
+unknown         >    1: [][converters]
+unknown         >    1: [][coroutine]
+unknown         >    1: [][ctxrunner]
+unknown         >    1: [][debug]
+unknown         >    1: [][dir]
+unknown         >    1: [][directives]
+unknown         >    1: [][document]
+unknown         >    1: [][documentdata]
+unknown         >    1: [][environment]
+unknown         >    1: [][epdf]
+unknown         >    1: [][experiments]
+unknown         >    1: [][figures]
+unknown         >    1: [][file]
+unknown         >    1: [][floats]
+unknown         >    1: [][font]
+unknown         >    1: [][fontloader]
+unknown         >    1: [][fonts]
+unknown         >    1: [][functions]
+unknown         >    1: [][graphics]
+unknown         >    1: [][gzip]
+unknown         >    1: [][img]
+unknown         >    1: [][interactions]
+unknown         >    1: [][interfaces]
+unknown         >    1: [][io]
+unknown         >    1: [][jit]
+unknown         >    1: [][job]
+unknown         >    1: [][lang]
+unknown         >    1: [][languages]
+unknown         >    1: [][layouts]
+unknown         >    1: [][lfs]
+unknown         >    1: [][libraries]
+unknown         >    1: [][lmx]
+unknown         >    1: [][logs]
+unknown         >    1: [][lpdf]
+unknown         >    1: [][lpeg]
+unknown         >    1: [][ltn12]
+unknown         >    1: [][lua]
+unknown         >    1: [][luatex]
+unknown         >    1: [][lxml]
+unknown         >    1: [][math]
+unknown         >    1: [][mathematics]
+unknown         >    1: [][md5]
+unknown         >    1: [][metapost]
+unknown         >    1: [][mime]
+unknown         >    1: [][moduledata]
+unknown         >    1: [][modules]
+unknown         >    1: [][mplib]
+unknown         >    1: [][noads]
+unknown         >    1: [][node]
+unknown         >    1: [][nodes]
+unknown         >    1: [][number]
+unknown         >    1: [][os]
+unknown         >    1: [][package]
+unknown         >    1: [][pagebuilders]
+unknown         >    1: [][parametersets]
+unknown         >    1: [][pdf]
+unknown         >    1: [][physics]
+unknown         >    1: [][profiler]
+unknown         >    1: [][regimes]
+unknown         >    1: [][resolvers]
+unknown         >    1: [][scripts]
+unknown         >    1: [][set]
+unknown         >    1: [][socket]
+unknown         >    1: [][sorters]
+unknown         >    1: [][statistics]
+unknown         >    1: [][status]
+unknown         >    1: [][storage]
+unknown         >    1: [][streams]
+unknown         >    1: [][string]
+unknown         >    1: [][structures]
+unknown         >    1: [][table]
+unknown         >    1: [][tex]
+unknown         >    1: [][texconfig]
+unknown         >    1: [][texio]
+unknown         >    1: [][token]
+unknown         >    1: [][tokens]
+unknown         >    1: [][tracers]
+unknown         >    1: [][trackers]
+unknown         >    1: [][typesetters]
+unknown         >    1: [][unicode]
+unknown         >    1: [][url]
+unknown         >    1: [][utilities]
+unknown         >    1: [][vf]
+unknown         >    1: [][visualizers]
+unknown         >    1: [][xml]
+unknown         >    1: [][zip]
+unknown         >    1: [][zlib]
+
+references      > stop problematic references
+
+
+mkiv lua stats  > used config file          - selfautoparent:/texmf-local/web2c/texmfcnf.lua;selfautoparent:/texmf/web2c/texmfcnf.lua
+mkiv lua stats  > used cache path           - c:/data/develop/tex-context/tex/texmf-cache/luatex-cache/context/764bd4e1ce0f004ab3cec90018f8b80a
+mkiv lua stats  > resource resolver         - loadtime 0.016 seconds, 0 scans with scantime 0.000 seconds, 0 shared scans, 17 found files, scanned paths: 
+mkiv lua stats  > stored bytecode data      - 314 modules (0.141 sec), 67 tables (0.000 sec), 381 chunks (0.141 sec)
+mkiv lua stats  > cleaned up reserved nodes - 55 nodes, 10 lists of 442
+mkiv lua stats  > node memory usage         - 4 glue, 4 penalty, 15 attribute, 31 glue_spec, 5 attribute_list
+mkiv lua stats  > node list callback tasks  - 6 unique task lists, 5 instances (re)created, 38 calls
+mkiv lua stats  > used backend              - pdf (backend for directly generating pdf output)
+mkiv lua stats  > loaded patterns           - en::2
+mkiv lua stats  > jobdata time              - 0.000 seconds saving, 0.000 seconds loading
+mkiv lua stats  > callbacks                 - 430 direct, 1339 indirect, 1769 total
+mkiv lua stats  > lxml preparation time     - 0.000 seconds, 0 nodes, 13 lpath calls, 0 cached calls
+mkiv lua stats  > interactive elements      - 1 references, 1 destinations
+mkiv lua stats  > result saved in file      - status-lua.pdf.pdf, compresslevel 3, objectcompreslevel 3
+mkiv lua stats  > loaded fonts              - 4 files: xits-math.otf dejavusansmono-bold.ttf dejavusansmono.ttf dejavuserif.ttf
+mkiv lua stats  > fonts load time           - 0.468 seconds 
+mkiv lua stats  > pdf annotations           - 1 embedded, 1 unique
+mkiv lua stats  > cross referencing         - 105 identified, 104 unknown
+mkiv lua stats  > luatex banner             - this is luatexjit, version beta-0.71.0-2012112719 (rev 4465)
+mkiv lua stats  > control sequences         - 36095 of 65536 + 100000
+mkiv lua stats  > current memory usage      - 30 MB (ctx: 0 MB)
+mkiv lua stats  > runtime                   - 140.887 seconds, 1 processed pages, 1 shipped pages, 0.007 pages/second
+
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
deleted file mode 100644
index 0e30809ce..000000000
Binary files a/tex/context/base/status-lua.pdf and /dev/null differ
diff --git a/tex/context/base/syst-lua.mkiv b/tex/context/base/syst-lua.mkiv
index 004655b74..bca6ab3a2 100644
--- a/tex/context/base/syst-lua.mkiv
+++ b/tex/context/base/syst-lua.mkiv
@@ -37,8 +37,7 @@
 % a handy helper (we can probably omit the tex.ctxcatcodes here as nowadays we seldom
 % change the regime at the tex end
 
-%def\luaexpr#1{\ctxlua             {context(tostring(#1))}}
-\def\luaexpr#1{\directlua\zerocount{context(tostring(#1))}} % wrap in global function ?
+\def\luaexpr#1{\ctxlua{context(tostring(#1))}}
 
 % helpers:
 
diff --git a/tex/context/base/util-sql-users.lua b/tex/context/base/util-sql-users.lua
index f6845062f..4bf5057b5 100644
--- a/tex/context/base/util-sql-users.lua
+++ b/tex/context/base/util-sql-users.lua
@@ -208,13 +208,13 @@ local template =[[
         `theme`,
         `data`
     ) VALUES (
-        '%name%',
+        '%[name]%',
         '%password%',
         '%group%',
         '%enabled%',
-        '%email%',
-        '%address%',
-        '%theme%',
+        '%[email]%',
+        '%[address]%',
+        '%[theme]%',
         '%[data]%'
     ) ;
 ]]
@@ -305,8 +305,9 @@ local template =[[
         `password` = '%password%',
         `group`    = '%group%',
         `enabled`  = '%enabled%',
-        `email`    = '%email%',
-        `address`  = '%address%',
+        `email`    = '%[email]%',
+        `address`  = '%[address]%',
+        `theme`    = '%[theme]%',
         `data`     = '%[data]%'
     WHERE
         `id` = '%id%'
@@ -315,13 +316,15 @@ local template =[[
 
 function users.save(db,id,specification)
 
-    if not tonumber(id) then
+    id = tonumber(id)
+
+    if not id then
         return
     end
 
     local user = getbyid(db,id)
 
-    if user.id ~= id then
+    if tonumber(user.id) ~= id then
         return
     end
 
@@ -333,8 +336,6 @@ function users.save(db,id,specification)
     local theme    = specification.theme    == nil and user.theme     or specification.theme
     local data     = specification.data     == nil and user.data      or specification.data
 
---     table.print(data)
-
     db.execute {
         template  = template,
         variables = {
diff --git a/tex/context/base/x-asciimath.mkiv b/tex/context/base/x-asciimath.mkiv
index ea6d5c3fa..b555115ff 100644
--- a/tex/context/base/x-asciimath.mkiv
+++ b/tex/context/base/x-asciimath.mkiv
@@ -15,7 +15,7 @@
 
 \registerctxluafile{x-asciimath}{}
 
-\def\ctxmoduleasciimath#1{\directlua\zerocount{moduledata.asciimath.#1}}
+\def\ctxmoduleasciimath#1{\ctxlua{moduledata.asciimath.#1}}
 
 %D The following code is not officially supported and is only meant
 %D for the Math4All project.
diff --git a/tex/context/base/x-calcmath.mkiv b/tex/context/base/x-calcmath.mkiv
index ce4f95ad2..dda88bb3e 100644
--- a/tex/context/base/x-calcmath.mkiv
+++ b/tex/context/base/x-calcmath.mkiv
@@ -15,7 +15,7 @@
 
 \registerctxluafile{x-calcmath}{}
 
-\def\ctxmodulecalcmath#1{\directlua\zerocount{moduledata.calcmath.#1}}
+\def\ctxmodulecalcmath#1{\ctxlua{moduledata.calcmath.#1}}
 
 %D Interface:
 
diff --git a/tex/context/base/x-chemml.mkiv b/tex/context/base/x-chemml.mkiv
index 99a371107..bb9065921 100644
--- a/tex/context/base/x-chemml.mkiv
+++ b/tex/context/base/x-chemml.mkiv
@@ -17,7 +17,7 @@
 
 \registerctxluafile{x-chemml}{}
 
-\def\ctxmodulechemml#1{\directlua\zerocount{moduledata.chemml.#1}}
+\def\ctxmodulechemml#1{\ctxlua{moduledata.chemml.#1}}
 
 %D The following code assumes a load||flush approach to \XML.
 
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 6763356ed..02358414c 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  : 11/27/12 22:26:08
+-- merge date  : 11/29/12 15:40:31
 
 do -- begin closure to overcome local limits and interference
 
-- 
cgit v1.2.3