summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/strc-lst.mklx
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/strc-lst.mklx')
-rw-r--r--tex/context/base/mkxl/strc-lst.mklx51
1 files changed, 47 insertions, 4 deletions
diff --git a/tex/context/base/mkxl/strc-lst.mklx b/tex/context/base/mkxl/strc-lst.mklx
index 66fd5dfb0..66a801241 100644
--- a/tex/context/base/mkxl/strc-lst.mklx
+++ b/tex/context/base/mkxl/strc-lst.mklx
@@ -13,7 +13,7 @@
\writestatus{loading}{ConTeXt Structure Macros / Lists}
-\registerctxluafile{strc-lst}{}
+\registerctxluafile{strc-lst}{autosuffix}
% clean up in progress ...
%
@@ -365,6 +365,9 @@
\def\strc_lists_process_pagenumber#1%
{\begincsname\??listpagenumber#1\endcsname}
+\permanent\def\structurelistexternal
+ {\clf_listexternal\numexpr\currentlistindex\relax}
+
\permanent\def\structurelistlocation
{\clf_listlocation\numexpr\currentlistindex\relax}
@@ -1449,12 +1452,53 @@
\strc_lists_interaction_check_nop
\fi}
+% \def\strc_lists_interaction_check_yes_yes
+% {\edef\p_interaction_forward{\listparameter\c!interaction}%
+% \ifcsname\??listinteractions\p_interaction_forward\endcsname
+% %\expandafter\let\expandafter\p_interaction_forward\csname\??listinteractions\p_interaction_forward\endcsname
+% \expandafter\let\expandafter\p_interaction_forward\lastnamedcs
+% \strc_references_get_simple_reference{internal(\currentlistentrylocation)}%
+% \a_strc_lists_reference\currentreferenceattribute
+% \else
+% \a_strc_lists_reference\attributeunsetvalue
+% \fi
+% \ifnum\a_strc_lists_reference=\attributeunsetvalue
+% \let\strc_lists_get_reference_attribute\gobbleoneargument
+% \let\strc_lists_set_reference_attribute\gobbleoneargument
+% \let\strc_lists_set_style_color \strc_lists_set_style_color_normal
+% \else
+% \let\strc_lists_get_reference_attribute\strc_lists_get_reference_attribute_indeed
+% \let\strc_lists_set_reference_attribute\strc_lists_set_reference_attribute_indeed
+% \let\strc_lists_set_style_color \strc_lists_set_style_color_special
+% \fi
+% \edef\p_interaction_backward{\namedheadparameter\currentlist\c!interaction}% \namedheadparameter !
+% \ifx\p_interaction_backward\v!list
+% \strc_references_set_simple_reference{*\currentlistentrylocation}%
+% \a_strc_lists_destination\currentdestinationattribute
+% \else
+% \a_strc_lists_destination\attributeunsetvalue
+% \fi
+% \ifnum\a_strc_lists_destination=\attributeunsetvalue
+% \lettonothing\strc_lists_get_destination_attribute
+% \lettonothing\strc_lists_set_destination_attribute
+% \else
+% \let\strc_lists_get_destination_attribute\strc_lists_get_destination_attribute_indeed
+% \let\strc_lists_set_destination_attribute\strc_lists_set_destination_attribute_indeed
+% \fi}
+
\def\strc_lists_interaction_check_yes_yes
- {\edef\p_interaction_forward{\listparameter\c!interaction}%
+ {\edef\p_interaction_forward {\listparameter\c!interaction}%
+ \edef\p_interaction_backward{\namedheadparameter\currentlist\c!interaction}% \namedheadparameter !
\ifcsname\??listinteractions\p_interaction_forward\endcsname
%\expandafter\let\expandafter\p_interaction_forward\csname\??listinteractions\p_interaction_forward\endcsname
\expandafter\let\expandafter\p_interaction_forward\lastnamedcs
- \strc_references_get_simple_reference{internal(\currentlistentrylocation)}%
+ \ifcstok{\structurelistexternal}\emptytoks % luacall
+ \strc_references_get_simple_reference{internal(\currentlistentrylocation)}%
+ \else
+ % \writestatus{FAR OUT LIST}{\structurelistexternal::page(\number\structurelistrealpagenumber)}%
+ \strc_references_get_simple_reference{\structurelistexternal::page(\number\structurelistrealpagenumber)}%
+ \let\p_interaction_backward\empty
+ \fi
\a_strc_lists_reference\currentreferenceattribute
\else
\a_strc_lists_reference\attributeunsetvalue
@@ -1468,7 +1512,6 @@
\let\strc_lists_set_reference_attribute\strc_lists_set_reference_attribute_indeed
\let\strc_lists_set_style_color \strc_lists_set_style_color_special
\fi
- \edef\p_interaction_backward{\namedheadparameter\currentlist\c!interaction}% \namedheadparameter !
\ifx\p_interaction_backward\v!list
\strc_references_set_simple_reference{*\currentlistentrylocation}%
\a_strc_lists_destination\currentdestinationattribute