summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/buff-imp-lua.lua2
-rw-r--r--tex/context/base/buff-imp-mp.lua101
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4096 -> 4089 bytes
-rw-r--r--tex/context/base/context-version.pngbin106350 -> 106228 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/l-lpeg.lua23
-rw-r--r--tex/context/base/mult-def.lua56
-rw-r--r--tex/context/base/mult-mps.lua2
-rw-r--r--tex/context/base/mult-prm.lua126
-rw-r--r--tex/context/base/mult-prm.mkiv23
-rw-r--r--tex/context/base/status-files.pdfbin23925 -> 23942 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin162351 -> 162348 bytes
-rw-r--r--tex/context/base/syst-aux.mkiv48
-rw-r--r--tex/context/base/syst-ini.mkiv8
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua25
18 files changed, 166 insertions, 256 deletions
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
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index 1c047a3b6..b421b99a0 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files 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
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 48e8df334..e89a371d1 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files 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):
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 48733addb..18d88e815 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 09/12/11 22:49:51
+-- merge date : 09/14/11 12:21:17
do -- begin closure to overcome local limits and interference
@@ -1726,6 +1726,29 @@ function lpeg.append(list,pp,delayed)
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
+
end -- closure
do -- begin closure to overcome local limits and interference