summaryrefslogtreecommitdiff
path: root/tex/context/base/strc-lst.mkvi
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2015-12-17 16:15:07 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2015-12-17 16:15:07 +0100
commitd1faffcd5d92925a6c5e66ebb72b4c8dcfae236f (patch)
treec1663d54da8573c0541015e5a307a28e22215a8b /tex/context/base/strc-lst.mkvi
parentadc43c3c243ed95215af6fe02d71e393c178da23 (diff)
downloadcontext-d1faffcd5d92925a6c5e66ebb72b4c8dcfae236f.tar.gz
2015-12-17 15:59:00
Diffstat (limited to 'tex/context/base/strc-lst.mkvi')
-rw-r--r--tex/context/base/strc-lst.mkvi97
1 files changed, 76 insertions, 21 deletions
diff --git a/tex/context/base/strc-lst.mkvi b/tex/context/base/strc-lst.mkvi
index c7fd41daf..90b121399 100644
--- a/tex/context/base/strc-lst.mkvi
+++ b/tex/context/base/strc-lst.mkvi
@@ -277,8 +277,8 @@
%D a document source but nowadays that is less an issue in the
%D sense that the extra few lines are neglectable to the rest.
-\unexpanded\def\systemsuppliedchapter {\getvalue{\v!chapter}} % obsolete
-\unexpanded\def\systemsuppliedtitle {\getvalue{\v!title}} % obsolete
+\unexpanded\def\systemsuppliedchapter {\csname\v!chapter\endcsname} % obsolete
+\unexpanded\def\systemsuppliedtitle {\csname\v!title \endcsname} % obsolete
\unexpanded\def\completelist
{\dodoubleempty\strc_lists_complete}
@@ -477,16 +477,30 @@
\let\dotaglistlocation\relax
+\def\strc_lists_entry_process_default
+ {no list method}
+
+% \def\strc_lists_entry_process % assume things to be set up
+% {\listextraparameter\c!before
+% \dostarttagged\t!listitem\currentlist
+% \dotaglistlocation
+% \csname\??structurelistprocessor
+% \ifcsname\??structurelistprocessor\currentlist:\currentlistmethod\endcsname\currentlist:\currentlistmethod\else
+% \ifcsname\??structurelistprocessor\currentlistmethod \endcsname\currentlistmethod \else
+% \ifcsname\??structurelistprocessor\currentlist \endcsname\currentlist \else
+% \s!default \fi\fi\fi
+% \endcsname
+% \dostoptagged
+% \listextraparameter\c!after}
+
\def\strc_lists_entry_process % assume things to be set up
{\listextraparameter\c!before
\dostarttagged\t!listitem\currentlist
\dotaglistlocation
- \csname\??structurelistprocessor
- \ifcsname\??structurelistprocessor\currentlist:\currentlistmethod\endcsname\currentlist:\currentlistmethod\else
- \ifcsname\??structurelistprocessor\currentlistmethod \endcsname\currentlistmethod \else
- \ifcsname\??structurelistprocessor\currentlist \endcsname\currentlist \else
- \s!default \fi\fi\fi
- \endcsname
+ \ifcsname\??structurelistprocessor\currentlist:\currentlistmethod\endcsname\lastnamedcs\else
+ \ifcsname\??structurelistprocessor\currentlistmethod \endcsname\lastnamedcs\else
+ \ifcsname\??structurelistprocessor\currentlist \endcsname\lastnamedcs\else
+ \strc_lists_entry_process_default\fi\fi\fi
\dostoptagged
\listextraparameter\c!after}
@@ -502,7 +516,7 @@
% lists that have a number/title are kind of generic and can share code
\installstructurelistprocessor\s!default
- {no list method}
+ {\strc_lists_entry_process_default}
\installstructurelistprocessor\s!simple
{\let\currentlistentrynumber \structurelistfirst
@@ -567,7 +581,7 @@
\unexpanded\def\strc_lists_symbol_none
{\strc_lists_assign_dimen\scratchwidth\c!width{1.5\emwidth}%
- \hbox to \scratchwidth{}}
+ \hpack to \scratchwidth{}}
\unexpanded\def\strc_lists_symbol_one
{\strut\symbol[bullet]}
@@ -588,22 +602,29 @@
\installcorenamespace{listsymbollabels}
+\def\strc_lists_symbol_label_unknown
+ {\leftlabeltext\currentlistlabel
+ \listparameter\c!starter
+ \currentlistentrynumber
+ \listparameter\c!stopper
+ \rightlabeltext\currentlistlabel}
+
\unexpanded\def\strc_lists_symbol_default
{\dontleavehmode
\strut
\begingroup
\edef\currentlistlabel{\listparameter\c!label}% can be used in label
- \csname\??listsymbollabels
- \ifcsname\??listsymbollabels\currentlistlabel\endcsname\currentlistlabel\else\s!unknown\fi
- \endcsname
+% \csname\??listsymbollabels
+% \ifcsname\??listsymbollabels\currentlistlabel\endcsname\currentlistlabel\else\s!unknown\fi
+% \endcsname
+ \ifcsname\??listsymbollabels\currentlistlabel\endcsname
+ \lastnamedcs
+ \else
+ \strc_lists_symbol_label_unknown
+ \fi
\endgroup}
-\setvalue{\??listsymbollabels\s!unknown}% use whatever is set
- {\leftlabeltext\currentlistlabel
- \listparameter\c!starter
- \currentlistentrynumber
- \listparameter\c!stopper
- \rightlabeltext\currentlistlabel}
+\letvalue{\??listsymbollabels\s!unknown}\strc_lists_symbol_default
\setvalue{\??listsymbollabels}% default (empty)
{\listparameter\c!starter
@@ -920,7 +941,7 @@
\listalternativeparameter\c!after
\else
\noindent % otherwise annotations are mirrored up
-\typo_injectors_mark_list
+ \typo_injectors_mark_list
\hbox \strc_lists_get_reference_attribute\v!all \strc_lists_get_destination_attribute {
\p_command\currentlistentrynumber\currentlistentrytitle\currentlistentrypagenumber
}
@@ -1348,10 +1369,44 @@
\strc_lists_interaction_check_nop
\fi}
+% \def\strc_lists_interaction_check_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
+% \strc_references_get_simple_page_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_page_reference{bck:\currentlistentrylocation}%
+% \a_strc_lists_destination\currentdestinationattribute
+% \else
+% \a_strc_lists_destination\attributeunsetvalue
+% \fi
+% \ifnum\a_strc_lists_destination=\attributeunsetvalue
+% \let\strc_lists_get_destination_attribute\empty
+% \let\strc_lists_set_destination_attribute\empty
+% \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
{\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\csname\??listinteractions\p_interaction_forward\endcsname
+ \expandafter\let\expandafter\p_interaction_forward\lastnamedcs
\strc_references_get_simple_page_reference{internal(\currentlistentrylocation)}%
\a_strc_lists_reference\currentreferenceattribute
\else