From a39b448f695e8f4ce44c909a493d83643e8227cc Mon Sep 17 00:00:00 2001 From: Marius Date: Wed, 14 Sep 2011 13:40:13 +0300 Subject: beta 2011.09.14 12:21 --- tex/context/base/buff-imp-lua.lua | 2 +- tex/context/base/buff-imp-mp.lua | 101 ++++------------------------ tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4096 -> 4089 bytes tex/context/base/context-version.png | Bin 106350 -> 106228 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/l-lpeg.lua | 23 +++++++ tex/context/base/mult-def.lua | 56 ++++++++++++++++ tex/context/base/mult-mps.lua | 2 +- tex/context/base/mult-prm.lua | 126 ++--------------------------------- tex/context/base/mult-prm.mkiv | 23 ++++--- tex/context/base/status-files.pdf | Bin 23925 -> 23942 bytes tex/context/base/status-lua.pdf | Bin 162351 -> 162348 bytes tex/context/base/syst-aux.mkiv | 48 ++++++------- tex/context/base/syst-ini.mkiv | 8 +-- 17 files changed, 142 insertions(+), 255 deletions(-) (limited to 'tex/context/base') diff --git a/tex/context/base/buff-imp-lua.lua b/tex/context/base/buff-imp-lua.lua index 3a3bb3d2c..1147666cc 100644 --- a/tex/context/base/buff-imp-lua.lua +++ b/tex/context/base/buff-imp-lua.lua @@ -146,7 +146,7 @@ local special = S("-+/*^%=#") + P("..") local equals = P("=")^0 local open = P("[") * Cg(equals, "init") * P("[") * P("\n")^-1 -- maybe better: patterns.newline^-1 local close = P("]") * C(equals) * P("]") -local closeeq = Cmt(close * Cb("init"), function(s,i,a,b) return a == b end) +local closeeq = Cmt(close * Cb("init"), function(s,i,a,b) return a == b end) -- wrong return value local longstring = open * Cs((P(1) - closeeq)^0) * close * Carg(1) local function long(content,equals,settings) diff --git a/tex/context/base/buff-imp-mp.lua b/tex/context/base/buff-imp-mp.lua index 6b8a26536..24ca597e7 100644 --- a/tex/context/base/buff-imp-mp.lua +++ b/tex/context/base/buff-imp-mp.lua @@ -6,98 +6,21 @@ if not modules then modules = { } end modules ['buff-imp-mp'] = { license = "see context related readme files" } +-- Now that we also use lpeg lexers in scite, we can share the keywords +-- so we have moved the keyword lists to mult-mps.lua. Don't confuse the +-- scite lexers with the ones we use here. Of course all those lexers +-- boil down to doing similar things, but here we need more control over +-- the rendering and have a different way of nesting. It is no coincidence +-- that the coloring looks similar: both are derived from earlier lexing (in +-- texedit, mkii and the c++ scite lexer). + local P, S, V, patterns = lpeg.P, lpeg.S, lpeg.V, lpeg.patterns -local primitives = table.tohash { - 'charcode', 'day', 'linecap', 'linejoin', 'miterlimit', 'month', 'pausing', - 'prologues', 'showstopping', 'time', 'tracingcapsules', 'tracingchoices', - 'tracingcommands', 'tracingequations', 'tracinglostchars', - 'tracingmacros', 'tracingonline', 'tracingoutput', 'tracingrestores', - 'tracingspecs', 'tracingstats', 'tracingtitles', 'truecorners', - 'warningcheck', 'year', 'mpprocset', - 'false', 'nullpicture', 'pencircle', 'true', - 'and', 'angle', 'arclength', 'arctime', 'ASCII', 'bluepart', 'boolean', 'bot', - 'char', 'color', 'cosd', 'cycle', 'decimal', 'directiontime', 'floor', 'fontsize', - 'greenpart', 'hex', 'infont', 'intersectiontimes', 'known', 'length', 'llcorner', - 'lrcorner', 'makepath', 'makepen', 'mexp', 'mlog', 'normaldeviate', 'not', - 'numeric', 'oct', 'odd', 'or', 'path', 'pair', 'pen', 'penoffset', 'picture', 'point', - 'postcontrol', 'precontrol', 'redpart', 'reverse', 'rotated', 'scaled', - 'shifted', 'sind', 'slanted', 'sqrt', 'str', 'string', 'subpath', 'substring', - 'transform', 'transformed', 'ulcorner', 'uniformdeviate', 'unknown', - 'urcorner', 'xpart', 'xscaled', 'xxpart', 'xypart', 'ypart', 'yscaled', 'yxpart', - 'yypart', 'zscaled', - 'addto', 'clip', 'input', 'interim', 'let', 'newinternal', 'save', 'setbounds', - 'shipout', 'show', 'showdependencies', 'showtoken', 'showvariable', - 'special', - 'begingroup', 'endgroup', 'of', 'curl', 'tension', 'and', 'controls', - 'reflectedabout', 'rotatedaround', 'interpath', 'on', 'off', 'beginfig', - 'endfig', 'def', 'vardef', 'enddef', 'epxr', 'suffix', 'text', 'primary', 'secondary', - 'tertiary', 'primarydef', 'secondarydef', 'tertiarydef', 'top', 'bottom', - 'ulft', 'urt', 'llft', 'lrt', 'randomseed', 'also', 'contour', 'doublepath', - 'withcolor', 'withpen', 'dashed', 'if', 'else', 'elseif', 'fi', 'for', 'endfor', 'forever', 'exitif', - 'forsuffixes', 'downto', 'upto', 'step', 'until', - 'charlist', 'extensible', 'fontdimen', 'headerbyte', 'kern', 'ligtable', - 'boundarychar', 'chardp', 'charext', 'charht', 'charic', 'charwd', 'designsize', - 'fontmaking', 'charexists', - 'cullit', 'currenttransform', 'gfcorners', 'grayfont', 'hround', - 'imagerules', 'lowres_fix', 'nodisplays', 'notransforms', 'openit', - 'displaying', 'currentwindow', 'screen_rows', 'screen_cols', - 'pixels_per_inch', 'cull', 'display', 'openwindow', 'numspecial', - 'totalweight', 'autorounding', 'fillin', 'proofing', 'tracingpens', - 'xoffset', 'chardx', 'granularity', 'smoothing', 'turningcheck', 'yoffset', - 'chardy', 'hppp', 'tracingedges', 'vppp', - 'extra_beginfig', 'extra_endfig', 'mpxbreak', - 'end', 'btex', 'etex', 'verbatimtex' -} +local mps = dofile(resolvers.findfile("mult-mps.lua","tex")) -local plain = table.tohash { - 'ahangle', 'ahlength', 'bboxmargin', 'defaultpen', 'defaultscale', - 'labeloffset', 'background', 'currentpen', 'currentpicture', 'cuttings', - 'defaultfont', 'extra_beginfig', 'extra_endfig', - 'beveled', 'black', 'blue', 'bp', 'butt', 'cc', 'cm', 'dd', 'ditto', 'down', 'epsilon', - 'evenly', 'fullcircle', 'green', 'halfcircle', 'identity', 'in', 'infinity', 'left', - 'mitered', 'mm', 'origin', 'pensquare', 'pt', 'quartercircle', 'red', 'right', - 'rounded', 'squared', 'unitsquare', 'up', 'white', 'withdots', - 'abs', 'bbox', 'ceiling', 'center', 'cutafter', 'cutbefore', 'dir', - 'directionpoint', 'div', 'dotprod', 'intersectionpoint', 'inverse', 'mod', 'lft', - 'round', 'rt', 'unitvector', 'whatever', - 'cutdraw', 'draw', 'drawarrow', 'drawdblarrow', 'fill', 'filldraw', 'drawdot', - 'loggingall', 'pickup', 'tracingall', 'tracingnone', 'undraw', 'unfill', - 'unfilldraw', - 'buildcycle', 'dashpattern', 'decr', 'dotlabel', 'dotlabels', 'drawoptions', - 'incr', 'label', 'labels', 'max', 'min', 'thelabel', 'z', - 'beginchar', 'blacker', 'capsule_end', 'change_width', - 'define_blacker_pixels', 'define_corrected_pixels', - 'define_good_x_pixels', 'define_good_y_pixels', - 'define_horizontal_corrected_pixels', 'define_pixels', - 'define_whole_blacker_pixels', 'define_whole_pixels', - 'define_whole_vertical_blacker_pixels', - 'define_whole_vertical_pixels', 'endchar', 'extra_beginchar', - 'extra_endchar', 'extra_setup', 'font_coding_scheme', - 'font_extra_space' -} - -local metafun = table.tohash { - 'unitcircle', 'fulldiamond', 'unitdiamond', - 'halfcircle', 'quartercircle', - 'llcircle', 'lrcircle', 'urcircle', 'ulcircle', - 'tcircle', 'bcircle', 'lcircle', 'rcircle', - 'lltriangle', 'lrtriangle', 'urtriangle', 'ultriangle', - 'smoothed', 'cornered', 'superellipsed', 'randomized', 'squeezed', - 'punked', 'curved', 'unspiked', 'simplified', 'blownup', 'stretched', - 'paralled', 'enlonged', 'shortened', - 'enlarged', 'leftenlarged', 'topenlarged', 'rightenlarged', 'bottomenlarged', - 'llenlarged', 'lrenlarged', 'urenlarged', 'ulenlarged', - 'llmoved', 'lrmoved', 'urmoved', 'ulmoved', - 'boundingbox', 'innerboundingbox', 'outerboundingbox', - 'bottomboundary', 'leftboundary', 'topboundary', 'rightboundary', - 'xsized', 'ysized', 'xysized', - 'cmyk', 'transparent', 'withshade', 'spotcolor', - 'drawfill', 'undrawfill', - 'inverted', 'uncolored', 'softened', 'grayed', - 'textext', 'graphictext', - 'loadfigure', 'externalfigure' -} +local primitives = table.tohash(mps.primitives) +local plain = table.tohash(mps.plain) +local metafun = table.tohash(mps.metafun) local context = context local verbatim = context.verbatim diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index ba26b7226..abd0357f8 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.09.12 22:49} +\newcontextversion{2011.09.14 12:21} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 1c31ebf94..d80c38ea8 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.09.12 22:49} +\newcontextversion{2011.09.14 12:21} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index ef175af2a..f28a6957c 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index 1c047a3b6..b421b99a0 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index a0ada15e9..ce28c02a6 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.09.12 22:49} +\edef\contextversion{2011.09.14 12:21} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 88217fc54..f52f46334 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.09.12 22:49} +\edef\contextversion{2011.09.14 12:21} %D For those who want to use this: diff --git a/tex/context/base/l-lpeg.lua b/tex/context/base/l-lpeg.lua index 4b40b641e..9860937c4 100644 --- a/tex/context/base/l-lpeg.lua +++ b/tex/context/base/l-lpeg.lua @@ -633,3 +633,26 @@ function lpeg.append(list,pp,delayed) end return p end + +-- function lpeg.exact_match(words,case_insensitive) +-- local pattern = concat(words) +-- if case_insensitive then +-- local pattern = S(upper(characters)) + S(lower(characters)) +-- local list = { } +-- for i=1,#words do +-- list[lower(words[i])] = true +-- end +-- return Cmt(pattern^1, function(_,i,s) +-- return list[lower(s)] and i +-- end) +-- else +-- local pattern = S(concat(words)) +-- local list = { } +-- for i=1,#words do +-- list[words[i]] = true +-- end +-- return Cmt(pattern^1, function(_,i,s) +-- return list[s] and i +-- end) +-- end +-- end diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua index 1144dba22..7e0ed0bf1 100644 --- a/tex/context/base/mult-def.lua +++ b/tex/context/base/mult-def.lua @@ -7,6 +7,62 @@ if not modules then modules = { } end modules ['mult-def'] = { } return { + ["helpers"]={ -- for syntax highlighters, only the ones that are for users (boring to collect them) + -- + "doif", "doifnot", "doifelse", + "doifinset", "doifnotinset", "doifinsetelse", + "doifnextcharelse", "doifnextoptionalelse", "doifnextparenthesiselse", "doiffastoptionalcheckelse", + "doifundefinedelse", "doifdefinedelse", "doifundefined", "doifdefined", + "doifelsevalue", "doifvalue", "doifnotvalue", + "doifnothing", "doifsomething", "doifelsenothing", "doifsomethingelse", + "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", + "doifdimensionelse", + -- + "tracingall", "tracingnone", "loggingall", + -- + "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", + -- + "endgraf", "empty", "null", "space", "obeyspaces", "obeylines", + -- + "executeifdefined", + -- + "dontleavehmode", + -- + "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "measure", + -- + "getvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", + "resetvalue", "undefinevalue", "ignorevalue", + "setuvalue", "setuevalue", "setugvalue", "setuxvalue", + "globallet", "glet", + "getparameters", "geteparameters", + -- + "processcommalist", "processcommacommand", "quitcommalist", + "processaction", "processallactions", + -- + "startsetups", "stopsetups", + "startxmlsetups", "stopxmlsetups", + "starttexdefinition", "stoptexdefinition", + -- + "unexpanded", "expanded", "startexpanded", "stopexpanded", "protected", "protect", "unprotect", + -- + "firstofoneargument", + "firstoftwoarguments", "secondoftwoarguments", + "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", + "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", + "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", + "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", + -- + "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", + "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", + -- + "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", + -- + "newconstant", "setnewconstant", "newconditional", "settrue", "setfalse", + -- + "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", + "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", + -- + }, ["commands"]={ ["CAPPED"]={ ["cs"]="KAP", diff --git a/tex/context/base/mult-mps.lua b/tex/context/base/mult-mps.lua index c56fe2eac..f382433de 100644 --- a/tex/context/base/mult-mps.lua +++ b/tex/context/base/mult-mps.lua @@ -22,7 +22,7 @@ return { "special", "begingroup", "endgroup", "of", "curl", "tension", "and", "controls", "reflectedabout", "rotatedaround", "interpath", "on", "off", "beginfig", - "endfig", "def", "vardef", "enddef", "epxr", "suffix", "text", "primary", "secondary", + "endfig", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", "tertiary", "primarydef", "secondarydef", "tertiarydef", "top", "bottom", "ulft", "urt", "llft", "lrt", "randomseed", "also", "contour", "doublepath", "withcolor", "withpen", "dashed", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", diff --git a/tex/context/base/mult-prm.lua b/tex/context/base/mult-prm.lua index 0c84563fc..61ba38199 100644 --- a/tex/context/base/mult-prm.lua +++ b/tex/context/base/mult-prm.lua @@ -6,212 +6,135 @@ return { "Omegaminorversion", "Omegarevision", "Udelcode", - "Udelcode", "Udelcodenum", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Umathaccent", - "Umathaccent", - "Umathaccents", "Umathaccents", "Umathaxis", "Umathbinbinspacing", - "Umathbinbinspacing", "Umathbinclosespacing", "Umathbininnerspacing", "Umathbinopenspacing", "Umathbinopspacing", - "Umathbinopspacing", - "Umathbinordspacing", "Umathbinordspacing", "Umathbinpunctspacing", - "Umathbinpunctspacing", "Umathbinrelspacing", "Umathbotaccent", - "Umathbotaccent", "Umathchar", "Umathchardef", - "Umathchardef", "Umathcharnum", "Umathclosebinspacing", - "Umathclosebinspacing", - "Umathcloseclosespacing", "Umathcloseclosespacing", "Umathcloseinnerspacing", "Umathcloseopenspacing", - "Umathcloseopenspacing", "Umathcloseopspacing", "Umathcloseordspacing", "Umathclosepunctspacing", "Umathcloserelspacing", "Umathcode", - "Umathcode", - "Umathcodenum", "Umathcodenum", "Umathconnectoroverlapmin", - "Umathconnectoroverlapmin", "Umathfractiondelsize", "Umathfractiondenomdown", - "Umathfractiondenomdown", - "Umathfractiondenomvgap", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", - "Umathfractionnumvgap", "Umathfractionrule", "Umathinnerbinspacing", - "Umathinnerbinspacing", "Umathinnerclosespacing", - "Umathinnerclosespacing", - "Umathinnerinnerspacing", "Umathinnerinnerspacing", "Umathinneropenspacing", - "Umathinneropenspacing", - "Umathinneropspacing", "Umathinneropspacing", "Umathinnerordspacing", "Umathinnerpunctspacing", "Umathinnerrelspacing", - "Umathinnerrelspacing", "Umathlimitabovebgap", "Umathlimitabovekern", - "Umathlimitabovekern", - "Umathlimitabovevgap", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", - "Umathlimitbelowvgap", "Umathopbinspacing", - "Umathopbinspacing", - "Umathopclosespacing", "Umathopclosespacing", "Umathopenbinspacing", - "Umathopenbinspacing", - "Umathopenclosespacing", "Umathopenclosespacing", "Umathopeninnerspacing", "Umathopenopenspacing", "Umathopenopspacing", "Umathopenordspacing", - "Umathopenordspacing", "Umathopenrelspacing", "Umathoperatorsize", - "Umathoperatorsize", - "Umathopinnerspacing", "Umathopinnerspacing", "Umathopopenspacing", - "Umathopopenspacing", "Umathopopspacing", "Umathopordspacing", "Umathoppunctspacing", - "Umathoppunctspacing", - "Umathoprelspacing", "Umathoprelspacing", "Umathordbinspacing", "Umathordclosespacing", "Umathordinnerspacing", "Umathordopenspacing", "Umathordopspacing", - "Umathordopspacing", "Umathordordspacing", "Umathordpunctspacing", "Umathordrelspacing", - "Umathordrelspacing", "Umathoverbarkern", "Umathoverbarrule", - "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", - "Umathoverdelimiterbgap", "Umathoverdelimitervgap", "Umathpunctbinspacing", - "Umathpunctbinspacing", "Umathpunctclosespacing", "Umathpunctinnerspacing", "Umathpunctopenspacing", - "Umathpunctopenspacing", - "Umathpunctopspacing", "Umathpunctopspacing", "Umathpunctordspacing", - "Umathpunctordspacing", "Umathpunctpunctspacing", "Umathpunctrelspacing", - "Umathpunctrelspacing", - "Umathquad", "Umathquad", "Umathradicaldegreeafter", - "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", - "Umathradicaldegreeraise", "Umathradicalkern", - "Umathradicalkern", - "Umathradicalrule", "Umathradicalrule", "Umathradicalvgap", - "Umathradicalvgap", - "Umathrelbinspacing", "Umathrelbinspacing", "Umathrelclosespacing", - "Umathrelclosespacing", - "Umathrelinnerspacing", "Umathrelinnerspacing", "Umathrelopenspacing", - "Umathrelopenspacing", - "Umathrelopspacing", "Umathrelopspacing", "Umathrelpunctspacing", "Umathrelrelspacing", "Umathspaceafterscript", - "Umathspaceafterscript", "Umathstackdenomdown", "Umathstacknumup", - "Umathstacknumup", - "Umathstackvgap", "Umathstackvgap", "Umathsubshiftdown", - "Umathsubshiftdown", - "Umathsubshiftdrop", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", - "Umathsubsupvgap", - "Umathsubtopmax", "Umathsubtopmax", "Umathsupbottommin", "Umathsupshiftdrop", "Umathsupshiftup", - "Umathsupshiftup", "Umathsupsubbottommax", "Umathunderbarkern", - "Umathunderbarkern", "Umathunderbarrule", - "Umathunderbarrule", - "Umathunderbarvgap", "Umathunderbarvgap", "Umathunderdelimiterbgap", - "Umathunderdelimiterbgap", - "Umathunderdelimitervgap", "Umathunderdelimitervgap", "Uoverdelimiter", "Uradical", - "Uradical", - "Uroot", "Uroot", "Ustack", - "Ustack", "Ustartdisplaymath", "Ustartmath", - "Ustartmath", "Ustopdisplaymath", "Ustopmath", "Usubscript", - "Usubscript", "Usuperscript", - "Usuperscript", - "Uunderdelimiter", "Uunderdelimiter", "abovedisplayshortskip", "abovedisplayskip", @@ -223,12 +146,9 @@ return { "aftergroup", "alignmark", "aligntab", - "aligntab", "atop", "atopwithdelims", "attribute", - "attribute", - "attributedef", "attributedef", "badness", "baselineskip", @@ -240,15 +160,13 @@ return { "boxdir", "boxmaxdepth", "brokenpenalty", - "catcodetable", + "catcode", "catcodetable", "char", - "chardp", + "chardef", "chardp", "charht", "charit", - "charit", - "charwd", "charwd", "cleaders", "clearmarks", @@ -260,11 +178,9 @@ return { "countdef", "cr", "crampeddisplaystyle", - "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", - "crampedtextstyle", "crcr", "csname", "currentgrouplevel", @@ -273,6 +189,7 @@ return { "currentiflevel", "day", "deadcycles", + "def", "defaultskewchar", "delcode", "delimiterfactor", @@ -319,9 +236,9 @@ return { "fontcharic", "fontcharwd", "fontid", - "fontid", "fontname", "formatname", + "futurelet", "gdef", "gleaders", "global", @@ -349,8 +266,6 @@ return { "hyphenpenalty", "if", "ifabsdim", - "ifabsdim", - "ifabsnum", "ifabsnum", "ifcase", "ifcat", @@ -366,7 +281,6 @@ return { "ifpdfabsdim", "ifpdfprimitive", "ifprimitive", - "ifprimitive", "iftrue", "ifvbox", "ifvmode", @@ -376,7 +290,6 @@ return { "immediate", "indent", "initcatcodetable", - "initcatcodetable", "input", "insert", "insertpenalties", @@ -389,11 +302,9 @@ return { "lastnodetype", "lastpenalty", "latelua", - "latelua", "lccode", "leaders", "leftghost", - "leftghost", "lefthyphenmin", "leftmarginkern", "leftskip", @@ -404,19 +315,15 @@ return { "lineskip", "lineskiplimit", "localbrokenpenalty", - "localbrokenpenalty", - "localinterlinepenalty", "localinterlinepenalty", "localleftbox", "localrightbox", - "localrightbox", "long", "lowercase", "lpcode", "luaescapestring", "luatexdatestamp", "luatexrevision", - "luatexrevision", "luatexversion", "mark", "marks", @@ -450,8 +357,6 @@ return { "noexpand", "noindent", "nokerns", - "nokerns", - "noligs", "noligs", "nolimits", "nolocaldirs", @@ -460,27 +365,19 @@ return { "nullfont", "number", "odelcode", - "odelcode", "odelimiter", - "odelimiter", - "omathaccent", "omathaccent", "omathchar", - "omathchar", - "omathchardef", "omathchardef", "omathcode", - "omathcode", "omit", "openin", "openout", "or", "oradical", - "oradical", "outer", "output", "outputbox", - "outputbox", "outputpenalty", "over", "overfullrule", @@ -495,19 +392,14 @@ return { "pagefilstretch", "pagegoal", "pageheight", - "pageheight", - "pageleftoffset", "pageleftoffset", "pageshrink", "pagestretch", "pagetopoffset", - "pagetopoffset", "pagetotal", "pagewidth", - "pagewidth", "par", "pardir", - "pardir", "parfillskip", "parshapedimen", "parshapeindent", @@ -593,18 +485,14 @@ return { "postdisplaypenalty", "postexhyphenchar", "posthyphenchar", - "posthyphenchar", "predisplaydirection", "predisplaysize", "preexhyphenchar", - "preexhyphenchar", - "prehyphenchar", "prehyphenchar", "pretolerance", "prevdepth", "prevgraf", "primitive", - "primitive", "protected", "quitvmode", "raise", @@ -613,12 +501,10 @@ return { "relax", "relpenalty", "right", - "rightghost", "rightmarginkern", "rightskip", "rpcode", "savecatcodetable", - "savecatcodetable", "savinghyphcodes", "scantextokens", "scriptfont", @@ -651,16 +537,12 @@ return { "splittopskip", "string", "suppressfontnotfounderror", - "suppressfontnotfounderror", - "suppressifcsnameerror", "suppressifcsnameerror", "suppresslongerror", "suppressoutererror", - "suppressoutererror", "synctex", "tabskip", "tagcode", - "textdir", "textfont", "the", "thickmuskip", diff --git a/tex/context/base/mult-prm.mkiv b/tex/context/base/mult-prm.mkiv index 4fda18463..ab0c91b8e 100644 --- a/tex/context/base/mult-prm.mkiv +++ b/tex/context/base/mult-prm.mkiv @@ -1,17 +1,20 @@ \starttext \startluacode - local primitives = { } - table.merge(primitives,table.fromhash(tex.primitives())) - table.merge(primitives,tex.extraprimitives('etex')) - table.merge(primitives,tex.extraprimitives('pdftex')) - table.merge(primitives,tex.extraprimitives('luatex')) - table.merge(primitives,tex.extraprimitives('aleph')) - table.merge(primitives,tex.extraprimitives('omega')) + local primitives = table.unique( + table.merge( + { }, + table.fromhash(tex.primitives()), + tex.extraprimitives('etex'), + tex.extraprimitives('pdftex'), + tex.extraprimitives('luatex'), + tex.extraprimitives('aleph'), + tex.extraprimitives('omega'), + { "def", "catcode", "futurelet", "chardef", } + ) + ) table.sort(primitives) - while string.find(primitives[1],"[^A-Za-z]") do - table.remove(primitives,1) - end + table.remove(primitives,1) -- \- io.savedata("mult-prm.lua",table.serialize({ primitives = primitives },true,{ reduce = true, inline = false })) \stopluacode diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 1e72db3fc..2abcef338 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 48e8df334..e89a371d1 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index c7a3d2325..796f3321e 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -156,7 +156,7 @@ %D alternatives to this command. Beware, only the simple one %D has \type {\noexpand} before its argument. - \long\def\@@expanded{} % always long; global (less restores) +\long\def\@@expanded{} % always long; global (less restores) \long\def\expanded#1% {\long\xdef\@@expanded{\noexpand#1}\@@expanded} @@ -3763,28 +3763,28 @@ % faster -\long\unexpanded\def\dostepwiserecurse#1#2#3#4% can be made faster by postponing #4 - {\global\advance\outerrecurse \plusone - \long\global\@EA\def\csname\@@arecurse\recursedepth\endcsname##1##2{#4}% - \global\@EA\let\csname\@@irecurse\recursedepth\endcsname\recurselevel - \ifnum#3>\zerocount - \ifnum#2<#1\relax - \let\nextrecurse\exitstepwiserecurse - \else - \let\nextrecurse\dodostepwiserecurse - \fi - \else - \ifnum#3<\zerocount - \ifnum#1<#2\relax - \let\nextrecurse\exitstepwiserecurse - \else - \let\nextrecurse\dodostepwisereverse - \fi - \else - \let\nextrecurse\exitstepwiserecurse - \fi - \fi - \normalexpanded{\nextrecurse{\number#1}{\number#2}{\number#3}}} +% \long\unexpanded\def\dostepwiserecurse#1#2#3#4% can be made faster by postponing #4 +% {\global\advance\outerrecurse \plusone +% \long\global\@EA\def\csname\@@arecurse\recursedepth\endcsname##1##2{#4}% +% \global\@EA\let\csname\@@irecurse\recursedepth\endcsname\recurselevel +% \ifnum#3>\zerocount +% \ifnum#2<#1\relax +% \let\nextrecurse\exitstepwiserecurse +% \else +% \let\nextrecurse\dodostepwiserecurse +% \fi +% \else +% \ifnum#3<\zerocount +% \ifnum#1<#2\relax +% \let\nextrecurse\exitstepwiserecurse +% \else +% \let\nextrecurse\dodostepwisereverse +% \fi +% \else +% \let\nextrecurse\exitstepwiserecurse +% \fi +% \fi +% \normalexpanded{\nextrecurse{\number#1}{\number#2}{\number#3}}} % slightly faster @@ -5982,7 +5982,7 @@ \newbox\@@dlhbox -\unexpanded \def\dontleavehmode +\unexpanded\def\dontleavehmode {\ifhmode\else \ifmmode\else \setbox\@@dlhbox\hbox{\mathsurround\zeropoint\everymath\emptytoks$ $}\unhbox\@@dlhbox \fi \fi} diff --git a/tex/context/base/syst-ini.mkiv b/tex/context/base/syst-ini.mkiv index 3e8c8a749..7ff0c5575 100644 --- a/tex/context/base/syst-ini.mkiv +++ b/tex/context/base/syst-ini.mkiv @@ -581,7 +581,7 @@ %D %D In \LUATEX\ we have ways around this. -\def\tracingall +\normalprotected\def\tracingall {\tracingonline \plusone \tracingcommands \plusthree \tracingstats \plustwo @@ -600,11 +600,11 @@ \tracingassigns \plustwo \errorstopmode} -\def\loggingall +\normalprotected\def\loggingall {\tracingall \tracingonline \zerocount} -\def\tracingnone +\normalprotected\def\tracingnone {\tracingassigns \zerocount \tracingnesting \zerocount \tracingscantokens\zerocount @@ -700,7 +700,7 @@ %D does not support nested loops. We use a namespace prefix %D \type {@@pln}. -\long\def\loop#1\repeat{\long\def\@@plnbody{#1}\@@plniterate} +\long\def\loop#1\repeat{\long\def\@@plnbody{#1}\@@plniterate} % might go %D The following makes \type {\loop} \unknown\ \type {\if} %D \unknown\ \type {\repeat} skippable (clever trick): -- cgit v1.2.3