diff options
19 files changed, 85 insertions, 66 deletions
diff --git a/context/data/scite/context/lexers/data/scite-context-data-metafun.lua b/context/data/scite/context/lexers/data/scite-context-data-metafun.lua index ea7db4376..38c46afad 100644 --- a/context/data/scite/context/lexers/data/scite-context-data-metafun.lua +++ b/context/data/scite/context/lexers/data/scite-context-data-metafun.lua @@ -1,4 +1,4 @@ return { - ["commands"]={ "transparency", "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "uptriangle", "downtriangle", "lefttriangle", "righttriangle", "triangle", "smoothed", "cornered", "superellipsed", "randomized", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withcircularshade", "withlinearshade", "defineshade", "shaded", "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", "withshadecenter", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "withmask", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "textext", "thetextext", "rawtextext", "textextoffset", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "property", "properties", "withproperties", "asgroup", "infont", "space", "crlf", "dquote", "SPACE", "CRLF", "DQUOTE", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedpath", "constructedpairs", "punkedfunction", "straightfunction", "curvedfunction", "tightfunction", "punkedpath", "straightpath", "curvedpath", "tightpath", "punkedpairs", "straightpairs", "curvedpairs", "tightpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "basiccolors", "normalfill", "normaldraw", "visualizepaths", "naturalizepaths", "drawboundary", "drawwholepath", "visualizeddraw", "visualizedfill", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointoptions", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "format", "formatted", "startpassingvariable", "stoppassingvariable", "eofill", "eoclip", "area" }, + ["commands"]={ "transparency", "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "uptriangle", "downtriangle", "lefttriangle", "righttriangle", "triangle", "smoothed", "cornered", "superellipsed", "randomized", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withcircularshade", "withlinearshade", "defineshade", "shaded", "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", "withshadecenter", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "withmask", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "textext", "thetextext", "rawtextext", "textextoffset", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "property", "properties", "withproperties", "asgroup", "infont", "space", "crlf", "dquote", "percent", "SPACE", "CRLF", "DQUOTE", "PERCENT", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedfunction", "constructedpath", "constructedpairs", "straightfunction", "straightpath", "straightpairs", "curvedfunction", "curvedpath", "curvedpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "basiccolors", "normalfill", "normaldraw", "visualizepaths", "naturalizepaths", "drawboundary", "drawwholepath", "visualizeddraw", "visualizedfill", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointoptions", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "format", "formatted", "startpassingvariable", "stoppassingvariable", "eofill", "eoclip", "area" }, ["internals"]={ "nocolormodel", "greycolormodel", "graycolormodel", "rgbcolormodel", "cmykcolormodel", "shadefactor", "textextoffset", "normaltransparent", "multiplytransparent", "screentransparent", "overlaytransparent", "softlighttransparent", "hardlighttransparent", "colordodgetransparent", "colorburntransparent", "darkentransparent", "lightentransparent", "differencetransparent", "exclusiontransparent", "huetransparent", "saturationtransparent", "colortransparent", "luminositytransparent", "metapostversion", "maxdimensions" }, }
\ No newline at end of file diff --git a/context/data/scite/context/lexers/data/scite-context-data-metapost.lua b/context/data/scite/context/lexers/data/scite-context-data-metapost.lua index 258524459..06e247c39 100644 --- a/context/data/scite/context/lexers/data/scite-context-data-metapost.lua +++ b/context/data/scite/context/lexers/data/scite-context-data-metapost.lua @@ -2,7 +2,7 @@ return { ["commands"]={ "upto", "downto", "beginfig", "endfig", "beginglyph", "endglyph", "rotatedaround", "reflectedabout", "arrowhead", "currentpen", "currentpicture", "cuttings", "defaultfont", "extra_beginfig", "extra_endfig", "ditto", "EOF", "down", "evenly", "fullcircle", "halfcircle", "identity", "in", "left", "pensquare", "penrazor", "penspec", "origin", "quartercircle", "right", "unitsquare", "up", "withdots", "abs", "bbox", "ceiling", "center", "cutafter", "cutbefore", "dir", "directionpoint", "div", "dotprod", "intersectionpoint", "inverse", "mod", "round", "unitvector", "whatever", "cutdraw", "draw", "drawarrow", "drawdblarrow", "fill", "filldraw", "drawdot", "loggingall", "interact", "tracingall", "tracingnone", "pickup", "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", "clearxy", "clearit", "clearpen", "shipit", "font_extra_space", "exitunless", "relax", "hide", "gobble", "gobbled", "stop", "blankpicture", "counterclockwise", "tensepath", "takepower", "direction", "softjoin", "makelabel", "rotatedabout", "flex", "superellipse", "image", "nullpen", "savepen", "clearpen", "penpos", "penlabels", "range", "thru", "z", "laboff", "bye", "red", "green", "blue", "cyan", "magenta", "yellow", "black", "white", "background", "mm", "pt", "dd", "bp", "cm", "pc", "cc", "in", "triplet", "quadruplet" }, ["disabled"]={ "verbatimtex", "troffmode" }, ["internals"]={ "mitered", "rounded", "beveled", "butt", "squared", "eps", "epsilon", "infinity", "bboxmargin", "ahlength", "ahangle", "labeloffset", "dotlabeldiam", "defaultpen", "defaultscale", "join_radius", "charscale", "pen_lft", "pen_rt", "pen_top", "pen_bot" }, - ["metafont"]={ "autorounding", "beginchar", "blacker", "boundarychar", "capsule_def", "capsule_end", "change_width", "chardp", "chardx", "chardy", "charexists", "charext", "charht", "charic", "charlist", "charwd", "cull", "cullit", "currenttransform", "currentwindow", "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", "designsize", "display", "displaying", "endchar", "extensible", "extra_beginchar", "extra_endchar", "extra_setup", "fillin", "font_coding_scheme", "font_extra_space", "font_identifier", "font_normal_shrink", "font_normal_space", "font_normal_stretch", "font_quad", "font_size", "font_slant", "font_x_height", "fontdimen", "fontmaking", "gfcorners", "granularity", "grayfont", "headerbyte", "hppp", "hround", "imagerules", "italcorr", "kern", "labelfont", "ligtable", "lowres_fix", "makebox", "makegrid", "maketicks", "mode_def", "mode_setup", "nodisplays", "notransforms", "numspecial", "o_correction", "openit", "openwindow", "proofing", "proofoffset", "proofrule", "proofrulethickness", "rulepen", "screenchars", "screenrule", "screenstrokes", "screen_cols", "screen_rows", "showit", "slantfont", "smode", "smoothing", "titlefont", "totalweight", "tracingedges", "tracingpens", "turningcheck", "unitpixel", "vppp", "vround", "xoffset", "yoffset" }, + ["metafont"]={ "autorounding", "beginchar", "blacker", "boundarychar", "capsule_def", "capsule_end", "change_width", "chardp", "chardx", "chardy", "charexists", "charext", "charht", "charic", "charlist", "charwd", "cull", "cullit", "currenttransform", "currentwindow", "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", "designsize", "display", "displaying", "endchar", "extensible", "extra_beginchar", "extra_endchar", "extra_setup", "fillin", "font_coding_scheme", "font_extra_space", "font_identifier", "font_normal_shrink", "font_normal_space", "font_normal_stretch", "font_quad", "font_size", "font_slant", "font_x_height", "fontdimen", "fontmaking", "gfcorners", "granularity", "grayfont", "headerbyte", "hppp", "hround", "imagerules", "italcorr", "kern", "labelfont", "ligtable", "lowres_fix", "makebox", "makegrid", "maketicks", "mode_def", "mode_setup", "nodisplays", "notransforms", "numspecial", "o_correction", "openit", "openwindow", "pixels_per_inch", "proofing", "proofoffset", "proofrule", "proofrulethickness", "rulepen", "screenchars", "screenrule", "screenstrokes", "screen_cols", "screen_rows", "showit", "slantfont", "smode", "smoothing", "titlefont", "totalweight", "tracingedges", "tracingpens", "turningcheck", "unitpixel", "vppp", "vround", "xoffset", "yoffset" }, ["primitives"]={ "charcode", "day", "linecap", "linejoin", "miterlimit", "month", "pausing", "prologues", "showstopping", "time", "tracingcapsules", "tracingchoices", "mpprocset", "tracingcommands", "tracingequations", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingrestores", "tracingspecs", "tracingstats", "tracingtitles", "truecorners", "warningcheck", "year", "false", "nullpicture", "pencircle", "true", "and", "angle", "arclength", "arctime", "ASCII", "boolean", "bot", "char", "color", "cosd", "cycle", "decimal", "directiontime", "floor", "fontsize", "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", "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", "interpath", "on", "off", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", "tertiary", "primarydef", "secondarydef", "tertiarydef", "randomseed", "also", "contour", "doublepath", "withcolor", "withcmykcolor", "withpen", "dashed", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", "within", "forsuffixes", "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", "endinput", "message", "delimiters", "turningnumber", "errmessage", "readstring", "scantokens", "end", "outer", "inner", "write", "to", "readfrom", "withprescript", "withpostscript", "top", "bot", "lft", "rt", "ulft", "urt", "llft", "lrt", "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "prescriptpart", "postscriptpart", "rgbcolor", "cmykcolor", "colormodel", "graypart", "greypart", "greycolor", "graycolor", "dashpart", "penpart", "stroked", "filled", "textual", "clipped", "bounded", "pathpart", "expandafter", "minute", "hour", "outputformat", "outputtemplate", "filenametemplate", "fontmapfile", "fontmapline", "fontpart", "fontsize", "glyph", "restoreclipcolor", "troffmode", "runscript" }, ["shortcuts"]={ "..", "...", "--", "---", "&", "\\" }, ["tex"]={ "btex", "etex", "verbatimtex" }, diff --git a/context/data/scite/context/scite-context-data-metafun.properties b/context/data/scite/context/scite-context-data-metafun.properties index 522a5c5da..4e82474f8 100644 --- a/context/data/scite/context/scite-context-data-metafun.properties +++ b/context/data/scite/context/scite-context-data-metafun.properties @@ -30,24 +30,24 @@ bitmapimage colordecimals ddecimal dddecimal ddddecimal \ textext thetextext rawtextext textextoffset verbatim \ thelabel label autoalign transparent withtransparency \ property properties withproperties asgroup infont \ -space crlf dquote SPACE CRLF \ -DQUOTE grayscale greyscale withgray withgrey \ -colorpart readfile clearxy unitvector center \ -epsed anchored originpath infinite break \ -xstretched ystretched snapped pathconnectors function \ -constructedpath constructedpairs punkedfunction straightfunction curvedfunction \ -tightfunction punkedpath straightpath curvedpath tightpath \ -punkedpairs straightpairs curvedpairs tightpairs evenly \ -oddly condition pushcurrentpicture popcurrentpicture arrowpath \ -tensecircle roundedsquare colortype whitecolor blackcolor \ -basiccolors normalfill normaldraw visualizepaths naturalizepaths \ -drawboundary drawwholepath visualizeddraw visualizedfill draworigin \ -drawboundingbox drawpath drawpoint drawpoints drawcontrolpoints \ -drawcontrollines drawpointlabels drawlineoptions drawpointoptions drawcontroloptions \ -drawlabeloptions draworiginoptions drawboundoptions drawpathoptions resetdrawoptions \ -undashed decorated redecorated undecorated passvariable \ -passarrayvariable tostring format formatted startpassingvariable \ -stoppassingvariable eofill eoclip area +space crlf dquote percent SPACE \ +CRLF DQUOTE PERCENT grayscale greyscale \ +withgray withgrey colorpart readfile clearxy \ +unitvector center epsed anchored originpath \ +infinite break xstretched ystretched snapped \ +pathconnectors function constructedfunction constructedpath constructedpairs \ +straightfunction straightpath straightpairs curvedfunction curvedpath \ +curvedpairs evenly oddly condition pushcurrentpicture \ +popcurrentpicture arrowpath tensecircle roundedsquare colortype \ +whitecolor blackcolor basiccolors normalfill normaldraw \ +visualizepaths naturalizepaths drawboundary drawwholepath visualizeddraw \ +visualizedfill draworigin drawboundingbox drawpath drawpoint \ +drawpoints drawcontrolpoints drawcontrollines drawpointlabels drawlineoptions \ +drawpointoptions drawcontroloptions drawlabeloptions draworiginoptions drawboundoptions \ +drawpathoptions resetdrawoptions undashed decorated redecorated \ +undecorated passvariable passarrayvariable tostring format \ +formatted startpassingvariable stoppassingvariable eofill eoclip \ +area keywordclass.metafun.internals=\ nocolormodel greycolormodel graycolormodel rgbcolormodel \ diff --git a/context/data/scite/context/scite-context-data-metapost.properties b/context/data/scite/context/scite-context-data-metapost.properties index 1fe411092..db91621b1 100644 --- a/context/data/scite/context/scite-context-data-metapost.properties +++ b/context/data/scite/context/scite-context-data-metapost.properties @@ -56,11 +56,11 @@ headerbyte hppp hround imagerules italcorr \ kern labelfont ligtable lowres_fix makebox \ makegrid maketicks mode_def mode_setup nodisplays \ notransforms numspecial o_correction openit openwindow \ -proofing proofoffset proofrule proofrulethickness rulepen \ -screenchars screenrule screenstrokes screen_cols screen_rows \ -showit slantfont smode smoothing titlefont \ -totalweight tracingedges tracingpens turningcheck unitpixel \ -vppp vround xoffset yoffset +pixels_per_inch proofing proofoffset proofrule proofrulethickness \ +rulepen screenchars screenrule screenstrokes screen_cols \ +screen_rows showit slantfont smode smoothing \ +titlefont totalweight tracingedges tracingpens turningcheck \ +unitpixel vppp vround xoffset yoffset keywordclass.metapost.primitives=\ charcode day linecap linejoin \ diff --git a/metapost/context/base/mp-func.mpiv b/metapost/context/base/mp-func.mpiv index 81b37fd1c..b1b9d6d5d 100644 --- a/metapost/context/base/mp-func.mpiv +++ b/metapost/context/base/mp-func.mpiv @@ -29,27 +29,30 @@ def pathconnectors = mfun_pathconnectors enddef ; vardef mfun_function (expr f) (expr u, t, b, e, s) = save x ; numeric x ; + save c ; string c ; c := if string f : f else : mfun_pathconnectors[f] fi ; for xx := b step s until e : hide (x := xx ;) if xx > b : - scantokens(mfun_pathconnectors[f]) + scantokens(c) fi (scantokens(u),scantokens(t)) endfor enddef ; -def function = mfun_function enddef ; % let doesn't work here -def straightfunction = mfun_function (1) enddef ; -def curvedfunction = mfun_function (2) enddef ; +def function = mfun_function enddef ; % let doesn't work here +def constructedfunction = mfun_function enddef ; +def straightfunction = mfun_function (1) enddef ; +def curvedfunction = mfun_function (2) enddef ; % def punkedfunction = mfun_function (1) enddef ; % same as straightfunction % def tightfunction = mfun_function (3) enddef ; % same as curvedfunction vardef mfun_constructedpath (expr f) (text t) = save ok ; boolean ok ; ok := false ; + save c ; string c ; c := if string f : f else : mfun_pathconnectors[f] fi ; for i=t : if ok : - scantokens(mfun_pathconnectors[f]) + scantokens(c) else : ok := true ; fi @@ -61,15 +64,16 @@ def constructedpath = mfun_constructedpath enddef ; % let doesn't work here def straightpath = mfun_constructedpath (1) enddef ; def curvedpath = mfun_constructedpath (2) enddef ; -def punkedpath = mfun_constructedpath (1) enddef ; % same as straightpath -def tightpath = mfun_constructedpath (3) enddef ; % same as curvedpath +% def punkedpath = mfun_constructedpath (1) enddef ; % same as straightpath +% def tightpath = mfun_constructedpath (3) enddef ; % same as curvedpath vardef mfun_constructedpairs (expr f) (text p) = save i ; i := -1 ; + save c ; string c ; c := if string f : f else : mfun_pathconnectors[f] fi ; forever : exitif unknown p[incr(i)] ; if i>0 : - scantokens(mfun_pathconnectors[f]) + scantokens(c) fi p[i] endfor @@ -79,5 +83,5 @@ def constructedpairs = mfun_constructedpairs enddef ; % let doesn't work her def straightpairs = mfun_constructedpairs (1) enddef ; def curvedpairs = mfun_constructedpairs (2) enddef ; -def punkedpairs = mfun_constructedpairs (1) enddef ; % same as straightpairs -def tightpairs = mfun_constructedpairs (3) enddef ; % same as curvedpairs +% def punkedpairs = mfun_constructedpairs (1) enddef ; % same as straightpairs +% def tightpairs = mfun_constructedpairs (3) enddef ; % same as curvedpairs diff --git a/metapost/context/base/mp-mlib.mpiv b/metapost/context/base/mp-mlib.mpiv index a3eec2818..1140673ab 100644 --- a/metapost/context/base/mp-mlib.mpiv +++ b/metapost/context/base/mp-mlib.mpiv @@ -707,10 +707,10 @@ enddef ; % Positions -def register (expr label, width, height, offset) = +def register (expr tag, width, height, offset) = % draw image ( addto currentpicture doublepath unitsquare xscaled width yscaled height shifted offset - withprescript "ps_label=" & label ; + withprescript "ps_label=" & tag ; % ) ; % no transformations enddef ; @@ -799,7 +799,7 @@ primarydef t asgroup s = % s = isolated|knockout endgroup enddef ; -% Also experimental +% Also experimental ... needs to be made better ... so it can change! string mfun_auto_align[] ; diff --git a/metapost/context/base/mp-tool.mpiv b/metapost/context/base/mp-tool.mpiv index b82910f6b..dda8e84a1 100644 --- a/metapost/context/base/mp-tool.mpiv +++ b/metapost/context/base/mp-tool.mpiv @@ -57,13 +57,15 @@ mpprocset := 1 ; % % protect ; -string space ; space := char 32 ; -string crlf ; crlf := char 10 & char 13 ; -string dquote ; dquote := char 34 ; - -let SPACE = space ; -let CRLF = crlf ; -let DQUOTE = dquote ; +string space ; space := char 32 ; +string percent ; percent := char 37 ; +string crlf ; crlf := char 10 & char 13 ; +string dquote ; dquote := char 34 ; + +let SPACE = space ; +let CRLF = crlf ; +let DQUOTE = dquote ; +let PERCENT = percent ; vardef ddecimal primary p = decimal xpart p & " " & decimal ypart p diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua index 485a36e2f..0c99a6fd5 100644 --- a/tex/context/base/back-exp.lua +++ b/tex/context/base/back-exp.lua @@ -2241,9 +2241,9 @@ local function push(fulltag,depth) treestack[currentdepth] = tree if trace_export then if detail and detail ~= "" then - report_export("%w<%s trigger=%a paragraph=%a index=%a detail=%a>",currentdepth-1,fulltag,currentattribute or 0,currentparagraph or 0,#treedata,detail) + report_export("%w<%s trigger=%q n=%q paragraph=%q index=%q detail=%q>",currentdepth-1,tg,n,currentattribute or 0,currentparagraph or 0,#treedata,detail) else - report_export("%w<%s trigger=%a paragraph=%a index=%a>",currentdepth-1,fulltag,currentattribute or 0,currentparagraph or 0,#treedata) + report_export("%w<%s trigger=%q n=%q paragraph=%q index=%q>",currentdepth-1,tg,n,currentattribute or 0,currentparagraph or 0,#treedata) end end tree = t diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 49176ff44..9f60db71e 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{2015.01.22 18:18} +\newcontextversion{2015.01.23 22:11} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex 9f1ea93ab..5c41d8c1f 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 9e0a1f78b..f461f9b1c 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -28,7 +28,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.01.22 18:18} +\edef\contextversion{2015.01.23 22:11} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua index 6f62f88b7..0d76d306f 100644 --- a/tex/context/base/grph-inc.lua +++ b/tex/context/base/grph-inc.lua @@ -538,7 +538,8 @@ function figures.push(request) end function figures.pop() - lastfiguredata = remove(callstack) or lastfiguredata + remove(callstack) + lastfiguredata = callstack[#callstack] or lastfiguredata statistics.stoptiming(figures) end @@ -1102,6 +1103,7 @@ function figures.include(data) end function figures.scale(data) -- will become lua code + data = data or callstack[#callstack] or lastfiguredata context.doscalefigure() return data end diff --git a/tex/context/base/math-tag.lua b/tex/context/base/math-tag.lua index 9f73d0afc..61d28edde 100644 --- a/tex/context/base/math-tag.lua +++ b/tex/context/base/math-tag.lua @@ -170,10 +170,18 @@ end -------------------- +local function showtag(n,id) + local attr = getattr(n,a_tagged) + report_tags("%s = %s",nodecodes[id or getid(n)],attr and taglist[attr].tagname or "?") +end + process = function(start) -- we cannot use the processor as we have no finalizers (yet) local mtexttag = nil while start do local id = getid(start) + +-- showtag(start,id) + if id == glyph_code or id == disc_code then if not mtexttag then mtexttag = start_tagged("mtext") @@ -330,7 +338,7 @@ process = function(start) -- we cannot use the processor as we have no finalizer local attr = getattr(start,a_tagged) local last = attr and taglist[attr] if last then - local tag = last.tag + local tag = last.tagname local detail = last.detail if tag == "maction" then if detail == "" then @@ -350,6 +358,7 @@ process = function(start) -- we cannot use the processor as we have no finalizer end elseif tag == "mstacker" then -- or tag == "mstackertop" or tag == "mstackermid" or tag == "mstackerbot" then -- looks like it gets processed twice +-- do we still end up here ? setattr(start,a_tagged,restart_tagged(attr)) -- so we just reuse the attribute process(list) stop_tagged() diff --git a/tex/context/base/mult-fun.lua b/tex/context/base/mult-fun.lua index 4ba583dfe..280d6bd5b 100644 --- a/tex/context/base/mult-fun.lua +++ b/tex/context/base/mult-fun.lua @@ -64,7 +64,7 @@ return { -- "define_linear_shade", "define_circular_shade", -- "define_circular_linear_shade", "define_circular_linear_shade", -- "define_sampled_linear_shade", "define_sampled_circular_shade", - "space", "crlf", "dquote", "SPACE", "CRLF", "DQUOTE", + "space", "crlf", "dquote", "percent", "SPACE", "CRLF", "DQUOTE", "PERCENT", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "readfile", @@ -74,10 +74,12 @@ return { "break", "xstretched", "ystretched", "snapped", -- - "pathconnectors", "function", "constructedpath", "constructedpairs", - "punkedfunction", "straightfunction", "curvedfunction", "tightfunction", - "punkedpath", "straightpath", "curvedpath", "tightpath", - "punkedpairs", "straightpairs", "curvedpairs", "tightpairs", + "pathconnectors", "function", + "constructedfunction", "constructedpath", "constructedpairs", + -- "punkedfunction", "punkedpath", "punkedpairs", + "straightfunction", "straightpath", "straightpairs", + "curvedfunction", "curvedpath", "curvedpairs", + -- "tightfunction", "tightpath", "tightpairs", -- "evenly", "oddly", -- diff --git a/tex/context/base/mult-mps.lua b/tex/context/base/mult-mps.lua index 1181977a9..1275af47b 100644 --- a/tex/context/base/mult-mps.lua +++ b/tex/context/base/mult-mps.lua @@ -150,8 +150,8 @@ return { "italcorr", "kern", "labelfont", "ligtable", "lowres_fix", "makebox", "makegrid", "maketicks", "mode_def", "mode_setup", "nodisplays", "notransforms", "numspecial", "o_correction", "openit", "openwindow", - "proofing", "proofoffset", "proofrule", "proofrulethickness", "rulepen", - "screenchars", "screenrule", "screenstrokes", "screen_cols", "screen_rows", + "pixels_per_inch", "proofing", "proofoffset", "proofrule", "proofrulethickness", + "rulepen", "screenchars", "screenrule", "screenstrokes", "screen_cols", "screen_rows", "showit", "slantfont", "smode", "smoothing", "titlefont", "totalweight", "tracingedges", "tracingpens", "turningcheck", "unitpixel", "vppp", "vround", "xoffset", "yoffset", diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex a5b42628e..5c8aebff7 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf Binary files differindex c21faf601..237343253 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/tabl-ntb.mkiv b/tex/context/base/tabl-ntb.mkiv index b0fc71627..667a90bac 100644 --- a/tex/context/base/tabl-ntb.mkiv +++ b/tex/context/base/tabl-ntb.mkiv @@ -1117,7 +1117,7 @@ \fi} \def\tabl_ntb_row_stop_boxed - {\noindent % \dontleavehmode + {% \noindent % no, else double leftskip in narrower \normalexpanded {\t_tabl_ntb {\the\t_tabl_ntb @@ -1462,12 +1462,12 @@ \def\tabl_ntb_table_stop {\forgetall % new, here see narrower-004.tex - \setbox\scratchbox\hbox - {\letnaturaltablelocalparameter\c!frame\v!off - \letnaturaltablelocalparameter\c!background\empty - \letnaturaltablelocalparameter\c!align\v!no - \inheritednaturaltablelocalframed{\strut}}% - \edef\minimalcellheight{\the\ht\scratchbox}% not used + %\setbox\scratchbox\hbox + % {\letnaturaltablelocalparameter\c!frame\v!off + % \letnaturaltablelocalparameter\c!background\empty + % \letnaturaltablelocalparameter\c!align\v!no + % \inheritednaturaltablelocalframed{\strut}}% + %\edef\minimalcellheight{\the\ht\scratchbox}% not used \dorecurse\c_tabl_ntb_maximum_col {\tabl_ntb_let_aut\recurselevel\zeropoint % new diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index ae12c52b3..68db85670 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 : 01/22/15 18:18:07 +-- merge date : 01/23/15 22:11:53 do -- begin closure to overcome local limits and interference |