summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context/data/scite/context/lexers/data/scite-context-data-tex.lua2
-rw-r--r--context/data/scite/context/scite-context-data-tex.properties100
-rw-r--r--source/luametatex/source/lua/lmttokenlib.c20
-rw-r--r--source/luametatex/source/luametatex.h6
-rw-r--r--source/luametatex/source/tex/texcommands.c2
-rw-r--r--source/luametatex/source/tex/texscanning.c3
-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/mkii/mult-en.mkii3
-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/mult-prm.lua2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin24649 -> 24650 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin271246 -> 271361 bytes
-rw-r--r--tex/context/base/mkxl/cldf-pos.lmt152
-rw-r--r--tex/context/base/mkxl/cldf-pos.mkxl20
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/luat-cnf.lmt2
-rw-r--r--tex/context/base/mkxl/toks-ini.lmt2
-rw-r--r--tex/context/base/mkxl/toks-scn.lmt2
-rw-r--r--tex/context/interface/mkii/keys-en.xml3
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
23 files changed, 214 insertions, 119 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 6d7a79360..4ed203784 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,7 +1,7 @@
return {
["aleph"]={ "Alephminorversion", "Alephrevision", "Alephversion" },
["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "detokenize", "dimexpr", "displaywidowpenalties", "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", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "unexpanded", "unless", "widowpenalties" },
- ["luatex"]={ "Uabove", "Uabovewithdelims", "Uatop", "Uatopwithdelims", "Uchar", "Udelcode", "Udelimited", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaccentbasedepth", "Umathaccentbaseheight", "Umathaccentbottomovershoot", "Umathaccentbottomshiftdown", "Umathaccentextendmargin", "Umathaccentsuperscriptdrop", "Umathaccentsuperscriptpercent", "Umathaccenttopovershoot", "Umathaccenttopshiftup", "Umathaccentvariant", "Umathadapttoleft", "Umathadapttoright", "Umathaxis", "Umathbottomaccentvariant", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharslot", "Umathclass", "Umathcode", "Umathconnectoroverlapmin", "Umathdegreevariant", "Umathdelimiterextendmargin", "Umathdelimiterovervariant", "Umathdelimiterpercent", "Umathdelimitershortfall", "Umathdelimiterundervariant", "Umathdenominatorvariant", "Umathdict", "Umathdictdef", "Umathdiscretionary", "Umathextrasubpreshift", "Umathextrasubprespace", "Umathextrasubshift", "Umathextrasubspace", "Umathextrasuppreshift", "Umathextrasupprespace", "Umathextrasupshift", "Umathextrasupspace", "Umathflattenedaccentbasedepth", "Umathflattenedaccentbaseheight", "Umathflattenedaccentbottomshiftdown", "Umathflattenedaccenttopshiftup", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathfractionvariant", "Umathhextensiblevariant", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathlimits", "Umathnoaxis", "Umathnolimits", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathnumeratorvariant", "Umathopenupdepth", "Umathopenupheight", "Umathoperatorsize", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervariant", "Umathoverdelimitervgap", "Umathoverlayaccentvariant", "Umathoverlinevariant", "Umathphantom", "Umathpresubshiftdistance", "Umathpresupshiftdistance", "Umathprimeraise", "Umathprimeraisecomposed", "Umathprimeshiftdrop", "Umathprimeshiftup", "Umathprimespaceafter", "Umathprimevariant", "Umathprimewidth", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalextensibleafter", "Umathradicalextensiblebefore", "Umathradicalkern", "Umathradicalrule", "Umathradicalvariant", "Umathradicalvgap", "Umathruledepth", "Umathruleheight", "Umathskeweddelimitertolerance", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathsource", "Umathspaceafterscript", "Umathspacebeforescript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvariant", "Umathstackvgap", "Umathsubscriptvariant", "Umathsubshiftdistance", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsuperscriptvariant", "Umathsupshiftdistance", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathtopaccentvariant", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervariant", "Umathunderdelimitervgap", "Umathunderlinevariant", "Umathuseaxis", "Umathvextensiblevariant", "Umathvoid", "Umathxscale", "Umathyscale", "Umiddle", "Unosubprescript", "Unosubscript", "Unosuperprescript", "Unosuperscript", "Uoperator", "Uover", "Uoverdelimiter", "Uoverwithdelims", "Uprimescript", "Uradical", "Uright", "Uroot", "Urooted", "Ushiftedsubprescript", "Ushiftedsubscript", "Ushiftedsuperprescript", "Ushiftedsuperscript", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustartmathmode", "Ustopdisplaymath", "Ustopmath", "Ustopmathmode", "Ustretched", "Ustretchedwithdelims", "Ustyle", "Usubprescript", "Usubscript", "Usuperprescript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "adjustspacingshrink", "adjustspacingstep", "adjustspacingstretch", "afterassigned", "aftergrouped", "aliased", "aligncontent", "alignmark", "alignmentcellsource", "alignmentwrapsource", "aligntab", "allcrampedstyles", "alldisplaystyles", "allmainstyles", "allmathstyles", "allscriptscriptstyles", "allscriptstyles", "allsplitstyles", "alltextstyles", "alluncrampedstyles", "allunsplitstyles", "amcode", "atendofgroup", "atendofgrouped", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenpenalty", "automigrationmode", "autoparagraphmode", "begincsname", "beginlocalcontrol", "beginmathgroup", "beginsimplegroup", "boundary", "boxadapt", "boxanchor", "boxanchors", "boxattribute", "boxdirection", "boxfreeze", "boxgeometry", "boxorientation", "boxrepack", "boxshift", "boxsource", "boxtarget", "boxtotal", "boxvadjust", "boxxmove", "boxxoffset", "boxymove", "boxyoffset", "catcodetable", "cdef", "cdefcsname", "cfcode", "clearmarks", "constant", "copymathatomrule", "copymathparent", "copymathspacing", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "csactive", "csstring", "currentloopiterator", "currentloopnesting", "currentmarks", "dbox", "defcsname", "deferred", "detokenized", "dimensiondef", "dimexpression", "directlua", "dpack", "dsplit", "edefcsname", "efcode", "endlocalcontrol", "endmathgroup", "endsimplegroup", "enforced", "etoks", "etoksapp", "etokspre", "eufactor", "everybeforepar", "everymathatom", "everytab", "exceptionpenalty", "expand", "expandactive", "expandafterpars", "expandafterspaces", "expandcstoken", "expanded", "expandedafter", "expandedloop", "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", "float", "floatdef", "flushmarks", "fontcharba", "fontcharta", "fontid", "fontmathcontrol", "fontspecdef", "fontspecid", "fontspecifiedname", "fontspecifiedsize", "fontspecscale", "fontspecxscale", "fontspecyscale", "fonttextcontrol", "formatname", "frozen", "futurecsname", "futuredef", "futureexpand", "futureexpandis", "futureexpandisap", "gdefcsname", "gleaders", "glet", "gletcsname", "glettonothing", "gluespecdef", "glyph", "glyphdatafield", "glyphoptions", "glyphscale", "glyphscriptfield", "glyphscriptscale", "glyphscriptscriptscale", "glyphstatefield", "glyphtextscale", "glyphxoffset", "glyphxscale", "glyphxscaled", "glyphyoffset", "glyphyscale", "glyphyscaled", "gtoksapp", "gtokspre", "hccode", "hjcode", "hmcode", "holdingmigrations", "hpack", "hyphenationmin", "hyphenationmode", "ifabsdim", "ifabsfloat", "ifabsnum", "ifarguments", "ifboolean", "ifchkdim", "ifchkdimension", "ifchknum", "ifchknumber", "ifcmpdim", "ifcmpnum", "ifcondition", "ifcstok", "ifdimexpression", "ifdimval", "ifempty", "ifflags", "iffloat", "ifhaschar", "ifhastok", "ifhastoks", "ifhasxtoks", "ifincsname", "ifinsert", "ifmathparameter", "ifmathstyle", "ifnumexpression", "ifnumval", "ifparameter", "ifparameters", "ifrelax", "iftok", "ifzerodim", "ifzerofloat", "ifzeronum", "ignorearguments", "ignoredepthcriterium", "ignorepars", "immediate", "immutable", "indexofcharacter", "indexofregister", "inherited", "initcatcodetable", "insertbox", "insertcopy", "insertdepth", "insertdistance", "insertheight", "insertheights", "insertlimit", "insertmaxdepth", "insertmode", "insertmultiplier", "insertpenalty", "insertprogress", "insertstorage", "insertstoring", "insertunbox", "insertuncopy", "insertwidth", "instance", "integerdef", "lastarguments", "lastatomclass", "lastboundary", "lastchkdim", "lastchknum", "lastleftclass", "lastloopiterator", "lastnamedcs", "lastnodesubtype", "lastpageextra", "lastparcontext", "lastrightclass", "leftmarginkern", "letcharcode", "letcsname", "letfrozen", "letmathatomrule", "letmathparent", "letmathspacing", "letprotected", "lettonothing", "linebreakcriterium", "linedirection", "localbrokenpenalty", "localcontrol", "localcontrolled", "localcontrolledloop", "localinterlinepenalty", "localleftbox", "localleftboxbox", "localmiddlebox", "localmiddleboxbox", "localrightbox", "localrightboxbox", "lpcode", "luabytecode", "luabytecodecall", "luacopyinputnodes", "luadef", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathaccent", "mathatom", "mathatomglue", "mathatomskip", "mathbackwardpenalties", "mathbeginclass", "mathbinary", "mathcheckfencesmode", "mathclose", "mathdictgroup", "mathdictproperties", "mathdirection", "mathdisplaymode", "mathdisplayskipmode", "mathdoublescriptmode", "mathendclass", "matheqnogapstep", "mathfenced", "mathfontcontrol", "mathforwardpenalties", "mathfraction", "mathghost", "mathgluemode", "mathgroupingmode", "mathinner", "mathleftclass", "mathlimitsmode", "mathmainstyle", "mathmiddle", "mathnolimitsmode", "mathopen", "mathoperator", "mathordinary", "mathoverline", "mathpenaltiesmode", "mathpunctuation", "mathradical", "mathrelation", "mathrightclass", "mathrulesfam", "mathrulesmode", "mathscale", "mathscriptsmode", "mathslackmode", "mathspacingmode", "mathstackstyle", "mathstyle", "mathstylefontid", "mathsurroundmode", "mathsurroundskip", "maththreshold", "mathunderline", "meaningasis", "meaningful", "meaningfull", "meaningles", "meaningless", "mugluespecdef", "mutable", "noaligned", "noatomruling", "noboundary", "nohrule", "norelax", "normalizelinemode", "normalizeparmode", "nospaces", "novrule", "numericscale", "numexpression", "orelse", "orphanpenalties", "orphanpenalty", "orunless", "outputbox", "overloaded", "overloadmode", "overshoot", "pageboundary", "pageextragoal", "pagevsize", "parametercount", "parametermark", "parattribute", "pardirection", "permanent", "pettymuskip", "posexpr", "positdef", "postexhyphenchar", "posthyphenchar", "postinlinepenalty", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "preinlinepenalty", "prerelpenalty", "protrudechars", "protrusionboundary", "pxdimen", "quitloop", "quitvmode", "resetmathspacing", "retokenized", "rightmarginkern", "rpcode", "savecatcodetable", "scaledemwidth", "scaledexheight", "scaledextraspace", "scaledfontdimen", "scaledinterwordshrink", "scaledinterwordspace", "scaledinterwordstretch", "scaledmathstyle", "scaledslantperpoint", "scantextokens", "semiexpand", "semiexpanded", "semiprotected", "setdefaultmathcodes", "setfontid", "setmathatomrule", "setmathdisplaypostpenalty", "setmathdisplayprepenalty", "setmathignore", "setmathoptions", "setmathpostpenalty", "setmathprepenalty", "setmathspacing", "shapingpenaltiesmode", "shapingpenalty", "snapshotpar", "srule", "supmarkmode", "swapcsvalues", "tabsize", "textdirection", "thewithoutunit", "tinymuskip", "todimension", "tohexadecimal", "tointeger", "tokenized", "toksapp", "tokspre", "tolerant", "tomathstyle", "toscaled", "tosparsedimension", "tosparsescaled", "tpack", "tracingadjusts", "tracingalignments", "tracingexpressions", "tracingfonts", "tracingfullboxes", "tracinghyphenation", "tracinginserts", "tracinglevels", "tracinglists", "tracingmarks", "tracingmath", "tracingnodes", "tracingpenalties", "tsplit", "uleaders", "undent", "unexpandedloop", "unhpack", "unletfrozen", "unletprotected", "untraced", "unvpack", "variablefam", "virtualhrule", "virtualvrule", "vpack", "wordboundary", "wrapuppar", "xdefcsname", "xtoks", "xtoksapp", "xtokspre" },
+ ["luatex"]={ "Uabove", "Uabovewithdelims", "Uatop", "Uatopwithdelims", "Uchar", "Udelcode", "Udelimited", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaccentbasedepth", "Umathaccentbaseheight", "Umathaccentbottomovershoot", "Umathaccentbottomshiftdown", "Umathaccentextendmargin", "Umathaccentsuperscriptdrop", "Umathaccentsuperscriptpercent", "Umathaccenttopovershoot", "Umathaccenttopshiftup", "Umathaccentvariant", "Umathadapttoleft", "Umathadapttoright", "Umathaxis", "Umathbottomaccentvariant", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharslot", "Umathclass", "Umathcode", "Umathconnectoroverlapmin", "Umathdegreevariant", "Umathdelimiterextendmargin", "Umathdelimiterovervariant", "Umathdelimiterpercent", "Umathdelimitershortfall", "Umathdelimiterundervariant", "Umathdenominatorvariant", "Umathdict", "Umathdictdef", "Umathdiscretionary", "Umathextrasubpreshift", "Umathextrasubprespace", "Umathextrasubshift", "Umathextrasubspace", "Umathextrasuppreshift", "Umathextrasupprespace", "Umathextrasupshift", "Umathextrasupspace", "Umathflattenedaccentbasedepth", "Umathflattenedaccentbaseheight", "Umathflattenedaccentbottomshiftdown", "Umathflattenedaccenttopshiftup", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathfractionvariant", "Umathhextensiblevariant", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathlimits", "Umathnoaxis", "Umathnolimits", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathnumeratorvariant", "Umathopenupdepth", "Umathopenupheight", "Umathoperatorsize", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervariant", "Umathoverdelimitervgap", "Umathoverlayaccentvariant", "Umathoverlinevariant", "Umathphantom", "Umathpresubshiftdistance", "Umathpresupshiftdistance", "Umathprimeraise", "Umathprimeraisecomposed", "Umathprimeshiftdrop", "Umathprimeshiftup", "Umathprimespaceafter", "Umathprimevariant", "Umathprimewidth", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalextensibleafter", "Umathradicalextensiblebefore", "Umathradicalkern", "Umathradicalrule", "Umathradicalvariant", "Umathradicalvgap", "Umathruledepth", "Umathruleheight", "Umathskeweddelimitertolerance", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathsource", "Umathspaceafterscript", "Umathspacebeforescript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvariant", "Umathstackvgap", "Umathsubscriptvariant", "Umathsubshiftdistance", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsuperscriptvariant", "Umathsupshiftdistance", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathtopaccentvariant", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervariant", "Umathunderdelimitervgap", "Umathunderlinevariant", "Umathuseaxis", "Umathvextensiblevariant", "Umathvoid", "Umathxscale", "Umathyscale", "Umiddle", "Unosubprescript", "Unosubscript", "Unosuperprescript", "Unosuperscript", "Uoperator", "Uover", "Uoverdelimiter", "Uoverwithdelims", "Uprimescript", "Uradical", "Uright", "Uroot", "Urooted", "Ushiftedsubprescript", "Ushiftedsubscript", "Ushiftedsuperprescript", "Ushiftedsuperscript", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustartmathmode", "Ustopdisplaymath", "Ustopmath", "Ustopmathmode", "Ustretched", "Ustretchedwithdelims", "Ustyle", "Usubprescript", "Usubscript", "Usuperprescript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "adjustspacingshrink", "adjustspacingstep", "adjustspacingstretch", "afterassigned", "aftergrouped", "aliased", "aligncontent", "alignmark", "alignmentcellsource", "alignmentwrapsource", "aligntab", "allcrampedstyles", "alldisplaystyles", "allmainstyles", "allmathstyles", "allscriptscriptstyles", "allscriptstyles", "allsplitstyles", "alltextstyles", "alluncrampedstyles", "allunsplitstyles", "amcode", "atendofgroup", "atendofgrouped", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenpenalty", "automigrationmode", "autoparagraphmode", "begincsname", "beginlocalcontrol", "beginmathgroup", "beginsimplegroup", "boundary", "boxadapt", "boxanchor", "boxanchors", "boxattribute", "boxdirection", "boxfreeze", "boxgeometry", "boxorientation", "boxrepack", "boxshift", "boxsource", "boxtarget", "boxtotal", "boxvadjust", "boxxmove", "boxxoffset", "boxymove", "boxyoffset", "catcodetable", "cdef", "cdefcsname", "cfcode", "clearmarks", "constant", "copymathatomrule", "copymathparent", "copymathspacing", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "csactive", "csstring", "currentloopiterator", "currentloopnesting", "currentmarks", "dbox", "defcsname", "deferred", "detokenized", "dimensiondef", "dimexpression", "directlua", "dpack", "dsplit", "edefcsname", "efcode", "endlocalcontrol", "endmathgroup", "endsimplegroup", "enforced", "etoks", "etoksapp", "etokspre", "eufactor", "everybeforepar", "everymathatom", "everytab", "exceptionpenalty", "expand", "expandactive", "expandafterpars", "expandafterspaces", "expandcstoken", "expanded", "expandedafter", "expandedloop", "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", "float", "floatdef", "floatexpr", "flushmarks", "fontcharba", "fontcharta", "fontid", "fontmathcontrol", "fontspecdef", "fontspecid", "fontspecifiedname", "fontspecifiedsize", "fontspecscale", "fontspecxscale", "fontspecyscale", "fonttextcontrol", "formatname", "frozen", "futurecsname", "futuredef", "futureexpand", "futureexpandis", "futureexpandisap", "gdefcsname", "gleaders", "glet", "gletcsname", "glettonothing", "gluespecdef", "glyph", "glyphdatafield", "glyphoptions", "glyphscale", "glyphscriptfield", "glyphscriptscale", "glyphscriptscriptscale", "glyphstatefield", "glyphtextscale", "glyphxoffset", "glyphxscale", "glyphxscaled", "glyphyoffset", "glyphyscale", "glyphyscaled", "gtoksapp", "gtokspre", "hccode", "hjcode", "hmcode", "holdingmigrations", "hpack", "hyphenationmin", "hyphenationmode", "ifabsdim", "ifabsfloat", "ifabsnum", "ifarguments", "ifboolean", "ifchkdim", "ifchkdimension", "ifchknum", "ifchknumber", "ifcmpdim", "ifcmpnum", "ifcondition", "ifcstok", "ifdimexpression", "ifdimval", "ifempty", "ifflags", "iffloat", "ifhaschar", "ifhastok", "ifhastoks", "ifhasxtoks", "ifincsname", "ifinsert", "ifmathparameter", "ifmathstyle", "ifnumexpression", "ifnumval", "ifparameter", "ifparameters", "ifrelax", "iftok", "ifzerodim", "ifzerofloat", "ifzeronum", "ignorearguments", "ignoredepthcriterium", "ignorepars", "immediate", "immutable", "indexofcharacter", "indexofregister", "inherited", "initcatcodetable", "insertbox", "insertcopy", "insertdepth", "insertdistance", "insertheight", "insertheights", "insertlimit", "insertmaxdepth", "insertmode", "insertmultiplier", "insertpenalty", "insertprogress", "insertstorage", "insertstoring", "insertunbox", "insertuncopy", "insertwidth", "instance", "integerdef", "lastarguments", "lastatomclass", "lastboundary", "lastchkdim", "lastchknum", "lastleftclass", "lastloopiterator", "lastnamedcs", "lastnodesubtype", "lastpageextra", "lastparcontext", "lastrightclass", "leftmarginkern", "letcharcode", "letcsname", "letfrozen", "letmathatomrule", "letmathparent", "letmathspacing", "letprotected", "lettonothing", "linebreakcriterium", "linedirection", "localbrokenpenalty", "localcontrol", "localcontrolled", "localcontrolledloop", "localinterlinepenalty", "localleftbox", "localleftboxbox", "localmiddlebox", "localmiddleboxbox", "localrightbox", "localrightboxbox", "lpcode", "luabytecode", "luabytecodecall", "luacopyinputnodes", "luadef", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathaccent", "mathatom", "mathatomglue", "mathatomskip", "mathbackwardpenalties", "mathbeginclass", "mathbinary", "mathcheckfencesmode", "mathclose", "mathdictgroup", "mathdictproperties", "mathdirection", "mathdisplaymode", "mathdisplayskipmode", "mathdoublescriptmode", "mathendclass", "matheqnogapstep", "mathfenced", "mathfontcontrol", "mathforwardpenalties", "mathfraction", "mathghost", "mathgluemode", "mathgroupingmode", "mathinner", "mathleftclass", "mathlimitsmode", "mathmainstyle", "mathmiddle", "mathnolimitsmode", "mathopen", "mathoperator", "mathordinary", "mathoverline", "mathpenaltiesmode", "mathpunctuation", "mathradical", "mathrelation", "mathrightclass", "mathrulesfam", "mathrulesmode", "mathscale", "mathscriptsmode", "mathslackmode", "mathspacingmode", "mathstackstyle", "mathstyle", "mathstylefontid", "mathsurroundmode", "mathsurroundskip", "maththreshold", "mathunderline", "meaningasis", "meaningful", "meaningfull", "meaningles", "meaningless", "mugluespecdef", "mutable", "noaligned", "noatomruling", "noboundary", "nohrule", "norelax", "normalizelinemode", "normalizeparmode", "nospaces", "novrule", "numericscale", "numexpression", "orelse", "orphanpenalties", "orphanpenalty", "orunless", "outputbox", "overloaded", "overloadmode", "overshoot", "pageboundary", "pageextragoal", "pagevsize", "parametercount", "parametermark", "parattribute", "pardirection", "permanent", "pettymuskip", "positdef", "postexhyphenchar", "posthyphenchar", "postinlinepenalty", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "preinlinepenalty", "prerelpenalty", "protrudechars", "protrusionboundary", "pxdimen", "quitloop", "quitvmode", "resetmathspacing", "retokenized", "rightmarginkern", "rpcode", "savecatcodetable", "scaledemwidth", "scaledexheight", "scaledextraspace", "scaledfontdimen", "scaledinterwordshrink", "scaledinterwordspace", "scaledinterwordstretch", "scaledmathstyle", "scaledslantperpoint", "scantextokens", "semiexpand", "semiexpanded", "semiprotected", "setdefaultmathcodes", "setfontid", "setmathatomrule", "setmathdisplaypostpenalty", "setmathdisplayprepenalty", "setmathignore", "setmathoptions", "setmathpostpenalty", "setmathprepenalty", "setmathspacing", "shapingpenaltiesmode", "shapingpenalty", "snapshotpar", "srule", "supmarkmode", "swapcsvalues", "tabsize", "textdirection", "thewithoutunit", "tinymuskip", "todimension", "tohexadecimal", "tointeger", "tokenized", "toksapp", "tokspre", "tolerant", "tomathstyle", "toscaled", "tosparsedimension", "tosparsescaled", "tpack", "tracingadjusts", "tracingalignments", "tracingexpressions", "tracingfonts", "tracingfullboxes", "tracinghyphenation", "tracinginserts", "tracinglevels", "tracinglists", "tracingmarks", "tracingmath", "tracingnodes", "tracingpenalties", "tsplit", "uleaders", "undent", "unexpandedloop", "unhpack", "unletfrozen", "unletprotected", "untraced", "unvpack", "variablefam", "virtualhrule", "virtualvrule", "vpack", "wordboundary", "wrapuppar", "xdefcsname", "xtoks", "xtoksapp", "xtokspre" },
["omega"]={ "Omegaminorversion", "Omegarevision", "Omegaversion" },
["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", "pdfmajorversion", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfomitcharset", "pdfomitcidset", "pdfomitinfodict", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrecompress", "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"]={ " ", "-", "/", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "advanceby", "afterassignment", "aftergroup", "atop", "atopwithdelims", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "botmark", "box", "boxmaxdepth", "brokenpenalty", "catcode", "char", "chardef", "cleaders", "clubpenalty", "copy", "count", "countdef", "cr", "crcr", "csname", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "dimen", "dimendef", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalty", "displaywidth", "divide", "divideby", "doublehyphendemerits", "dp", "dump", "edef", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "fam", "fi", "finalhyphendemerits", "firstmark", "floatingpenalty", "font", "fontdimen", "fontname", "futurelet", "gdef", "global", "globaldefs", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifcase", "ifcat", "ifdim", "iffalse", "ifhbox", "ifhmode", "ifinner", "ifmmode", "ifnum", "ifodd", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "indent", "input", "inputlineno", "insert", "insertpenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastpenalty", "lastskip", "lccode", "leaders", "left", "lefthyphenmin", "leftskip", "leqno", "let", "limits", "linepenalty", "lineskip", "lineskiplimit", "long", "looseness", "lower", "lowercase", "mark", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathcode", "mathop", "mathord", "mathpunct", "mathrel", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "multiply", "multiplyby", "muskip", "muskipdef", "newlinechar", "noalign", "noexpand", "noindent", "nolimits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "omit", "or", "outer", "output", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagedepth", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageshrink", "pagestretch", "pagetotal", "par", "parfillleftskip", "parfillskip", "parindent", "parinitleftskip", "parinitrightskip", "parshape", "parskip", "patterns", "pausing", "penalty", "postdisplaypenalty", "predisplaypenalty", "predisplaysize", "pretolerance", "prevdepth", "prevgraf", "radical", "raise", "relax", "relpenalty", "right", "righthyphenmin", "rightskip", "romannumeral", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showlists", "shownodedetails", "showthe", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "splitbotmark", "splitfirstmark", "splitmaxdepth", "splittopskip", "string", "tabskip", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topskip", "tracingcommands", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingstats", "uccode", "uchyph", "unboundary", "underline", "unhbox", "unhcopy", "unkern", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalty", "xdef", "xleaders", "xspaceskip", "year" },
diff --git a/context/data/scite/context/scite-context-data-tex.properties b/context/data/scite/context/scite-context-data-tex.properties
index 395f6f8e7..c1d632957 100644
--- a/context/data/scite/context/scite-context-data-tex.properties
+++ b/context/data/scite/context/scite-context-data-tex.properties
@@ -74,56 +74,56 @@ etoks etoksapp etokspre eufactor everybeforepar \
everymathatom everytab exceptionpenalty expand expandactive \
expandafterpars expandafterspaces expandcstoken expanded expandedafter \
expandedloop expandtoken explicitdiscretionary explicithyphenpenalty firstvalidlanguage \
-float floatdef flushmarks fontcharba fontcharta \
-fontid fontmathcontrol fontspecdef fontspecid fontspecifiedname \
-fontspecifiedsize fontspecscale fontspecxscale fontspecyscale fonttextcontrol \
-formatname frozen futurecsname futuredef futureexpand \
-futureexpandis futureexpandisap gdefcsname gleaders glet \
-gletcsname glettonothing gluespecdef glyph glyphdatafield \
-glyphoptions glyphscale glyphscriptfield glyphscriptscale glyphscriptscriptscale \
-glyphstatefield glyphtextscale glyphxoffset glyphxscale glyphxscaled \
-glyphyoffset glyphyscale glyphyscaled gtoksapp gtokspre \
-hccode hjcode hmcode holdingmigrations hpack \
-hyphenationmin hyphenationmode ifabsdim ifabsfloat ifabsnum \
-ifarguments ifboolean ifchkdim ifchkdimension ifchknum \
-ifchknumber ifcmpdim ifcmpnum ifcondition ifcstok \
-ifdimexpression ifdimval ifempty ifflags iffloat \
-ifhaschar ifhastok ifhastoks ifhasxtoks ifincsname \
-ifinsert ifmathparameter ifmathstyle ifnumexpression ifnumval \
-ifparameter ifparameters ifrelax iftok ifzerodim \
-ifzerofloat ifzeronum ignorearguments ignoredepthcriterium ignorepars \
-immediate immutable indexofcharacter indexofregister inherited \
-initcatcodetable insertbox insertcopy insertdepth insertdistance \
-insertheight insertheights insertlimit insertmaxdepth insertmode \
-insertmultiplier insertpenalty insertprogress insertstorage insertstoring \
-insertunbox insertuncopy insertwidth instance integerdef \
-lastarguments lastatomclass lastboundary lastchkdim lastchknum \
-lastleftclass lastloopiterator lastnamedcs lastnodesubtype lastpageextra \
-lastparcontext lastrightclass leftmarginkern letcharcode letcsname \
-letfrozen letmathatomrule letmathparent letmathspacing letprotected \
-lettonothing linebreakcriterium linedirection localbrokenpenalty localcontrol \
-localcontrolled localcontrolledloop localinterlinepenalty localleftbox localleftboxbox \
-localmiddlebox localmiddleboxbox localrightbox localrightboxbox lpcode \
-luabytecode luabytecodecall luacopyinputnodes luadef luaescapestring \
-luafunction luafunctioncall luatexbanner luatexrevision luatexversion \
-mathaccent mathatom mathatomglue mathatomskip mathbackwardpenalties \
-mathbeginclass mathbinary mathcheckfencesmode mathclose mathdictgroup \
-mathdictproperties mathdirection mathdisplaymode mathdisplayskipmode mathdoublescriptmode \
-mathendclass matheqnogapstep mathfenced mathfontcontrol mathforwardpenalties \
-mathfraction mathghost mathgluemode mathgroupingmode mathinner \
-mathleftclass mathlimitsmode mathmainstyle mathmiddle mathnolimitsmode \
-mathopen mathoperator mathordinary mathoverline mathpenaltiesmode \
-mathpunctuation mathradical mathrelation mathrightclass mathrulesfam \
-mathrulesmode mathscale mathscriptsmode mathslackmode mathspacingmode \
-mathstackstyle mathstyle mathstylefontid mathsurroundmode mathsurroundskip \
-maththreshold mathunderline meaningasis meaningful meaningfull \
-meaningles meaningless mugluespecdef mutable noaligned \
-noatomruling noboundary nohrule norelax normalizelinemode \
-normalizeparmode nospaces novrule numericscale numexpression \
-orelse orphanpenalties orphanpenalty orunless outputbox \
-overloaded overloadmode overshoot pageboundary pageextragoal \
-pagevsize parametercount parametermark parattribute pardirection \
-permanent pettymuskip posexpr positdef postexhyphenchar \
+float floatdef floatexpr flushmarks fontcharba \
+fontcharta fontid fontmathcontrol fontspecdef fontspecid \
+fontspecifiedname fontspecifiedsize fontspecscale fontspecxscale fontspecyscale \
+fonttextcontrol formatname frozen futurecsname futuredef \
+futureexpand futureexpandis futureexpandisap gdefcsname gleaders \
+glet gletcsname glettonothing gluespecdef glyph \
+glyphdatafield glyphoptions glyphscale glyphscriptfield glyphscriptscale \
+glyphscriptscriptscale glyphstatefield glyphtextscale glyphxoffset glyphxscale \
+glyphxscaled glyphyoffset glyphyscale glyphyscaled gtoksapp \
+gtokspre hccode hjcode hmcode holdingmigrations \
+hpack hyphenationmin hyphenationmode ifabsdim ifabsfloat \
+ifabsnum ifarguments ifboolean ifchkdim ifchkdimension \
+ifchknum ifchknumber ifcmpdim ifcmpnum ifcondition \
+ifcstok ifdimexpression ifdimval ifempty ifflags \
+iffloat ifhaschar ifhastok ifhastoks ifhasxtoks \
+ifincsname ifinsert ifmathparameter ifmathstyle ifnumexpression \
+ifnumval ifparameter ifparameters ifrelax iftok \
+ifzerodim ifzerofloat ifzeronum ignorearguments ignoredepthcriterium \
+ignorepars immediate immutable indexofcharacter indexofregister \
+inherited initcatcodetable insertbox insertcopy insertdepth \
+insertdistance insertheight insertheights insertlimit insertmaxdepth \
+insertmode insertmultiplier insertpenalty insertprogress insertstorage \
+insertstoring insertunbox insertuncopy insertwidth instance \
+integerdef lastarguments lastatomclass lastboundary lastchkdim \
+lastchknum lastleftclass lastloopiterator lastnamedcs lastnodesubtype \
+lastpageextra lastparcontext lastrightclass leftmarginkern letcharcode \
+letcsname letfrozen letmathatomrule letmathparent letmathspacing \
+letprotected lettonothing linebreakcriterium linedirection localbrokenpenalty \
+localcontrol localcontrolled localcontrolledloop localinterlinepenalty localleftbox \
+localleftboxbox localmiddlebox localmiddleboxbox localrightbox localrightboxbox \
+lpcode luabytecode luabytecodecall luacopyinputnodes luadef \
+luaescapestring luafunction luafunctioncall luatexbanner luatexrevision \
+luatexversion mathaccent mathatom mathatomglue mathatomskip \
+mathbackwardpenalties mathbeginclass mathbinary mathcheckfencesmode mathclose \
+mathdictgroup mathdictproperties mathdirection mathdisplaymode mathdisplayskipmode \
+mathdoublescriptmode mathendclass matheqnogapstep mathfenced mathfontcontrol \
+mathforwardpenalties mathfraction mathghost mathgluemode mathgroupingmode \
+mathinner mathleftclass mathlimitsmode mathmainstyle mathmiddle \
+mathnolimitsmode mathopen mathoperator mathordinary mathoverline \
+mathpenaltiesmode mathpunctuation mathradical mathrelation mathrightclass \
+mathrulesfam mathrulesmode mathscale mathscriptsmode mathslackmode \
+mathspacingmode mathstackstyle mathstyle mathstylefontid mathsurroundmode \
+mathsurroundskip maththreshold mathunderline meaningasis meaningful \
+meaningfull meaningles meaningless mugluespecdef mutable \
+noaligned noatomruling noboundary nohrule norelax \
+normalizelinemode normalizeparmode nospaces novrule numericscale \
+numexpression orelse orphanpenalties orphanpenalty orunless \
+outputbox overloaded overloadmode overshoot pageboundary \
+pageextragoal pagevsize parametercount parametermark parattribute \
+pardirection permanent pettymuskip positdef postexhyphenchar \
posthyphenchar postinlinepenalty prebinoppenalty predisplaygapfactor preexhyphenchar \
prehyphenchar preinlinepenalty prerelpenalty protrudechars protrusionboundary \
pxdimen quitloop quitvmode resetmathspacing retokenized \
diff --git a/source/luametatex/source/lua/lmttokenlib.c b/source/luametatex/source/lua/lmttokenlib.c
index 1b50f18d2..c8f7f9039 100644
--- a/source/luametatex/source/lua/lmttokenlib.c
+++ b/source/luametatex/source/lua/lmttokenlib.c
@@ -1291,6 +1291,21 @@ static int tokenlib_scan_dimen(lua_State *L)
}
}
+static int tokenlib_scan_posit(lua_State *L)
+{
+ saved_tex_scanner texstate = tokenlib_aux_save_tex_scanner();
+ int eq = lua_toboolean(L, 1);
+ int fl = lua_toboolean(L, 1);
+ halfword val = tex_scan_posit(eq);
+ if (fl) {
+ lua_pushnumber(L, tex_posit_to_double(val));
+ } else {
+ lua_pushinteger(L, val);
+ }
+ tokenlib_aux_unsave_tex_scanner(texstate);
+ return 1;
+}
+
static int tokenlib_gobble_dimen(lua_State *L)
{
saved_tex_scanner texstate = tokenlib_aux_save_tex_scanner();
@@ -3597,6 +3612,7 @@ static const struct luaL_Reg tokenlib_function_list[] = {
{ "scanluacardinal", tokenlib_scan_luacardinal },
{ "scanscale", tokenlib_scan_scale },
{ "scandimen", tokenlib_scan_dimen },
+ { "scanposit", tokenlib_scan_posit },
{ "scanskip", tokenlib_scan_skip },
{ "scanglue", tokenlib_scan_glue },
{ "scantoks", tokenlib_scan_toks },
@@ -3867,6 +3883,10 @@ int lmt_function_call_by_category(int slot, int property, halfword *value)
break;
}
case lua_value_float_code:
+ {
+ *value = tex_double_to_posit(lua_tonumber(L, -1)).v;
+ break;
+ }
case lua_value_string_code:
{
category = lua_value_none_code;
diff --git a/source/luametatex/source/luametatex.h b/source/luametatex/source/luametatex.h
index eac028cb2..8d5aa4e9a 100644
--- a/source/luametatex/source/luametatex.h
+++ b/source/luametatex/source/luametatex.h
@@ -90,9 +90,9 @@
# include "tex/textypes.h"
# define luametatex_version 210
-# define luametatex_revision 8
-# define luametatex_version_string "2.10.08"
-# define luametatex_development_id 20230426
+# define luametatex_revision 9
+# define luametatex_version_string "2.10.09"
+# define luametatex_development_id 20230427
# define luametatex_name_camelcase "LuaMetaTeX"
# define luametatex_name_lowercase "luametatex"
diff --git a/source/luametatex/source/tex/texcommands.c b/source/luametatex/source/tex/texcommands.c
index 73f509a96..91e6d75b8 100644
--- a/source/luametatex/source/tex/texcommands.c
+++ b/source/luametatex/source/tex/texcommands.c
@@ -621,7 +621,7 @@ void tex_initialize_commands(void)
tex_primitive(etex_command, "mutoglue", some_item_cmd, mu_to_glue_code, 0);
tex_primitive(etex_command, "gluetomu", some_item_cmd, glue_to_mu_code, 0);
tex_primitive(etex_command, "numexpr", some_item_cmd, numexpr_code, 0);
- tex_primitive(luatex_command, "posexpr", some_item_cmd, posexpr_code, 0);
+ tex_primitive(luatex_command, "floatexpr", some_item_cmd, posexpr_code, 0);
tex_primitive(etex_command, "dimexpr", some_item_cmd, dimexpr_code, 0);
tex_primitive(etex_command, "glueexpr", some_item_cmd, glueexpr_code, 0);
tex_primitive(etex_command, "muexpr", some_item_cmd, muexpr_code, 0);
diff --git a/source/luametatex/source/tex/texscanning.c b/source/luametatex/source/tex/texscanning.c
index 5b60c15c0..8ae7090cf 100644
--- a/source/luametatex/source/tex/texscanning.c
+++ b/source/luametatex/source/tex/texscanning.c
@@ -354,8 +354,7 @@ static void tex_aux_set_cur_val_by_lua_value_cmd(halfword index, halfword proper
cur_val_level = int_val_level;
break;
case lua_value_float_code:
- /*tex We assume a proper print back. */
- cur_val_level = tok_val_level;
+ cur_val_level = posit_val_level;
break;
case lua_value_string_code:
cur_val_level = no_val_level;
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index e41443a84..1b418833b 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{2023.04.27 09:34}
+\newcontextversion{2023.04.27 16:54}
%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 74541280a..5f1fbaa04 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{2023.04.27 09:34}
+\edef\contextversion{2023.04.27 16:54}
%D For those who want to use this:
diff --git a/tex/context/base/mkii/mult-en.mkii b/tex/context/base/mkii/mult-en.mkii
index e6c9225e0..ec4f634f8 100644
--- a/tex/context/base/mkii/mult-en.mkii
+++ b/tex/context/base/mkii/mult-en.mkii
@@ -450,6 +450,7 @@
\setinterfacevariable{printable}{printable}
\setinterfacevariable{process}{process}
\setinterfacevariable{product}{product}
+\setinterfacevariable{profile}{profile}
\setinterfacevariable{program}{program}
\setinterfacevariable{project}{project}
\setinterfacevariable{protected}{protected}
@@ -831,6 +832,7 @@
\setinterfaceconstant{exitoffset}{exitoffset}
\setinterfaceconstant{expansion}{expansion}
\setinterfaceconstant{export}{export}
+\setinterfaceconstant{extradata}{extradata}
\setinterfaceconstant{extras}{extras}
\setinterfaceconstant{factor}{factor}
\setinterfaceconstant{fallback}{fallback}
@@ -954,6 +956,7 @@
\setinterfaceconstant{lastpage}{lastpage}
\setinterfaceconstant{lastpagesep}{lastpagesep}
\setinterfaceconstant{lastpubsep}{lastpubsep}
+\setinterfaceconstant{lasttextseparator}{lasttextseparator}
\setinterfaceconstant{layout}{layout}
\setinterfaceconstant{left}{left}
\setinterfaceconstant{leftclass}{leftclass}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 1342dc41a..cbe448fc7 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2023.04.27 09:34}
+\newcontextversion{2023.04.27 16:54}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 71f8d3f74..7c3567153 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -49,7 +49,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2023.04.27 09:34}
+\edef\contextversion{2023.04.27 16:54}
%D Kind of special:
diff --git a/tex/context/base/mkiv/mult-prm.lua b/tex/context/base/mkiv/mult-prm.lua
index 239e97a04..37779ec57 100644
--- a/tex/context/base/mkiv/mult-prm.lua
+++ b/tex/context/base/mkiv/mult-prm.lua
@@ -354,6 +354,7 @@ return {
"firstvalidlanguage",
"float",
"floatdef",
+ "floatexpr",
"flushmarks",
"fontcharba",
"fontcharta",
@@ -599,7 +600,6 @@ return {
"pardirection",
"permanent",
"pettymuskip",
- "posexpr",
"positdef",
"postexhyphenchar",
"posthyphenchar",
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index cae5837bf..dddda9577 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 a47b73f9f..087e77bf3 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/mkxl/cldf-pos.lmt b/tex/context/base/mkxl/cldf-pos.lmt
index 40c88c716..9378b01be 100644
--- a/tex/context/base/mkxl/cldf-pos.lmt
+++ b/tex/context/base/mkxl/cldf-pos.lmt
@@ -21,13 +21,15 @@ local posittonumber = posit.tonumber
local values = tokens.values
local boolean_code = values.boolean
+local float_code = values.float
-do
+local scanners = tokens.scanners
+local scanposit = scanners.posit
+local scanfloat = scanners.float
+local scaninteger = scanners.integer
+local scancsname = scanners.csname
- local scanners = tokens.scanners
- local scanfloat = scanners.float
- local scaninteger = scanners.integer
- local scancsname = scanners.csname
+do -- these are only for testing and might go to a module eventually
local codes = tex.codes
@@ -78,60 +80,108 @@ do
end,
}
-end
+ do
-do
-
- local p_number = lpeg.patterns.number
- local p = lpeg.Cs(
- lpeg.Cc("local new = new ; return ")
- * (
- lpeg.C(p_number) / function(s)
- return "new(" .. s .. ")"
- end
- + lpeg.P(1)
- )^0
- )
+ local p_number = lpeg.patterns.number
+ local p = lpeg.Cs(
+ lpeg.Cc("local new = new ; return ")
+ * (
+ lpeg.C(p_number) / function(s)
+ return "new(" .. s .. ")"
+ end
+ + lpeg.P(1)
+ )^0
+ )
- local t = setmetatableindex({ new = posit.new }, posit)
+ local t = setmetatableindex({ new = posit.new }, posit)
- local function calculate(s)
- local new = lpegmatch(p,s)
- new = load(new,nil,nil,t)
- if new then
- new = new()
+ local function calculate(s)
+ local new = lpegmatch(p,s)
+ new = load(new,nil,nil,t)
if new then
- return new
+ new = new()
+ if new then
+ return new
+ end
end
+ return old
end
- return old
- end
- implement {
- name = "positunum",
- public = true,
- arguments = "string",
- actions = function(s)
- local r = calculate(s)
- local t = type(r)
- if t == "boolean" then
- context(tostring(r))
- elseif t == "string" then
- context(r)
- else
- context("%N",posittonumber(r))
+ implement {
+ name = "positunum",
+ public = true,
+ arguments = "string",
+ actions = function(s)
+ local r = calculate(s)
+ local t = type(r)
+ if t == "boolean" then
+ context(tostring(r))
+ elseif t == "string" then
+ context(r)
+ else
+ context("%N",posittonumber(r))
+ end
end
- end
- }
+ }
+
+ implement {
+ name = "ifpositunum",
+ public = true,
+ usage = "condition",
+ arguments = "string",
+ actions = function(s)
+ return boolean_code, calculate(s) and true or false
+ end,
+ }
- implement {
- name = "ifpositunum",
- public = true,
- usage = "condition",
- arguments = "string",
- actions = function(s)
- return boolean_code, calculate(s) and true or false
- end,
- }
+ end
+
+end
+
+do
+
+ local xsin = xmath.sin local xasin = xmath.asin local xsinh = xmath.sinh local xasinh = xmath.asinh
+ local xcos = xmath.cos local xacos = xmath.acos local xcosh = xmath.cosh local xacosh = xmath.acosh
+ local xtan = xmath.tan local xatan = xmath.atan local xtanh = xmath.tanh local xatanh = xmath.atanh
+
+ local xsqrt = xmath.sqrt
+ local xlog = xmath.log
+ local xexp = xmath.exp
+ local xpow = xmath.pow
+ local xceil = xmath.ceil
+ local xfloor = xmath.floor
+ local xround = xmath.round
+ local xabs = xmath.fabs
+ local xmod = xmath.fmod
+ local xrem = xmath.remainder
+ local xrad = xmath.rad
+ local xdeg = xmath.deg
+ local xatan2 = xmath.atan2
+
+ implement { name = "pfsin", public = true, usage = "value", actions = function() return float_code, xsin (scanposit(true)) end }
+ implement { name = "pfcos", public = true, usage = "value", actions = function() return float_code, xcos (scanposit(true)) end }
+ implement { name = "pftan", public = true, usage = "value", actions = function() return float_code, xtan (scanposit(true)) end }
+ implement { name = "pfasin", public = true, usage = "value", actions = function() return float_code, xasin (scanposit(true)) end }
+ implement { name = "pfacos", public = true, usage = "value", actions = function() return float_code, xacos (scanposit(true)) end }
+ implement { name = "pfatan", public = true, usage = "value", actions = function() return float_code, xatan (scanposit(true)) end }
+ implement { name = "pfsinh", public = true, usage = "value", actions = function() return float_code, xsinh (scanposit(true)) end }
+ implement { name = "pfcosh", public = true, usage = "value", actions = function() return float_code, xcosh (scanposit(true)) end }
+ implement { name = "pftanh", public = true, usage = "value", actions = function() return float_code, xtanh (scanposit(true)) end }
+ implement { name = "pfasinh", public = true, usage = "value", actions = function() return float_code, xasinh(scanposit(true)) end }
+ implement { name = "pfacosh", public = true, usage = "value", actions = function() return float_code, xacosh(scanposit(true)) end }
+ implement { name = "pfatanh", public = true, usage = "value", actions = function() return float_code, xatanh(scanposit(true)) end }
+ implement { name = "pfsqrt", public = true, usage = "value", actions = function() return float_code, xsqrt (scanposit(true)) end }
+ implement { name = "pflog", public = true, usage = "value", actions = function() return float_code, xlog (scanposit(true)) end }
+ implement { name = "pfexp", public = true, usage = "value", actions = function() return float_code, xexp (scanposit(true)) end }
+ implement { name = "pfceil", public = true, usage = "value", actions = function() return float_code, xceil (scanposit(true)) end }
+ implement { name = "pffloor", public = true, usage = "value", actions = function() return float_code, xfloor(scanposit(true)) end }
+ implement { name = "pfround", public = true, usage = "value", actions = function() return float_code, xround(scanposit(true)) end }
+ implement { name = "pfabs", public = true, usage = "value", actions = function() return float_code, xabs (scanposit(true)) end }
+ implement { name = "pfrad", public = true, usage = "value", actions = function() return float_code, xrad (scanposit(true)) end }
+ implement { name = "pfdeg", public = true, usage = "value", actions = function() return float_code, xdeg (scanposit(true)) end }
+ implement { name = "pfatantwo", public = true, usage = "value", actions = function() return float_code, xatan2(scanposit(true),scanposit(true)) end }
+ implement { name = "pfpow", public = true, usage = "value", actions = function() return float_code, xpow (scanposit(true),scanposit(true)) end }
+ implement { name = "pfmod", public = true, usage = "value", actions = function() return float_code, xmod (scanposit(true),scanposit(true)) end }
+ implement { name = "pfrem", public = true, usage = "value", actions = function() return float_code, xrem (scanposit(true),scanposit(true)) end }
end
diff --git a/tex/context/base/mkxl/cldf-pos.mkxl b/tex/context/base/mkxl/cldf-pos.mkxl
index e8868eece..fb419d070 100644
--- a/tex/context/base/mkxl/cldf-pos.mkxl
+++ b/tex/context/base/mkxl/cldf-pos.mkxl
@@ -13,8 +13,24 @@
\writestatus{loading}{ConTeXt Posit Numbers / Initialization}
-% \newcount\trialtypesettingstate % gets aliased at the Lua end
-
\registerctxluafile{cldf-pos}{autosuffix}
+\newposit\pfpi \pfpi 3.1415926535897932384626433832795028841971
+\newposit\pftwopi \pftwopi \floatexpr \pfpi * 2 \relax
+
+% \newfloat\fooA
+%
+% \scratchdimen=123.456pt\relax [\type{dim:} \the\scratchdimen==123.456pt]\par
+% \fooA =123.456\relax [\type{pos:} \the\fooA ==123.456] \par
+% \fooA =\scratchdimen\relax [\type{pos:} \the\fooA ==123.456] \par
+% \scratchdimen=\fooA\relax [\type{dim:} \the\scratchdimen==123.456pt]\par
+% \scratchdimen\dimexpr\fooA+10pt\relax[\type{dim:} \the\scratchdimen==133.456pt]\par
+%
+% \fooA\pfsin \pfpi [\the\fooA]\par
+% \fooA\pfcos \pfpi [\the\fooA]\par
+% \fooA\pfsqrt\pfpi [\the\fooA]\par
+% \fooA\pfexp \pfpi [\the\fooA]\par
+% \fooA\pflog \pfpi [\the\fooA]\par
+% \fooA\pfpow \pfpi 2 [\the\fooA]\par
+
\endinput
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index ebc5e13fc..23dc6bbef 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2023.04.27 09:34}
+\newcontextversion{2023.04.27 16:54}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index 1e286f461..9ee1d3803 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2023.04.27 09:34}
+\immutable\edef\contextversion{2023.04.27 16:54}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/luat-cnf.lmt b/tex/context/base/mkxl/luat-cnf.lmt
index ea9eb0d89..585941173 100644
--- a/tex/context/base/mkxl/luat-cnf.lmt
+++ b/tex/context/base/mkxl/luat-cnf.lmt
@@ -60,7 +60,7 @@ function texconfig.init()
-- not in luametatex
"unicode", "utf", "gzip", "zip", "zlib",
-- in luametatex
- "xzip", "xmath", "xcomplex", "xdecimal", "basexx",
+ "xzip", "xmath", "xcomplex", "xdecimal", "basexx", "posit",
-- maybe some day in luametatex
"lz4", "lzo",
-- always (mime can go)
diff --git a/tex/context/base/mkxl/toks-ini.lmt b/tex/context/base/mkxl/toks-ini.lmt
index e4bf7626f..d45e3ae1c 100644
--- a/tex/context/base/mkxl/toks-ini.lmt
+++ b/tex/context/base/mkxl/toks-ini.lmt
@@ -48,6 +48,7 @@ local scanvalue = token.scanvalue
local scanchar = token.scanchar
local scancsname = token.scancsname
local scannextchar = token.scannextchar
+local scanposit = token.scanposit
local scanreal = token.scanreal
local scanfloat = token.scanfloat
local scanluanumber = token.scanluanumber
@@ -160,6 +161,7 @@ tokens.scanners = { -- these expand
gluespec = scanskip,
integer = scaninteger,
cardinal = scancardinal,
+ posit = scanposit,
real = scanreal,
float = scanfloat,
luanumber = scanluanumber,
diff --git a/tex/context/base/mkxl/toks-scn.lmt b/tex/context/base/mkxl/toks-scn.lmt
index c08e8415a..855bca6ad 100644
--- a/tex/context/base/mkxl/toks-scn.lmt
+++ b/tex/context/base/mkxl/toks-scn.lmt
@@ -29,6 +29,7 @@ local scantoks = scanners.toks
local scaninteger = scanners.integer
local scancardinal = scanners.cardinal
local scannumber = scanners.number
+local scanfloat = scanners.float
local scankeyword = scanners.keyword
local scankeywordcs = scanners.keywordcs
local scanword = scanners.word
@@ -226,6 +227,7 @@ local shortcuts = {
scaninteger = scaninteger,
scancardinal = scancardinal,
scannumber = scannumber,
+ scanfloat = scanfloat,
scantable = scantable, -- not directly useable
scankeyword = scankeyword,
scankeywordcs = scankeywordcs,
diff --git a/tex/context/interface/mkii/keys-en.xml b/tex/context/interface/mkii/keys-en.xml
index fae9ee691..80624e8dc 100644
--- a/tex/context/interface/mkii/keys-en.xml
+++ b/tex/context/interface/mkii/keys-en.xml
@@ -453,6 +453,7 @@
<cd:variable name='printable' value='printable'/>
<cd:variable name='process' value='process'/>
<cd:variable name='product' value='product'/>
+ <cd:variable name='profile' value='profile'/>
<cd:variable name='program' value='program'/>
<cd:variable name='project' value='project'/>
<cd:variable name='protected' value='protected'/>
@@ -837,6 +838,7 @@
<cd:constant name='exitoffset' value='exitoffset'/>
<cd:constant name='expansion' value='expansion'/>
<cd:constant name='export' value='export'/>
+ <cd:constant name='extradata' value='extradata'/>
<cd:constant name='extras' value='extras'/>
<cd:constant name='factor' value='factor'/>
<cd:constant name='fallback' value='fallback'/>
@@ -960,6 +962,7 @@
<cd:constant name='lastpage' value='lastpage'/>
<cd:constant name='lastpagesep' value='lastpagesep'/>
<cd:constant name='lastpubsep' value='lastpubsep'/>
+ <cd:constant name='lasttextseparator' value='lasttextseparator'/>
<cd:constant name='layout' value='layout'/>
<cd:constant name='left' value='left'/>
<cd:constant name='leftclass' value='leftclass'/>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 5b8498cd4..917ab1b94 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 : 2023-04-27 09:34
+-- merge date : 2023-04-27 16:54
do -- begin closure to overcome local limits and interference