summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2013-12-29 20:40:28 +0200
committerMarius <mariausol@gmail.com>2013-12-29 20:40:28 +0200
commit07affb8dd8042a83c7d54d7c0bb7137ce04f987f (patch)
tree85c7b454bfa0651f7b84586fec41a6c604dc3462
parent0d26f9ebc9ba7dca60bf49c5de8ca6c1c197c608 (diff)
downloadcontext-07affb8dd8042a83c7d54d7c0bb7137ce04f987f.tar.gz
beta 2013.12.29 19:28
-rw-r--r--metapost/context/base/metafun.mpiv8
-rw-r--r--scripts/context/lua/mtxrun.lua10
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua10
-rw-r--r--scripts/context/stubs/unix/mtxrun10
-rw-r--r--tex/context/base/char-tex.lua29
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4120 -> 4126 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/grph-inc.mkiv16
-rw-r--r--tex/context/base/meta-ini.mkiv2
-rw-r--r--tex/context/base/mlib-pps.lua12
-rw-r--r--tex/context/base/mlib-run.lua4
-rw-r--r--tex/context/base/mult-def.mkiv1
-rw-r--r--tex/context/base/status-files.pdfbin24644 -> 24634 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin228341 -> 228351 bytes
-rw-r--r--tex/context/base/strc-lst.mkvi2
-rw-r--r--tex/context/base/tabl-tbl.mkiv2
-rw-r--r--tex/context/base/util-prs.lua4
-rw-r--r--tex/context/base/x-set-11.mkiv88
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
20 files changed, 155 insertions, 49 deletions
diff --git a/metapost/context/base/metafun.mpiv b/metapost/context/base/metafun.mpiv
index 601b0562e..a113675e6 100644
--- a/metapost/context/base/metafun.mpiv
+++ b/metapost/context/base/metafun.mpiv
@@ -44,8 +44,10 @@ string metafunversion ; metafunversion =
let normalend = end ;
-def end =
- ; message "" ; message metafunversion ; message "" ; normalend ;
-enddef ;
+if known mplib :
+ def end = ; message "" ; message metafunversion ; message "" ; endinput ; enddef ;
+else :
+ def end = ; message "" ; message metafunversion ; message "" ; normalend ; enddef ;
+fi ;
% dump ; % obsolete in mplib
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index 24596bf87..9b064adbc 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -6132,7 +6132,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-prs"] = package.loaded["util-prs"] or true
--- original size: 19551, stripped down to: 13951
+-- original size: 19604, stripped down to: 13998
if not modules then modules={} end modules ['util-prs']={
version=1.001,
@@ -6282,8 +6282,10 @@ function parsers.settings_to_array(str,strict)
else
return { str }
end
- else
+ elseif find(str,",") then
return lpegmatch(pattern,str)
+ else
+ return { str }
end
end
local separator=space^0*comma*space^0
@@ -16679,8 +16681,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 685018
--- stripped bytes : 242350
+-- original bytes : 685071
+-- stripped bytes : 242356
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index 24596bf87..9b064adbc 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -6132,7 +6132,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-prs"] = package.loaded["util-prs"] or true
--- original size: 19551, stripped down to: 13951
+-- original size: 19604, stripped down to: 13998
if not modules then modules={} end modules ['util-prs']={
version=1.001,
@@ -6282,8 +6282,10 @@ function parsers.settings_to_array(str,strict)
else
return { str }
end
- else
+ elseif find(str,",") then
return lpegmatch(pattern,str)
+ else
+ return { str }
end
end
local separator=space^0*comma*space^0
@@ -16679,8 +16681,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 685018
--- stripped bytes : 242350
+-- original bytes : 685071
+-- stripped bytes : 242356
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index 24596bf87..9b064adbc 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -6132,7 +6132,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-prs"] = package.loaded["util-prs"] or true
--- original size: 19551, stripped down to: 13951
+-- original size: 19604, stripped down to: 13998
if not modules then modules={} end modules ['util-prs']={
version=1.001,
@@ -6282,8 +6282,10 @@ function parsers.settings_to_array(str,strict)
else
return { str }
end
- else
+ elseif find(str,",") then
return lpegmatch(pattern,str)
+ else
+ return { str }
end
end
local separator=space^0*comma*space^0
@@ -16679,8 +16681,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 685018
--- stripped bytes : 242350
+-- original bytes : 685071
+-- stripped bytes : 242356
-- end library merge
diff --git a/tex/context/base/char-tex.lua b/tex/context/base/char-tex.lua
index 3fa140c7d..472cae930 100644
--- a/tex/context/base/char-tex.lua
+++ b/tex/context/base/char-tex.lua
@@ -22,7 +22,7 @@ local accentmapping = allocate {
['"'] = { [""] = "¨",
A = "Ä", a = "ä",
E = "Ë", e = "ë",
- I = "Ï", i = "ï", ["ı"] = "ï",
+ I = "Ï", i = "ï", ["ı"] = "ï", ["\\i"] = "ï",
O = "Ö", o = "ö",
U = "Ü", u = "ü",
Y = "Ÿ", y = "ÿ",
@@ -31,7 +31,7 @@ local accentmapping = allocate {
A = "Á", a = "á",
C = "Ć", c = "ć",
E = "É", e = "é",
- I = "Í", i = "í", ["ı"] = "í",
+ I = "Í", i = "í", ["ı"] = "í", ["\\i"] = "í",
L = "Ĺ", l = "ĺ",
N = "Ń", n = "ń",
O = "Ó", o = "ó",
@@ -45,13 +45,13 @@ local accentmapping = allocate {
C = "Ċ", c = "ċ",
E = "Ė", e = "ė",
G = "Ġ", g = "ġ",
- I = "İ", i = "i", ["ı"] = "i",
+ I = "İ", i = "i", ["ı"] = "i", ["\\i"] = "i",
Z = "Ż", z = "ż",
},
["="] = { [""] = "¯",
A = "Ā", a = "ā",
E = "Ē", e = "ē",
- I = "Ī", i = "ī", ["ı"] = "ī",
+ I = "Ī", i = "ī", ["ı"] = "ī", ["\\i"] = "ī",
O = "Ō", o = "ō",
U = "Ū", u = "ū",
},
@@ -65,7 +65,7 @@ local accentmapping = allocate {
E = "Ê", e = "ê",
G = "Ĝ", g = "ĝ",
H = "Ĥ", h = "ĥ",
- I = "Î", i = "î", ["ı"] = "î",
+ I = "Î", i = "î", ["ı"] = "î", ["\\i"] = "î",
J = "Ĵ", j = "ĵ",
O = "Ô", o = "ô",
S = "Ŝ", s = "ŝ",
@@ -76,7 +76,7 @@ local accentmapping = allocate {
["`"] = { [""] = "`",
A = "À", a = "à",
E = "È", e = "è",
- I = "Ì", i = "ì", ["ı"] = "ì",
+ I = "Ì", i = "ì", ["ı"] = "ì", ["\\i"] = "ì",
O = "Ò", o = "ò",
U = "Ù", u = "ù",
Y = "Ỳ", y = "ỳ",
@@ -104,7 +104,7 @@ local accentmapping = allocate {
A = "Ă", a = "ă",
E = "Ĕ", e = "ĕ",
G = "Ğ", g = "ğ",
- I = "Ĭ", i = "ĭ", ["ı"] = "ĭ",
+ I = "Ĭ", i = "ĭ", ["ı"] = "ĭ", ["\\i"] = "ĭ",
O = "Ŏ", o = "ŏ",
U = "Ŭ", u = "ŭ",
},
@@ -121,7 +121,7 @@ local accentmapping = allocate {
},
["~"] = { [""] = "˜",
A = "Ã", a = "ã",
- I = "Ĩ", i = "ĩ", ["ı"] = "ĩ",
+ I = "Ĩ", i = "ĩ", ["ı"] = "ĩ", ["\\i"] = "ĩ",
N = "Ñ", n = "ñ",
O = "Õ", o = "õ",
U = "Ũ", u = "ũ",
@@ -179,22 +179,28 @@ local command_map = allocate {
["AE"] = "Æ",
["oe"] = "œ",
["OE"] = "Œ",
+ ["o"] = "ø",
+ ["O"] = "Ø",
+ ["aa"] = "å",
+ ["AA"] = "Å",
}
-- no need for U here
+local achar = R("az","AZ") + P("ı") + P("\\i")
+
local spaces = P(" ")^0
local no_l = P("{") / ""
local no_r = P("}") / ""
local no_b = P('\\') / ""
-local lUr = P("{") * C(R("az","AZ")) * P("}")
+local lUr = P("{") * C(achar) * P("}")
local accents_1 = [["'.=^`~]]
local accents_2 = [[Hckruv]]
local accent = P('\\') * (
- C(S(accents_1)) * (lUr * Cc(true) + C(R("az","AZ")) * Cc(false)) +
+ C(S(accents_1)) * (lUr * Cc(true) + C(achar) * Cc(false)) + -- we need achar for ı etc, could be sped up
C(S(accents_2)) * lUr * Cc(true)
) / remap_accent
@@ -227,6 +233,9 @@ function characters.tex.toutf(str,strip)
end
end
+-- print(characters.tex.toutf([[\~{Z}]],true))
+-- print(characters.tex.toutf([[\'\i]],true))
+-- print(characters.tex.toutf([[\'{\i}]],true))
-- print(characters.tex.toutf([[\"{e}]],true))
-- print(characters.tex.toutf([[\" {e}]],true))
-- print(characters.tex.toutf([[{\"{e}}]],true))
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index d16ccaa6a..7049cf8d1 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{2013.12.26 12:50}
+\newcontextversion{2013.12.29 19:28}
%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
index 52e5898dc..ad5b023ef 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index eeebd2afe..95123348d 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{2013.12.26 12:50}
+\edef\contextversion{2013.12.29 19:28}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/grph-inc.mkiv b/tex/context/base/grph-inc.mkiv
index 5fb87a8b2..e8b63cc4b 100644
--- a/tex/context/base/grph-inc.mkiv
+++ b/tex/context/base/grph-inc.mkiv
@@ -536,17 +536,13 @@
\c!offset=\v!overlay,\c!width=\v!fit,\c!height=\v!fit]
{\blank[\v!disable]#1\endgraf\removelastskip}} % disable should stay here!
-\def\grph_include_process_mps#1% retrofit into mkii
- {\global\setbox\foundexternalfigure\vbox{\convertMPtoPDF{#1}11}}
+% used al lua end:
-\def\grph_include_process_cld#1%
- {\global\setbox\foundexternalfigure\vbox{\cldprocessfile{#1}}}
-
-\unexpanded\def\docheckfigurebuffer #1{\grph_include_process_tex{\getbuffer[#1]}} % used al lua end
-\unexpanded\def\docheckfiguretex #1{\grph_include_process_tex{\input{#1}}} % used al lua end
-\unexpanded\def\docheckfigurecld #1{\grph_include_process_cld{#1}} % used al lua end
-\unexpanded\def\docheckfiguremps #1{\grph_include_process_mps{#1}} % used al lua end
-\unexpanded\def\docheckfiguremprun #1#2{\grph_include_process_tex{\useMPrun{#1}{#2}}} % used al lua end
+\unexpanded\def\docheckfigurebuffer #1{\grph_include_process_tex{\getbuffer[#1]}}
+\unexpanded\def\docheckfiguretex #1{\grph_include_process_tex{\input{#1}}}
+\unexpanded\def\docheckfigurecld #1{\global\setbox\foundexternalfigure\vbox{\cldprocessfile{#1}}}
+\unexpanded\def\docheckfiguremps #1{\global\setbox\foundexternalfigure\vbox{\convertMPtoPDF{#1}11}}
+\unexpanded\def\docheckfiguremprun #1#2{\global\setbox\foundexternalfigure\vbox{\useMPrun{#1}{#2}}}
\unexpanded\def\relocateexternalfigure % easier here than in lua
{\global\setbox\foundexternalfigure\vbox to \ht\foundexternalfigure\bgroup
diff --git a/tex/context/base/meta-ini.mkiv b/tex/context/base/meta-ini.mkiv
index 147c9c89a..28ba9e901 100644
--- a/tex/context/base/meta-ini.mkiv
+++ b/tex/context/base/meta-ini.mkiv
@@ -317,7 +317,7 @@
\let\normal_meta_process_graphic_stop \meta_process_graphic_stop
\let\meta_process_graphic_start\relax
\let\meta_process_graphic_stop \relax
- \def\meta_process_graphic_figure_start{\startTEXpage\normal_meta_process_graphic_start}%
+ \def\meta_process_graphic_figure_start{\startTEXpage[\c!offset=\v!overlay,\c!align=]\normal_meta_process_graphic_start}%
\def\meta_process_graphic_figure_stop {\normal_meta_process_graphic_stop\stopTEXpage}
\def\MPaskedfigure{all}%
\meta_process_graphic{input "#1" ;}%
diff --git a/tex/context/base/mlib-pps.lua b/tex/context/base/mlib-pps.lua
index 865f76018..385fb3ece 100644
--- a/tex/context/base/mlib-pps.lua
+++ b/tex/context/base/mlib-pps.lua
@@ -13,7 +13,7 @@ local tonumber, type = tonumber, type
local round = math.round
local insert, remove, concat = table.insert, table.remove, table.concat
local Cs, Cf, C, Cg, Ct, P, S, V, Carg = lpeg.Cs, lpeg.Cf, lpeg.C, lpeg.Cg, lpeg.Ct, lpeg.P, lpeg.S, lpeg.V, lpeg.Carg
-local lpegmatch = lpeg.match
+local lpegmatch, tsplitat, tsplitter = lpeg.match, lpeg.tsplitat, lpeg.tsplitter
local formatters = string.formatters
local mplib, metapost, lpdf, context = mplib, metapost, lpdf, context
@@ -108,9 +108,9 @@ end
--~
-local specificationsplitter = lpeg.tsplitat(" ")
-local colorsplitter = lpeg.tsplitter(":",tonumber) -- no need for :
-local domainsplitter = lpeg.tsplitter(" ",tonumber)
+local specificationsplitter = tsplitat(" ")
+local colorsplitter = tsplitter(":",tonumber) -- no need for :
+local domainsplitter = tsplitter(" ",tonumber)
local centersplitter = domainsplitter
local coordinatesplitter = domainsplitter
@@ -147,7 +147,7 @@ local function spotcolorconverter(parent, n, d, p)
return pdfcolor(colors.model,registercolor(nil,'spot',parent,n,d,p)), outercolor
end
-local commasplitter = lpeg.tsplitat(",")
+local commasplitter = tsplitat(",")
local function checkandconvertspot(n_a,f_a,c_a,v_a,n_b,f_b,c_b,v_b)
-- must be the same but we don't check
@@ -860,7 +860,7 @@ local function tx_reset()
end
local fmt = formatters["%s %s %s % t"]
-local pat = lpeg.tsplitat(":")
+local pat = tsplitat(":")
local function tx_analyze(object,prescript) -- todo: hash content and reuse them
local tx_stage = prescript.tx_stage
diff --git a/tex/context/base/mlib-run.lua b/tex/context/base/mlib-run.lua
index e2585998e..f30ed0c9f 100644
--- a/tex/context/base/mlib-run.lua
+++ b/tex/context/base/mlib-run.lua
@@ -33,7 +33,7 @@ local type, tostring, tonumber = type, tostring, tonumber
local format, gsub, match, find = string.format, string.gsub, string.match, string.find
local concat = table.concat
local emptystring = string.is_empty
-local lpegmatch, P = lpeg.match, lpeg.P
+local P = lpeg.P
local trace_graphics = false trackers.register("metapost.graphics", function(v) trace_graphics = v end)
local trace_tracingall = false trackers.register("metapost.tracingall", function(v) trace_tracingall = v end)
@@ -284,6 +284,8 @@ if mplibone then
else
+ -- let end = relax ;
+
local preamble = [[
boolean mplib ; mplib := true ;
let dump = endinput ;
diff --git a/tex/context/base/mult-def.mkiv b/tex/context/base/mult-def.mkiv
index 85ce5d2cb..192a380ee 100644
--- a/tex/context/base/mult-def.mkiv
+++ b/tex/context/base/mult-def.mkiv
@@ -37,6 +37,7 @@
\def\c!fences {fences}
\def\c!keeptogether {keeptogether}
+\def\c!dataset {dataset}
\def\c!sectionblock {sectionblock}
\def\c!language {language}
\def\c!compressseparator{compressseparator}
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 452f01086..74315adf7 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index c20926051..04c498a7d 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-lst.mkvi b/tex/context/base/strc-lst.mkvi
index 7cef924b7..63c3e030a 100644
--- a/tex/context/base/strc-lst.mkvi
+++ b/tex/context/base/strc-lst.mkvi
@@ -126,7 +126,7 @@
{\endgroup}
\def\strc_lists_inject_yes[#settings][#userdata]%
- {\setupcurrentlist[\c!type=userdata,\c!location=\v!none,#settings]% grouped
+ {\setupcurrentlist[\c!type=userdata,\c!location=\v!none,#settings]% grouped (use \let...
\edef\p_location{\listparameter\c!location}%
\setnextinternalreference
\edef\currentlistnumber{\ctxcommand{addtolist{
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index 309e71bd0..cd5efa7f7 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -232,6 +232,8 @@
\unexpanded\def\tolerantTABLEbreaktrue {\settrue \c_tabl_tabulate_tolerant_break} % used in styles !
\unexpanded\def\handletabulatepbreakfalse{\setfalse\c_tabl_tabulate_handlepbreak } % depricated
+\def\noftabulaterows{\number\c_tabl_tabulate_noflines} % handy for testing if a table is empty
+
\installcorenamespace{tabulatebox}
\installcorenamespace{tabulatesetup}
\installcorenamespace{tabulatehook}
diff --git a/tex/context/base/util-prs.lua b/tex/context/base/util-prs.lua
index 9518b7f38..e5b35a727 100644
--- a/tex/context/base/util-prs.lua
+++ b/tex/context/base/util-prs.lua
@@ -184,8 +184,10 @@ function parsers.settings_to_array(str,strict)
else
return { str }
end
- else
+ elseif find(str,",") then
return lpegmatch(pattern,str)
+ else
+ return { str }
end
end
diff --git a/tex/context/base/x-set-11.mkiv b/tex/context/base/x-set-11.mkiv
index 372e3a8ef..d4b43a9ee 100644
--- a/tex/context/base/x-set-11.mkiv
+++ b/tex/context/base/x-set-11.mkiv
@@ -476,6 +476,7 @@
\veryraggedright
\doglobal\newcounter\currentSETUPargument
\xdef\maximumSETUPargument{\xmlcount{#1}{/arguments/*}}
+ \edef\currentSETUPhash{\xmlatt{#1}{hash}}
\bgroup
\enablemode[setups-pass-one]%
\doif {\xmlatt{#1}{generated}} {yes} {
@@ -605,7 +606,11 @@
\egroup
\startfirstSETUPcolumn{\showSETUPnumber}%
\ignorespaces
- \xmlflush{#1}
+ \xmldoifelse{#1}{/(parameter|inherit)}{
+ \xmlflush{#1}
+ } {
+ ...
+ }
\let\previousSETUPargument\currentSETUPargument
\stopfirstSETUPcolumn
\blank[\v!halfline]
@@ -631,6 +636,15 @@
\startsecondSETUPcolumn{\c!setup!reserved!{\xmlatt{#1}{name}}}{=}
\ignorespaces
\xmlflush{#1}
+ \doifmode{interface:setup:defaults} {
+ \ifx\currentSETUPhash\empty \else
+ \edef\currentSETUPvalue{\csname named\currentSETUPhash parameter\endcsname\empty{\xmlatt{#1}{name}}}
+ \ifx\currentSETUPvalue\empty
+ \space=\space
+ \detokenize\expandafter{\currentSETUPvalue}
+ \fi
+ \fi
+ }
\stopsecondSETUPcolumn
\ignorespaces
\stopxmlsetups
@@ -747,4 +761,76 @@
\def\showSETUPword #1{\showSETUP{#1}{\leftargument...\rightargument} {\leftargument.. ... ..\rightargument}}
\def\showSETUPcontent #1{\showSETUP{#1}{\leftargument...\rightargument} {\leftargument.. ... ..\rightargument}}
+% A prelude to a rewrite and some more:
+
+\definetype[parametercommand][type]
+\definetype[parameterkey] [type]
+\definetype[parametervalue] [type][space=on]
+
+\setuptype[parametercommand] [color=darkmagenta]
+\setuptype[parametervalue] [color=darkyellow]
+
+\startxmlsetups xml:setups:parameters:value
+ \edef\currentsetupparameterkey {\xmlatt{#1}{name}}
+ \edef\currentsetupparametervalue{\csname named\currentsetupparametercategory parameter\endcsname\currentsetupparameterinstance\currentsetupparameterkey}
+ \ifx\currentsetupparameterinstance\empty
+ \expanded {
+ \NC \parameterkey {\currentsetupparameterkey}
+ \NC \parametervalue{\detokenize\expandafter{\currentsetupparametervalue}}
+ \NC \NR
+ }
+ \else\ifx\currentsetupparametervalue\empty
+ \else
+ \edef\currentsetupparameterdefault{\csname named\currentsetupparametercategory parameter\endcsname\empty\currentsetupparameterkey}
+ \ifx\currentsetupparametervalue\currentsetupparameterdefault
+ % skip
+ \else
+ \expanded {
+ \NC \parameterkey {\currentsetupparameterkey}
+ \NC \parametervalue{\detokenize\expandafter{\currentsetupparametervalue}}
+ \NC \NR
+ }
+ \fi
+ \fi\fi
+\stopxmlsetups
+
+\startxmlsetups xml:setups:parameters:values
+ \blank[big]
+ \expanded {
+ \parametercommand {
+ \currentsetupparametercommand
+ \space:\space
+ \ifx\currentsetupparameterinstance\empty
+ defaults
+ \else
+ \currentsetupparameterinstance
+ \fi
+ }
+ }
+ \blank[big,samepage]
+ \starttabulate[|l|p|]
+ \xmlall
+ {#1}
+ {/interface/command[@name=='\currentsetupparametercommand']/arguments/assignments/parameter/command(xml:setups:parameters:value)}
+ \ifnum\noftabulaterows = \zerocount
+ \NC \parameterkey{no specific settings} \NC \NC \NR
+ \fi
+ \stoptabulate
+\stopxmlsetups
+
+
+\starttexdefinition showrootvalues [#1]
+ \edef\currentsetupparametercategory{#1}
+ \edef\currentsetupparametercommand{setup#1}
+ \let\currentsetupparameterinstance\empty
+ \xmlsetup{\loadedsetups}{xml:setups:parameters:values}
+\stoptexdefinition
+
+\starttexdefinition showinstancevalues [#1]#2[#3]
+ \edef\currentsetupparametercategory{#1}
+ \edef\currentsetupparametercommand{setup#1}
+ \edef\currentsetupparameterinstance{#3}
+ \xmlsetup{\loadedsetups}{xml:setups:parameters:values}
+\stoptexdefinition
+
\protect \endinput
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 099e0657d..c0748c698 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 : 12/26/13 12:50:38
+-- merge date : 12/29/13 19:28:51
do -- begin closure to overcome local limits and interference