summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2017-06-19 15:50:29 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2017-06-19 15:50:29 +0200
commitd11a1200ed28c6e0058990a621d7404f821ac7fd (patch)
treea433002a97225266abf1f925beb0ed699dbee41c
parent008292817580eba8a0f0cf83d8e2d08df8fc8c3f (diff)
downloadcontext-d11a1200ed28c6e0058990a621d7404f821ac7fd.tar.gz
2017-06-19 15:35:00
-rw-r--r--context/data/scite/context/lexers/data/scite-context-data-tex.lua10
-rw-r--r--context/data/scite/context/scite-context-data-tex.properties383
-rw-r--r--context/data/textadept/context/data/scite-context-data-tex.lua10
-rw-r--r--doc/context/documents/general/qrcs/setup-cs.pdfbin845146 -> 845130 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-de.pdfbin843051 -> 843044 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-en.pdfbin847898 -> 847882 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-fr.pdfbin841580 -> 841578 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-it.pdfbin843183 -> 843166 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-nl.pdfbin840148 -> 840138 bytes
-rw-r--r--doc/context/documents/general/qrcs/setup-ro.pdfbin840238 -> 840228 bytes
-rw-r--r--doc/context/sources/general/manuals/luatex/luatex-math.tex22
-rw-r--r--doc/context/sources/general/manuals/math/math-spacing.tex37
-rw-r--r--scripts/context/lua/mtxrun.lua21
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua21
-rw-r--r--scripts/context/stubs/unix/mtxrun21
-rw-r--r--scripts/context/stubs/win64/mtxrun.lua21
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-con.lua76
-rw-r--r--tex/context/base/mkiv/font-otl.lua4
-rw-r--r--tex/context/base/mkiv/font-oto.lua95
-rw-r--r--tex/context/base/mkiv/math-ini.mkiv69
-rw-r--r--tex/context/base/mkiv/mult-prm.lua333
-rw-r--r--tex/context/base/mkiv/mult-prm.mkiv61
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin25695 -> 25686 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin424912 -> 423550 bytes
-rw-r--r--tex/context/base/mkiv/strc-mat.mkiv7
-rw-r--r--tex/context/base/mkiv/syst-ini.mkiv4
-rw-r--r--tex/context/base/mkiv/util-lib.lua17
-rw-r--r--tex/context/base/mkiv/util-sql-imp-sqlite.lua158
-rw-r--r--tex/context/base/mkiv/util-sql-loggers.lua22
-rw-r--r--tex/context/base/mkiv/util-sql.lua16
-rw-r--r--tex/context/fonts/mkiv/lm-math.lfg6
-rw-r--r--tex/context/fonts/mkiv/unifraktur.lfg2
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin847898 -> 847882 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60772 -> 60772 bytes
-rw-r--r--tex/context/modules/mkiv/s-math-repertoire.mkiv4
-rw-r--r--tex/context/modules/mkiv/s-tugboat.mkiv681
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua144
41 files changed, 1521 insertions, 732 deletions
diff --git a/context/data/scite/context/lexers/data/scite-context-data-tex.lua b/context/data/scite/context/lexers/data/scite-context-data-tex.lua
index af66ab584..b4c3b1bd0 100644
--- a/context/data/scite/context/lexers/data/scite-context-data-tex.lua
+++ b/context/data/scite/context/lexers/data/scite-context-data-tex.lua
@@ -1,9 +1,9 @@
return {
- ["aleph"]={ "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "Omegaminorversion", "Omegarevision", "Omegaversion", "boxdir", "pagebottomoffset", "pagerightoffset" },
+ ["aleph"]={ "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion" },
["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" },
- ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathcodenumdef", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Umathnolimitsupfactor", "Umathnolimitsubfactor", "Umiddle", "Uoverdelimiter", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Unosubscript", "Unosuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "hyphenpenaltymode", "automatichyphenmode", "automatichyphenpenalty", "automaticdiscretionary", "explicithyphenpenalty", "explicitdiscretionary", "bodydir", "boundary", "boxdir", "catcodetable", "clearmarks", "copyfont", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "hjcode", "firstvalidlanguage", "fontid", "formatname", "gleaders", "hyphenationmin", "hyphenationbounds", "ifabsdim", "ifabsnum", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luatexbanner", "luatexrevision", "luatexversion", "luafunction", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathscriptsmode", "mathstyle", "mathsurroundskip", "mathsurroundmode", "mathrulesmode", "mathrulesfam", "noboundary", "nokerns", "nohrule", "noligs", "nospaces", "novrule", "normaldeviate", "outputbox", "outputmode", "pagedir", "pageheight", "pagebottomoffset", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pdfextension", "pdffeedback", "pdfvariable", "postexhyphenchar", "posthyphenchar", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "primitive", "protrudechars", "protrusionboundary", "pxdimen", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "suppressmathparerror", "synctex", "tagcode", "textdir", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource", "wordboundary", "vpack", "hpack", "tpack", "csstring", "begincsname", "lastnamedcs", "toksapp", "tokspre", "etoksapp", "etokspre" },
- ["omega"]={ "OmegaVersion", "bodydir", "chardp", "charht", "charit", "charwd", "leftghost", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "mathdir", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical", "pagedir", "pageheight", "pagewidth", "pardir", "rightghost", "textdir" },
- ["pdftex"]={ "efcode", "expanded", "ifincsname", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "leftmarginkern", "letterspacefont", "lpcode", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlineheight", "pdfeachlinedepth", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfxformmargin", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfignoreunknownimages", "pdfinclusionerrorlevel", "pdfignoreunknownimages", "pdfinfo", "pdfinfoomitdate", "pdftrailerid", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfpkfixeddpi", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfsuppressptexinfo", "pdfsuppressoptionalinfo", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "quitvmode", "rightmarginkern", "rpcode", "tagcode" },
- ["tex"]={ "-", "/", "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "OmegaVersion", "Omegaminorversion", "Omegarevision", "Omegaversion", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathcodenumdef", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Umathnolimitsupfactor", "Umathnolimitsubfactor", "Umiddle", "Uoverdelimiter", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Unosubscript", "Unosuperscript", "Uunderdelimiter", "Uvextensible", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "hyphenpenaltymode", "automatichyphenmode", "automatichyphenpenalty", "automaticdiscretionary", "explicithyphenpenalty", "explicitdiscretionary", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "boundary", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "copyfont", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "dviextension", "dvifeedback", "dvivariable", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "hjcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "expandglyphsinfont", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "firstvalidlanguage", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "hyphenationmin", "hyphenationbounds", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignoreligaturesinfont", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnodetype", "lastpenalty", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastskip", "lastxpos", "lastypos", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letcharcode", "letterspacefont", "limits", "linedir", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luatexbanner", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathinner", "mathitalicsmode", "mathnolimitsmode", "mathop", "mathopen", "mathoption", "mathord", "mathpunct", "mathrel", "mathrulesmode", "mathrulesfam", "mathscriptsmode", "mathstyle", "mathsurroundskip", "mathsurroundmode", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nokerns", "nohrule", "noligs", "nospaces", "novrule", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "normaldeviate", "nulldelimiterspace", "nullfont", "number", "numexpr", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "omit", "openin", "openout", "or", "oradical", "outer", "output", "outputbox", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlineheight", "pdfeachlinedepth", "pdfendlink", "pdfendthread", "pdfextension", "pdfvariable", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfxformmargin", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfignoreunknownimages", "pdfinfo", "pdfinfoomitdate", "pdftrailerid", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfpkfixeddpi", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfsuppressptexinfo", "pdfsuppressoptionalinfo", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaydirection", "predisplaygapfactor", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "protrudechars", "protrusionboundary", "pxdimen", "quitvmode", "radical", "raise", "randomseed", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "saveboxresource", "saveimageresource", "savepos", "savecatcodetable", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setfontid", "setlanguage", "setrandomseed", "shapemode", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "suppressmathparerror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topmarks", "topskip", "tracingassigns", "tracingcommands", "tracingfonts", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "uniformdeviate", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "useboxresource", "useimageresource", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "wordboundary", "write", "xdef", "xleaders", "xspaceskip", "year", "vpack", "hpack", "tpack", "csstring", "begincsname", "lastnamedcs", "toksapp", "tokspre", "etoksapp", "etokspre" },
+ ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "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", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "begincsname", "bodydir", "boxdir", "catcodetable", "clearmarks", "copyfont", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "etoksapp", "etokspre", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fontid", "formatname", "gleaders", "hjcode", "hyphenationbounds", "hyphenationmin", "hyphenpenaltymode", "ifabsdim", "ifabsnum", "ifincsname", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastnamedcs", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luafunction", "luatexbanner", "luatexrevision", "luatexversion", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathpenaltiesmode", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "nohrule", "nokerns", "noligs", "normaldeviate", "nospaces", "novrule", "outputbox", "outputmode", "pagebottomoffset", "pagedir", "pageheight", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pdfextension", "pdffeedback", "pdfvariable", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaygapfactor", "predisplaypenalty", "preexhyphenchar", "prehyphenchar", "primitive", "protrudechars", "pxdimen", "quitvmode", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "synctex", "tagcode", "textdir", "toksapp", "tokspre", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource" },
+ ["omega"]={ "Omegaminorversion", "Omegarevision", "Omegaversion", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical" },
+ ["pdftex"]={ "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfignoreunknownimages", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinfoomitdate", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdfsuppressoptionalinfo", "pdfsuppressptexinfo", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdftrailerid", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformmargin", "pdfxformname", "pdfxformresources", "pdfximage" },
+ ["tex"]={ " ", "-", "/", "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "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", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Umiddle", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "adjustspacing", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "badness", "baselineskip", "batchmode", "begincsname", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "boundary", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "copyfont", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "csstring", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "draftmode", "dump", "dviextension", "dvifeedback", "dvivariable", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "etoksapp", "etokspre", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "firstvalidlanguage", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hjcode", "hoffset", "holdinginserts", "hpack", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenationbounds", "hyphenationmin", "hyphenchar", "hyphenpenalty", "hyphenpenaltymode", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignoreligaturesinfont", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertht", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnamedcs", "lastnodetype", "lastpenalty", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastskip", "lastxpos", "lastypos", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letcharcode", "letterspacefont", "limits", "linedir", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luafunction", "luatexbanner", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathinner", "mathitalicsmode", "mathnolimitsmode", "mathop", "mathopen", "mathoption", "mathord", "mathpenaltiesmode", "mathpunct", "mathrel", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathstyle", "mathsurround", "mathsurroundmode", "mathsurroundskip", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "nohrule", "noindent", "nokerns", "noligs", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "normaldeviate", "nospaces", "novrule", "nulldelimiterspace", "nullfont", "number", "numexpr", "omit", "openin", "openout", "or", "outer", "output", "outputbox", "outputmode", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfextension", "pdffeedback", "pdfvariable", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaydirection", "predisplaygapfactor", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "protrudechars", "protrusionboundary", "pxdimen", "quitvmode", "radical", "raise", "randomseed", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setfontid", "setlanguage", "setrandomseed", "sfcode", "shapemode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksapp", "toksdef", "tokspre", "tolerance", "topmark", "topmarks", "topskip", "tpack", "tracingassigns", "tracingcommands", "tracingfonts", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "uniformdeviate", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "useboxresource", "useimageresource", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vpack", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "wordboundary", "write", "xdef", "xleaders", "xspaceskip", "year" },
["xetex"]={ "XeTeXversion" },
} \ No newline at end of file
diff --git a/context/data/scite/context/scite-context-data-tex.properties b/context/data/scite/context/scite-context-data-tex.properties
index e168b71ec..c3043df77 100644
--- a/context/data/scite/context/scite-context-data-tex.properties
+++ b/context/data/scite/context/scite-context-data-tex.properties
@@ -1,7 +1,5 @@
keywordclass.tex.aleph=\
-AlephVersion Alephminorversion Alephrevision Alephversion \
-Omegaminorversion Omegarevision Omegaversion boxdir pagebottomoffset \
-pagerightoffset
+AlephVersion Alephminorversion Alephrevision Alephversion
keywordclass.tex.etex=\
botmarks clubpenalties currentgrouplevel currentgrouptype \
@@ -20,17 +18,17 @@ unexpanded unless widowpenalties
keywordclass.tex.luatex=\
Uchar Udelcode Udelcodenum Udelimiter \
-Udelimiterover Udelimiterunder Uhextensible Uleft Umathaccent \
-Umathaxis Umathbinbinspacing Umathbinclosespacing Umathbininnerspacing Umathbinopenspacing \
-Umathbinopspacing Umathbinordspacing Umathbinpunctspacing Umathbinrelspacing Umathchar \
-Umathcharclass Umathchardef Umathcharfam Umathcharnum Umathcharnumdef \
-Umathcharslot Umathclosebinspacing Umathcloseclosespacing Umathcloseinnerspacing Umathcloseopenspacing \
-Umathcloseopspacing Umathcloseordspacing Umathclosepunctspacing Umathcloserelspacing Umathcode \
-Umathcodenum Umathcodenumdef Umathconnectoroverlapmin Umathfractiondelsize Umathfractiondenomdown \
-Umathfractiondenomvgap Umathfractionnumup Umathfractionnumvgap Umathfractionrule Umathinnerbinspacing \
-Umathinnerclosespacing Umathinnerinnerspacing Umathinneropenspacing Umathinneropspacing Umathinnerordspacing \
-Umathinnerpunctspacing Umathinnerrelspacing Umathlimitabovebgap Umathlimitabovekern Umathlimitabovevgap \
-Umathlimitbelowbgap Umathlimitbelowkern Umathlimitbelowvgap Umathopbinspacing Umathopclosespacing \
+Udelimiterover Udelimiterunder Uhextensible Umathaccent Umathaxis \
+Umathbinbinspacing Umathbinclosespacing Umathbininnerspacing Umathbinopenspacing Umathbinopspacing \
+Umathbinordspacing Umathbinpunctspacing Umathbinrelspacing Umathchar Umathcharclass \
+Umathchardef Umathcharfam Umathcharnum Umathcharnumdef Umathcharslot \
+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 Umathnolimitsubfactor Umathnolimitsupfactor Umathopbinspacing Umathopclosespacing \
Umathopenbinspacing Umathopenclosespacing Umathopeninnerspacing Umathopenopenspacing Umathopenopspacing \
Umathopenordspacing Umathopenpunctspacing Umathopenrelspacing Umathoperatorsize Umathopinnerspacing \
Umathopopenspacing Umathopopspacing Umathopordspacing Umathoppunctspacing Umathoprelspacing \
@@ -45,88 +43,81 @@ Umathrelrelspacing Umathskewedfractionhgap Umathskewedfractionvgap Umathspaceaft
Umathstacknumup Umathstackvgap Umathsubshiftdown Umathsubshiftdrop Umathsubsupshiftdown \
Umathsubsupvgap Umathsubtopmax Umathsupbottommin Umathsupshiftdrop Umathsupshiftup \
Umathsupsubbottommax Umathunderbarkern Umathunderbarrule Umathunderbarvgap Umathunderdelimiterbgap \
-Umathunderdelimitervgap Umathnolimitsupfactor Umathnolimitsubfactor Umiddle Uoverdelimiter \
-Uradical Uright Uroot Uskewed Uskewedwithdelims \
-Ustack Ustartdisplaymath Ustartmath Ustopdisplaymath Ustopmath \
-Usubscript Usuperscript Unosubscript Unosuperscript Uunderdelimiter \
-Uvextensible adjustspacing alignmark aligntab attribute \
-attributedef hyphenpenaltymode automatichyphenmode automatichyphenpenalty automaticdiscretionary \
-explicithyphenpenalty explicitdiscretionary bodydir boundary boxdir \
-catcodetable clearmarks copyfont crampeddisplaystyle crampedscriptscriptstyle \
-crampedscriptstyle crampedtextstyle draftmode dviextension dvifeedback \
-dvivariable efcode hjcode firstvalidlanguage fontid \
-formatname gleaders hyphenationmin hyphenationbounds ifabsdim \
-ifabsnum ifprimitive ignoreligaturesinfont initcatcodetable insertht \
-lastsavedboxresourceindex lastsavedimageresourceindex lastsavedimageresourcepages lastxpos lastypos \
-latelua leftghost leftmarginkern letcharcode letterspacefont \
-linedir localbrokenpenalty localinterlinepenalty localleftbox localrightbox \
-lpcode luaescapestring luatexbanner luatexrevision luatexversion \
-luafunction mathdir mathdisplayskipmode matheqnogapstep mathitalicsmode \
-mathnolimitsmode mathoption mathscriptsmode mathstyle mathsurroundskip \
-mathsurroundmode mathrulesmode mathrulesfam noboundary nokerns \
-nohrule noligs nospaces novrule normaldeviate \
-outputbox outputmode pagedir pageheight pagebottomoffset \
-pageleftoffset pagerightoffset pagetopoffset pagewidth pardir \
-pdfextension pdffeedback pdfvariable postexhyphenchar posthyphenchar \
-predisplaygapfactor preexhyphenchar prehyphenchar primitive protrudechars \
-protrusionboundary pxdimen randomseed rightghost rightmarginkern \
-rpcode saveboxresource savecatcodetable saveimageresource savepos \
-scantextokens setfontid setrandomseed shapemode suppressfontnotfounderror \
-suppressifcsnameerror suppresslongerror suppressoutererror suppressmathparerror synctex \
-tagcode textdir tracingfonts uniformdeviate useboxresource \
-useimageresource wordboundary vpack hpack tpack \
-csstring begincsname lastnamedcs toksapp tokspre \
-etoksapp etokspre
+Umathunderdelimitervgap Unosubscript Unosuperscript Uoverdelimiter Uradical \
+Uroot Uskewed Uskewedwithdelims Ustack Ustartdisplaymath \
+Ustartmath Ustopdisplaymath Ustopmath Usubscript Usuperscript \
+Uunderdelimiter Uvextensible adjustspacing alignmark aligntab \
+attribute attributedef automaticdiscretionary automatichyphenmode automatichyphenpenalty \
+begincsname bodydir boxdir catcodetable clearmarks \
+copyfont crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle \
+draftmode dviextension dvifeedback dvivariable efcode \
+etoksapp etokspre expanded expandglyphsinfont explicitdiscretionary \
+explicithyphenpenalty fontid formatname gleaders hjcode \
+hyphenationbounds hyphenationmin hyphenpenaltymode ifabsdim ifabsnum \
+ifincsname ifprimitive ignoreligaturesinfont initcatcodetable insertht \
+lastnamedcs lastsavedboxresourceindex lastsavedimageresourceindex lastsavedimageresourcepages lastxpos \
+lastypos latelua leftghost leftmarginkern letcharcode \
+letterspacefont linedir localbrokenpenalty localinterlinepenalty localleftbox \
+localrightbox lpcode luaescapestring luafunction luatexbanner \
+luatexrevision luatexversion mathdir mathdisplayskipmode matheqnogapstep \
+mathitalicsmode mathnolimitsmode mathoption mathpenaltiesmode mathrulesfam \
+mathrulesmode mathscriptsmode mathstyle mathsurroundmode mathsurroundskip \
+nohrule nokerns noligs normaldeviate nospaces \
+novrule outputbox outputmode pagebottomoffset pagedir \
+pageheight pageleftoffset pagerightoffset pagetopoffset pagewidth \
+pardir pdfextension pdffeedback pdfvariable postdisplaypenalty \
+postexhyphenchar posthyphenchar predisplaygapfactor predisplaypenalty preexhyphenchar \
+prehyphenchar primitive protrudechars pxdimen quitvmode \
+randomseed rightghost rightmarginkern rpcode saveboxresource \
+savecatcodetable saveimageresource savepos scantextokens setfontid \
+setrandomseed shapemode suppressfontnotfounderror suppressifcsnameerror suppresslongerror \
+suppressmathparerror suppressoutererror synctex tagcode textdir \
+toksapp tokspre tracingfonts uniformdeviate useboxresource \
+useimageresource
keywordclass.tex.omega=\
-OmegaVersion bodydir chardp charht \
-charit charwd leftghost localbrokenpenalty localinterlinepenalty \
-localleftbox localrightbox mathdir odelcode odelimiter \
-omathaccent omathchar omathchardef omathcode oradical \
-pagedir pageheight pagewidth pardir rightghost \
-textdir
+Omegaminorversion Omegarevision Omegaversion odelcode \
+odelimiter omathaccent omathchar omathchardef omathcode \
+oradical
keywordclass.tex.pdftex=\
-efcode expanded ifincsname ifpdfabsdim \
-ifpdfabsnum ifpdfprimitive leftmarginkern letterspacefont lpcode \
-pdfadjustspacing pdfannot pdfcatalog pdfcolorstack pdfcolorstackinit \
-pdfcompresslevel pdfcopyfont pdfcreationdate pdfdecimaldigits pdfdest \
-pdfdestmargin pdfdraftmode pdfeachlineheight pdfeachlinedepth pdfendlink \
-pdfendthread pdffirstlineheight pdffontattr pdffontexpand pdffontname \
-pdffontobjnum pdffontsize pdfxformmargin pdfgamma pdfgentounicode \
-pdfglyphtounicode pdfhorigin pdfignoreddimen pdfimageapplygamma pdfimagegamma \
-pdfimagehicolor pdfimageresolution pdfincludechars pdfinclusioncopyfonts pdfignoreunknownimages \
-pdfinclusionerrorlevel pdfignoreunknownimages pdfinfo pdfinfoomitdate pdftrailerid \
-pdfinsertht pdflastannot pdflastlinedepth pdflastlink pdflastobj \
-pdflastxform pdflastximage pdflastximagepages pdflastxpos pdflastypos \
-pdflinkmargin pdfliteral pdfmapfile pdfmapline pdfminorversion \
-pdfnames pdfnoligatures pdfnormaldeviate pdfobj pdfobjcompresslevel \
-pdfoutline pdfoutput pdfpageattr pdfpagebox pdfpageheight \
-pdfpageref pdfpageresources pdfpagesattr pdfpagewidth pdfpkmode \
-pdfpkresolution pdfpkfixeddpi pdfprimitive pdfprotrudechars pdfpxdimen \
-pdfrandomseed pdfrefobj pdfrefxform pdfrefximage pdfreplacefont \
-pdfrestore pdfretval pdfsave pdfsavepos pdfsetmatrix \
-pdfsetrandomseed pdfstartlink pdfstartthread pdftexbanner pdftexrevision \
-pdftexversion pdfsuppressptexinfo pdfsuppressoptionalinfo pdfthread pdfthreadmargin \
-pdftracingfonts pdftrailer pdfuniformdeviate pdfuniqueresname pdfvorigin \
-pdfxform pdfxformattr pdfxformname pdfxformresources pdfximage \
-quitvmode rightmarginkern rpcode tagcode
+ifpdfabsdim ifpdfabsnum ifpdfprimitive pdfadjustspacing \
+pdfannot pdfcatalog pdfcolorstack pdfcolorstackinit pdfcompresslevel \
+pdfcopyfont pdfcreationdate pdfdecimaldigits pdfdest pdfdestmargin \
+pdfdraftmode pdfeachlinedepth pdfeachlineheight pdfendlink pdfendthread \
+pdffirstlineheight pdffontattr pdffontexpand pdffontname pdffontobjnum \
+pdffontsize pdfgamma pdfgentounicode pdfglyphtounicode pdfhorigin \
+pdfignoreddimen pdfignoreunknownimages pdfimageaddfilename pdfimageapplygamma pdfimagegamma \
+pdfimagehicolor pdfimageresolution pdfincludechars pdfinclusioncopyfonts pdfinclusionerrorlevel \
+pdfinfo pdfinfoomitdate pdfinsertht pdflastannot pdflastlinedepth \
+pdflastlink pdflastobj pdflastxform pdflastximage pdflastximagepages \
+pdflastxpos pdflastypos pdflinkmargin pdfliteral pdfmapfile \
+pdfmapline pdfminorversion pdfnames pdfnoligatures pdfnormaldeviate \
+pdfobj pdfobjcompresslevel pdfoutline pdfoutput pdfpageattr \
+pdfpagebox pdfpageheight pdfpageref pdfpageresources pdfpagesattr \
+pdfpagewidth pdfpkfixeddpi pdfpkmode pdfpkresolution pdfprimitive \
+pdfprotrudechars pdfpxdimen pdfrandomseed pdfrefobj pdfrefxform \
+pdfrefximage pdfreplacefont pdfrestore pdfretval pdfsave \
+pdfsavepos pdfsetmatrix pdfsetrandomseed pdfstartlink pdfstartthread \
+pdfsuppressoptionalinfo pdfsuppressptexinfo pdftexbanner pdftexrevision pdftexversion \
+pdfthread pdfthreadmargin pdftracingfonts pdftrailer pdftrailerid \
+pdfuniformdeviate pdfuniqueresname pdfvorigin pdfxform pdfxformattr \
+pdfxformmargin pdfxformname pdfxformresources pdfximage
keywordclass.tex.tex=\
-- / AlephVersion Alephminorversion \
-Alephrevision Alephversion OmegaVersion Omegaminorversion Omegarevision \
-Omegaversion Udelcode Udelcodenum Udelimiter Udelimiterover \
-Udelimiterunder Uhextensible Uleft Umathaccent Umathaxis \
-Umathbinbinspacing Umathbinclosespacing Umathbininnerspacing Umathbinopenspacing Umathbinopspacing \
-Umathbinordspacing Umathbinpunctspacing Umathbinrelspacing Umathchar Umathcharclass \
-Umathchardef Umathcharfam Umathcharnum Umathcharnumdef Umathcharslot \
-Umathclosebinspacing Umathcloseclosespacing Umathcloseinnerspacing Umathcloseopenspacing Umathcloseopspacing \
-Umathcloseordspacing Umathclosepunctspacing Umathcloserelspacing Umathcode Umathcodenum \
-Umathcodenumdef Umathconnectoroverlapmin Umathfractiondelsize Umathfractiondenomdown Umathfractiondenomvgap \
-Umathfractionnumup Umathfractionnumvgap Umathfractionrule Umathinnerbinspacing Umathinnerclosespacing \
-Umathinnerinnerspacing Umathinneropenspacing Umathinneropspacing Umathinnerordspacing Umathinnerpunctspacing \
-Umathinnerrelspacing Umathlimitabovebgap Umathlimitabovekern Umathlimitabovevgap Umathlimitbelowbgap \
-Umathlimitbelowkern Umathlimitbelowvgap Umathopbinspacing Umathopclosespacing Umathopenbinspacing \
+ - / Uchar \
+Udelcode Udelcodenum Udelimiter Udelimiterover Udelimiterunder \
+Uhextensible Uleft Umathaccent Umathaxis Umathbinbinspacing \
+Umathbinclosespacing Umathbininnerspacing Umathbinopenspacing Umathbinopspacing Umathbinordspacing \
+Umathbinpunctspacing Umathbinrelspacing Umathchar Umathcharclass Umathchardef \
+Umathcharfam Umathcharnum Umathcharnumdef Umathcharslot 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 \
+Umathnolimitsubfactor Umathnolimitsupfactor Umathopbinspacing Umathopclosespacing Umathopenbinspacing \
Umathopenclosespacing Umathopeninnerspacing Umathopenopenspacing Umathopenopspacing Umathopenordspacing \
Umathopenpunctspacing Umathopenrelspacing Umathoperatorsize Umathopinnerspacing Umathopopenspacing \
Umathopopspacing Umathopordspacing Umathoppunctspacing Umathoprelspacing Umathordbinspacing \
@@ -141,138 +132,116 @@ Umathskewedfractionhgap Umathskewedfractionvgap Umathspaceafterscript Umathstack
Umathstackvgap Umathsubshiftdown Umathsubshiftdrop Umathsubsupshiftdown Umathsubsupvgap \
Umathsubtopmax Umathsupbottommin Umathsupshiftdrop Umathsupshiftup Umathsupsubbottommax \
Umathunderbarkern Umathunderbarrule Umathunderbarvgap Umathunderdelimiterbgap Umathunderdelimitervgap \
-Umathnolimitsupfactor Umathnolimitsubfactor Umiddle Uoverdelimiter Uradical \
+Umiddle Unosubscript Unosuperscript Uoverdelimiter Uradical \
Uright Uroot Uskewed Uskewedwithdelims Ustack \
Ustartdisplaymath Ustartmath Ustopdisplaymath Ustopmath Usubscript \
-Usuperscript Unosubscript Unosuperscript Uunderdelimiter Uvextensible \
-above abovedisplayshortskip abovedisplayskip abovewithdelims accent \
-adjdemerits advance afterassignment aftergroup alignmark \
-aligntab atop atopwithdelims attribute attributedef \
-hyphenpenaltymode automatichyphenmode automatichyphenpenalty automaticdiscretionary explicithyphenpenalty \
-explicitdiscretionary badness baselineskip batchmode begingroup \
-belowdisplayshortskip belowdisplayskip binoppenalty bodydir botmark \
-botmarks boundary box boxdir boxmaxdepth \
-brokenpenalty catcode catcodetable char chardef \
-cleaders clearmarks closein closeout clubpenalties \
-clubpenalty copy copyfont count countdef \
-cr crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle \
-crcr csname currentgrouplevel currentgrouptype currentifbranch \
-currentiflevel currentiftype day deadcycles def \
-defaulthyphenchar defaultskewchar delcode delimiter delimiterfactor \
-delimitershortfall detokenize dimen dimendef dimexpr \
-directlua discretionary displayindent displaylimits displaystyle \
-displaywidowpenalties displaywidowpenalty displaywidth divide doublehyphendemerits \
-dp dump dviextension dvifeedback dvivariable \
-eTeXVersion eTeXminorversion eTeXrevision eTeXversion edef \
-efcode hjcode else emergencystretch end \
-endcsname endgroup endinput endlinechar eqno \
-errhelp errmessage errorcontextlines errorstopmode escapechar \
+Usuperscript Uunderdelimiter Uvextensible above abovedisplayshortskip \
+abovedisplayskip abovewithdelims accent adjdemerits adjustspacing \
+advance afterassignment aftergroup alignmark aligntab \
+atop atopwithdelims attribute attributedef automaticdiscretionary \
+automatichyphenmode automatichyphenpenalty badness baselineskip batchmode \
+begincsname begingroup belowdisplayshortskip belowdisplayskip binoppenalty \
+bodydir botmark botmarks boundary box \
+boxdir boxmaxdepth brokenpenalty catcode catcodetable \
+char chardef cleaders clearmarks closein \
+closeout clubpenalties clubpenalty copy copyfont \
+count countdef cr crampeddisplaystyle crampedscriptscriptstyle \
+crampedscriptstyle crampedtextstyle crcr csname csstring \
+currentgrouplevel currentgrouptype currentifbranch currentiflevel currentiftype \
+day deadcycles def defaulthyphenchar defaultskewchar \
+delcode delimiter delimiterfactor delimitershortfall detokenize \
+dimen dimendef dimexpr directlua discretionary \
+displayindent displaylimits displaystyle displaywidowpenalties displaywidowpenalty \
+displaywidth divide doublehyphendemerits dp draftmode \
+dump dviextension dvifeedback dvivariable eTeXVersion \
+eTeXminorversion eTeXrevision eTeXversion edef efcode \
+else emergencystretch end endcsname endgroup \
+endinput endlinechar eqno errhelp errmessage \
+errorcontextlines errorstopmode escapechar etoksapp etokspre \
everycr everydisplay everyeof everyhbox everyjob \
everymath everypar everyvbox exhyphenchar exhyphenpenalty \
-expandafter expanded expandglyphsinfont fam fi \
-finalhyphendemerits firstmark firstmarks floatingpenalty font \
-fontchardp fontcharht fontcharic fontcharwd fontdimen \
-firstvalidlanguage fontid fontname formatname futurelet \
-gdef gleaders global globaldefs glueexpr \
-glueshrink glueshrinkorder gluestretch gluestretchorder gluetomu \
-halign hangafter hangindent hbadness hbox \
-hfil hfill hfilneg hfuzz hoffset \
-holdinginserts hrule hsize hskip hss \
-ht hyphenation hyphenchar hyphenpenalty hyphenationmin \
-hyphenationbounds if ifabsdim ifabsnum ifcase \
+expandafter expanded expandglyphsinfont explicitdiscretionary explicithyphenpenalty \
+fam fi finalhyphendemerits firstmark firstmarks \
+firstvalidlanguage floatingpenalty font fontchardp fontcharht \
+fontcharic fontcharwd fontdimen fontid fontname \
+formatname futurelet gdef gleaders global \
+globaldefs glueexpr glueshrink glueshrinkorder gluestretch \
+gluestretchorder gluetomu halign hangafter hangindent \
+hbadness hbox hfil hfill hfilneg \
+hfuzz hjcode hoffset holdinginserts hpack \
+hrule hsize hskip hss ht \
+hyphenation hyphenationbounds hyphenationmin hyphenchar hyphenpenalty \
+hyphenpenaltymode if ifabsdim ifabsnum ifcase \
ifcat ifcsname ifdefined ifdim ifeof \
iffalse iffontchar ifhbox ifhmode ifincsname \
-ifinner ifmmode ifnum ifodd ifpdfabsdim \
-ifpdfabsnum ifpdfprimitive ifprimitive iftrue ifvbox \
-ifvmode ifvoid ifx ignoreligaturesinfont ignorespaces \
-immediate indent initcatcodetable input inputlineno \
-insert insertpenalties interactionmode interlinepenalties interlinepenalty \
-jobname kern language lastbox lastkern \
-lastlinefit lastnodetype lastpenalty lastsavedboxresourceindex lastsavedimageresourceindex \
-lastsavedimageresourcepages lastskip lastxpos lastypos latelua \
-lccode leaders left leftghost lefthyphenmin \
-leftmarginkern leftskip leqno let letcharcode \
-letterspacefont limits linedir linepenalty lineskip \
-lineskiplimit localbrokenpenalty localinterlinepenalty localleftbox localrightbox \
-long looseness lower lowercase lpcode \
-luaescapestring luatexbanner luatexrevision luatexversion mag \
+ifinner ifmmode ifnum ifodd ifprimitive \
+iftrue ifvbox ifvmode ifvoid ifx \
+ignoreligaturesinfont ignorespaces immediate indent initcatcodetable \
+input inputlineno insert insertht insertpenalties \
+interactionmode interlinepenalties interlinepenalty jobname kern \
+language lastbox lastkern lastlinefit lastnamedcs \
+lastnodetype lastpenalty lastsavedboxresourceindex lastsavedimageresourceindex lastsavedimageresourcepages \
+lastskip lastxpos lastypos latelua lccode \
+leaders left leftghost lefthyphenmin leftmarginkern \
+leftskip leqno let letcharcode letterspacefont \
+limits linedir linepenalty lineskip lineskiplimit \
+localbrokenpenalty localinterlinepenalty localleftbox localrightbox long \
+looseness lower lowercase lpcode luaescapestring \
+luafunction luatexbanner luatexrevision luatexversion mag \
mark marks mathaccent mathbin mathchar \
mathchardef mathchoice mathclose mathcode mathdir \
mathdisplayskipmode matheqnogapstep mathinner mathitalicsmode mathnolimitsmode \
-mathop mathopen mathoption mathord mathpunct \
-mathrel mathrulesmode mathrulesfam mathscriptsmode mathstyle \
-mathsurroundskip mathsurroundmode mathsurround maxdeadcycles maxdepth \
-meaning medmuskip message middle mkern \
-month moveleft moveright mskip muexpr \
-multiply muskip muskipdef mutoglue newlinechar \
-noalign noboundary noexpand noindent nokerns \
-nohrule noligs nospaces novrule nolimits \
-nolocaldirs nolocalwhatsits nonscript nonstopmode normaldeviate \
-nulldelimiterspace nullfont number numexpr odelcode \
-odelimiter omathaccent omathchar omathchardef omathcode \
-omit openin openout or oradical \
-outer output outputbox outputpenalty over \
+mathop mathopen mathoption mathord mathpenaltiesmode \
+mathpunct mathrel mathrulesfam mathrulesmode mathscriptsmode \
+mathstyle mathsurround mathsurroundmode mathsurroundskip maxdeadcycles \
+maxdepth meaning medmuskip message middle \
+mkern month moveleft moveright mskip \
+muexpr multiply muskip muskipdef mutoglue \
+newlinechar noalign noboundary noexpand nohrule \
+noindent nokerns noligs nolimits nolocaldirs \
+nolocalwhatsits nonscript nonstopmode normaldeviate nospaces \
+novrule nulldelimiterspace nullfont number numexpr \
+omit openin openout or outer \
+output outputbox outputmode outputpenalty over \
overfullrule overline overwithdelims pagebottomoffset pagedepth \
pagedir pagediscards pagefilllstretch pagefillstretch pagefilstretch \
pagegoal pageheight pageleftoffset pagerightoffset pageshrink \
pagestretch pagetopoffset pagetotal pagewidth par \
pardir parfillskip parindent parshape parshapedimen \
parshapeindent parshapelength parskip patterns pausing \
-pdfadjustspacing pdfannot pdfcatalog pdfcolorstack pdfcolorstackinit \
-pdfcompresslevel pdfcopyfont pdfcreationdate pdfdecimaldigits pdfdest \
-pdfdestmargin pdfdraftmode pdfeachlineheight pdfeachlinedepth pdfendlink \
-pdfendthread pdfextension pdfvariable pdffirstlineheight pdffontattr \
-pdffontexpand pdffontname pdffontobjnum pdffontsize pdfxformmargin \
-pdfgamma pdfgentounicode pdfglyphtounicode pdfhorigin pdfignoreddimen \
-pdfimageaddfilename pdfimageapplygamma pdfimagegamma pdfimagehicolor pdfimageresolution \
-pdfincludechars pdfinclusioncopyfonts pdfinclusionerrorlevel pdfignoreunknownimages pdfinfo \
-pdfinfoomitdate pdftrailerid pdfinsertht pdflastannot pdflastlinedepth \
-pdflastlink pdflastobj pdflastxform pdflastximage pdflastximagepages \
-pdflastxpos pdflastypos pdflinkmargin pdfliteral pdfmapfile \
-pdfmapline pdfminorversion pdfnames pdfnoligatures pdfnormaldeviate \
-pdfobj pdfobjcompresslevel pdfoutline pdfoutput pdfpageattr \
-pdfpagebox pdfpageheight pdfpageref pdfpageresources pdfpagesattr \
-pdfpagewidth pdfpkmode pdfpkresolution pdfpkfixeddpi pdfprimitive \
-pdfprotrudechars pdfpxdimen pdfrandomseed pdfrefobj pdfrefxform \
-pdfrefximage pdfreplacefont pdfrestore pdfretval pdfsave \
-pdfsavepos pdfsetmatrix pdfsetrandomseed pdfstartlink pdfstartthread \
-pdftexbanner pdftexrevision pdftexversion pdfsuppressptexinfo pdfsuppressoptionalinfo \
-pdfthread pdfthreadmargin pdftracingfonts pdftrailer pdfuniformdeviate \
-pdfuniqueresname pdfvorigin pdfxform pdfxformattr pdfxformname \
-pdfxformresources pdfximage penalty postdisplaypenalty postexhyphenchar \
-posthyphenchar predisplaydirection predisplaygapfactor predisplaypenalty predisplaysize \
-preexhyphenchar prehyphenchar pretolerance prevdepth prevgraf \
-primitive protected protrudechars protrusionboundary pxdimen \
-quitvmode radical raise randomseed read \
-readline relax relpenalty right rightghost \
-righthyphenmin rightmarginkern rightskip romannumeral rpcode \
-saveboxresource saveimageresource savepos savecatcodetable savinghyphcodes \
-savingvdiscards scantextokens scantokens scriptfont scriptscriptfont \
-scriptscriptstyle scriptspace scriptstyle scrollmode setbox \
-setfontid setlanguage setrandomseed shapemode sfcode \
-shipout show showbox showboxbreadth showboxdepth \
-showgroups showifs showlists showthe showtokens \
-skewchar skip skipdef spacefactor spaceskip \
-span special splitbotmark splitbotmarks splitdiscards \
-splitfirstmark splitfirstmarks splitmaxdepth splittopskip string \
-suppressfontnotfounderror suppressifcsnameerror suppresslongerror suppressoutererror suppressmathparerror \
-synctex tabskip tagcode textdir textfont \
-textstyle the thickmuskip thinmuskip time \
-toks toksdef tolerance topmark topmarks \
-topskip tracingassigns tracingcommands tracingfonts tracinggroups \
-tracingifs tracinglostchars tracingmacros tracingnesting tracingonline \
-tracingoutput tracingpages tracingparagraphs tracingrestores tracingscantokens \
-tracingstats uccode uchyph underline unexpanded \
-unhbox unhcopy uniformdeviate unkern unless \
-unpenalty unskip unvbox unvcopy uppercase \
-useboxresource useimageresource vadjust valign vbadness \
-vbox vcenter vfil vfill vfilneg \
-vfuzz voffset vrule vsize vskip \
-vsplit vss vtop wd widowpenalties \
-widowpenalty wordboundary write xdef xleaders \
-xspaceskip year vpack hpack tpack \
-csstring begincsname lastnamedcs toksapp tokspre \
-etoksapp etokspre
+pdfextension pdffeedback pdfvariable penalty postdisplaypenalty \
+postexhyphenchar posthyphenchar prebinoppenalty predisplaydirection predisplaygapfactor \
+predisplaypenalty predisplaysize preexhyphenchar prehyphenchar prerelpenalty \
+pretolerance prevdepth prevgraf primitive protected \
+protrudechars protrusionboundary pxdimen quitvmode radical \
+raise randomseed read readline relax \
+relpenalty right rightghost righthyphenmin rightmarginkern \
+rightskip romannumeral rpcode saveboxresource savecatcodetable \
+saveimageresource savepos savinghyphcodes savingvdiscards scantextokens \
+scantokens scriptfont scriptscriptfont scriptscriptstyle scriptspace \
+scriptstyle scrollmode setbox setfontid setlanguage \
+setrandomseed sfcode shapemode shipout show \
+showbox showboxbreadth showboxdepth showgroups showifs \
+showlists showthe showtokens skewchar skip \
+skipdef spacefactor spaceskip span special \
+splitbotmark splitbotmarks splitdiscards splitfirstmark splitfirstmarks \
+splitmaxdepth splittopskip string suppressfontnotfounderror suppressifcsnameerror \
+suppresslongerror suppressmathparerror suppressoutererror synctex tabskip \
+tagcode textdir textfont textstyle the \
+thickmuskip thinmuskip time toks toksapp \
+toksdef tokspre tolerance topmark topmarks \
+topskip tpack tracingassigns tracingcommands tracingfonts \
+tracinggroups tracingifs tracinglostchars tracingmacros tracingnesting \
+tracingonline tracingoutput tracingpages tracingparagraphs tracingrestores \
+tracingscantokens tracingstats uccode uchyph underline \
+unexpanded unhbox unhcopy uniformdeviate unkern \
+unless unpenalty unskip unvbox unvcopy \
+uppercase useboxresource useimageresource vadjust valign \
+vbadness vbox vcenter vfil vfill \
+vfilneg vfuzz voffset vpack vrule \
+vsize vskip vsplit vss vtop \
+wd widowpenalties widowpenalty wordboundary write \
+xdef xleaders xspaceskip year
keywordclass.tex.xetex=\
XeTeXversion
diff --git a/context/data/textadept/context/data/scite-context-data-tex.lua b/context/data/textadept/context/data/scite-context-data-tex.lua
index af66ab584..b4c3b1bd0 100644
--- a/context/data/textadept/context/data/scite-context-data-tex.lua
+++ b/context/data/textadept/context/data/scite-context-data-tex.lua
@@ -1,9 +1,9 @@
return {
- ["aleph"]={ "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "Omegaminorversion", "Omegarevision", "Omegaversion", "boxdir", "pagebottomoffset", "pagerightoffset" },
+ ["aleph"]={ "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion" },
["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" },
- ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathcodenumdef", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Umathnolimitsupfactor", "Umathnolimitsubfactor", "Umiddle", "Uoverdelimiter", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Unosubscript", "Unosuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "hyphenpenaltymode", "automatichyphenmode", "automatichyphenpenalty", "automaticdiscretionary", "explicithyphenpenalty", "explicitdiscretionary", "bodydir", "boundary", "boxdir", "catcodetable", "clearmarks", "copyfont", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "hjcode", "firstvalidlanguage", "fontid", "formatname", "gleaders", "hyphenationmin", "hyphenationbounds", "ifabsdim", "ifabsnum", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luatexbanner", "luatexrevision", "luatexversion", "luafunction", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathscriptsmode", "mathstyle", "mathsurroundskip", "mathsurroundmode", "mathrulesmode", "mathrulesfam", "noboundary", "nokerns", "nohrule", "noligs", "nospaces", "novrule", "normaldeviate", "outputbox", "outputmode", "pagedir", "pageheight", "pagebottomoffset", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pdfextension", "pdffeedback", "pdfvariable", "postexhyphenchar", "posthyphenchar", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "primitive", "protrudechars", "protrusionboundary", "pxdimen", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "suppressmathparerror", "synctex", "tagcode", "textdir", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource", "wordboundary", "vpack", "hpack", "tpack", "csstring", "begincsname", "lastnamedcs", "toksapp", "tokspre", "etoksapp", "etokspre" },
- ["omega"]={ "OmegaVersion", "bodydir", "chardp", "charht", "charit", "charwd", "leftghost", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "mathdir", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical", "pagedir", "pageheight", "pagewidth", "pardir", "rightghost", "textdir" },
- ["pdftex"]={ "efcode", "expanded", "ifincsname", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "leftmarginkern", "letterspacefont", "lpcode", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlineheight", "pdfeachlinedepth", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfxformmargin", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfignoreunknownimages", "pdfinclusionerrorlevel", "pdfignoreunknownimages", "pdfinfo", "pdfinfoomitdate", "pdftrailerid", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfpkfixeddpi", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfsuppressptexinfo", "pdfsuppressoptionalinfo", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "quitvmode", "rightmarginkern", "rpcode", "tagcode" },
- ["tex"]={ "-", "/", "AlephVersion", "Alephminorversion", "Alephrevision", "Alephversion", "OmegaVersion", "Omegaminorversion", "Omegarevision", "Omegaversion", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "Umathclosebinspacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", "Umathcodenum", "Umathcodenumdef", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Umathnolimitsupfactor", "Umathnolimitsubfactor", "Umiddle", "Uoverdelimiter", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Unosubscript", "Unosuperscript", "Uunderdelimiter", "Uvextensible", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "hyphenpenaltymode", "automatichyphenmode", "automatichyphenpenalty", "automaticdiscretionary", "explicithyphenpenalty", "explicitdiscretionary", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "boundary", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "copyfont", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "dviextension", "dvifeedback", "dvivariable", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "hjcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "expandglyphsinfont", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "firstvalidlanguage", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hoffset", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "hyphenationmin", "hyphenationbounds", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignoreligaturesinfont", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnodetype", "lastpenalty", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastskip", "lastxpos", "lastypos", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letcharcode", "letterspacefont", "limits", "linedir", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luatexbanner", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathinner", "mathitalicsmode", "mathnolimitsmode", "mathop", "mathopen", "mathoption", "mathord", "mathpunct", "mathrel", "mathrulesmode", "mathrulesfam", "mathscriptsmode", "mathstyle", "mathsurroundskip", "mathsurroundmode", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "noindent", "nokerns", "nohrule", "noligs", "nospaces", "novrule", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "normaldeviate", "nulldelimiterspace", "nullfont", "number", "numexpr", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "omit", "openin", "openout", "or", "oradical", "outer", "output", "outputbox", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlineheight", "pdfeachlinedepth", "pdfendlink", "pdfendthread", "pdfextension", "pdfvariable", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfxformmargin", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfignoreunknownimages", "pdfinfo", "pdfinfoomitdate", "pdftrailerid", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkmode", "pdfpkresolution", "pdfpkfixeddpi", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfsuppressptexinfo", "pdfsuppressoptionalinfo", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformname", "pdfxformresources", "pdfximage", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaydirection", "predisplaygapfactor", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "protrudechars", "protrusionboundary", "pxdimen", "quitvmode", "radical", "raise", "randomseed", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "saveboxresource", "saveimageresource", "savepos", "savecatcodetable", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setfontid", "setlanguage", "setrandomseed", "shapemode", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", "suppressmathparerror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topmarks", "topskip", "tracingassigns", "tracingcommands", "tracingfonts", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "uniformdeviate", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "useboxresource", "useimageresource", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "wordboundary", "write", "xdef", "xleaders", "xspaceskip", "year", "vpack", "hpack", "tpack", "csstring", "begincsname", "lastnamedcs", "toksapp", "tokspre", "etoksapp", "etokspre" },
+ ["luatex"]={ "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "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", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "alignmark", "aligntab", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "begincsname", "bodydir", "boxdir", "catcodetable", "clearmarks", "copyfont", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "draftmode", "dviextension", "dvifeedback", "dvivariable", "efcode", "etoksapp", "etokspre", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fontid", "formatname", "gleaders", "hjcode", "hyphenationbounds", "hyphenationmin", "hyphenpenaltymode", "ifabsdim", "ifabsnum", "ifincsname", "ifprimitive", "ignoreligaturesinfont", "initcatcodetable", "insertht", "lastnamedcs", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastxpos", "lastypos", "latelua", "leftghost", "leftmarginkern", "letcharcode", "letterspacefont", "linedir", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "lpcode", "luaescapestring", "luafunction", "luatexbanner", "luatexrevision", "luatexversion", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathitalicsmode", "mathnolimitsmode", "mathoption", "mathpenaltiesmode", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathstyle", "mathsurroundmode", "mathsurroundskip", "nohrule", "nokerns", "noligs", "normaldeviate", "nospaces", "novrule", "outputbox", "outputmode", "pagebottomoffset", "pagedir", "pageheight", "pageleftoffset", "pagerightoffset", "pagetopoffset", "pagewidth", "pardir", "pdfextension", "pdffeedback", "pdfvariable", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "predisplaygapfactor", "predisplaypenalty", "preexhyphenchar", "prehyphenchar", "primitive", "protrudechars", "pxdimen", "quitvmode", "randomseed", "rightghost", "rightmarginkern", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "scantextokens", "setfontid", "setrandomseed", "shapemode", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "synctex", "tagcode", "textdir", "toksapp", "tokspre", "tracingfonts", "uniformdeviate", "useboxresource", "useimageresource" },
+ ["omega"]={ "Omegaminorversion", "Omegarevision", "Omegaversion", "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical" },
+ ["pdftex"]={ "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfignoreunknownimages", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinfoomitdate", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdfsuppressoptionalinfo", "pdfsuppressptexinfo", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdftrailerid", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformmargin", "pdfxformname", "pdfxformresources", "pdfximage" },
+ ["tex"]={ " ", "-", "/", "Uchar", "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaxis", "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", "Umathbinordspacing", "Umathbinpunctspacing", "Umathbinrelspacing", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharnum", "Umathcharnumdef", "Umathcharslot", "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", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "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", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvgap", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervgap", "Umiddle", "Unosubscript", "Unosuperscript", "Uoverdelimiter", "Uradical", "Uright", "Uroot", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "adjustspacing", "advance", "afterassignment", "aftergroup", "alignmark", "aligntab", "atop", "atopwithdelims", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenmode", "automatichyphenpenalty", "badness", "baselineskip", "batchmode", "begincsname", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "bodydir", "botmark", "botmarks", "boundary", "box", "boxdir", "boxmaxdepth", "brokenpenalty", "catcode", "catcodetable", "char", "chardef", "cleaders", "clearmarks", "closein", "closeout", "clubpenalties", "clubpenalty", "copy", "copyfont", "count", "countdef", "cr", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "crcr", "csname", "csstring", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "detokenize", "dimen", "dimendef", "dimexpr", "directlua", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalties", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "draftmode", "dump", "dviextension", "dvifeedback", "dvivariable", "eTeXVersion", "eTeXminorversion", "eTeXrevision", "eTeXversion", "edef", "efcode", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "etoksapp", "etokspre", "everycr", "everydisplay", "everyeof", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "expanded", "expandglyphsinfont", "explicitdiscretionary", "explicithyphenpenalty", "fam", "fi", "finalhyphendemerits", "firstmark", "firstmarks", "firstvalidlanguage", "floatingpenalty", "font", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "fontdimen", "fontid", "fontname", "formatname", "futurelet", "gdef", "gleaders", "global", "globaldefs", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hjcode", "hoffset", "holdinginserts", "hpack", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenationbounds", "hyphenationmin", "hyphenchar", "hyphenpenalty", "hyphenpenaltymode", "if", "ifabsdim", "ifabsnum", "ifcase", "ifcat", "ifcsname", "ifdefined", "ifdim", "ifeof", "iffalse", "iffontchar", "ifhbox", "ifhmode", "ifincsname", "ifinner", "ifmmode", "ifnum", "ifodd", "ifprimitive", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignoreligaturesinfont", "ignorespaces", "immediate", "indent", "initcatcodetable", "input", "inputlineno", "insert", "insertht", "insertpenalties", "interactionmode", "interlinepenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastlinefit", "lastnamedcs", "lastnodetype", "lastpenalty", "lastsavedboxresourceindex", "lastsavedimageresourceindex", "lastsavedimageresourcepages", "lastskip", "lastxpos", "lastypos", "latelua", "lccode", "leaders", "left", "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", "leqno", "let", "letcharcode", "letterspacefont", "limits", "linedir", "linepenalty", "lineskip", "lineskiplimit", "localbrokenpenalty", "localinterlinepenalty", "localleftbox", "localrightbox", "long", "looseness", "lower", "lowercase", "lpcode", "luaescapestring", "luafunction", "luatexbanner", "luatexrevision", "luatexversion", "mag", "mark", "marks", "mathaccent", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathclose", "mathcode", "mathdir", "mathdisplayskipmode", "matheqnogapstep", "mathinner", "mathitalicsmode", "mathnolimitsmode", "mathop", "mathopen", "mathoption", "mathord", "mathpenaltiesmode", "mathpunct", "mathrel", "mathrulesfam", "mathrulesmode", "mathscriptsmode", "mathstyle", "mathsurround", "mathsurroundmode", "mathsurroundskip", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "muexpr", "multiply", "muskip", "muskipdef", "mutoglue", "newlinechar", "noalign", "noboundary", "noexpand", "nohrule", "noindent", "nokerns", "noligs", "nolimits", "nolocaldirs", "nolocalwhatsits", "nonscript", "nonstopmode", "normaldeviate", "nospaces", "novrule", "nulldelimiterspace", "nullfont", "number", "numexpr", "omit", "openin", "openout", "or", "outer", "output", "outputbox", "outputmode", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagebottomoffset", "pagedepth", "pagedir", "pagediscards", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageheight", "pageleftoffset", "pagerightoffset", "pageshrink", "pagestretch", "pagetopoffset", "pagetotal", "pagewidth", "par", "pardir", "parfillskip", "parindent", "parshape", "parshapedimen", "parshapeindent", "parshapelength", "parskip", "patterns", "pausing", "pdfextension", "pdffeedback", "pdfvariable", "penalty", "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", "prebinoppenalty", "predisplaydirection", "predisplaygapfactor", "predisplaypenalty", "predisplaysize", "preexhyphenchar", "prehyphenchar", "prerelpenalty", "pretolerance", "prevdepth", "prevgraf", "primitive", "protected", "protrudechars", "protrusionboundary", "pxdimen", "quitvmode", "radical", "raise", "randomseed", "read", "readline", "relax", "relpenalty", "right", "rightghost", "righthyphenmin", "rightmarginkern", "rightskip", "romannumeral", "rpcode", "saveboxresource", "savecatcodetable", "saveimageresource", "savepos", "savinghyphcodes", "savingvdiscards", "scantextokens", "scantokens", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setfontid", "setlanguage", "setrandomseed", "sfcode", "shapemode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showgroups", "showifs", "showlists", "showthe", "showtokens", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "special", "splitbotmark", "splitbotmarks", "splitdiscards", "splitfirstmark", "splitfirstmarks", "splitmaxdepth", "splittopskip", "string", "suppressfontnotfounderror", "suppressifcsnameerror", "suppresslongerror", "suppressmathparerror", "suppressoutererror", "synctex", "tabskip", "tagcode", "textdir", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksapp", "toksdef", "tokspre", "tolerance", "topmark", "topmarks", "topskip", "tpack", "tracingassigns", "tracingcommands", "tracingfonts", "tracinggroups", "tracingifs", "tracinglostchars", "tracingmacros", "tracingnesting", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingscantokens", "tracingstats", "uccode", "uchyph", "underline", "unexpanded", "unhbox", "unhcopy", "uniformdeviate", "unkern", "unless", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "useboxresource", "useimageresource", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "voffset", "vpack", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalties", "widowpenalty", "wordboundary", "write", "xdef", "xleaders", "xspaceskip", "year" },
["xetex"]={ "XeTeXversion" },
} \ No newline at end of file
diff --git a/doc/context/documents/general/qrcs/setup-cs.pdf b/doc/context/documents/general/qrcs/setup-cs.pdf
index 8bd243935..f7f09256b 100644
--- a/doc/context/documents/general/qrcs/setup-cs.pdf
+++ b/doc/context/documents/general/qrcs/setup-cs.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-de.pdf b/doc/context/documents/general/qrcs/setup-de.pdf
index beb59aaba..9c77b2be3 100644
--- a/doc/context/documents/general/qrcs/setup-de.pdf
+++ b/doc/context/documents/general/qrcs/setup-de.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-en.pdf b/doc/context/documents/general/qrcs/setup-en.pdf
index 111a63128..d2eecaba4 100644
--- a/doc/context/documents/general/qrcs/setup-en.pdf
+++ b/doc/context/documents/general/qrcs/setup-en.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-fr.pdf b/doc/context/documents/general/qrcs/setup-fr.pdf
index 3dbee7679..abfa0d93a 100644
--- a/doc/context/documents/general/qrcs/setup-fr.pdf
+++ b/doc/context/documents/general/qrcs/setup-fr.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-it.pdf b/doc/context/documents/general/qrcs/setup-it.pdf
index 1d0d65156..c3b450e20 100644
--- a/doc/context/documents/general/qrcs/setup-it.pdf
+++ b/doc/context/documents/general/qrcs/setup-it.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-nl.pdf b/doc/context/documents/general/qrcs/setup-nl.pdf
index f56149a34..44f1c3c58 100644
--- a/doc/context/documents/general/qrcs/setup-nl.pdf
+++ b/doc/context/documents/general/qrcs/setup-nl.pdf
Binary files differ
diff --git a/doc/context/documents/general/qrcs/setup-ro.pdf b/doc/context/documents/general/qrcs/setup-ro.pdf
index ae60bf4e5..bcc1e1d31 100644
--- a/doc/context/documents/general/qrcs/setup-ro.pdf
+++ b/doc/context/documents/general/qrcs/setup-ro.pdf
Binary files differ
diff --git a/doc/context/sources/general/manuals/luatex/luatex-math.tex b/doc/context/sources/general/manuals/luatex/luatex-math.tex
index f8383e974..33b57ff3e 100644
--- a/doc/context/sources/general/manuals/luatex/luatex-math.tex
+++ b/doc/context/sources/general/manuals/luatex/luatex-math.tex
@@ -1227,6 +1227,28 @@ formula.
% if needed we can put the value in stylenodes but maybe more should go there
+\subsection{Penalties: \type {\mathpenaltiesmode}}
+
+Only in inline math penalties will be added in a math list. You can force
+penalties (also in display math) by setting:
+
+\starttyping
+\mathpenaltiesmode = 1
+\stoptyping
+
+This primnitive is not really needed in \LUATEX\ because you can use the callback
+\type {mlist_to_hlist} to force penalties by just calling the regular routine
+with forced penalties. However, as part of opening up and control this primitive
+makes sense. As a bonus we also provide two extra penalties:
+
+\starttyping
+\prebinoppenalty = -100 % example value
+\prerelpenalty = 900 % example value
+\stoptyping
+
+They default to inifinite which signals that they don't need to be inserted. When
+set they are injected before a binop or rel noad. This is an experimental feature.
+
\subsection {Tracing}
Because there are quite some math related parameters and values, it is possible
diff --git a/doc/context/sources/general/manuals/math/math-spacing.tex b/doc/context/sources/general/manuals/math/math-spacing.tex
index 02f2c71a8..3a665a7d8 100644
--- a/doc/context/sources/general/manuals/math/math-spacing.tex
+++ b/doc/context/sources/general/manuals/math/math-spacing.tex
@@ -397,24 +397,51 @@ Of course better is to fix the font.
Inline formulas can span lines but display math normally sits on one line unless
one uses alignment mechanisms. Take this:
-\startbuffer
+\startbuffer[demo]
\startformula
x\dorecurse{30}{ + #1x^{#1x}} = 10
\stopformula
\stopbuffer
-\typebuffer
+\typebuffer[demo]
-\par \start \setupformula[split=no] \getbuffer \stop \par
+\par \start \setupformula[split=no] \getbuffer[demo] \stop \par
You can set \type {split} to \type {yes} using \type {\setupformula} and get the
following:
-\par \start \setupformula[split=yes] \getbuffer \stop \par
+\par \start \setupformula[split=yes] \getbuffer[demo] \stop \par
Maybe nicer is to also set \type {align} to \type {flushleft}:
-\par \start \setupformula[split=yes,align=flushleft] \getbuffer \stop \par
+\par \start \setupformula[split=yes,align=flushleft] \getbuffer[demo] \stop \par
+
+If you want the binary operators to start the lines you can set this:
+
+\startbuffer[setup]
+\setupmathematics[setups=math:spacing:split]
+\setupformulas[split=yes,align=flushleft]
+\stopbuffer
+
+\typebuffer[setup]
+
+\par \start \getbuffer[setup,demo] \stop \par
+
+You can prevent a split with a large penalty. Here is a test that yuou can run
+to play with this feature:
+
+\starttyping
+\dostepwiserecurse {30} {100} {1} {
+ \hsize \dimexpr 40pt + #1pt \relax
+ \startformula
+ y = a \dorecurse {50} {
+ \penalty 10000 {\bf + ##1b}
+ + ##1c^2
+ }
+ \stopformula
+ \page
+}
+\stoptyping
There is an experimental alignment mechanism available. Watch the following
examples:
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index cf46273ca..a011ce9bb 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -19963,7 +19963,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lib"] = package.loaded["util-lib"] or true
--- original size: 14040, stripped down to: 7818
+-- original size: 14131, stripped down to: 7859
if not modules then modules={} end modules ['util-lib']={
version=1.001,
@@ -20115,10 +20115,12 @@ local function locate(required,version,trace,report,action)
report("load error: message %a, library %a",tostring(message or "unknown"),found_library or "no library")
end
end
- if not library then
- report("unknown library: %a",required)
- elseif trace then
- report("stored library: %a",required)
+ if trace then
+ if not library then
+ report("unknown library: %a",required)
+ else
+ report("stored library: %a",required)
+ end
end
return library
end
@@ -20215,10 +20217,11 @@ if FFISUPPORTED and ffi and ffi.load then
local library=ffilib(name)
if type(library)=="userdata" then
return library
- else
+ end
+ if trace_ffilib then
report_ffilib("trying to load %a using normal loader",name)
- return savedffiload(name)
end
+ return savedffiload(name)
end
end
@@ -20564,8 +20567,8 @@ end -- of closure
-- used libraries : l-lua.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 846131
--- stripped bytes : 306161
+-- original bytes : 846222
+-- stripped bytes : 306211
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index cf46273ca..a011ce9bb 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -19963,7 +19963,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lib"] = package.loaded["util-lib"] or true
--- original size: 14040, stripped down to: 7818
+-- original size: 14131, stripped down to: 7859
if not modules then modules={} end modules ['util-lib']={
version=1.001,
@@ -20115,10 +20115,12 @@ local function locate(required,version,trace,report,action)
report("load error: message %a, library %a",tostring(message or "unknown"),found_library or "no library")
end
end
- if not library then
- report("unknown library: %a",required)
- elseif trace then
- report("stored library: %a",required)
+ if trace then
+ if not library then
+ report("unknown library: %a",required)
+ else
+ report("stored library: %a",required)
+ end
end
return library
end
@@ -20215,10 +20217,11 @@ if FFISUPPORTED and ffi and ffi.load then
local library=ffilib(name)
if type(library)=="userdata" then
return library
- else
+ end
+ if trace_ffilib then
report_ffilib("trying to load %a using normal loader",name)
- return savedffiload(name)
end
+ return savedffiload(name)
end
end
@@ -20564,8 +20567,8 @@ end -- of closure
-- used libraries : l-lua.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 846131
--- stripped bytes : 306161
+-- original bytes : 846222
+-- stripped bytes : 306211
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index cf46273ca..a011ce9bb 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -19963,7 +19963,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lib"] = package.loaded["util-lib"] or true
--- original size: 14040, stripped down to: 7818
+-- original size: 14131, stripped down to: 7859
if not modules then modules={} end modules ['util-lib']={
version=1.001,
@@ -20115,10 +20115,12 @@ local function locate(required,version,trace,report,action)
report("load error: message %a, library %a",tostring(message or "unknown"),found_library or "no library")
end
end
- if not library then
- report("unknown library: %a",required)
- elseif trace then
- report("stored library: %a",required)
+ if trace then
+ if not library then
+ report("unknown library: %a",required)
+ else
+ report("stored library: %a",required)
+ end
end
return library
end
@@ -20215,10 +20217,11 @@ if FFISUPPORTED and ffi and ffi.load then
local library=ffilib(name)
if type(library)=="userdata" then
return library
- else
+ end
+ if trace_ffilib then
report_ffilib("trying to load %a using normal loader",name)
- return savedffiload(name)
end
+ return savedffiload(name)
end
end
@@ -20564,8 +20567,8 @@ end -- of closure
-- used libraries : l-lua.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 846131
--- stripped bytes : 306161
+-- original bytes : 846222
+-- stripped bytes : 306211
-- end library merge
diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua
index cf46273ca..a011ce9bb 100644
--- a/scripts/context/stubs/win64/mtxrun.lua
+++ b/scripts/context/stubs/win64/mtxrun.lua
@@ -19963,7 +19963,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lib"] = package.loaded["util-lib"] or true
--- original size: 14040, stripped down to: 7818
+-- original size: 14131, stripped down to: 7859
if not modules then modules={} end modules ['util-lib']={
version=1.001,
@@ -20115,10 +20115,12 @@ local function locate(required,version,trace,report,action)
report("load error: message %a, library %a",tostring(message or "unknown"),found_library or "no library")
end
end
- if not library then
- report("unknown library: %a",required)
- elseif trace then
- report("stored library: %a",required)
+ if trace then
+ if not library then
+ report("unknown library: %a",required)
+ else
+ report("stored library: %a",required)
+ end
end
return library
end
@@ -20215,10 +20217,11 @@ if FFISUPPORTED and ffi and ffi.load then
local library=ffilib(name)
if type(library)=="userdata" then
return library
- else
+ end
+ if trace_ffilib then
report_ffilib("trying to load %a using normal loader",name)
- return savedffiload(name)
end
+ return savedffiload(name)
end
end
@@ -20564,8 +20567,8 @@ end -- of closure
-- used libraries : l-lua.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 846131
--- stripped bytes : 306161
+-- original bytes : 846222
+-- stripped bytes : 306211
-- end library merge
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 739813901..bcb4ce13f 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2017.06.15 22:10}
+\newcontextversion{2017.06.19 15:30}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index d5240d162..8c3ea1acc 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2017.06.15 22:10}
+\edef\contextversion{2017.06.19 15:30}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index d8924d37a..395edf527 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2017.06.15 22:10}
+\newcontextversion{2017.06.19 15:30}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index ab9a40429..229e59916 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -41,7 +41,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2017.06.15 22:10}
+\edef\contextversion{2017.06.19 15:30}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-con.lua b/tex/context/base/mkiv/font-con.lua
index 7287fe017..16dc3c05e 100644
--- a/tex/context/base/mkiv/font-con.lua
+++ b/tex/context/base/mkiv/font-con.lua
@@ -554,10 +554,31 @@ function constructors.scale(tfmdata,specification)
local chr, description, index
if changed then
local c = changed[unicode]
- if c then
- description = descriptions[c] or descriptions[unicode] or character
- character = characters[c] or character
- index = description.index or c
+ if c and c ~= unicode then
+ while true do
+ local cc = changed[c]
+ if not cc then
+ -- we're done, no (futher) chain
+ break
+ elseif cc == unicode then
+ -- we probably have a bidi swap
+ break
+ elseif cc == c then
+ -- we have a self reference, shouldn't happen
+ c = nil
+ break
+ else
+ c = cc
+ end
+ end
+ if c then
+ description = descriptions[c] or descriptions[unicode] or character
+ character = characters[c] or character
+ index = description.index or c
+ else
+ description = descriptions[unicode] or character
+ index = description.index or unicode
+ end
else
description = descriptions[unicode] or character
index = description.index or unicode
@@ -1255,11 +1276,13 @@ do
if not enhancers then
- local actions = allocate()
- local before = allocate()
- local after = allocate()
- local order = allocate()
- local patches = { before = before, after = after }
+ local actions = allocate() -- no need to allocate thee
+ local before = allocate()
+ local after = allocate()
+ local order = allocate()
+ local known = { }
+ local nofsteps = 0
+ local patches = { before = before, after = after }
local trace = false
local report = logs.reporter("fonts",format .. " enhancing")
@@ -1285,7 +1308,7 @@ do
report("%s enhancing file %a","start",filename)
end
ioflush() -- we want instant messages
- for e=1,#order do
+ for e=1,nofsteps do
local enhancer = order[e]
local b = before[enhancer]
if b then
@@ -1295,7 +1318,7 @@ do
end
end
end
- enhance(enhancer,data,filename,raw)
+ enhance(enhancer,data,filename,raw) -- we have one installed: check extra features
local a = after[enhancer]
if a then
for pattern, action in next, a do
@@ -1317,7 +1340,9 @@ do
if actions[what] then
-- overloading, e.g."check extra features"
else
- order[#order+1] = what
+ nofsteps = nofsteps + 1
+ order[nofsteps] = what
+ known[what] = nofsteps
end
actions[what] = action
else
@@ -1325,7 +1350,19 @@ do
end
end
- -- fonts.constructors.otf.enhancers.patch("before","migrate metadata","cambria",function() end)
+ -- We used to have a lot of enhancers but no longer with the new font loader. The order of enhancers
+ -- is the order of definition. The before/after patches are there for old times sake and happen
+ -- before or after a (named) enhancer. An example of a set enhancer is "check extra features" so one
+ -- one set patches before or after that is applied. Unknown enhancers are auto-registered. It's a bit
+ -- messy but we keep it for compatibility reasons.
+ --
+ -- fonts.handlers.otf.enhancers.patches.register("before","some patches","somefont",function(data,filename)
+ -- print("!!!!!!!") -- before | after
+ -- end)
+ --
+ -- fonts.handlers.otf.enhancers.register("more patches",function(data,filename)
+ -- print("???????") -- enhance
+ -- end)
local function patch(what,where,pattern,action)
local pw = patches[what]
@@ -1334,7 +1371,12 @@ do
if ww then
ww[pattern] = action
else
- pw[where] = { [pattern] = action}
+ pw[where] = { [pattern] = action }
+ if not known[where] then
+ nofsteps = nofsteps + 1
+ order[nofsteps] = where
+ known[where] = nofsteps
+ end
end
end
end
@@ -1343,7 +1385,11 @@ do
register = register,
apply = apply,
patch = patch,
- patches = { register = patch }, -- for old times sake
+ report = report,
+ patches = {
+ register = patch,
+ report = report,
+ }, -- for old times sake
}
handler.enhancers = enhancers
diff --git a/tex/context/base/mkiv/font-otl.lua b/tex/context/base/mkiv/font-otl.lua
index c8006316f..a338f85a8 100644
--- a/tex/context/base/mkiv/font-otl.lua
+++ b/tex/context/base/mkiv/font-otl.lua
@@ -200,12 +200,12 @@ function otf.load(filename,sub,instance)
otfreaders.expand(data) -- inline tables
otfreaders.addunicodetable(data) -- only when not done yet
--
- otfenhancers.apply(data,filename,data)
+ otfenhancers.apply(data,filename,data) -- in context one can also use treatments
--
-- constructors.addcoreunicodes(data.resources.unicodes) -- still needed ?
--
if applyruntimefixes then
- applyruntimefixes(filename,data)
+ applyruntimefixes(filename,data) -- e.g. see treatments.lfg
end
--
data.metadata.math = data.resources.mathconstants
diff --git a/tex/context/base/mkiv/font-oto.lua b/tex/context/base/mkiv/font-oto.lua
index 9c42a54bd..22bb1d74e 100644
--- a/tex/context/base/mkiv/font-oto.lua
+++ b/tex/context/base/mkiv/font-oto.lua
@@ -67,21 +67,32 @@ local function cref(feature,sequence)
return formatters["feature %a, type %a, chain lookup %a"](feature,sequence.type,sequence.name)
end
-
-local function report_alternate(feature,sequence,descriptions,unicode,replacement,value,comment)
- report_prepare("%s: base alternate %s => %s (%S => %S)",
- cref(feature,sequence),
- gref(descriptions,unicode),
- replacement and gref(descriptions,replacement),
- value,
- comment)
+local function report_substitution(feature,sequence,descriptions,unicode,substitution)
+ if unicode == substitution then
+ report_prepare("%s: base substitution %s maps onto itself",
+ cref(feature,sequence),
+ gref(descriptions,unicode))
+ else
+ report_prepare("%s: base substitution %s => %S",
+ cref(feature,sequence),
+ gref(descriptions,unicode),
+ gref(descriptions,substitution))
+ end
end
-local function report_substitution(feature,sequence,descriptions,unicode,substitution)
- report_prepare("%s: base substitution %s => %S",
- cref(feature,sequence),
- gref(descriptions,unicode),
- gref(descriptions,substitution))
+local function report_alternate(feature,sequence,descriptions,unicode,replacement,value,comment)
+ if unicode == replacement then
+ report_prepare("%s: base alternate %s maps onto itself",
+ cref(feature,sequence),
+ gref(descriptions,unicode))
+ else
+ report_prepare("%s: base alternate %s => %s (%S => %S)",
+ cref(feature,sequence),
+ gref(descriptions,unicode),
+ replacement and gref(descriptions,replacement),
+ value,
+ comment)
+ end
end
local function report_ligature(feature,sequence,descriptions,unicode,ligature)
@@ -221,6 +232,9 @@ local function preparesubstitutions(tfmdata,feature,value,validlookups,lookuplis
local trace_alternatives = trace_baseinit and trace_alternatives
local trace_ligatures = trace_baseinit and trace_ligatures
+ -- A chain of changes is handled in font-con which is clesner because
+ -- we can have shared changes and such.
+
if not changed then
changed = { }
tfmdata.changed = changed
@@ -233,39 +247,44 @@ local function preparesubstitutions(tfmdata,feature,value,validlookups,lookuplis
if kind == "gsub_single" then
for i=1,#steps do
for unicode, data in next, steps[i].coverage do
- -- if not changed[unicode] then -- fails for multiple subs in some math fonts
- if trace_singles then
- report_substitution(feature,sequence,descriptions,unicode,data)
- end
+ if unicode ~= data then
changed[unicode] = data
- -- end
+ end
+ if trace_singles then
+ report_substitution(feature,sequence,descriptions,unicode,data)
+ end
end
end
elseif kind == "gsub_alternate" then
for i=1,#steps do
for unicode, data in next, steps[i].coverage do
- if not changed[unicode] then
- local replacement = data[alternate]
- if replacement then
+ local replacement = data[alternate]
+ if replacement then
+ if unicode ~= replacement then
changed[unicode] = replacement
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,"normal")
- end
- elseif defaultalt == "first" then
- replacement = data[1]
+ end
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,"normal")
+ end
+ elseif defaultalt == "first" then
+ replacement = data[1]
+ if unicode ~= replacement then
changed[unicode] = replacement
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
- end
- elseif defaultalt == "last" then
- replacement = data[#data]
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
- end
- else
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,"unknown")
- end
+ end
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
+ end
+ elseif defaultalt == "last" then
+ replacement = data[#data]
+ if unicode ~= replacement then
+ changed[unicode] = replacement
+ end
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
+ end
+ else
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,"unknown")
end
end
end
diff --git a/tex/context/base/mkiv/math-ini.mkiv b/tex/context/base/mkiv/math-ini.mkiv
index c7f75fdc7..6fdf32531 100644
--- a/tex/context/base/mkiv/math-ini.mkiv
+++ b/tex/context/base/mkiv/math-ini.mkiv
@@ -289,31 +289,52 @@
% e.g.: \definemathematics[i:mp][setups=i:tight,openup=yes]
-\newmuskip\defaultthickmuskip \defaultthickmuskip 5mu plus 5mu
-\newmuskip\defaultmedmuskip \defaultmedmuskip 4mu plus 2mu minus 4mu
-\newmuskip\defaultthinmuskip \defaultthinmuskip 3mu
+\newmuskip\defaultthickmuskip \defaultthickmuskip 5mu plus 5mu
+\newmuskip\defaultmedmuskip \defaultmedmuskip 4mu plus 2mu minus 4mu
+\newmuskip\defaultthinmuskip \defaultthinmuskip 3mu
-\newmuskip\halfthickmuskip \halfthickmuskip 2.5mu plus 2.5mu
-\newmuskip\halfmedmuskip \halfmedmuskip 2.0mu plus 1.0mu minus 2.0mu
-\newmuskip\halfthinmuskip \halfthinmuskip 1.5mu
+\newmuskip\halfthickmuskip \halfthickmuskip 2.5mu plus 2.5mu
+\newmuskip\halfmedmuskip \halfmedmuskip 2.0mu plus 1.0mu minus 2.0mu
+\newmuskip\halfthinmuskip \halfthinmuskip 1.5mu
-\newcount \defaultrelpenalty \defaultrelpenalty 500
-\newcount \defaultbinoppenalty \defaultbinoppenalty 700
+\newcount \defaultrelpenalty \defaultrelpenalty 500
+\newcount \defaultbinoppenalty \defaultbinoppenalty 700
+\newcount \defaultprerelpenalty \defaultprerelpenalty -100
+\newcount \defaultprebinoppenalty \defaultprebinoppenalty -100
+
+% we need to control these otherwise:
+%
+% \prerelpenalty \defaultprerelpenalty
+% \prebinoppenalty\defaultprebinoppenalty
\startsetups math:spacing:default
- \thickmuskip \defaultthickmuskip
- \medmuskip \defaultmedmuskip
- \thinmuskip \defaultthinmuskip
- \relpenalty \defaultrelpenalty
- \binoppenalty \defaultbinoppenalty
+ \thickmuskip \defaultthickmuskip
+ \medmuskip \defaultmedmuskip
+ \thinmuskip \defaultthinmuskip
+ \relpenalty \defaultrelpenalty
+ \binoppenalty \defaultbinoppenalty
+ \prebinoppenalty\maxdimen
+ \prerelpenalty \maxdimen
+\stopsetups
+
+\startsetups math:spacing:split
+ \thickmuskip \defaultthickmuskip
+ \medmuskip \defaultmedmuskip
+ \thinmuskip \defaultthinmuskip
+ \relpenalty \defaultrelpenalty
+ \binoppenalty \defaultbinoppenalty
+ \prebinoppenalty\defaultprebinoppenalty
+ \prerelpenalty \defaultprerelpenalty
\stopsetups
\startsetups math:spacing:half
- \thickmuskip \halfthickmuskip
- \medmuskip \halfmedmuskip
- \thinmuskip \halfthinmuskip
- \relpenalty \defaultrelpenalty
- \binoppenalty \defaultbinoppenalty
+ \thickmuskip \halfthickmuskip
+ \medmuskip \halfmedmuskip
+ \thinmuskip \halfthinmuskip
+ \relpenalty \defaultrelpenalty
+ \binoppenalty \defaultbinoppenalty
+ \prebinoppenalty\maxdimen
+ \prerelpenalty \maxdimen
\stopsetups
\startsetups math:spacing:tight
@@ -326,8 +347,10 @@
\medmuskip 1\halfmedmuskip
\thinmuskip 1\halfthinmuskip
\fi
- \relpenalty \defaultrelpenalty
- \binoppenalty \maxdimen
+ \relpenalty \defaultrelpenalty
+ \binoppenalty \maxdimen
+ \prebinoppenalty\maxdimen
+ \prerelpenalty \maxdimen
\stopsetups
\startsetups math:spacing:fixed
@@ -340,8 +363,10 @@
\medmuskip 1\halfmedmuskip
\thinmuskip 1\halfthinmuskip
\fi
- \relpenalty \maxdimen
- \binoppenalty \maxdimen
+ \relpenalty \maxdimen
+ \binoppenalty \maxdimen
+ \prebinoppenalty\maxdimen
+ \prerelpenalty \maxdimen
\stopsetups
% \dorecurse{80}{test \m[i:tight]{\red \fakeformula} test }
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index b55ac229d..69221db12 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -1,17 +1,9 @@
--- the tex table has overlap
-
return {
["aleph"]={
"AlephVersion",
"Alephminorversion",
"Alephrevision",
"Alephversion",
- "Omegaminorversion",
- "Omegarevision",
- "Omegaversion",
- "boxdir",
- "pagebottomoffset",
- "pagerightoffset",
},
["etex"]={
"botmarks",
@@ -85,9 +77,7 @@ return {
"Udelimiterover",
"Udelimiterunder",
"Uhextensible",
- "Uleft",
"Umathaccent",
---"Umathaccents",
"Umathaxis",
"Umathbinbinspacing",
"Umathbinclosespacing",
@@ -97,7 +87,6 @@ return {
"Umathbinordspacing",
"Umathbinpunctspacing",
"Umathbinrelspacing",
---"Umathbotaccent",
"Umathchar",
"Umathcharclass",
"Umathchardef",
@@ -115,7 +104,6 @@ return {
"Umathcloserelspacing",
"Umathcode",
"Umathcodenum",
- "Umathcodenumdef",
"Umathconnectoroverlapmin",
"Umathfractiondelsize",
"Umathfractiondenomdown",
@@ -137,6 +125,8 @@ return {
"Umathlimitbelowbgap",
"Umathlimitbelowkern",
"Umathlimitbelowvgap",
+ "Umathnolimitsubfactor",
+ "Umathnolimitsupfactor",
"Umathopbinspacing",
"Umathopclosespacing",
"Umathopenbinspacing",
@@ -210,12 +200,10 @@ return {
"Umathunderbarvgap",
"Umathunderdelimiterbgap",
"Umathunderdelimitervgap",
- "Umathnolimitsupfactor",
- "Umathnolimitsubfactor",
- "Umiddle",
+ "Unosubscript",
+ "Unosuperscript",
"Uoverdelimiter",
"Uradical",
- "Uright",
"Uroot",
"Uskewed",
"Uskewedwithdelims",
@@ -226,8 +214,6 @@ return {
"Ustopmath",
"Usubscript",
"Usuperscript",
- "Unosubscript",
- "Unosuperscript",
"Uunderdelimiter",
"Uvextensible",
"adjustspacing",
@@ -235,14 +221,11 @@ return {
"aligntab",
"attribute",
"attributedef",
- "hyphenpenaltymode",
+ "automaticdiscretionary",
"automatichyphenmode",
"automatichyphenpenalty",
- "automaticdiscretionary",
- "explicithyphenpenalty",
- "explicitdiscretionary",
+ "begincsname",
"bodydir",
- "boundary",
"boxdir",
"catcodetable",
"clearmarks",
@@ -256,19 +239,27 @@ return {
"dvifeedback",
"dvivariable",
"efcode",
- "hjcode",
- "firstvalidlanguage",
+ "etoksapp",
+ "etokspre",
+ "expanded",
+ "expandglyphsinfont",
+ "explicitdiscretionary",
+ "explicithyphenpenalty",
"fontid",
"formatname",
"gleaders",
- "hyphenationmin",
+ "hjcode",
"hyphenationbounds",
+ "hyphenationmin",
+ "hyphenpenaltymode",
"ifabsdim",
"ifabsnum",
+ "ifincsname",
"ifprimitive",
"ignoreligaturesinfont",
"initcatcodetable",
"insertht",
+ "lastnamedcs",
"lastsavedboxresourceindex",
"lastsavedimageresourceindex",
"lastsavedimageresourcepages",
@@ -286,34 +277,34 @@ return {
"localrightbox",
"lpcode",
"luaescapestring",
+ "luafunction",
"luatexbanner",
"luatexrevision",
"luatexversion",
- "luafunction",
"mathdir",
"mathdisplayskipmode",
"matheqnogapstep",
"mathitalicsmode",
"mathnolimitsmode",
"mathoption",
+ "mathpenaltiesmode",
+ "mathrulesfam",
+ "mathrulesmode",
"mathscriptsmode",
"mathstyle",
- "mathsurroundskip",
"mathsurroundmode",
- "mathrulesmode",
- "mathrulesfam",
- "noboundary",
- "nokerns",
+ "mathsurroundskip",
"nohrule",
+ "nokerns",
"noligs",
+ "normaldeviate",
"nospaces",
"novrule",
- "normaldeviate",
"outputbox",
"outputmode",
+ "pagebottomoffset",
"pagedir",
"pageheight",
- "pagebottomoffset",
"pageleftoffset",
"pagerightoffset",
"pagetopoffset",
@@ -322,15 +313,17 @@ return {
"pdfextension",
"pdffeedback",
"pdfvariable",
+ "postdisplaypenalty",
"postexhyphenchar",
"posthyphenchar",
"predisplaygapfactor",
+ "predisplaypenalty",
"preexhyphenchar",
"prehyphenchar",
"primitive",
"protrudechars",
- "protrusionboundary",
"pxdimen",
+ "quitvmode",
"randomseed",
"rightghost",
"rightmarginkern",
@@ -346,41 +339,22 @@ return {
"suppressfontnotfounderror",
"suppressifcsnameerror",
"suppresslongerror",
- "suppressoutererror",
"suppressmathparerror",
+ "suppressoutererror",
"synctex",
"tagcode",
"textdir",
+ "toksapp",
+ "tokspre",
"tracingfonts",
"uniformdeviate",
"useboxresource",
"useimageresource",
- "wordboundary",
- --
- "vpack",
- "hpack",
- "tpack",
- "csstring",
- "begincsname",
- "lastnamedcs",
- "toksapp",
- "tokspre",
- "etoksapp",
- "etokspre",
},
["omega"]={
- "OmegaVersion",
- "bodydir",
- "chardp",
- "charht",
- "charit",
- "charwd",
- "leftghost",
- "localbrokenpenalty",
- "localinterlinepenalty",
- "localleftbox",
- "localrightbox",
- "mathdir",
+ "Omegaminorversion",
+ "Omegarevision",
+ "Omegaversion",
"odelcode",
"odelimiter",
"omathaccent",
@@ -388,23 +362,11 @@ return {
"omathchardef",
"omathcode",
"oradical",
- "pagedir",
- "pageheight",
- "pagewidth",
- "pardir",
- "rightghost",
- "textdir",
},
["pdftex"]={
- "efcode",
- "expanded",
- "ifincsname",
"ifpdfabsdim",
"ifpdfabsnum",
"ifpdfprimitive",
- "leftmarginkern",
- "letterspacefont",
- "lpcode",
"pdfadjustspacing",
"pdfannot",
"pdfcatalog",
@@ -417,8 +379,8 @@ return {
"pdfdest",
"pdfdestmargin",
"pdfdraftmode",
- "pdfeachlineheight",
"pdfeachlinedepth",
+ "pdfeachlineheight",
"pdfendlink",
"pdfendthread",
"pdffirstlineheight",
@@ -427,24 +389,22 @@ return {
"pdffontname",
"pdffontobjnum",
"pdffontsize",
- "pdfxformmargin",
"pdfgamma",
"pdfgentounicode",
"pdfglyphtounicode",
"pdfhorigin",
"pdfignoreddimen",
+ "pdfignoreunknownimages",
+ "pdfimageaddfilename",
"pdfimageapplygamma",
"pdfimagegamma",
"pdfimagehicolor",
"pdfimageresolution",
"pdfincludechars",
"pdfinclusioncopyfonts",
- "pdfignoreunknownimages",
"pdfinclusionerrorlevel",
- "pdfignoreunknownimages",
"pdfinfo",
"pdfinfoomitdate",
- "pdftrailerid",
"pdfinsertht",
"pdflastannot",
"pdflastlinedepth",
@@ -474,9 +434,9 @@ return {
"pdfpageresources",
"pdfpagesattr",
"pdfpagewidth",
+ "pdfpkfixeddpi",
"pdfpkmode",
"pdfpkresolution",
- "pdfpkfixeddpi",
"pdfprimitive",
"pdfprotrudechars",
"pdfpxdimen",
@@ -493,39 +453,31 @@ return {
"pdfsetrandomseed",
"pdfstartlink",
"pdfstartthread",
+ "pdfsuppressoptionalinfo",
+ "pdfsuppressptexinfo",
"pdftexbanner",
"pdftexrevision",
"pdftexversion",
- "pdfsuppressptexinfo",
- "pdfsuppressoptionalinfo",
"pdfthread",
"pdfthreadmargin",
"pdftracingfonts",
"pdftrailer",
+ "pdftrailerid",
"pdfuniformdeviate",
"pdfuniqueresname",
"pdfvorigin",
"pdfxform",
"pdfxformattr",
+ "pdfxformmargin",
"pdfxformname",
"pdfxformresources",
"pdfximage",
- "quitvmode",
- "rightmarginkern",
- "rpcode",
- "tagcode",
},
["tex"]={
+ " ",
"-",
"/",
- "AlephVersion",
- "Alephminorversion",
- "Alephrevision",
- "Alephversion",
- "OmegaVersion",
- "Omegaminorversion",
- "Omegarevision",
- "Omegaversion",
+ "Uchar",
"Udelcode",
"Udelcodenum",
"Udelimiter",
@@ -534,7 +486,6 @@ return {
"Uhextensible",
"Uleft",
"Umathaccent",
---"Umathaccents",
"Umathaxis",
"Umathbinbinspacing",
"Umathbinclosespacing",
@@ -544,7 +495,6 @@ return {
"Umathbinordspacing",
"Umathbinpunctspacing",
"Umathbinrelspacing",
---"Umathbotaccent",
"Umathchar",
"Umathcharclass",
"Umathchardef",
@@ -562,7 +512,6 @@ return {
"Umathcloserelspacing",
"Umathcode",
"Umathcodenum",
- "Umathcodenumdef",
"Umathconnectoroverlapmin",
"Umathfractiondelsize",
"Umathfractiondenomdown",
@@ -584,6 +533,8 @@ return {
"Umathlimitbelowbgap",
"Umathlimitbelowkern",
"Umathlimitbelowvgap",
+ "Umathnolimitsubfactor",
+ "Umathnolimitsupfactor",
"Umathopbinspacing",
"Umathopclosespacing",
"Umathopenbinspacing",
@@ -657,9 +608,9 @@ return {
"Umathunderbarvgap",
"Umathunderdelimiterbgap",
"Umathunderdelimitervgap",
- "Umathnolimitsupfactor",
- "Umathnolimitsubfactor",
"Umiddle",
+ "Unosubscript",
+ "Unosuperscript",
"Uoverdelimiter",
"Uradical",
"Uright",
@@ -673,8 +624,6 @@ return {
"Ustopmath",
"Usubscript",
"Usuperscript",
- "Unosubscript",
- "Unosuperscript",
"Uunderdelimiter",
"Uvextensible",
"above",
@@ -683,6 +632,7 @@ return {
"abovewithdelims",
"accent",
"adjdemerits",
+ "adjustspacing",
"advance",
"afterassignment",
"aftergroup",
@@ -692,15 +642,13 @@ return {
"atopwithdelims",
"attribute",
"attributedef",
- "hyphenpenaltymode",
+ "automaticdiscretionary",
"automatichyphenmode",
"automatichyphenpenalty",
- "automaticdiscretionary",
- "explicithyphenpenalty",
- "explicitdiscretionary",
"badness",
"baselineskip",
"batchmode",
+ "begincsname",
"begingroup",
"belowdisplayshortskip",
"belowdisplayskip",
@@ -717,10 +665,6 @@ return {
"catcodetable",
"char",
"chardef",
---"chardp",
---"charht",
---"charit",
---"charwd",
"cleaders",
"clearmarks",
"closein",
@@ -738,6 +682,7 @@ return {
"crampedtextstyle",
"crcr",
"csname",
+ "csstring",
"currentgrouplevel",
"currentgrouptype",
"currentifbranch",
@@ -767,6 +712,7 @@ return {
"divide",
"doublehyphendemerits",
"dp",
+ "draftmode",
"dump",
"dviextension",
"dvifeedback",
@@ -777,7 +723,6 @@ return {
"eTeXversion",
"edef",
"efcode",
- "hjcode",
"else",
"emergencystretch",
"end",
@@ -791,6 +736,8 @@ return {
"errorcontextlines",
"errorstopmode",
"escapechar",
+ "etoksapp",
+ "etokspre",
"everycr",
"everydisplay",
"everyeof",
@@ -804,11 +751,14 @@ return {
"expandafter",
"expanded",
"expandglyphsinfont",
+ "explicitdiscretionary",
+ "explicithyphenpenalty",
"fam",
"fi",
"finalhyphendemerits",
"firstmark",
"firstmarks",
+ "firstvalidlanguage",
"floatingpenalty",
"font",
"fontchardp",
@@ -816,7 +766,6 @@ return {
"fontcharic",
"fontcharwd",
"fontdimen",
- "firstvalidlanguage",
"fontid",
"fontname",
"formatname",
@@ -840,18 +789,21 @@ return {
"hfill",
"hfilneg",
"hfuzz",
+ "hjcode",
"hoffset",
"holdinginserts",
+ "hpack",
"hrule",
"hsize",
"hskip",
"hss",
"ht",
"hyphenation",
+ "hyphenationbounds",
+ "hyphenationmin",
"hyphenchar",
"hyphenpenalty",
- "hyphenationmin",
- "hyphenationbounds",
+ "hyphenpenaltymode",
"if",
"ifabsdim",
"ifabsnum",
@@ -870,9 +822,6 @@ return {
"ifmmode",
"ifnum",
"ifodd",
- "ifpdfabsdim",
- "ifpdfabsnum",
- "ifpdfprimitive",
"ifprimitive",
"iftrue",
"ifvbox",
@@ -887,6 +836,7 @@ return {
"input",
"inputlineno",
"insert",
+ "insertht",
"insertpenalties",
"interactionmode",
"interlinepenalties",
@@ -897,6 +847,7 @@ return {
"lastbox",
"lastkern",
"lastlinefit",
+ "lastnamedcs",
"lastnodetype",
"lastpenalty",
"lastsavedboxresourceindex",
@@ -932,6 +883,7 @@ return {
"lowercase",
"lpcode",
"luaescapestring",
+ "luafunction",
"luatexbanner",
"luatexrevision",
"luatexversion",
@@ -955,15 +907,16 @@ return {
"mathopen",
"mathoption",
"mathord",
+ "mathpenaltiesmode",
"mathpunct",
"mathrel",
- "mathrulesmode",
"mathrulesfam",
+ "mathrulesmode",
"mathscriptsmode",
"mathstyle",
- "mathsurroundskip",
- "mathsurroundmode",
"mathsurround",
+ "mathsurroundmode",
+ "mathsurroundskip",
"maxdeadcycles",
"maxdepth",
"meaning",
@@ -984,36 +937,30 @@ return {
"noalign",
"noboundary",
"noexpand",
+ "nohrule",
"noindent",
"nokerns",
- "nohrule",
"noligs",
- "nospaces",
- "novrule",
"nolimits",
"nolocaldirs",
"nolocalwhatsits",
"nonscript",
"nonstopmode",
"normaldeviate",
+ "nospaces",
+ "novrule",
"nulldelimiterspace",
"nullfont",
"number",
"numexpr",
- "odelcode",
- "odelimiter",
- "omathaccent",
- "omathchar",
- "omathchardef",
- "omathcode",
"omit",
"openin",
"openout",
"or",
- "oradical",
"outer",
"output",
"outputbox",
+ "outputmode",
"outputpenalty",
"over",
"overfullrule",
@@ -1046,123 +993,21 @@ return {
"parskip",
"patterns",
"pausing",
- "pdfadjustspacing",
- "pdfannot",
- "pdfcatalog",
- "pdfcolorstack",
- "pdfcolorstackinit",
- "pdfcompresslevel",
- "pdfcopyfont",
- "pdfcreationdate",
- "pdfdecimaldigits",
- "pdfdest",
- "pdfdestmargin",
- "pdfdraftmode",
- "pdfeachlineheight",
- "pdfeachlinedepth",
- "pdfendlink",
- "pdfendthread",
"pdfextension",
+ "pdffeedback",
"pdfvariable",
- "pdffirstlineheight",
- "pdffontattr",
- "pdffontexpand",
- "pdffontname",
- "pdffontobjnum",
- "pdffontsize",
- "pdfxformmargin",
- "pdfgamma",
- "pdfgentounicode",
- "pdfglyphtounicode",
- "pdfhorigin",
- "pdfignoreddimen",
- "pdfimageaddfilename",
- "pdfimageapplygamma",
- "pdfimagegamma",
- "pdfimagehicolor",
- "pdfimageresolution",
- "pdfincludechars",
- "pdfinclusioncopyfonts",
- "pdfinclusionerrorlevel",
- "pdfignoreunknownimages",
- "pdfinfo",
- "pdfinfoomitdate",
- "pdftrailerid",
- "pdfinsertht",
- "pdflastannot",
- "pdflastlinedepth",
- "pdflastlink",
- "pdflastobj",
- "pdflastxform",
- "pdflastximage",
- "pdflastximagepages",
- "pdflastxpos",
- "pdflastypos",
- "pdflinkmargin",
- "pdfliteral",
- "pdfmapfile",
- "pdfmapline",
- "pdfminorversion",
- "pdfnames",
- "pdfnoligatures",
- "pdfnormaldeviate",
- "pdfobj",
- "pdfobjcompresslevel",
- "pdfoutline",
- "pdfoutput",
- "pdfpageattr",
- "pdfpagebox",
- "pdfpageheight",
- "pdfpageref",
- "pdfpageresources",
- "pdfpagesattr",
- "pdfpagewidth",
- "pdfpkmode",
- "pdfpkresolution",
- "pdfpkfixeddpi",
- "pdfprimitive",
- "pdfprotrudechars",
- "pdfpxdimen",
- "pdfrandomseed",
- "pdfrefobj",
- "pdfrefxform",
- "pdfrefximage",
- "pdfreplacefont",
- "pdfrestore",
- "pdfretval",
- "pdfsave",
- "pdfsavepos",
- "pdfsetmatrix",
- "pdfsetrandomseed",
- "pdfstartlink",
- "pdfstartthread",
- "pdftexbanner",
- "pdftexrevision",
- "pdftexversion",
- "pdfsuppressptexinfo",
- "pdfsuppressoptionalinfo",
- "pdfthread",
- "pdfthreadmargin",
- "pdftracingfonts",
- "pdftrailer",
- "pdfuniformdeviate",
- "pdfuniqueresname",
- "pdfvorigin",
- "pdfxform",
- "pdfxformattr",
- "pdfxformname",
- "pdfxformresources",
- "pdfximage",
"penalty",
"postdisplaypenalty",
"postexhyphenchar",
"posthyphenchar",
+ "prebinoppenalty",
"predisplaydirection",
"predisplaygapfactor",
"predisplaypenalty",
"predisplaysize",
"preexhyphenchar",
"prehyphenchar",
+ "prerelpenalty",
"pretolerance",
"prevdepth",
"prevgraf",
@@ -1187,9 +1032,9 @@ return {
"romannumeral",
"rpcode",
"saveboxresource",
+ "savecatcodetable",
"saveimageresource",
"savepos",
- "savecatcodetable",
"savinghyphcodes",
"savingvdiscards",
"scantextokens",
@@ -1204,8 +1049,8 @@ return {
"setfontid",
"setlanguage",
"setrandomseed",
- "shapemode",
"sfcode",
+ "shapemode",
"shipout",
"show",
"showbox",
@@ -1219,7 +1064,6 @@ return {
"skewchar",
"skip",
"skipdef",
---"skipexpr",
"spacefactor",
"spaceskip",
"span",
@@ -1235,8 +1079,8 @@ return {
"suppressfontnotfounderror",
"suppressifcsnameerror",
"suppresslongerror",
- "suppressoutererror",
"suppressmathparerror",
+ "suppressoutererror",
"synctex",
"tabskip",
"tagcode",
@@ -1248,11 +1092,14 @@ return {
"thinmuskip",
"time",
"toks",
+ "toksapp",
"toksdef",
+ "tokspre",
"tolerance",
"topmark",
"topmarks",
"topskip",
+ "tpack",
"tracingassigns",
"tracingcommands",
"tracingfonts",
@@ -1294,6 +1141,7 @@ return {
"vfilneg",
"vfuzz",
"voffset",
+ "vpack",
"vrule",
"vsize",
"vskip",
@@ -1309,19 +1157,8 @@ return {
"xleaders",
"xspaceskip",
"year",
- --
- "vpack",
- "hpack",
- "tpack",
- "csstring",
- "begincsname",
- "lastnamedcs",
- "toksapp",
- "tokspre",
- "etoksapp",
- "etokspre",
},
["xetex"]={
"XeTeXversion",
},
-}
+} \ No newline at end of file
diff --git a/tex/context/base/mkiv/mult-prm.mkiv b/tex/context/base/mkiv/mult-prm.mkiv
index e385341c2..308606d7e 100644
--- a/tex/context/base/mkiv/mult-prm.mkiv
+++ b/tex/context/base/mkiv/mult-prm.mkiv
@@ -13,6 +13,20 @@
%D This file is only a helper for generating files that can be used in an
%D editor for syntax highlighting.
+% local all = table.load("mult-prm.lua")
+% local tex = table.tohash(all.tex)
+% for k, v in next, all do
+% if k ~= "tex" then
+% local h = table.tohash(v)
+% for k, v in next, h do
+% tex[k] = nil
+% end
+% all[k] = table.sortedkeys(h)
+% end
+% end
+% all.tex = table.sortedkeys(tex)
+% print((string.gsub(table.serialize(all,true),' "','\n "')))
+
\startluacode
context.starttext()
@@ -33,6 +47,35 @@
"savingvdiscards",
},
pdftex = {
+ "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "pdfadjustspacing",
+ "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit",
+ "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate",
+ "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode",
+ "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink",
+ "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand",
+ "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma",
+ "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin",
+ "pdfignoreddimen", "pdfignoreunknownimages", "pdfimageaddfilename",
+ "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor",
+ "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts",
+ "pdfinclusionerrorlevel", "pdfinfo", "pdfinfoomitdate",
+ "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink",
+ "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages",
+ "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral",
+ "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames",
+ "pdfnoligatures", "pdfnormaldeviate", "pdfobj",
+ "pdfobjcompresslevel", "pdfoutline", "pdfoutput", "pdfpageattr",
+ "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources",
+ "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode",
+ "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen",
+ "pdfrandomseed", "pdfrefobj", "pdfrefxform", "pdfrefximage",
+ "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos",
+ "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread",
+ "pdfsuppressoptionalinfo", "pdfsuppressptexinfo", "pdftexbanner",
+ "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin",
+ "pdftracingfonts", "pdftrailer", "pdftrailerid", "pdfuniformdeviate",
+ "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr",
+ "pdfxformmargin", "pdfxformname", "pdfxformresources", "pdfximage",
},
luatex = {
},
@@ -41,10 +84,10 @@
},
omega = {
"Omegaminorversion", "Omegarevision", "Omegaversion",
- "omathcode", "odelcode", "omathchardef", "omathchar", "omathaccent", "odelimiter", "oradical",
+ "odelcode", "odelimiter", "omathaccent", "omathchar", "omathchardef", "omathcode", "oradical",
},
xetex = {
- "XeTeXversion",
+ "XeTeXversion", -- probably some more
},
plain = {
"TeX",
@@ -63,13 +106,13 @@
}
local primitives = {
- tex = table.sorted( table.merged( missing.tex , table.fromhash(tex.primitives()) ) ),
- etex = table.sorted( table.merged( missing.etex , tex.extraprimitives('etex') ) ),
- pdftex = table.sorted( table.merged( missing.pdftex, tex.extraprimitives('pdftex') ) ),
- luatex = table.sorted( table.merged( missing.luatex, tex.extraprimitives('luatex') ) ),
- aleph = table.sorted( table.merged( missing.aleph , tex.extraprimitives('aleph') ) ),
- omega = table.sorted( table.merged( missing.omega , tex.extraprimitives('omega') ) ),
- xetex = table.sorted( table.merged( missing.xetex , { } ) ),
+ tex = table.sorted( table.merged( missing.tex , tex.primitives() ) ),
+ etex = table.sorted( table.merged( missing.etex , tex.extraprimitives('etex') ) ),
+ pdftex = table.sorted( table.merged( missing.pdftex, { } ) ),
+ luatex = table.sorted( table.merged( missing.luatex, tex.extraprimitives('luatex') ) ),
+ aleph = table.sorted( table.merged( missing.aleph , { } ) ),
+ omega = table.sorted( table.merged( missing.omega , { } ) ),
+ xetex = table.sorted( table.merged( missing.xetex , { } ) ),
}
-- table.remove(primitives.tex,1) -- get rid of \-
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index e88315d6b..61de37d39 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 9ae6f503b..ffe955c1c 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-mat.mkiv b/tex/context/base/mkiv/strc-mat.mkiv
index 8f3d2cc11..7ba652818 100644
--- a/tex/context/base/mkiv/strc-mat.mkiv
+++ b/tex/context/base/mkiv/strc-mat.mkiv
@@ -752,6 +752,11 @@
\setformulaparameter\c!grid{\v!math:-\v!halfline}%
\fi}
+% when we have 1.0.6 we wil use \mathpenaltiesmode
+%
+% \prebinoppenalty -100
+% \prerelpenalty -100
+
\def\strc_math_set_split
{\edef\p_split{\formulaparameter\c!split}%
\ifx\p_split\v!yes
@@ -762,9 +767,11 @@
\global\c_strc_math_vertical\zerocount
\fi\fi
\ifcase\c_strc_math_vertical
+ % \mathpenaltiesmode \zerocount
\clf_setmathpenalties\zerocount
\clf_resetmathhang
\else
+ % \mathpenaltiesmode \plusone
\clf_setmathpenalties\plusone
\edef\p_hang{\formulaparameter\c!hang}%
\ifx\p_hang\v!none
diff --git a/tex/context/base/mkiv/syst-ini.mkiv b/tex/context/base/mkiv/syst-ini.mkiv
index 63108feb7..380f94e6d 100644
--- a/tex/context/base/mkiv/syst-ini.mkiv
+++ b/tex/context/base/mkiv/syst-ini.mkiv
@@ -1195,4 +1195,8 @@
\ifdefined\explicitdiscretionary \else \let\explicitdiscretionary \- \fi
\ifdefined\automaticdiscretionary \else \def\automaticdiscretionary{\Uchar\exhyphenchar} \fi
+\ifdefined\mathpenaltiesmode \else \newcount\mathpenaltiesmode \fi
+\ifdefined\prebinoppenalty \else \newcount\prebinoppenalty \fi
+\ifdefined\prerelpenalty \else \newcount\prerelpenalty \fi
+
\protect \endinput
diff --git a/tex/context/base/mkiv/util-lib.lua b/tex/context/base/mkiv/util-lib.lua
index 817ac2753..ab26afe46 100644
--- a/tex/context/base/mkiv/util-lib.lua
+++ b/tex/context/base/mkiv/util-lib.lua
@@ -229,10 +229,12 @@ local function locate(required,version,trace,report,action)
report("load error: message %a, library %a",tostring(message or "unknown"),found_library or "no library")
end
end
- if not library then
- report("unknown library: %a",required)
- elseif trace then
- report("stored library: %a",required)
+ if trace then
+ if not library then
+ report("unknown library: %a",required)
+ else
+ report("stored library: %a",required)
+ end
end
return library
end
@@ -341,6 +343,8 @@ We use the same lookup logic for ffi loading.
local trace_ffilib = false
local savedffiload = ffi.load
+ -- ffi.savedload = savedffiload
+
trackers.register("resolvers.ffilib", function(v) trace_ffilib = v end)
local function locateindeed(name)
@@ -366,10 +370,11 @@ We use the same lookup logic for ffi loading.
local library = ffilib(name)
if type(library) == "userdata" then
return library
- else
+ end
+ if trace_ffilib then
report_ffilib("trying to load %a using normal loader",name)
- return savedffiload(name)
end
+ return savedffiload(name)
end
end
diff --git a/tex/context/base/mkiv/util-sql-imp-sqlite.lua b/tex/context/base/mkiv/util-sql-imp-sqlite.lua
index 1a960c1c3..85ef83d45 100644
--- a/tex/context/base/mkiv/util-sql-imp-sqlite.lua
+++ b/tex/context/base/mkiv/util-sql-imp-sqlite.lua
@@ -6,16 +6,9 @@ if not modules then modules = { } end modules ['util-sql-imp-sqlite'] = {
license = "see context related readme files"
}
-local next = next
+local next, tonumber = next, tonumber
-local sql = require("util-sql")
------ sql = utilities.sql
-local sqlite = require("swiglib.sqlite.core")
-local swighelpers = require("swiglib.helpers.core")
-
--- sql.sqlite = sqlite -- maybe in the module itself
-
--- inspect(table.sortedkeys(sqlite))
+local sql = utilities.sql or require("util-sql")
local trace_sql = false trackers.register("sql.trace", function(v) trace_sql = v end)
local trace_queries = false trackers.register("sql.queries",function(v) trace_queries = v end)
@@ -25,26 +18,94 @@ local helpers = sql.helpers
local methods = sql.methods
local validspecification = helpers.validspecification
local preparetemplate = helpers.preparetemplate
-local splitdata = helpers.splitdata
-local serialize = sql.serialize
-local deserialize = sql.deserialize
-local getserver = sql.getserver
local setmetatable = setmetatable
local formatters = string.formatters
-local get_list_item = sqlite.char_p_array_getitem
-local is_okay = sqlite.SQLITE_OK
-local execute_query = sqlite.sqlite3_exec_lua_callback
-local error_message = sqlite.sqlite3_errmsg
+----- sqlite = require("swiglib.sqlite.core")
+----- swighelpers = require("swiglib.helpers.core")
+-----
+----- get_list_item = sqlite.char_p_array_getitem
+----- is_okay = sqlite.SQLITE_OK
+----- execute_query = sqlite.sqlite3_exec_lua_callback
+----- error_message = sqlite.sqlite3_errmsg
+-----
+----- new_db = sqlite.new_sqlite3_p_array
+----- open_db = sqlite.sqlite3_open
+----- get_db = sqlite.sqlite3_p_array_getitem
+----- close_db = sqlite.sqlite3_close
+----- dispose_db = sqlite.delete_sqlite3_p_array
+
+local ffi = require("ffi")
+
+ffi.cdef [[
+
+ typedef struct sqlite3 sqlite3;
+
+ int sqlite3_initialize (
+ void
+ ) ;
+
+ int sqlite3_open (
+ const char *filename,
+ sqlite3 **ppDb
+ ) ;
+
+ int sqlite3_close (
+ sqlite3 *
+ ) ;
+
+ int sqlite3_exec (
+ sqlite3*,
+ const char *sql,
+ int (*callback)(void*,int,char**,char**),
+ void *,
+ char **errmsg
+ ) ;
+
+ const char *sqlite3_errmsg (
+ sqlite3*
+ );
+]]
+
+local ffi_tostring = ffi.string
+
+local sqlite = ffi.load("sqlite3")
+
+sqlite.sqlite3_initialize();
+
+local c_errmsg = sqlite.sqlite3_errmsg
+local c_open = sqlite.sqlite3_open
+local c_close = sqlite.sqlite3_close
+local c_exec = sqlite.sqlite3_exec
+
+local is_okay = 0
+local open_db = c_open
+local close_db = c_close
+local execute_query = c_exec
+
+local function error_message(db)
+ return ffi_tostring(c_errmsg(db))
+end
-local new_db = sqlite.new_sqlite3_p_array
-local open_db = sqlite.sqlite3_open
-local get_db = sqlite.sqlite3_p_array_getitem
-local close_db = sqlite.sqlite3_close
-local dispose_db = sqlite.delete_sqlite3_p_array
+local function new_db(n)
+ return ffi.new("sqlite3*["..n.."]")
+end
-local cache = { }
+local function dispose_db(db)
+end
+
+local function get_db(db,n)
+ return db[n]
+end
+
+-- local function execute_query(dbh,query,callback)
+-- local c = ffi.cast("int (*callback)(void*,int,char**,char**)",callback)
+-- c_exec(dbh,query,c,nil,nil)
+-- c:free()
+-- end
+
+local cache = { }
setmetatable(cache, {
__gc = function(t)
@@ -135,30 +196,31 @@ local function execute(specification)
query = preamble .. query -- only needed in open
end
if converter then
- converter = converter.sqlite
+ local convert = converter.sqlite
+ local column = { }
callback = function(data,nofcolumns,values,fields)
- local column = { }
- for i=0,nofcolumns-1 do
- column[i+1] = get_list_item(values,i)
+ for i=1,nofcolumns do
+ -- column[i] = get_list_item(values,i-1)
+ column[i] = ffi_tostring(values[i-1])
end
- nofrows = nofrows + 1
- result[nofrows] = converter(column)
+ nofrows = nofrows + 1
+ result[nofrows] = convert(column)
return is_okay
end
- --
- -- callback = converter.sqlite
else
+ local column = { }
callback = function(data,nofcolumns,values,fields)
- local column = { }
for i=0,nofcolumns-1 do
local field
if keysdone then
field = keys[i+1]
else
- field = get_list_item(fields,i)
+ -- field = get_list_item(fields,i)
+ field = ffi_tostring(fields[i])
keys[i+1] = field
end
- column[field] = get_list_item(values,i)
+ -- column[field] = get_list_item(values,i)
+ column[field] = ffi_tostring(values[i])
end
nofrows = nofrows + 1
keysdone = true
@@ -201,34 +263,6 @@ end
local celltemplate = "cells[%s]"
--- todo: how to deal with result ... pass via temp global .. bah .. or
--- also pass the execute here ... not now
---
--- local wraptemplate = [[
--- local converters = utilities.sql.converters
--- local deserialize = utilities.sql.deserialize
---
--- local tostring = tostring
--- local tonumber = tonumber
--- local booleanstring = string.booleanstring
---
--- local get_list_item = utilities.sql.sqlite.char_p_array_getitem
--- local is_okay = utilities.sql.sqlite.SQLITE_OK
---
--- %s
---
--- return function(data,nofcolumns,values,fields)
--- -- no %s (data) needed
--- -- no %s (i) needed
--- local cells = { }
--- for i=0,nofcolumns-1 do
--- cells[i+1] = get_list_item(values,i)
--- end
--- result[#result+1] = { %s }
--- return is_okay
--- end
--- ]]
-
methods.sqlite = {
execute = execute,
usesfiles = false,
diff --git a/tex/context/base/mkiv/util-sql-loggers.lua b/tex/context/base/mkiv/util-sql-loggers.lua
index 4473f8971..7e64a435a 100644
--- a/tex/context/base/mkiv/util-sql-loggers.lua
+++ b/tex/context/base/mkiv/util-sql-loggers.lua
@@ -53,16 +53,16 @@ loggers.totype = totype
loggers.fromtype = fromtype
local template = [[
- CREATE TABLE IF NOT EXISTS %basename% (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `time` int(11) NOT NULL,
- `type` int(11) NOT NULL,
- `action` varchar(15) NOT NULL,
- `data` longtext,
- PRIMARY KEY (`id`),
- UNIQUE KEY `id_unique_key` (`id`)
- )
- DEFAULT CHARSET = utf8 ;
+CREATE TABLE IF NOT EXISTS %basename% (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `time` int(11) NOT NULL,
+ `type` int(11) NOT NULL,
+ `action` varchar(15) NOT NULL,
+ `data` longtext,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `id_unique_key` (`id`)
+)
+DEFAULT CHARSET = utf8 ;
]]
local sqlite_template = [[
@@ -79,7 +79,7 @@ function loggers.createdb(presets,datatable)
local db = checkeddb(presets,datatable)
db.execute {
- template = db.usedmethod == "sqlite" and sqlite_template or template,
+ template = (db.usedmethod == "sqlite" or db.usedmethod == "sqlffi") and sqlite_template or template,
variables = {
basename = db.basename,
},
diff --git a/tex/context/base/mkiv/util-sql.lua b/tex/context/base/mkiv/util-sql.lua
index 0eff25130..d01a2267c 100644
--- a/tex/context/base/mkiv/util-sql.lua
+++ b/tex/context/base/mkiv/util-sql.lua
@@ -110,10 +110,14 @@ local defaults = { __index =
}
setmetatableindex(sql.methods,function(t,k)
- report_state("start loading method %a",k)
- require("util-sql-imp-"..k)
- report_state("loading method %a done",k)
- return rawget(t,k)
+ if type(k) == "string" then
+ report_state("start loading method %a",k)
+ require("util-sql-imp-"..k)
+ report_state("loading method %a done",k)
+ return rawget(t,k)
+ else
+ report_state("invalid method %a",tostring(k))
+ end
end)
-- converters
@@ -332,6 +336,10 @@ function sql.usedatabase(presets,datatable)
if not method then
usedmethod = sql.methods.client
method = usedmethod and sqlmethods[usedmethod]
+ if not method then
+ report_state("invalid method")
+ return
+ end
end
local base = presets.database or "test"
local basename = format("`%s`.`%s`",base,name)
diff --git a/tex/context/fonts/mkiv/lm-math.lfg b/tex/context/fonts/mkiv/lm-math.lfg
index b8c996979..a0fd2c21c 100644
--- a/tex/context/fonts/mkiv/lm-math.lfg
+++ b/tex/context/fonts/mkiv/lm-math.lfg
@@ -30,9 +30,9 @@
-- end
-- end
--
--- patches.register("after","prepare glyphs","^lmroman", patch)
--- patches.register("after","prepare glyphs","^lmsans", patch)
--- patches.register("after","prepare glyphs","^lmtypewriter",patch)
+-- patches.register("before","check extra features","^lmroman", patch)
+-- patches.register("before","check extra features","^lmsans", patch)
+-- patches.register("before","check extra features","^lmtypewriter",patch)
-- rm-lmr5 : LMMathRoman5-Regular
-- rm-lmbx5 : LMMathRoman5-Bold ]
diff --git a/tex/context/fonts/mkiv/unifraktur.lfg b/tex/context/fonts/mkiv/unifraktur.lfg
index 32ffed928..4bae0be7e 100644
--- a/tex/context/fonts/mkiv/unifraktur.lfg
+++ b/tex/context/fonts/mkiv/unifraktur.lfg
@@ -1,6 +1,6 @@
-- moved to treatments.lfg
--
--- fonts.handlers.otf.enhancers.patches.register("after","check metadata","unifraktur*", function(data,filename)
+-- fonts.handlers.otf.enhancers.patches.register("before","check extra features","unifraktur*", function(data,filename)
-- data.metadata.pfminfo.os2_xheight = nil
-- end)
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 111a63128..d2eecaba4 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index d63e87ed2..b3b355a38 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/context/modules/mkiv/s-math-repertoire.mkiv b/tex/context/modules/mkiv/s-math-repertoire.mkiv
index 91af45dfc..90d0b09d3 100644
--- a/tex/context/modules/mkiv/s-math-repertoire.mkiv
+++ b/tex/context/modules/mkiv/s-math-repertoire.mkiv
@@ -265,7 +265,7 @@
\unexpanded\def\showmathcharacterssetbodyfonts#1%
{\edef\showmathcharactersbodyfonts{#1}%
- \def\doshowmathcharacterssetbodyfonts##1{\setupbodyfont[##1,12pt]}%
+ \def\doshowmathcharacterssetbodyfonts##1{\setupbodyfont[##1,12pt]}% \usebodyfont[##1,12pt]%
\processcommacommand[\showmathcharactersbodyfonts]\doshowmathcharacterssetbodyfonts}
\unexpanded\def\showmathcharactersbodyfontschars#1%
@@ -453,7 +453,7 @@
\continueifinputfile{s-math-repertoire.mkiv}
-\showmathcharacterssetbodyfonts{lucidaot,cambria,xits,modern,pagella,termes,bonum,schola,dejavu}
+\showmathcharacterssetbodyfonts{lucidaot,cambria,xits,stixtwo,modern,pagella,termes,bonum,schola,dejavu}
\starttext
diff --git a/tex/context/modules/mkiv/s-tugboat.mkiv b/tex/context/modules/mkiv/s-tugboat.mkiv
new file mode 100644
index 000000000..2b3b07d11
--- /dev/null
+++ b/tex/context/modules/mkiv/s-tugboat.mkiv
@@ -0,0 +1,681 @@
+%D \module
+%D [ file=t-tugboat
+%D version=$Id: t-tugboat.tex 111 2013-02-25 17:56:22Z bnb $
+%D title=\CONTEXT\ Style File,
+%D subtitle=\TUGBOAT\ base style,
+%D author=Aditya Mahajan,
+%D date=\currentdate,
+%D copyright=Public Domain]
+
+%D This file is derived from \filename{s-tug-02} written by Hans Hagen
+%D and Steve Grathwohl. Karl Berry asked me for some changes in the
+%D \TUGBOAT\ style files. The original file had an option of typesetting
+%D on a grid. That was too clever for me to understand, and hence to
+%D modify. Since \TUGBOAT\ usually does not typeset on a grid, I redid the
+%D style, borrowing parts from \filename{s-tug-02} and redoing some
+%D parts from scratch.
+
+%D \section Variables %<<<1
+%D
+%D We store the information about the article in variables.
+
+\setvariables
+ [tugboat]
+ [type=article,
+ columns=no,
+ grid=yes
+ ]
+
+\setvariables
+ [tugboat]
+ [year=1900,
+ volume=0,
+ number=0,
+ page=900]
+
+\setvariables
+ [tugboat]
+ [title=ConTeXt style for TUGboat,
+ subtitle=,
+ keywords=,
+ author=T. Boat,
+ address=Pragmatically Advanced tugboats \\
+ 314 Pi Ave. \\
+ 8061GH Hasselt NL,
+ email={tugboat@tug.org}]
+
+%D \section Font Setup %<<<1
+%D
+%D \TUGBOAT\ uses slightly different interline space than the default.
+%D So we change the interline space.
+
+\definebodyfontenvironment [8pt] [interlinespace=9.5pt, big=9pt, small=7pt]
+\definebodyfontenvironment [9pt] [interlinespace=11pt, big=10pt, small=8pt]
+\definebodyfontenvironment [10pt] [interlinespace=12pt, big=12pt, small=9pt]
+\definebodyfontenvironment [12pt] [interlinespace=14pt,big=14.4pt,small=10pt]
+\definebodyfontenvironment [14.4pt] [interlinespace=18pt,big=14.4pt,small=12pt]
+\definebodyfontenvironment [9.8pt] % Because 9.8pt is used in typing environments
+
+%D \TUGBOAT\ uses Computer Modern fonts, and \CONTEXT\ uses Latin Modern
+%D by default. So, we just specify the font size.
+
+\setupbodyfont [10pt]
+
+% Italic rather than slanted for emphasis.
+\setupbodyfontenvironment[default][em=italic]
+
+% Break after these chars in urls, not before.
+\sethyphenatedurlafter /
+\sethyphenatedurlafter .
+\sethyphenatedurlafter _
+
+%D \section Layout Setup %<<<1
+%D
+%D The original layout used in the \LATEX\ style for \TUGBOAT\ is a bit
+%D ambiguous. It uses low|-|level \TEX\ syntax, rather than changing the
+%D layout in a human understandable way (for example, by using the
+%D \mono{geometry} package. I have tried to translate it to \CONTEXT\ as
+%D far as I understand.
+
+\setuppapersize[letter][letter]
+
+\setuplayout
+ [topspace=3.8pc,% was 3.5pc
+ header=1pc,
+ headerdistance=1.5pc,
+ height=middle,
+ footerdistance=2pc,
+ footer=1pc,
+ bottomspace=3pc,
+ %
+ backspace=6pc,
+ width=middle,
+ cutspace=6pc,
+ %
+ margin=4pc,
+ margindistance=1pc,
+ ]
+
+\setupcolumns[distance=1.5pc]
+
+\setuppagenumbering
+ [location=,
+ alternative=doublesided]
+
+%D In \TUGBOAT\ different articles are glued together to form the final
+%D journal, so we do not want each article to occupy even number of
+%D pages.
+
+\installpagebreakhandler {last} {}
+
+%D \section Indentation %<<<1
+%D
+%D We use automatic indentation control, that is: no
+%D indentation after titles and skips.
+
+\setupindenting[20pt,yes]
+
+%D We do not want indentation after lists.
+
+\setupenumerations [indentnext=no]
+
+\setupdescriptions [indentnext=no]
+
+%D \section Itemize
+%D
+%D And these. We typeset itemizations ragged right.
+
+\setupitemgroup
+ [itemize]
+ [indentnext=no,
+ align=right]
+
+%D We align them at the paragraph indentation and
+%D pack them by default.
+
+\setupitemgroup
+ [itemize]
+ [each]
+ [margin=1pc,
+ width=1em,
+ distance=0pt]
+
+\setupitemgroup
+ [itemize]
+ [1]
+ [packed]
+
+%D \section Section Headings %<<<1
+%D
+%D We follow the \TUGBOAT\ style for sections. I do not know if
+%D \type{align=right} also disables hyphenation. Lets wait and see on
+%D this. Rest all is straight forward. It took me a while to realize
+%D that in \LATEX\ \type{\@startsection} the absolute value of before
+%D skip (fourth argument) is important and not the sign.
+
+\setuphead
+ [section,subsection, subsubsection,
+ subject, subsubject, subsubsubject]
+ [style=bold,
+ align=right,
+ before={\blank[8pt]},
+ after={\blank[4pt]}]
+
+%D \section Spacing <<<1
+%D
+%D We define a logical skip. This is equal to the \tex{topsep} in latex,
+%D and most environments should have this skip.
+
+\defineblank[tugblank][3pt]
+\setupblank[3pt]
+
+
+\setupitemize[1][before={\blank[tugblank]},after={\blank[tugblank]},
+ inbetween={\blank[tugblank]}]
+
+\setuplines[before={\blank[tugblank]},after={\blank[tugblank]},
+ inbetween={\blank[tugblank]}]
+
+%D \section Typing %<<<1
+%D
+%D \TUGBOAT\ uses a smaller font size for verbatim typesetting.
+
+\setuptyping
+ [option=none,
+ % mkiv arbitrarily scales lm somehow randomly; 10pt gets 9pt back,
+ % we make it a little smaller.
+ bodyfont=9.8pt,
+ before={\blank[nowhite]}, % AM: If this is too small, use \blank[nowhite,tugblank]}
+ after={\blank[back,nowhite,tugblank]}]
+
+%D \section Footnotes %<<<1
+%D
+%D Not entirely a la \TUGBOAT:
+
+\setupfootnotes
+ [bodyfont=9pt,
+ location=columns%,
+% rule={\hrule width 5pc height .4pt depth 0pt\relax \kern \strutdepth}
+]
+
+\setupnotation[footnote]
+ [location=joinedup,
+ width=fit,
+ headstyle=normal,
+ distance=.5em]
+
+%>>>
+%D \section List %<<<
+%D
+%D We define a standard description and enumeration
+%D environment.
+
+\definedescription
+ [description]
+ [location=hanging,
+ width=broad,
+ before={\blank[tugblank]},
+ after={\blank[tugblank]}]
+
+\defineenumeration
+ [enumeration]
+ [location=hanging,
+ width=broad,
+ before={\blank[tugblank]},
+ after={\blank[tugblank]}]
+
+
+% >>>
+%D \section References %<<<
+%D
+%D The bib does not handle urls nicely. So we provide a stop gap solution.
+
+\definereferenceformat[cite][left={[},right={]}]
+\defineitemgroup [bibliography] [levels=1]
+\setupitemgroup [bibliography]
+ [symbol=n,
+ left={[},
+ right={]},
+ width=1.5em,
+ stopper=,
+ itemalign=flushright,
+ inbetween={\blank[small]}]
+
+%D Instead of color, we use weighted gray scales:
+\setupcolors
+ [conversion=always]
+
+%D English it is.
+\mainlanguage
+ [en]
+
+%D We define some logical skips
+
+\defineblank [tugbefore] [big]
+\defineblank [tuginbetween][big]
+\defineblank [tugafter] [tugbefore]
+
+%D Some real macros: <<<
+
+\def\StartAbstract
+ {\dostartbuffer[abstract][StartAbstract][StopAbstract]}
+
+\startsetups tugboat:abstract:setup
+
+ \setuptolerance
+ [horizontal, tolerant]
+
+ \setupnarrower
+ [before={\blank[.5\baselineskip]},
+% after={\blank[10pt plus4pt minus4pt]},
+ after={\blank[10pt]},
+ middle=4.875pc]
+
+\stopsetups
+
+%D Headers and footers are different for normal issues
+%D and proceedings.
+
+\startsetups tugboat:banner:text:article
+
+ {\sl TUGboat},\space
+ Volume \getvariable{tugboat}{volume}\space
+ (\getvariable{tugboat}{year}),\space
+ No.\space\getvariable{tugboat}{number}
+
+\stopsetups
+
+\def\postissno{Proceedings of the \tubyear\ Annual Meeting}
+
+\startsetups tugboat:banner:text:proceedings
+
+ \setups{tugboat:banner:text:article}
+ \thinspace---\thinspace
+ \postissno
+
+\stopsetups
+
+\startsetups tugboat:banner:setup:article
+
+ \setupheadertexts
+ [\setups{tugboat:banner:text:article}]
+ [\pagenumber]
+
+% no footer in regular articles
+% \setupfootertexts
+% [][\getvariable{tugboat}{author}]
+% [\getvariable{tugboat}{title}][]
+
+\stopsetups
+
+\startsetups tugboat:banner:setup:proceedings
+
+ \setupheadertexts
+ [][\getvariable{tugboat}{title}]
+ [\getvariable{tugboat}{author}][]
+
+ \setupfootertexts
+ [\setups{tugboat:banner:text:proceedings}]
+ [\pagenumber]
+
+\stopsetups
+
+%D article is default so,
+
+\setups{tugboat:banner:setup:article}
+
+%D It all starts here:
+
+\def\StartArticle{\setups{tugboat:\getvariable{tugboat}{type}:start}}
+\def\StopArticle {\setups{tugboat:article:stop}}
+
+\startsetups tugboat:grid:setup:settings:yes
+
+ \setupblank
+ [line]
+
+ \defineblank [tugbefore] [halfline]
+ \defineblank [tuginbetween] [halfline]
+
+\stopsetups
+
+\startsetups tugboat:grid:setup:no
+
+% \setupblank
+% [halfline]
+
+% \defineblank [medium] [halfline]
+% \defineblank [tugbefore] [halfline]
+% \defineblank [tuginbetween] [halfline]
+
+\stopsetups
+
+\startsetups tugboat:introduction:article
+
+% \blank[halfline]
+
+ \start
+ \def\\{\unskip\space\&\space\ignorespaces}
+ \hbox{\indent\getvariable{tugboat}{author}}
+ \par
+ \stop
+
+
+\stopsetups
+
+\startsetups tugboat:introduction:proceedings
+
+ \blank[20pt]
+
+ \start
+ \switchtobodyfont[12pt]
+ \def\\{\unskip\space\&\space\ignorespaces}
+ \getvariable{tugboat}{author}
+ \par
+ \stop
+
+ \start
+ \switchtobodyfont[9pt]
+ \def\\{\unskip,\space\ignorespaces}
+ \getvariable{tugboat}{address}
+ \par
+ {\tt\getvariable{tugboat}{email}}
+ \par
+ \stop
+
+
+\stopsetups
+
+\startsetups tugboat:article:start
+
+ \starttext
+
+ \setups{tugboat:columns:\getvariable{tugboat}{columns}}
+ \setups{tugboat:banner:setup:\getvariable{tugboat}{type}}
+
+ \doif{\getvariable{tugboat}{columns}}{yes}{\startcolumns}
+
+
+ % AM: Why set these again?
+ % \setupheadertexts
+ % [\setups{tugboat:banner:text:article}]
+ % [pagenumber]
+
+ % \setuppagenumber
+ % [number=\getvariable{tugboat}{page}]
+ \setcounter[userpage][\getvariable{tugboat}{page}]
+
+ % \setuplayout
+ % [grid=\getvariable{tugboat}{grid}]
+
+ % % instead of \startmode [*grid] ... \stopmode
+ % % instead of \startnotmode[*grid] ... \stopnotmode
+
+ \setups{tugboat:grid:setup:\getvariable{tugboat}{grid}}
+
+ \snaptogrid \vbox \bgroup
+
+ \forgetall
+\hrule height .6pt
+\blank[halfline]
+ \start
+ \let\\=\par
+ {\bf\getvariable{tugboat}{title}}
+ \par
+ \blank[halfline]
+ \hskip20pt\getvariable{tugboat}{author}
+ \stop
+
+% \setups{tugboat:introduction:\getvariable{tugboat}{type}}
+
+ \blank[line]
+
+ \doiftext{\getbuffer[abstract]}
+ {\let\\=\endgraf
+ \setups{tugboat:abstract:setup}
+ \subject{Abstract}
+ \getbuffer[abstract]}
+ \egroup
+\stopsetups
+
+\startsetups tugboat:proceedings:start
+
+ \starttext
+
+ \setups{tugboat:columns:\getvariable{tugboat}{columns}}
+ \setups{tugboat:banner:setup:\getvariable{tugboat}{type}}
+
+ \setupheader
+ [state=empty]
+
+ \setuppagenumber
+ [number=\getvariable{tugboat}{page}]
+
+ \setuplayout
+ [grid=\getvariable{tugboat}{grid}]
+
+ % instead of \startmode [*grid] ... \stopmode
+ % instead of \startnotmode[*grid] ... \stopnotmode
+ \doifmodeelse{*grid}{\setups{tugboat:grid:setup:yes}}{\setups{tugboat:grid:setup:no}}
+% \setups{tugboat:grid:setup:\systemmodevalue{grid}{yes}{no}}
+
+ \snaptogrid \vbox \bgroup
+
+ \forgetall
+
+ \start
+ \switchtobodyfont[14.4pt]
+ \let\\=\par
+ \getvariable{tugboat}{title}
+ \par
+ \stop
+
+ \setups{tugboat:introduction:\getvariable{tugboat}{type}}
+
+ \blank[9pt]% plus3pt minus3pt]
+
+ \let\\=\par
+ \setups{tugboat:abstract:setup}
+ \midaligned{\bf Abstract}
+
+ \startnarrower[middle]
+ \getbuffer[abstract]
+ \stopnarrower
+
+ % \blank[10pt plus4pt minus4pt]
+
+ \egroup
+
+ \doif{\getvariable{tugboat}{columns}}{yes}{\startcolumns}
+
+\stopsetups
+
+\def\signaturewidth{13pc}
+
+\definefontsynonym[LMSY][lmsy10]
+\def\mydiamond{\getglyph{LMSY}{\char5}}
+
+\startsetups tugboat:affiliation:article
+
+ \blank[line]
+
+ \snaptogrid \vbox \bgroup
+
+ \forgetall
+
+ \leftskip=\textwidth \advance\leftskip by -\signaturewidth
+
+ \let\\=\par
+ \leavevmode\llap{\mydiamond\enspace}\getvariable{tugboat}{author}
+ \par
+ \getvariable{tugboat}{address}
+ \par
+ {\tt\getvariable{tugboat}{email}}
+
+ \egroup
+
+\stopsetups
+
+\startsetups tugboat:affiliation:proceedings
+
+ % nothing fancy at the end
+
+\stopsetups
+
+\startsetups tugboat:article:stop
+
+ \setups{tugboat:affiliation:\getvariable{tugboat}{type}}
+
+ \doif{\getvariable{tugboat}{columns}}{yes}{\stopcolumns}
+
+ \page
+
+ \stoptext
+
+\stopsetups
+
+%D Normal word spacing, please.
+
+\setuptolerance
+ [strict]
+
+%D One can use the following setups (in the article) to
+%D collect settings specific to normal and/or multi
+%D column typesetting.
+
+\startsetups tugboat:columns:yes
+
+\stopsetups
+
+\startsetups tugboat:columns:no
+
+\stopsetups
+
+% >>> Logos, abbreviations: TODO: Clean up <<<
+\font\mflogo = logo10
+\def\MF{{\mflogo META\-FONT}}
+
+\def\ALEPH{Aleph}
+\def\API{\acro{API}}
+\def\CCODE{C}
+\def\CD{\acro{CD}}
+\def\CMYK{\acro{CMYK}}
+\def\CONTEXT{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
+\def\CPU{\acro{CPU}}
+\def\DVI{\acro{DVI}}
+\def\DVIPDFMX{dvipdfmx}
+\def\DVIPS{dvips}
+\def\ETEX{$\varepsilon$-\kern-.125em\TeX}
+\def\FTP{\acro{FTP}}
+\def\HTTP{\acro{HTTP}}
+\def\IO{\acro{I/O}}
+\def\ISO{\acro{ISO}}
+\def\KPSEWHICH{kpsewhich}
+\def\KPSE{\acro{KPSE}}
+\newcount\TestCount
+\newbox\TestBox
+\def\La{\TestCount=\the\fam \leavevmode L%
+ \setbox\TestBox=\hbox{$\fam\TestCount\scriptstyle A$}%
+ \kern-.5\wd\TestBox\raise.42ex\box\TestBox}
+\def\LATEX{\La\kern-.15em\TeX}
+\def\LATEXE{\LaTeX{}\kern.05em2$_{\textstyle\varepsilon}$}
+\def\LINUX{Linux}
+\def\LPEG{Lpeg}
+\def\LUAJIT{Lua\acro{JIT}}
+\def\LUATEX{Lua\-\TeX}
+\def\LUATOOLS{lua\-tools}
+\def\LUA{Lua}
+\def\MATHML{Math\acro{ML}}
+\def\METAFUN{Metafun}
+\def\METAPOST{MetaPost}
+\def\METATEX{Meta\TeX{}}
+\def\MKII{Mk\acro{II}}
+\def\MKIV{Mk\acro{IV}}
+\def\MPLIB{\acro{MP}lib}
+\def\MPTOPDF{mp\-to\-pdf}
+\def\MSWINDOWS{Windows}
+\def\MTXTOOLS{mtx\-tools}
+\def\NFSS{\acro{NFSS}}
+\def\OPENMATH{Open\-Math}
+\def\OPENTYPE{Open\-Type}
+\def\PASCAL{Pascal}
+\def\PDFTEX{pdf\/\-\TeX}
+\def\PDF{\acro{PDF}}
+\def\POSIX{\acro{POSIX}}
+\def\PRAGMA{Pragma \acro{ADE}}
+\def\POSTSCRIPT{Post\-Script}
+\def\RGB{\acro{RGB}}
+\def\RUBY{Ruby}
+\def\SCITE{Sci\acro{TE}}
+\def\TDS{\acro{TDS}}
+\def\TEXBOOK{{\sl The \TeX book}}
+\def\TEXEXEC{\TeX exec}
+\def\TEX{\TeX}
+\def\TFM{\acro{TFM}}
+\def\TRUETYPE{True\-Type}
+\def\TYPEONE{Type~1}
+\def\UTF{\acro{UTF}}
+\def\WEBC{Web2C}
+\def\XETEX{X\lower.5ex\hbox{\kern-.15em\mirror{E}}\kern-.1667em\TeX}
+\def\XML{\acro{XML}}
+\def\XPATH{\acro{XP}ath}
+\def\XSLT{\acro{XSLT}}
+\def\XSLTPROC{\acro{XSLTPROC}}
+\def\ZIP{zip}
+
+\def\Dash{\unskip\thinspace---\thinspace\ignorespaces}
+\def\slash{/\penalty0 \hskip0pt \relax}
+
+\definefont[AcroFont][Serif sa .91]
+\def\acro#1{{\AcroFont #1}}
+
+\lefthyphenmin=2 \righthyphenmin=3 % disallow x- or -xx breaks
+
+\hyphenation{Post-Script data-base data-bases}
+
+% hack to read tugboat.dates settings.
+\def\vol#1, #2.{\def\tubvol{#1}\def\tubnum{#2}}
+\def\issyear#1.{\def\tubyear{#1}}
+\newcount\issueseqno
+
+% >>>
+%D Good bye. <<<
+
+\doifnotmode{demo}{\endinput}
+
+\showgrid
+
+\starttext
+
+\StartArticle
+
+\StartAbstract
+ \input bryson
+\StopAbstract
+
+\dorecurse{30}{\input ward \endgraf} \page
+
+\startitemize
+\item \input ward
+\item \input ward
+\stopitemize
+
+\StopArticle
+
+\setvariables[tugboat][columns=yes]
+
+\StartArticle
+
+\StartAbstract
+ \input bryson
+\StopAbstract
+
+\dorecurse{30}{\input ward \endgraf} \page
+
+\StopArticle
+
+\stoptext
+
+% >>>
+
+% vim: foldmethod=marker foldmarker=<<<,>>>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index ecea472c4..aaa60e5b8 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 06/15/17 22:10:43
+-- merge date : 06/19/17 15:30:18
do -- begin closure to overcome local limits and interference
@@ -7941,10 +7941,28 @@ function constructors.scale(tfmdata,specification)
local chr,description,index
if changed then
local c=changed[unicode]
- if c then
- description=descriptions[c] or descriptions[unicode] or character
- character=characters[c] or character
- index=description.index or c
+ if c and c~=unicode then
+ while true do
+ local cc=changed[c]
+ if not cc then
+ break
+ elseif cc==unicode then
+ break
+ elseif cc==c then
+ c=nil
+ break
+ else
+ c=cc
+ end
+ end
+ if c then
+ description=descriptions[c] or descriptions[unicode] or character
+ character=characters[c] or character
+ index=description.index or c
+ else
+ description=descriptions[unicode] or character
+ index=description.index or unicode
+ end
else
description=descriptions[unicode] or character
index=description.index or unicode
@@ -8546,10 +8564,12 @@ do
local handler=handlers[format]
local enhancers=handler.enhancers
if not enhancers then
- local actions=allocate()
+ local actions=allocate()
local before=allocate()
local after=allocate()
local order=allocate()
+ local known={}
+ local nofsteps=0
local patches={ before=before,after=after }
local trace=false
local report=logs.reporter("fonts",format.." enhancing")
@@ -8571,7 +8591,7 @@ do
report("%s enhancing file %a","start",filename)
end
ioflush()
- for e=1,#order do
+ for e=1,nofsteps do
local enhancer=order[e]
local b=before[enhancer]
if b then
@@ -8581,7 +8601,7 @@ do
end
end
end
- enhance(enhancer,data,filename,raw)
+ enhance(enhancer,data,filename,raw)
local a=after[enhancer]
if a then
for pattern,action in next,a do
@@ -8601,7 +8621,9 @@ do
if action then
if actions[what] then
else
- order[#order+1]=what
+ nofsteps=nofsteps+1
+ order[nofsteps]=what
+ known[what]=nofsteps
end
actions[what]=action
else
@@ -8615,7 +8637,12 @@ do
if ww then
ww[pattern]=action
else
- pw[where]={ [pattern]=action}
+ pw[where]={ [pattern]=action }
+ if not known[where] then
+ nofsteps=nofsteps+1
+ order[nofsteps]=where
+ known[where]=nofsteps
+ end
end
end
end
@@ -8623,7 +8650,11 @@ do
register=register,
apply=apply,
patch=patch,
- patches={ register=patch },
+ report=report,
+ patches={
+ register=patch,
+ report=report,
+ },
}
handler.enhancers=enhancers
end
@@ -19599,7 +19630,7 @@ function otf.load(filename,sub,instance)
otfreaders.addunicodetable(data)
otfenhancers.apply(data,filename,data)
if applyruntimefixes then
- applyruntimefixes(filename,data)
+ applyruntimefixes(filename,data)
end
data.metadata.math=data.resources.mathconstants
local classes=data.resources.classes
@@ -20159,19 +20190,31 @@ end
local function cref(feature,sequence)
return formatters["feature %a, type %a, chain lookup %a"](feature,sequence.type,sequence.name)
end
-local function report_alternate(feature,sequence,descriptions,unicode,replacement,value,comment)
- report_prepare("%s: base alternate %s => %s (%S => %S)",
- cref(feature,sequence),
- gref(descriptions,unicode),
- replacement and gref(descriptions,replacement),
- value,
- comment)
-end
local function report_substitution(feature,sequence,descriptions,unicode,substitution)
- report_prepare("%s: base substitution %s => %S",
- cref(feature,sequence),
- gref(descriptions,unicode),
- gref(descriptions,substitution))
+ if unicode==substitution then
+ report_prepare("%s: base substitution %s maps onto itself",
+ cref(feature,sequence),
+ gref(descriptions,unicode))
+ else
+ report_prepare("%s: base substitution %s => %S",
+ cref(feature,sequence),
+ gref(descriptions,unicode),
+ gref(descriptions,substitution))
+ end
+end
+local function report_alternate(feature,sequence,descriptions,unicode,replacement,value,comment)
+ if unicode==replacement then
+ report_prepare("%s: base alternate %s maps onto itself",
+ cref(feature,sequence),
+ gref(descriptions,unicode))
+ else
+ report_prepare("%s: base alternate %s => %s (%S => %S)",
+ cref(feature,sequence),
+ gref(descriptions,unicode),
+ replacement and gref(descriptions,replacement),
+ value,
+ comment)
+ end
end
local function report_ligature(feature,sequence,descriptions,unicode,ligature)
report_prepare("%s: base ligature %s => %S",
@@ -20276,37 +20319,44 @@ local function preparesubstitutions(tfmdata,feature,value,validlookups,lookuplis
if kind=="gsub_single" then
for i=1,#steps do
for unicode,data in next,steps[i].coverage do
- if trace_singles then
- report_substitution(feature,sequence,descriptions,unicode,data)
- end
+ if unicode~=data then
changed[unicode]=data
+ end
+ if trace_singles then
+ report_substitution(feature,sequence,descriptions,unicode,data)
+ end
end
end
elseif kind=="gsub_alternate" then
for i=1,#steps do
for unicode,data in next,steps[i].coverage do
- if not changed[unicode] then
- local replacement=data[alternate]
- if replacement then
+ local replacement=data[alternate]
+ if replacement then
+ if unicode~=replacement then
changed[unicode]=replacement
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,"normal")
- end
- elseif defaultalt=="first" then
- replacement=data[1]
+ end
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,"normal")
+ end
+ elseif defaultalt=="first" then
+ replacement=data[1]
+ if unicode~=replacement then
changed[unicode]=replacement
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
- end
- elseif defaultalt=="last" then
- replacement=data[#data]
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
- end
- else
- if trace_alternatives then
- report_alternate(feature,sequence,descriptions,unicode,replacement,value,"unknown")
- end
+ end
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
+ end
+ elseif defaultalt=="last" then
+ replacement=data[#data]
+ if unicode~=replacement then
+ changed[unicode]=replacement
+ end
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,defaultalt)
+ end
+ else
+ if trace_alternatives then
+ report_alternate(feature,sequence,descriptions,unicode,replacement,value,"unknown")
end
end
end