summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/context/lua/mtxrun.lua4
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua4
-rwxr-xr-xscripts/context/stubs/unix/mtxrun4
-rw-r--r--tex/context/base/bibl-tra.lua6
-rw-r--r--tex/context/base/bibl-tra.mkiv18
-rw-r--r--tex/context/base/cont-new.tex2
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/lxml-ini.mkiv2
-rw-r--r--tex/context/base/lxml-tex.lua16
-rw-r--r--tex/context/base/m-steps.mkiv20
-rw-r--r--tex/context/base/mult-chk.lua4
-rw-r--r--tex/context/base/strc-des.mkiv9
-rw-r--r--tex/context/base/util-prs.lua4
-rw-r--r--tex/context/base/x-steps.mkii (renamed from tex/context/base/m-steps.mkii)2
-rw-r--r--tex/context/base/x-steps.mkiv99
-rw-r--r--tex/generic/context/luatex-fonts-merged.lua2
16 files changed, 164 insertions, 34 deletions
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index 60a44bd2a..d091fa405 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -3552,6 +3552,10 @@ local function set(key,value) -- using Carg is slower here
hash[key] = value
end
+local function set(key,value) -- using Carg is slower here
+ hash[key] = value
+end
+
local pattern_a_s = (pattern_a/set)^1
local pattern_b_s = (pattern_b/set)^1
local pattern_c_s = (pattern_c/set)^1
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index 60a44bd2a..d091fa405 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -3552,6 +3552,10 @@ local function set(key,value) -- using Carg is slower here
hash[key] = value
end
+local function set(key,value) -- using Carg is slower here
+ hash[key] = value
+end
+
local pattern_a_s = (pattern_a/set)^1
local pattern_b_s = (pattern_b/set)^1
local pattern_c_s = (pattern_c/set)^1
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index 60a44bd2a..d091fa405 100755
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -3552,6 +3552,10 @@ local function set(key,value) -- using Carg is slower here
hash[key] = value
end
+local function set(key,value) -- using Carg is slower here
+ hash[key] = value
+end
+
local pattern_a_s = (pattern_a/set)^1
local pattern_b_s = (pattern_b/set)^1
local pattern_c_s = (pattern_c/set)^1
diff --git a/tex/context/base/bibl-tra.lua b/tex/context/base/bibl-tra.lua
index f901b1f0a..afc42a610 100644
--- a/tex/context/base/bibl-tra.lua
+++ b/tex/context/base/bibl-tra.lua
@@ -100,6 +100,12 @@ function hacks.flush(sortvariant)
end
end
+function hacks.filterall()
+ for i=1,#registered do
+ list[i] = { registered[i], i }
+ end
+end
+
function hacks.registerplaced(str)
used[str] = true
end
diff --git a/tex/context/base/bibl-tra.mkiv b/tex/context/base/bibl-tra.mkiv
index a0ef32c82..fba750d82 100644
--- a/tex/context/base/bibl-tra.mkiv
+++ b/tex/context/base/bibl-tra.mkiv
@@ -816,16 +816,20 @@
\def\doprocessbibtexentry#1{\typesetapublication{#1}}
\def\typesetpubslist
- {\dobeginoflist
+ {\preloadbiblist
+ \dobeginoflist
% \the\initializebibdefinitions % COMMENTED
\edef\currentlist{pubs}%
- \doif{\listparameter\c!criterium}\v!cite{\setuplist[pubs][\c!criterium=\v!here]}%
\ctxlua{bibtex.hacks.reset(\number\bibtexoncemode)}%
- \placestructurelist
- {pubs}%
- {\listparameter\c!criterium}%
- {\listparameter\c!number}%
- {\listparameter\c!extras}%
+ \doifelse{\listparameter\c!criterium}\v!all
+ {\ctxlua{bibtex.hacks.filterall()}}
+ {\doif{\listparameter\c!criterium}\v!cite
+ {\setuplist[pubs][\c!criterium=\v!here]}%
+ \placestructurelist
+ {pubs}%
+ {\listparameter\c!criterium}%
+ {\listparameter\c!number}%
+ {\listparameter\c!extras}}%
\ctxlua{bibtex.hacks.flush("\@@pbsorttype")}%
\doendoflist}
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index c56403015..f429b372f 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2010.10.22 10:10}
+\newcontextversion{2010.10.22 16:46}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index ffa707bd2..3ec7d4bc8 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2010.10.22 10:10}
+\edef\contextversion{2010.10.22 16:46}
%D For those who want to use this:
diff --git a/tex/context/base/lxml-ini.mkiv b/tex/context/base/lxml-ini.mkiv
index fc6381b3a..041a2017e 100644
--- a/tex/context/base/lxml-ini.mkiv
+++ b/tex/context/base/lxml-ini.mkiv
@@ -91,6 +91,8 @@
\def\xmlloaddirectives #1{\ctxlua{lxml.directives.load("any:///#1")}}
\def\xmlpos #1{\ctxlua{lxml.pos("#1")}}
+\def\xmltoparameters #1{\ctxlua{lxml.toparameters("#1")}}
+
% kind of special:
\def\xmlstartraw{\ctxlua{lxml.startraw()}}
diff --git a/tex/context/base/lxml-tex.lua b/tex/context/base/lxml-tex.lua
index 407d5eda8..0bf488342 100644
--- a/tex/context/base/lxml-tex.lua
+++ b/tex/context/base/lxml-tex.lua
@@ -1444,3 +1444,19 @@ end
--~ end
--~ end
--~ end
+
+function lxml.toparameters(id)
+ local e = getid(id)
+ if e then
+ local a = e.at
+ if a and next(a) then
+ local setups = { }
+ for k, v in next, a do
+ setups[#setups+1] = k .. "=" .. v
+ end
+ setups = concat(setups,",")
+ -- tracing
+ context(setups)
+ end
+ end
+end
diff --git a/tex/context/base/m-steps.mkiv b/tex/context/base/m-steps.mkiv
deleted file mode 100644
index 9bb56c532..000000000
--- a/tex/context/base/m-steps.mkiv
+++ /dev/null
@@ -1,20 +0,0 @@
-%D \module
-%D [ file=m-steps,
-%D version=2001.05.28,
-%D title=\CONTEXT\ Modules,
-%D subtitle=Step Charts \& Tables,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D The \XML\ interface:
-
-\unprotect
-
-\writestatus\m!systems{The steps mkiv xml interface is not yet defined!}
-
-\protect \endinput
diff --git a/tex/context/base/mult-chk.lua b/tex/context/base/mult-chk.lua
index 5df2efd79..2d20aa16b 100644
--- a/tex/context/base/mult-chk.lua
+++ b/tex/context/base/mult-chk.lua
@@ -46,13 +46,15 @@ function interfaces.addvalidkeys(kind,list)
end
end
+-- weird code, looks incomplete ... probbably an experiment
+
local prefix, kind, keys
local function set(key,value)
if keys and not keys[key] then
interfaces.invalidkey(kind,key)
else
- texsprint(ctxcatcodes,format("\\setsomevalue{%s}{%s}{%s}",prefix,key,value))
+ context.setsomevalue(prefix,key,value)
end
end
diff --git a/tex/context/base/strc-des.mkiv b/tex/context/base/strc-des.mkiv
index 5f25ac60d..06e4c2534 100644
--- a/tex/context/base/strc-des.mkiv
+++ b/tex/context/base/strc-des.mkiv
@@ -615,9 +615,12 @@
\def\dodefineenumerationcommands#1#2#3#4% since we use \currentdescription, we need an edef
{\setevalue{\??dd#3#1\s!parent}{#4}%
- \setuevalue {#3#1}{\noexpand\doenumerationcommand{#1}{#2}{#3}}%
- \setuevalue{\e!start#3#1}{\noexpand\doenumerationstart {#1}{#2}{#3}}%
- \setuevalue{\e!stop #3#1}{\noexpand\doenumerationstop {#1}{#2}{#3}}}
+ \setuevalue {#3#1}{\noexpand\doenumerationcommand {#1}{#2}{#3}}%
+ \setuevalue{\c!reset#3#1}{\noexpand\doresetenumerationnumber{#1}{#2}{#3}}%
+ %setuevalue{\c!set #3#1}{\noexpand\dosetenumerationnumber {#1}{#2}{#3}}%
+ \setuevalue{\e!next #3#1}{\noexpand\donextenumerationnumber {#1}{#2}{#3}}%
+ \setuevalue{\e!start#3#1}{\noexpand\doenumerationstart {#1}{#2}{#3}}%
+ \setuevalue{\e!stop #3#1}{\noexpand\doenumerationstop {#1}{#2}{#3}}}
% handle enumeration
diff --git a/tex/context/base/util-prs.lua b/tex/context/base/util-prs.lua
index a42715d0d..e1a2ebbed 100644
--- a/tex/context/base/util-prs.lua
+++ b/tex/context/base/util-prs.lua
@@ -50,6 +50,10 @@ local function set(key,value) -- using Carg is slower here
hash[key] = value
end
+local function set(key,value) -- using Carg is slower here
+ hash[key] = value
+end
+
local pattern_a_s = (pattern_a/set)^1
local pattern_b_s = (pattern_b/set)^1
local pattern_c_s = (pattern_c/set)^1
diff --git a/tex/context/base/m-steps.mkii b/tex/context/base/x-steps.mkii
index 3e1f86312..408a7e191 100644
--- a/tex/context/base/m-steps.mkii
+++ b/tex/context/base/x-steps.mkii
@@ -13,6 +13,8 @@
%D The \XML\ interface:
+\usemodule[m][steps]
+
\unprotect
\defineXMLdirective [stepchart] [charts] \setupSTEPcharts
diff --git a/tex/context/base/x-steps.mkiv b/tex/context/base/x-steps.mkiv
new file mode 100644
index 000000000..616818809
--- /dev/null
+++ b/tex/context/base/x-steps.mkiv
@@ -0,0 +1,99 @@
+%D \module
+%D [ file=m-steps,
+%D version=2001.05.28,
+%D title=\CONTEXT\ Modules,
+%D subtitle=Step Charts \& Tables,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA ADE / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D The \XML\ interface. This module can be made way more efficient
+%D in \MKIV\ using textext but it makes only sense to do this when
+%D I really need it in a demanding application. Probably half of the
+%D code in m-steps.tex can go.
+
+\usemodule[m][steps]
+
+\unprotect
+
+\def\xmlstepchartdirective#1{\executeifdefined{@@stepchart@@#1}\gobbletwoarguments} % {#2}{#3}
+\def\xmlsteptabledirective#1{\executeifdefined{@@steptable@@#1}\gobbletwoarguments} % {#2}{#3}
+
+\setvalue{@@stepchart@@charts}{\setsomevalue\@@STPC}
+\setvalue{@@stepchart@@cells}{\setsomevalue\@@STEC}
+\setvalue{@@stepchart@@texts}{\setsomevalue\@@STET}
+\setvalue{@@stepchart@@lines}{\setsomevalue\@@STEL}
+
+\setvalue{@@steptable@@tables}{\setsomevalue\@@STPT}
+\setvalue{@@steptable@@cells}{\setsomevalue\@@STEC}
+\setvalue{@@steptable@@texts}{\setsomevalue\@@STET}
+\setvalue{@@steptable@@lines}{\setsomevalue\@@STEL}
+
+\startxmlsetups xml:ct:define
+ \xmlsetsetup {#1} {ct:*} {xml:ct:*}
+ \xmlsetsetup {#1} {ct:stepaligntable/cells} {xml:ct:stepaligntable:cells}
+ \xmlsetsetup {#1} {ct:stepaligntable/lines} {xml:ct:stepaligntable:lines}
+\stopxmlsetups
+
+\xmlregisterns{ct}{stepcharts}
+
+\xmlregistersetup{xml:ct:define}
+
+\startxmlsetups xml:ct:prep
+ \expanded{\prep[\xmltoparameters{#1}]}{\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups xml:ct:text
+ \expanded{\text[\xmltoparameters{#1}]}{\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups xml:ct:texts
+ \expanded{\texts[\xmltoparameters{#1}]}{\xmltext{#1}{/top}} {\xmltext{#1}{/bot}}
+\stopxmlsetups
+
+\startxmlsetups xml:ct:cell
+ \expanded{\cell[\xmltoparameters{#1}]}{\xmlflush{#1}}
+\stopxmlsetups
+
+\startxmlsetups xml:ct:cells
+ \expanded{\cells[\xmltoparameters{#1}]}{\xmltext{#1}{/top}} {\xmltext{#1}{/bot}}
+\stopxmlsetups
+
+\startxmlsetups xml:ct:lines
+ \expanded{\startlines[\xmltoparameters{#1}]}
+ \xmlflush{#1}
+ \stoplines
+\stopxmlsetups
+
+\startxmlsetups xml:ct:steptable
+ \expanded{\startSTEPtable[\xmltoparameters{#1}]}
+ \xmlflush{#1}
+ \stopSTEPtable
+\stopxmlsetups
+
+\startxmlsetups xml:ct:stepchart
+ \expanded{\startSTEPchart[\xmltoparameters{#1}]}
+ \xmlflush{#1}
+ \stopSTEPchart
+\stopxmlsetups
+
+\startxmlsetups xml:ct:stepaligntable
+ \expanded{\startSTEPaligntable[\xmltoparameters{#1}]}
+ \xmlflush{#1}
+ \stopSTEPaligntable
+\stopxmlsetups
+
+\startxmlsetups xml:ct:stepaligntable:cells
+ \expanded{\cells[\xmltoparameters{#1}]} {\xmltext{#1}{/ct:c1}} {\xmltext{#1}{/ct:c2}} {\xmltext{#1}{/ct:c3}}
+\stopxmlsetups
+
+\startxmlsetups xml:ct:stepaligntable:lines
+ \expanded{\setupSTEPlines[\xmltoparameters{#1}]}
+ \xmlflush{#1}
+\stopxmlsetups
+
+\protect \endinput
diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua
index 45d048876..fdf07d31c 100644
--- a/tex/generic/context/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 10/22/10 10:10:20
+-- merge date : 10/22/10 16:46:39
do -- begin closure to overcome local limits and interference