diff options
21 files changed, 253 insertions, 130 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 d033d3e9b..2415bfd12 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", "zmod", "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", "withshadestep", "withshadefraction", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "outlinetext", "checkedbounds", "checkbounds", "strut", "rule", "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", "detailpaths", "naturalizepaths", "drawboundary", "drawwholepath", "drawpathonly", "visualizeddraw", "visualizedfill", "detaileddraw", "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", "nofill", "area", "addbackground" }, + ["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", "zmod", "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", "withshadedirection", "withshadestep", "withshadefraction", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "outlinetext", "checkedbounds", "checkbounds", "strut", "rule", "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", "detailpaths", "naturalizepaths", "drawboundary", "drawwholepath", "drawpathonly", "visualizeddraw", "visualizedfill", "detaileddraw", "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", "nofill", "area", "addbackground", "shadedup", "shadeddown", "shadedleft", "shadedright" }, ["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", "drawoptionsfactor" }, }
\ No newline at end of file diff --git a/context/data/scite/context/scite-context-data-metafun.properties b/context/data/scite/context/scite-context-data-metafun.properties index 15c700ba6..a4d297e48 100644 --- a/context/data/scite/context/scite-context-data-metafun.properties +++ b/context/data/scite/context/scite-context-data-metafun.properties @@ -22,34 +22,35 @@ xsized ysized xysized sized xyscaled \ intersection_point intersection_found penpoint bbwidth bbheight \ withshade withcircularshade withlinearshade defineshade shaded \ shadedinto withshadecolors withshadedomain withshademethod withshadefactor \ -withshadevector withshadecenter withshadestep withshadefraction cmyk \ -spotcolor multitonecolor namedcolor drawfill undrawfill \ -inverted uncolored softened grayed greyed \ -onlayer along graphictext loadfigure externalfigure \ -figure register outlinetext checkedbounds checkbounds \ -strut rule 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 detailpaths \ -naturalizepaths drawboundary drawwholepath drawpathonly visualizeddraw \ -visualizedfill detaileddraw 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 nofill area addbackground +withshadevector withshadecenter withshadedirection withshadestep withshadefraction \ +cmyk spotcolor multitonecolor namedcolor drawfill \ +undrawfill inverted uncolored softened grayed \ +greyed onlayer along graphictext loadfigure \ +externalfigure figure register outlinetext checkedbounds \ +checkbounds strut rule 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 \ +detailpaths naturalizepaths drawboundary drawwholepath drawpathonly \ +visualizeddraw visualizedfill detaileddraw 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 nofill area addbackground \ +shadedup shadeddown shadedleft shadedright keywordclass.metafun.internals=\ nocolormodel greycolormodel graycolormodel rgbcolormodel \ diff --git a/doc/context/documents/general/manuals/xml-mkiv.pdf b/doc/context/documents/general/manuals/xml-mkiv.pdf Binary files differindex 5093710d7..20d17ad9d 100644 --- a/doc/context/documents/general/manuals/xml-mkiv.pdf +++ b/doc/context/documents/general/manuals/xml-mkiv.pdf diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv.tex b/doc/context/sources/general/manuals/xml/xml-mkiv.tex index 87317b69b..a2b981f64 100644 --- a/doc/context/sources/general/manuals/xml/xml-mkiv.tex +++ b/doc/context/sources/general/manuals/xml/xml-mkiv.tex @@ -257,7 +257,7 @@ Hasselt NL We use a very simple document structure for demonstrating how a converter is defined. In practice a mapping will be more complex, especially when we have a -style with complect chapter openings using data coming from all kind of places, +style with complex chapter openings using data coming from all kind of places, different styling of sections with the same name, selectively (out of order) flushed content, special formatting, etc. @@ -311,10 +311,10 @@ but as well: \xmlflush{demo::6}\endgraf \stoptyping -Keep in mind that the actual node references are abstractions, you never see -those \type {<id>::<number>}'s, because we will use either the abstract \type -{#1} (any node) or an explicit reference like \type {demo}. The previous setup -when issued will be like: +Keep in mind that the references tor the actual nodes (elements) are +abstractions, you never see those \type {<id>::<number>}'s, because we will use +either the abstract \type {#1} (any node) or an explicit reference like \type +{demo}. The previous setup when issued will be like: \starttyping \startchapter[title=\xmlfirst{demo::3}{/title}] @@ -333,7 +333,7 @@ Doing that with transformations or filtering is often more complex than leaving that to \TEX. As soon as the list gets typeset, the reference (\type {demo::#3}) is used for the lookup. This is because by default the title is stored as given. So, as long as we make sure the \XML\ source is loaded before the table of -contents is typeset we're ok. Later we will look into this on more detail, for +contents is typeset we're ok. Later we will look into this in more detail, for now it's enough to know that in most cases the abstract \type {#1} reference will work out ok. @@ -664,8 +664,8 @@ ignored in the definition. This means that we don't have to worry about so calle spurious spaces but it also means that when we do want a space, we have to use the \type {\space} command. -The only difference between setups and \XML\ setups is that the later ones get an -argument (\type {#1}) that reflects the current node in the \XML\ tree. +The only difference between setups and \XML\ setups is that the following ones +get an argument (\type {#1}) that reflects the current node in the \XML\ tree. \stopsection @@ -722,7 +722,7 @@ code there are several ways to deal with these issues. Take the following docume When the file is read the \type {<} entity will be replaced by \type {<} and the \type {>} by \type {>}. The numeric entities will be replaced by the characters they refer to. The \type {&mess} is kind of special. We do preload -a huge list of more of less standardized entities but \type {mess} is not in +a huge list of more or less standardized entities but \type {mess} is not in there. However, it is possible to have it defined in the document preamble, like: \starttyping @@ -980,7 +980,7 @@ the current document id. There is also \type {\xmlself} which expands to the current node number (\type {#1} in setups). \startxmlcmd {\cmdbasicsetup{xmlmain}} - returns the whole documents + returns the whole document \stopxmlcmd Normally such a flush will trigger a chain reaction of setups associated with the @@ -1035,7 +1035,7 @@ for users. When we flush an element, the associated \XML\ setups are expanded. The most straightforward way to flush an element is the following. Keep in mind that the -returned valus itself can trigger setups and therefore flushes. +returned values itself can trigger setups and therefore flushes. \startxmlcmd {\cmdbasicsetup{xmlflush}} returns all nodes under \cmdinternal {cd:node} @@ -1142,7 +1142,7 @@ You can restrict flushing by using commands that accept a specification. \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmlinlineverbatim}} - return the content of the node as inline verbatim code, that is no further + return the content of the node as inline verbatim code; no further interpretation (expansion) takes place and spaces are honoured; it uses the following wrapper \stopxmlcmd @@ -1153,7 +1153,7 @@ You can restrict flushing by using commands that accept a specification. \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmldisplayverbatim}} - return the content the node as display verbatim code, that is no further + return the content of the node as display verbatim code; no further interpretation (expansion) takes place and leading and trailing spaces and newlines are treated special; it uses the following wrapper \stopxmlcmd @@ -1347,8 +1347,8 @@ something that users of \XSLT\ might recognize as templates. \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmlsetsetup}} - associates setups (\TEX\ code) \cmdinternal {cd:setup} to the elements to - \cmdinternal {cd:node} that match \cmdinternal {cd:lpath} + associates setups \cmdinternal {cd:setup} (\TEX\ code) with the matching + nodes of \cmdinternal {cd:lpath} or root \cmdinternal {cd:node} \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmlprependsetup}} @@ -1381,7 +1381,8 @@ something that users of \XSLT\ might recognize as templates. \startxmlcmd {\cmdbasicsetup{xmlappenddocumentsetup}} adds \cmdinternal {cd:setup} to the list of setups to be applied to - \cmdinternal {cd:name} (alias: \type{\xmlregisterdocumentsetup}) + \cmdinternal {cd:name} (you can also use the alias: \type + {\xmlregisterdocumentsetup}) \stopxmlcmd \startxmlcmd {\cmdbasicsetup{xmlbeforedocumentsetup}} @@ -1438,7 +1439,7 @@ and an \cmdinternal {cd:lpath} as second: at node \cmdinternal {cd:node} \stopxmlcmd -\startxmlcmd {\cmdbasicsetup{xmldoifelse}{yes}} +\startxmlcmd {\cmdbasicsetup{xmldoifelse}} expands to \cmdinternal {cd:true} when \cmdinternal {cd:lpath} matches at node \cmdinternal {cd:node} and to \cmdinternal {cd:false} otherwise \stopxmlcmd @@ -1497,8 +1498,7 @@ hidden. You can apply the default yourself using: \stopxmlcmd You can set \type {compress} to \type {yes} in which case comment is stripped -from the tree when the file is read. When \type {entities} is set to \type {yes} -(this is the default) entities are replaced. +from the tree when the file is read. \startxmlcmd {\cmdbasicsetup{xmlregisterns}} associates an internal namespace (like \type {mml}) with one given in the @@ -1702,23 +1702,23 @@ You can pass your own functions too. Such functions are defined in the the \type {xml.expressions} namespace. We have defined a few shortcuts: \starttabulate[|l|l|] -\type {find(str,pattern)} \NC \type{string.find} \NC \NR -\type {contains(str)} \NC \type{string.find} \NC \NR -\type {oneof(str,...)} \NC is \type{str} in list \NC \NR -\type {upper(str)} \NC \type{characters.upper} \NC \NR -\type {lower(str)} \NC \type{characters.lower} \NC \NR -\type {number(str)} \NC \type{tonumber} \NC \NR -\type {boolean(str)} \NC \type{toboolean} \NC \NR -\type {idstring(str)} \NC removes leading hash \NC \NR -\type {name(index)} \NC full tag name \NC \NR -\type {tag(index)} \NC tag name \NC \NR -\type {namespace(index)} \NC namespace of tag \NC \NR -\type {text(index)} \NC content \NC \NR -\type {error(str)} \NC quit and show error \NC \NR -\type {quit()} \NC quit \NC \NR -\type {print()} \NC print message \NC \NR -\type {count(pattern)} \NC number of matches \NC \NR -\type {child(pattern)} \NC take child that matches \NC \NR +\NC \type {find(str,pattern)} \NC \type{string.find} \NC \NR +\NC \type {contains(str)} \NC \type{string.find} \NC \NR +\NC \type {oneof(str,...)} \NC is \type{str} in list \NC \NR +\NC \type {upper(str)} \NC \type{characters.upper} \NC \NR +\NC \type {lower(str)} \NC \type{characters.lower} \NC \NR +\NC \type {number(str)} \NC \type{tonumber} \NC \NR +\NC \type {boolean(str)} \NC \type{toboolean} \NC \NR +\NC \type {idstring(str)} \NC removes leading hash \NC \NR +\NC \type {name(index)} \NC full tag name \NC \NR +\NC \type {tag(index)} \NC tag name \NC \NR +\NC \type {namespace(index)} \NC namespace of tag \NC \NR +\NC \type {text(index)} \NC content \NC \NR +\NC \type {error(str)} \NC quit and show error \NC \NR +\NC \type {quit()} \NC quit \NC \NR +\NC \type {print()} \NC print message \NC \NR +\NC \type {count(pattern)} \NC number of matches \NC \NR +\NC \type {child(pattern)} \NC take child that matches \NC \NR \stoptabulate @@ -1734,7 +1734,7 @@ functions. \stoptabulate The given expression between \type {[]} is converted to a \LUA\ expression so you -can use the usual ingredients: +can use the usual operators: \starttyping == ~= <= >= < > not and or () @@ -1780,12 +1780,13 @@ filters to the expression, for instance: a/(b|c)/!d/e/text() \stoptyping -In a filter, the last part of the \cmdinternal {cd:lpath} expression is a function call. -The previous example returns the text of each element \type {e} that results from -matching the expression. When running \TEX\ the following functions are available. -Some are also also available when using pure \LUA. In \TEX\ you can often use one of -the macros like \type {\xmlfirst} instead of a \type {\xmlfilter} with finalizer -\type {first()}. The filter can be somewhat faster but that is hardly noticeable. +In a filter, the last part of the \cmdinternal {cd:lpath} expression is a +function call. The previous example returns the text of each element \type {e} +that results from matching the expression. When running \TEX\ the following +functions are available. Some are also available when using pure \LUA. In \TEX\ +you can often use one of the macros like \type {\xmlfirst} instead of a \type +{\xmlfilter} with finalizer \type {first()}. The filter can be somewhat faster +but that is hardly noticeable. \starttabulate[|l|l|p|] \NC \type {context()} \NC string \NC the serialized text with \TEX\ catcode regime \NC \NR @@ -1793,8 +1794,8 @@ the macros like \type {\xmlfirst} instead of a \type {\xmlfilter} with finalizer \NC \type {function()} \NC string \NC depends on the function \NC \NR % \NC \type {name()} \NC string \NC the (remapped) namespace \NC \NR -\NC \type {tag()} \NC string \NC the name of the element \NR -\NC \type {tags()} \NC list \NC the names of the element \NR +\NC \type {tag()} \NC string \NC the name of the element \NC \NR +\NC \type {tags()} \NC list \NC the names of the element \NC \NR % \NC \type {text()} \NC string \NC the serialized text \NC \NR \NC \type {upper()} \NC string \NC the serialized text uppercased \NC \NR @@ -2004,7 +2005,7 @@ interface unless mentioned in this manual. \startchapter[title={Tips and tricks}] -\startsection[title={Tracing}] +\startsection[title={tracing}] It can be hard to debug code as much happens kind of behind the screens. Therefore we have a couple of tracing options. Of course you can typeset some @@ -2018,6 +2019,65 @@ status information, using for instance: typeset the name if the element given by \cmdinternal {cd:node} \stopxmlcmd +\startxmlcmd {\cmdbasicsetup{xmlpath}} + returns the complete path (including namespace prefix and index) of the + given \cmdinternal {cd:node} +\stopxmlcmd + +\startbuffer[demo] +<?xml version "1.0"?> +<document> + <section> + <content> + <p>first</p> + <p><b>second</b></p> + </content> + </section> + <section> + <content> + <p><b>third</b></p> + <p>fourth</p> + </content> + </section> +</document> +\stopbuffer + +Say that we have the following \XML: + +\typebuffer[demo] + +and the next definitions: + +\startbuffer +\startxmlsetups xml:demo:base + \xmlsetsetup{#1}{p|b}{xml:demo:*} +\stopxmlsetups + +\startxmlsetups xml:demo:p + \xmlflush{#1} + \par +\stopxmlsetups + +\startxmlsetups xml:demo:b + \par + \xmlpath{#1} : \xmlflush{#1} + \par +\stopxmlsetups + +\xmlregisterdocumentsetup{example-10}{xml:demo:base} + +\xmlprocessbuffer{example-10}{demo}{} +\stopbuffer + +\typebuffer + +This will give us: + +\blank \startpacked \getbuffer \stoppacked \blank + +If you use \type {\xmlshow} you will get a complete subtree which can +be handy for tracing but can also lead to large documents. + We also have a bunch of trackers that can be enabled, like: \starttyping @@ -2053,7 +2113,7 @@ trace the filename. returns the list of files where the node comes from \stopxmlcmd -\startxmlcmd {\cmdbasicsetup{xmlinclusions}} +\startxmlcmd {\cmdbasicsetup{xmlbadinclusions}} returns a list of files that were not included due to some problem \stopxmlcmd @@ -2062,14 +2122,14 @@ instance in the margin. \stopsection -\startsection[title={Expansion}] +\startsection[title={expansion}] For novice users the concept of expansion might sound frightening and to some extend it is. However, it is important enough to spend some words on it here. It is good to realize that most setups are sort of immediate. When one setup is issued, it can call another one and so on. Normally you won't notice that but -there are cases where that can be an problem. In \TEX\ you can define a macro, +there are cases where that can be a problem. In \TEX\ you can define a macro, take for instance: \starttyping @@ -2106,7 +2166,7 @@ Here we get something like: \foobar => {\def\barfoo{...}} \stoptyping -When \type {\barfoo} is not defined we get an error and when it is know and expands +When \type {\barfoo} is not defined we get an error and when it is known and expands to something weird we might also get an error. Especially when you don't know what content can show up, this can result in errors @@ -2131,7 +2191,7 @@ call to the macro, think of: \stoptyping But this is often not needed, most \CONTEXT\ commands can handle the expansions -quite well but it's good to know that there is a away out. So, now to some +quite well but it's good to know that there is a way out. So, now to some examples. Imagine that we have an \XML\ file that looks as follows: \starttyping @@ -2262,7 +2322,7 @@ We need to deal with emphasis and the content of the chapter. A similar approach is followed with the index entries. Watch how we use the numbered entries variant (in this case we could also have used just \type -{entries} and \type {keys}. +{entries} and \type {keys}). \starttyping \startxmlsetups xml:index @@ -2327,7 +2387,7 @@ dealt with in a similar way.} \stopsection -\startsection[title={Special cases}] +\startsection[title={special cases}] Normally the content will be flushed under a special (so called) catcode regime. This means that characters that have a special meaning in \TEX\ will have no such @@ -2402,10 +2462,10 @@ A simple mapping is: \stopxmlsetups \stoptyping -The \type {\bTD} command is a so called delimited command which means that -it picks up its argument by looking for an \type {\eTD}. For a simple case -like here this works quite well because the flush is inside the pair. This -is not the case in the following variant: +The \type {\bTD} command is a so called delimited command which means that it +picks up its argument by looking for an \type {\eTD}. For the simple case here +this works quite well because the flush is inside the pair. This is not the case +in the following variant: \starttyping \startxmlsetups xml:td:start @@ -2477,9 +2537,9 @@ another weird one: \stopsection -\startsection[title={Selectors and injectors}] +\startsection[title={selectors and injectors}] -This chapter describes a bit special feature, one that we needed for a project +This section describes a bit special feature, one that we needed for a project where we could not touch the original content but could add specific sections for our own purpose. Hopefully the example demonstrates its useability. @@ -2574,12 +2634,12 @@ We can define a message handler as follows: \typebuffer \getbuffer -When this file is process you will see this on the console: +When this file is processed you will see this on the console: -\startbuffer +\starttyping info > 1: this is a demo file info > 2: this is a demo file -\stopbuffer +\stoptyping The file has some sections that can be used or ignored. The recipe for obeying \type {t1} and \type {t4} is the following: @@ -2623,7 +2683,7 @@ This typesets: \stopnarrower The include coding is kind of special: it permits adding content (in a comment) -and ignoring the rest so that we indeed can add something withou tinterfering +and ignoring the rest so that we indeed can add something without interfering with the original. Of course in a normal workflow such messy solutions are not needed, but alas, often workflows are not that clean, especially when one has no real control over the source. @@ -2668,8 +2728,8 @@ In the example we see: <?context-directive injector page t7 t8 ?> \stoptyping -When we \type {\xmlsetinjector[t7]} a pagebreak will injected in that spot. Tags -like \type {t7}, \type {t8} etc.\ can represent versions. +When we set \type {\xmlsetinjector[t7]} a pagebreak will injected in that spot. +Tags like \type {t7}, \type {t8} etc.\ can represent versions. \stopsection @@ -2680,7 +2740,7 @@ like \type {t7}, \type {t8} etc.\ can represent versions. \startsection[title={introduction}] There is not that much system in the following examples. They resulted from tests -with different documents. The current implementation evolved out if the +with different documents. The current implementation evolved out of the experimental code. For instance, I decided to add the multiple expressions in row handling after a few email exchanges with Jean|-|Michel Huffen. @@ -2950,7 +3010,7 @@ This gives: \stopsection -\startsection[title=Conditional setups] +\startsection[title=conditional setups] Say that we have this code: @@ -2972,7 +3032,7 @@ being named \type {what}. A faster solution which also takes less code is this: \stopsection -\startsection[title=Manipulating] +\startsection[title=manipulating] Assume that we have the following \XML\ data: @@ -3032,7 +3092,7 @@ The result is: \start \inlinebuffer \stop \stopsection -\startsection[title=Cross referencing] +\startsection[title=cross referencing] A rather common way to add cross references to \XML\ files is to borrow the asymmetrical id's from \HTML. This means that one cannot simply use a value @@ -3096,7 +3156,7 @@ This will typeset two footnotes. \getbuffer -The second variant collects the references so that the tiem spend on lookups is +The second variant collects the references so that the time spend on lookups is less. \startbuffer @@ -3253,7 +3313,7 @@ The processor code is: \typebuffer -We color a sequence of the same titles (numbers here) in red. The first +We color a sequence of the same titles (numbers here) differently. The first solution remembers the last title: \startbuffer @@ -3291,12 +3351,12 @@ end \stopluacode \stopbuffer -\typebuffer +\typebuffer \getbuffer The \type {embeddedxtable} environment is needed because the table is picked up as argument. -\getbuffer \getbuffer[process] +\startlinecorrection \getbuffer[process] \stoplinecorrection The second implemetation remembers what titles are already processed so here we can color the last one too. @@ -3341,7 +3401,9 @@ end \stopluacode \stopbuffer -\typebuffer \getbuffer \getbuffer[process] +\typebuffer \getbuffer + +\startlinecorrection \getbuffer[process] \stoplinecorrection A solution without any state variable is given below. @@ -3378,7 +3440,9 @@ end \stopluacode \stopbuffer -\typebuffer \getbuffer \getbuffer[process] +\typebuffer \getbuffer + +\startlinecorrection \getbuffer[process] \stoplinecorrection Here is a solution that delegates even more to \LUA. The previous variants were actually not that safe with repect to special characters and didn't handle @@ -3454,7 +3518,9 @@ end \xmlprocessbuffer{example-5}{demo}{} \stopbuffer -\typebuffer \getbuffer +\typebuffer + +\startlinecorrection \getbuffer \stoplinecorrection The question is, do we really need \LUA ? Often we don't, apart maybe from an occasional special finalizer. A pure \TEX\ solution is given next: @@ -3513,7 +3579,9 @@ occasional special finalizer. A pure \TEX\ solution is given next: \xmlprocessbuffer{example-5}{demo}{} \stopbuffer -\typebuffer \getbuffer +\typebuffer + +\startlinecorrection \getbuffer \stoplinecorrection You can even save a few lines of code: @@ -3533,6 +3601,7 @@ You can even save a few lines of code: Or if you prefer: +\starttyping \startxmlsetups xml:c \xdef\MyCurrentTitle{\xmltext{#1}{.}} \doifelse {\MyPreviousTitle} {\MyCurrentTitle} { @@ -3562,6 +3631,7 @@ Or if you prefer: \stopxcell \global\let\MyPreviousTitle\MyCurrentTitle \stopxmlsetups +\stoptyping These examples demonstrate that it doesn't hurt to know a little bit of \TEX\ programming: defining macros and basic comparisons can come in handy. There are @@ -3570,7 +3640,7 @@ the wiki or you can just ask on the list. \stopsection -\startsection[title=Last match] +\startsection[title=last match] For the next example we use the following \XML\ input: diff --git a/metapost/context/base/mpiv/mp-mlib.mpiv b/metapost/context/base/mpiv/mp-mlib.mpiv index 2c84d01c2..b4fe8a864 100644 --- a/metapost/context/base/mpiv/mp-mlib.mpiv +++ b/metapost/context/base/mpiv/mp-mlib.mpiv @@ -542,6 +542,16 @@ def withshadevector expr a = withprescript "sh_center_b=" & ddecimal (point ypart a of mfun_shade_path) enddef ; +def withshadedirection expr a = + withprescript "sh_center_a=" & ddecimal (point xpart a of boundingbox(mfun_shade_path)) + withprescript "sh_center_b=" & ddecimal (point ypart a of boundingbox(mfun_shade_path)) +enddef ; + +pair shadedup ; shadedup := (0.5,2.5) ; +pair shadeddown ; shadeddown := (2.5,0.5) ; +pair shadedleft ; shadedleft := (1.5,3.5) ; +pair shadedright ; shadedright := (3.5,1.5) ; + def withshadecenter expr a = withprescript "sh_center_a=" & ddecimal ( center mfun_shade_path shifted ( diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex 26ee303c9..8851c4e67 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 9edb260fc..5cbe2a231 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2016.01.31 11:42} +\newcontextversion{2016.02.01 13:26} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index cd310cd07..8eee2b8d0 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2016.01.31 11:42} +\edef\contextversion{2016.02.01 13:26} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/grph-fig.mkiv b/tex/context/base/mkiv/grph-fig.mkiv index 796309b88..3bf91b28c 100644 --- a/tex/context/base/mkiv/grph-fig.mkiv +++ b/tex/context/base/mkiv/grph-fig.mkiv @@ -85,7 +85,7 @@ \def\grph_typesetting_process[#1][#2][#3]% <name> filename settings-b | filename options settings {\ifcsname\??typesettingfile#1\endcsname - \csname\??typesettingfile#1\endcsname{#2}{#3}% + \lastnamedcs{#2}{#3}% \else\ifthirdargument % filename options settings \grph_typesetting_process_indeed{#2}{#3}{#1}{}% \else\ifsecondargument % filename settings diff --git a/tex/context/base/mkiv/grph-fil.lua b/tex/context/base/mkiv/grph-fil.lua index 5b091b265..04b44e667 100644 --- a/tex/context/base/mkiv/grph-fil.lua +++ b/tex/context/base/mkiv/grph-fil.lua @@ -35,6 +35,7 @@ end job.register('job.files.collected', tobesaved, initializer) function jobfiles.run(name,action) + file.addsuffix(name,"tex") -- we assume tex if not set local oldchecksum = collected[name] local newchecksum = file.checksum(name) if jobfiles.forcerun or not oldchecksum or oldchecksum ~= newchecksum then diff --git a/tex/context/base/mkiv/lxml-ini.lua b/tex/context/base/mkiv/lxml-ini.lua index c44c61644..982fb4622 100644 --- a/tex/context/base/mkiv/lxml-ini.lua +++ b/tex/context/base/mkiv/lxml-ini.lua @@ -46,6 +46,7 @@ implement { name = "xmllastatt", actions = lxml.lastatt } implement { name = "xmlattdef", actions = lxml.att, arguments = { "string", "string", "string" } } implement { name = "xmlattribute", actions = lxml.attribute, arguments = { "string", "string", "string" } } implement { name = "xmlattributedef", actions = lxml.attribute, arguments = { "string", "string", "string", "string" } } +implement { name = "xmlpath", actions = lxml.path, arguments = { "string", "'/'" } } implement { name = "xmlchainatt", actions = lxml.chainattribute, arguments = { "string", "'/'", "string" } } implement { name = "xmlchainattdef", actions = lxml.chainattribute, arguments = { "string", "'/'", "string", "string" } } implement { name = "xmlrefatt", actions = lxml.refatt, arguments = { "string", "string" } } diff --git a/tex/context/base/mkiv/lxml-ini.mkiv b/tex/context/base/mkiv/lxml-ini.mkiv index 8175d21e6..e913be620 100644 --- a/tex/context/base/mkiv/lxml-ini.mkiv +++ b/tex/context/base/mkiv/lxml-ini.mkiv @@ -85,6 +85,7 @@ \let\xmlloaddirectives \clf_xmlloaddirectives \let\xmlmain \clf_xmlmain \let\xmlmatch \clf_xmlmatch +\let\xmlpath \clf_xmlpath \let\xmlname \clf_xmlname \let\xmlnamespace \clf_xmlnamespace \let\xmlnonspace \clf_xmlnonspace diff --git a/tex/context/base/mkiv/lxml-tex.lua b/tex/context/base/mkiv/lxml-tex.lua index 0ec981d68..abb807181 100644 --- a/tex/context/base/mkiv/lxml-tex.lua +++ b/tex/context/base/mkiv/lxml-tex.lua @@ -11,7 +11,7 @@ if not modules then modules = { } end modules ['lxml-tex'] = { -- be an cldf-xml helper library. local utfchar = utf.char -local concat, insert, remove, sortedkeys = table.concat, table.insert, table.remove, table.sortedkeys +local concat, insert, remove, sortedkeys, reversed = table.concat, table.insert, table.remove, table.sortedkeys, table.reverse local format, sub, gsub, find, gmatch, match = string.format, string.sub, string.gsub, string.find, string.gmatch, string.match local type, next, tonumber, tostring, select = type, next, tonumber, tostring, select local lpegmatch = lpeg.match @@ -1396,6 +1396,35 @@ local function chainattribute(collected,arguments) -- todo: optional levels end end +local function chainpath(collected,nonamespace) + if collected and #collected > 0 then + local e = collected[1] + local t = { } + while e do + local tg = e.tg + local rt = e.__p__ + local ns = e.ns + if tg == "@rt@" then + break + elseif rt.tg == "@rt@" then + if nonamespace or not ns or ns == "" then + t[#t+1] = tg + else + t[#t+1] = ns .. ":" .. tg + end + else + if nonamespace or not ns or ns == "" then + t[#t+1] = tg .. "[" .. e.ei .. "]" + else + t[#t+1] = ns .. ":" .. tg .. "[" .. e.ei .. "]" + end + end + e = rt + end + contextsprint(notcatcodes,concat(reversed(t),"/")) + end +end + local function text(collected) if collected then local nc = #collected @@ -1513,6 +1542,7 @@ texfinalizers.index = index texfinalizers.concat = concat texfinalizers.concatrange = concatrange texfinalizers.chainattribute = chainattribute +texfinalizers.chainpath = chainpath texfinalizers.default = all -- !! local concat = table.concat @@ -1690,6 +1720,10 @@ function lxml.chainattribute(id,pattern,a,default) chainattribute(xmlapplylpath(getid(id),pattern),a,default) end +function lxml.path(id,pattern,nonamespace) + chainpath(xmlapplylpath(getid(id),pattern),nonamespace) +end + function lxml.concatrange(id,pattern,start,stop,separator,lastseparator,textonly) -- test this on mml concatrange(xmlapplylpath(getid(id),pattern),start,stop,separator,lastseparator,textonly) end diff --git a/tex/context/base/mkiv/mult-fun.lua b/tex/context/base/mkiv/mult-fun.lua index 6be8e83db..b53424f65 100644 --- a/tex/context/base/mkiv/mult-fun.lua +++ b/tex/context/base/mkiv/mult-fun.lua @@ -44,8 +44,8 @@ return { "withshade", "withcircularshade", "withlinearshade", -- old but kept "defineshade", "shaded", -- "withshading", "withlinearshading", "withcircularshading", "withfromshadecolor", "withtoshadecolor", - "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", "withshadecenter", - "withshadestep", "withshadefraction", + "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", + "withshadecenter", "withshadedirection", "withshadestep", "withshadefraction", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", @@ -129,5 +129,7 @@ return { "area", -- "addbackground", + -- + "shadedup", "shadeddown", "shadedleft", "shadedright", }, } diff --git a/tex/context/base/mkiv/page-flt.lua b/tex/context/base/mkiv/page-flt.lua index 9cc9012a2..c57715fd9 100644 --- a/tex/context/base/mkiv/page-flt.lua +++ b/tex/context/base/mkiv/page-flt.lua @@ -375,7 +375,7 @@ implement { implement { name = "analysefloatmethod", actions = function(str) - local method, label, row, column = floats.analysemethod(str) + local method, label, column, row = floats.analysemethod(str) setmacro("floatmethod",method or "") setmacro("floatlabel", label or "") setmacro("floatrow", row or "") diff --git a/tex/context/base/mkiv/page-mix.mkiv b/tex/context/base/mkiv/page-mix.mkiv index db98df4a8..ba397e5ed 100644 --- a/tex/context/base/mkiv/page-mix.mkiv +++ b/tex/context/base/mkiv/page-mix.mkiv @@ -311,7 +311,7 @@ \hss \starttextproperties \usemixedcolumnscolorparameter\c!rulecolor - \csname\??mixedcolumnsseparator\p_separator\endcsname % was \c!rule + \begincsname\??mixedcolumnsseparator\p_separator\endcsname % was \c!rule \stoptextproperties \hss \egroup @@ -361,11 +361,11 @@ {\edef\currentmixedcolumns{#1}% \edef\currentmixedcolumnsmethod{\mixedcolumnsparameter\c!method}% \mixedcolumnsparameter\c!before\relax - \csname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax + \begincsname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax \begingroup \setupcurrentmixedcolumns[#2]% \page_mix_initialize_columns - \csname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} + \begincsname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} \def\page_mix_start_columns_b[#1][#2]% {\doifelseassignment{#1}% @@ -375,13 +375,13 @@ \firstargumentfalse}% \edef\currentmixedcolumnsmethod{\mixedcolumnsparameter\c!method}% \mixedcolumnsparameter\c!before\relax % so, it doesn't listen to local settings ! - \csname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax + \begincsname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax \begingroup \iffirstargument \setupcurrentmixedcolumns[#1]% \fi \page_mix_initialize_columns - \csname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} % no \relax + \begincsname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} % no \relax \def\page_mix_error_b {\writestatus\m!columns{best use an instance of mixed columns}} @@ -390,10 +390,10 @@ {\let\currentmixedcolumns\empty \edef\currentmixedcolumnsmethod{\mixedcolumnsparameter\c!method}% \mixedcolumnsparameter\c!before\relax - \csname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax + \begincsname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax \begingroup \page_mix_initialize_columns - \csname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} + \begincsname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} \unexpanded\def\page_mix_fast_columns_start#1% {\pushmacro\currentmixedcolumns @@ -401,27 +401,27 @@ \edef\currentmixedcolumns{#1}% \edef\currentmixedcolumnsmethod{\mixedcolumnsparameter\c!method}% \mixedcolumnsparameter\c!before\relax % so, it doesn't list to local settings ! - \csname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax + \begincsname\??mixedcolumnsbefore\currentmixedcolumnsmethod\endcsname\relax \begingroup \page_mix_initialize_columns - \csname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} % no \relax + \begincsname\??mixedcolumnsstart\currentmixedcolumnsmethod\endcsname} % no \relax %D When we stop, we switch over to the balancing routine. After we're done we %D make sure to set the sizes are set, a somewhat redundant action when we %D already have flushed but better be safe. \unexpanded\def\stopmixedcolumns - {\csname\??mixedcolumnsstop \currentmixedcolumnsmethod\endcsname % no \relax + {\begincsname\??mixedcolumnsstop \currentmixedcolumnsmethod\endcsname % no \relax \endgroup - \csname\??mixedcolumnsafter\currentmixedcolumnsmethod\endcsname\relax + \begincsname\??mixedcolumnsafter\currentmixedcolumnsmethod\endcsname\relax \mixedcolumnsparameter\c!after\relax \popmacro\currentmixedcolumnsmethod \popmacro\currentmixedcolumns} % \unexpanded\def\stopmixedcolumns -% {\csname\??mixedcolumnsstop \currentmixedcolumnsmethod\endcsname % no \relax +% {\begincsname\??mixedcolumnsstop \currentmixedcolumnsmethod\endcsname % no \relax % \endgroup -% \csname\??mixedcolumnsafter\currentmixedcolumnsmethod\endcsname\relax +% \begincsname\??mixedcolumnsafter\currentmixedcolumnsmethod\endcsname\relax % \mixedcolumnsparameter\c!after\relax % \ifx\currentmixedcolumnsmethod\s!otr % \popmacro\currentmixedcolumnsmethod diff --git a/tex/context/base/mkiv/page-set.mkiv b/tex/context/base/mkiv/page-set.mkiv index fab6bc086..0099c5189 100644 --- a/tex/context/base/mkiv/page-set.mkiv +++ b/tex/context/base/mkiv/page-set.mkiv @@ -1464,8 +1464,7 @@ \c!frame=\v!off, \c!offset=\v!overlay, \c!frame=\v!off, - \c!align=, - \c!lines=0] + \c!align=] \let\page_set_setup_saved\setupcolumnset diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex 5c70adcd8..1e21f36f0 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 2fde12e0f..a5ac3a260 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/interface/common/i-en-xml.xml b/tex/context/interface/common/i-en-xml.xml index f37a15976..ce90f7bb1 100644 --- a/tex/context/interface/common/i-en-xml.xml +++ b/tex/context/interface/common/i-en-xml.xml @@ -258,6 +258,10 @@ <cd:arguments><cd:resolve name="xml-node"/></cd:arguments> </cd:command> + <cd:command name="xmlpath"> + <cd:arguments><cd:resolve name="xml-node"/></cd:arguments> + </cd:command> + <cd:command name="xmlnamespace"> <cd:arguments><cd:resolve name="xml-node"/></cd:arguments> </cd:command> diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index ba99dcce3..4099dfc6b 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 : 01/31/16 11:42:23 +-- merge date : 02/01/16 13:26:19 do -- begin closure to overcome local limits and interference |