summaryrefslogtreecommitdiff
path: root/tex/context/base/strc-lst.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/strc-lst.mkiv')
-rw-r--r--tex/context/base/strc-lst.mkiv38
1 files changed, 28 insertions, 10 deletions
diff --git a/tex/context/base/strc-lst.mkiv b/tex/context/base/strc-lst.mkiv
index bcf20c451..83faf75a7 100644
--- a/tex/context/base/strc-lst.mkiv
+++ b/tex/context/base/strc-lst.mkiv
@@ -97,6 +97,8 @@
%begingroup\attribute\destinationattribute\currentdestinationattribute\dontleavehmode\hbox{}\endgroup % todo
\dontleavehmode\hbox attr \destinationattribute \currentdestinationattribute{}% todo
% end of new
+ \else
+ \ctxlua{structure.lists.enhance(\currentlistnumber)}% direct injection
\fi
\endgroup}
@@ -104,7 +106,8 @@
{\ctxlua{structure.lists.location(\currentlistindex)}}
\def\structurelistpagenumber
- {\ctxlua{structure.lists.prefixedpage(
+ {\dostarttagged\t!listpage\empty
+ \ctxlua{structure.lists.prefixedpage(
"\currentlist",
\currentlistindex,
{
@@ -120,25 +123,34 @@
starter = \!!bs\listparameter\c!pagestarter\!!es,
stopper = \!!bs\listparameter\c!pagestopper\!!es,
}
- )}}
+ )}%
+ \dostoptagged}
\def\structurelistrealpagenumber
{\ctxlua{structure.lists.realpage("\currentlist",\currentlistindex)}}
\def\structurelistfirst
- {\ctxlua{structure.lists.userdata("\currentlist",\currentlistindex,"first")}}
+ {\dostarttagged\t!listdata{first} % ot always ok
+ \ctxlua{structure.lists.userdata("\currentlist",\currentlistindex,"first")}%
+ \dostoptagged}
\def\structurelistsecond
- {\ctxlua{structure.lists.userdata("\currentlist",\currentlistindex,"second")}}
+ {\dostarttagged\t!listdata{second}%
+ \ctxlua{structure.lists.userdata("\currentlist",\currentlistindex,"second")}%
+ \dostoptagged}
\def\structurelistuservariable#1%
- {\ctxlua{structure.lists.userdata("\currentlist",\currentlistindex,"#1")}}
+ {\dostarttagged\t!listdata{#1}%
+ \ctxlua{structure.lists.userdata("\currentlist",\currentlistindex,"#1")}%
+ \dostoptagged}
% \appendtoks
% \to \everystructurelist
\unexpanded\def\placestructurelist#1#2#3% hm ... [][][]
- {\ctxlua{structure.lists.process("#1","#2","#3")}}
+ {\dostarttagged\t!list\empty
+ \ctxlua{structure.lists.process("#1","#2","#3")}%
+ \dostoptagged}
\unexpanded\def\analysestructurelist#1#2#3%
{\ctxlua{structure.lists.analyze("#1","#2","#3")}}
@@ -173,12 +185,14 @@
\edef\currentlist {#1}%
\edef\currentlistmethod{#2}%
\edef\currentlistindex {#3}%
+ \dostarttagged\t!listitem\currentlist
\csname\@@structurelistprocess
\ifcsname\@@structurelistprocess\currentlist:\currentlistmethod\endcsname\currentlist:\currentlistmethod\else
\ifcsname\@@structurelistprocess\currentlistmethod \endcsname\currentlistmethod \else
\ifcsname\@@structurelistprocess\currentlist \endcsname\currentlist \else
\s!default \fi\fi\fi
\endcsname
+ \dostoptagged
\ctxlua{structure.lists.popnesting()}}
% \installstructcurelistprocessor{pubs:userdata}
@@ -902,10 +916,13 @@
\structurelistrealpagenumber}
\def\structurelistgenerictitle
- {\ctxlua{structure.lists.title("\currentlist",\currentlistindex)}}
+ {\dostarttagged\t!listcontent\empty
+ \ctxlua{structure.lists.title("\currentlist",\currentlistindex)}%
+ \dostoptagged}
-\def\structurelistgenericnumber{\ctxlua{
- structure.lists.prefixednumber("\currentlist",\currentlistindex, {
+\def\structurelistgenericnumber
+ {\dostarttagged\t!listtag\empty
+ \ctxlua{structure.lists.prefixednumber("\currentlist",\currentlistindex, {
prefix = "\listparameter\c!prefix",
separatorset = "\listparameter\c!prefixseparatorset",
conversionset = "\listparameter\c!prefixconversionset",
@@ -921,7 +938,8 @@
starter = \!!bs\listparameter\c!numberstarter\!!es,
stopper = \!!bs\listparameter\c!numberstopper\!!es,
segments = "\listparameter\c!numbersegments",
- } )}}
+ } )}%
+ \dostoptagged}
% new and yet undocumented (used in cocoa qa), temporarily disabled in mkiv
%