From 46c0953642cf16e575215a49dc36984a681a91d1 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Mon, 1 Feb 2016 14:15:07 +0100 Subject: 2016-02-01 13:28:00 --- tex/context/base/context-version.pdf | Bin 4177 -> 4175 bytes tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/grph-fig.mkiv | 2 +- tex/context/base/mkiv/grph-fil.lua | 1 + tex/context/base/mkiv/lxml-ini.lua | 1 + tex/context/base/mkiv/lxml-ini.mkiv | 1 + tex/context/base/mkiv/lxml-tex.lua | 36 ++++++++++++++++++++- tex/context/base/mkiv/mult-fun.lua | 6 ++-- tex/context/base/mkiv/page-flt.lua | 2 +- tex/context/base/mkiv/page-mix.mkiv | 26 +++++++-------- tex/context/base/mkiv/page-set.mkiv | 3 +- tex/context/base/mkiv/status-files.pdf | Bin 9117 -> 8965 bytes tex/context/base/mkiv/status-lua.pdf | Bin 270266 -> 270287 bytes tex/context/interface/common/i-en-xml.xml | 4 +++ tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 65 insertions(+), 23 deletions(-) (limited to 'tex') diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index 26ee303c9..8851c4e67 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/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]% 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 index 5c70adcd8..1e21f36f0 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 2fde12e0f..a5ac3a260 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ 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 @@ + + + + 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 -- cgit v1.2.3