diff options
author | Marius <mariausol@gmail.com> | 2011-07-13 23:40:25 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2011-07-13 23:40:25 +0300 |
commit | 3dd416f677074c27a248e3433695a6fe8c13ef69 (patch) | |
tree | 20c4a573a64f2079e2e3d3fe93b004af3caf7b2f /tex/context/base/strc-lst.mkiv | |
parent | 1ea50dab7f30289214b661f2cbcf53e97e6af0b6 (diff) | |
download | context-3dd416f677074c27a248e3433695a6fe8c13ef69.tar.gz |
beta 2011.07.13 20:14
Diffstat (limited to 'tex/context/base/strc-lst.mkiv')
-rw-r--r-- | tex/context/base/strc-lst.mkiv | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/tex/context/base/strc-lst.mkiv b/tex/context/base/strc-lst.mkiv index 149b1a734..c532f0ae7 100644 --- a/tex/context/base/strc-lst.mkiv +++ b/tex/context/base/strc-lst.mkiv @@ -961,40 +961,52 @@ \unexpanded\def\determinelistcharacteristics {\dodoubleempty\dodeterminelistcharacteristics} -\def\combinedlistparameter#1{\csname\??ih\currentcombinedlist#1\endcsname} - -\unexpanded\def\setupcombinedlist - {\dodoubleargument\dosetupcombinedlist} +% todo: make simple parameter handler -\def\dosetupcombinedlist[#1][#2]% - {\getparameters[\??ih#1][#2]% - \edef\currentcombinedlist{#1}% - \normalexpanded{\noexpand\setuplist[\combinedlistparameter\c!list]}[#2]} +\def\combinedlistparameter#1{\csname\??ih\currentcombinedlist#1\endcsname} +\def\combinedlisttoks {\csname\??ih::\currentcombinedlist\endcsname} \unexpanded\def\definecombinedlist {\dotripleempty\dodefinecombinedlist} \def\dodefinecombinedlist[#1][#2][#3]% - {\getparameters + {\edef\currentcombinedlist{#1}% + \getparameters [\??ih#1] [\c!criterium=\v!local,\c!number=0,\c!list={#2},#3]% +\expandafter\newtoks\csname\??ih::\currentcombinedlist\endcsname +\combinedlisttoks{#3}% \setvalue{\e!setup#1\e!endsetup}{\dodoubleempty\dosetupcombinedlist[#1]}% \setvalue{\e!place#1}{\dodoubleempty\doplacecombinedlist[#1]}% \setvalue{\e!complete#1}{\dodoubleempty\docompletecombinedlist[#1]}} +\unexpanded\def\setupcombinedlist + {\dodoubleargument\dosetupcombinedlist} + +% \def\dosetupcombinedlist[#1][#2]% this will change, as we now adapt all list elements +% {\getparameters[\??ih#1][#2]% % maybe some parent magic or store in a toks +% \edef\currentcombinedlist{#1}% +% \normalexpanded{\setuplist[\combinedlistparameter\c!list]}[#2]} + +\def\dosetupcombinedlist[#1][#2]% + {\edef\currentcombinedlist{#1}% + \getparameters[\??ih#1][#2]% + \combinedlisttoks\expandafter{\the\combinedlisttoks,#2}}% can accumulate + \unexpanded\def\placecombinedlist {\dodoubleempty\doplacecombinedlist} \def\doplacecombinedlist[#1][#2]% we can move much of the analysis to lua {\begingroup % level is no longer supported - \def\currentcombinedlist{#1}% + \edef\currentcombinedlist{#1}% \getparameters[\??ih#1][#2]% \edef\combinedlist{\combinedlistparameter\c!list}% \the\everystructurelist \doif{\combinedlistparameter\c!coupling}\v!on{\startlistreferences{#1}}% \dobeginoflist - \normalexpanded{\setuplist[\combinedlist][#2]}% +% \normalexpanded{\setuplist[\combinedlist][#2]}% +\normalexpanded{\setuplist[\combinedlist][\the\combinedlisttoks,#2]}% or ,}#2]% \doplacestructurelist {\combinedlist}% {\combinedlistparameter\c!criterium}% |