summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/lang-lab.mkxl
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-02-05 18:08:41 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-02-05 18:08:41 +0100
commit5a7dd5d18ced4a73b05467f208d4c4b0d1afebc0 (patch)
tree7138a651a94fb013e584b080c50c4681321617cc /tex/context/base/mkxl/lang-lab.mkxl
parentab4fc27d8b1541b491621e07ab1f40f30aaf50ae (diff)
downloadcontext-5a7dd5d18ced4a73b05467f208d4c4b0d1afebc0.tar.gz
2021-02-05 17:44:00
Diffstat (limited to 'tex/context/base/mkxl/lang-lab.mkxl')
-rw-r--r--tex/context/base/mkxl/lang-lab.mkxl61
1 files changed, 37 insertions, 24 deletions
diff --git a/tex/context/base/mkxl/lang-lab.mkxl b/tex/context/base/mkxl/lang-lab.mkxl
index 8968631a0..369049ed1 100644
--- a/tex/context/base/mkxl/lang-lab.mkxl
+++ b/tex/context/base/mkxl/lang-lab.mkxl
@@ -60,7 +60,7 @@
\installcorenamespace{label}
-\let\currentlabelcategory\empty
+% \let\currentlabelcategory\empty
\permanent\tolerant\protected\def\definelabelclass[#1]#*[#2]%
{\normalexpanded
@@ -77,30 +77,46 @@
% hm, not interfaced
-\let\thetextprefix\empty
+\mutable\let\thetextprefix\empty
+
+\mutable\let\currenttextprefixclass\s!unknown
+\mutable\let\currenttextprefixname \empty
+\mutable\let\currenttextprefixtag \s!unknown
\protected\def\lang_labels_define_class_indeed#1#2#3#4#5#6#7#8#9%
- {\permanent\instance\setuvalue {setup#1text}{\protecttextprefixes#2\def\currenttextprefixclass{#1}\lang_labels_text_prefix_setup}%
- \permanent\instance\setuvalue{preset#1text}{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_setup}%
- \permanent\instance\setuvalue {copy#1text}{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_copy }%
- \permanent\instance\setuvalue {start#1text}{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_start[#1]}%
- \permanent\instance\letvalue {stop#1text}\relax
+ {\permanent\instance\protected\defcsname setup#1text\endcsname{\protecttextprefixes#2\def\currenttextprefixclass{#1}\lang_labels_text_prefix_setup}%
+ \permanent\instance\protected\defcsname preset#1text\endcsname{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_setup}%
+ \permanent\instance\protected\defcsname copy#1text\endcsname{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_copy }%
+ \permanent\instance\protected\defcsname start#1text\endcsname{\protecttextprefixes 1\def\currenttextprefixclass{#1}\lang_labels_text_prefix_start[#1]}%
+ \permanent\instance \letcsname stop#1text\endcsname \relax
\permanent\instance\def#4{\reallanguagetag{\defaultlanguage\currentmainlanguage}}%
\ifnum#2=\plustwo % used for math and tags
\instance\def#3{#5#4}%
+% \instance\def#5##1##2% ##1=language
+% {\ifcsname\??label\currentlabelcategory#1:##1:##2\endcsname
+% \lastnamedcs
+% \orelse\ifcsname\??label#1:##1:##2\endcsname
+% \lastnamedcs
+% \orelse\ifcsname\??language##1\s!default\endcsname
+% \expandafter#5\lastnamedcs{##2}%
+% \orelse\ifcsname\??label\currentlabelcategory#1:##2\endcsname
+% \lastnamedcs
+% \orelse\ifcsname\??label#1:##2\endcsname
+% \lastnamedcs
+% \orelse\ifcsname\??label\currentlabelcategory#1:\s!en:##2\endcsname
+% \lastnamedcs
+% \orelse\ifcsname\??label#1:\s!en:##2\endcsname
+% \lastnamedcs
+% \else
+% ##2%
+% \fi}%
\instance\def#5##1##2% ##1=language
- {\ifcsname\??label\currentlabelcategory#1:##1:##2\endcsname
- \lastnamedcs
- \orelse\ifcsname\??label#1:##1:##2\endcsname
+ {\ifcsname\??label#1:##1:##2\endcsname
\lastnamedcs
\orelse\ifcsname\??language##1\s!default\endcsname
\expandafter#5\lastnamedcs{##2}%
- \orelse\ifcsname\??label\currentlabelcategory#1:##2\endcsname
- \lastnamedcs
\orelse\ifcsname\??label#1:##2\endcsname
\lastnamedcs
- \orelse\ifcsname\??label\currentlabelcategory#1:\s!en:##2\endcsname
- \lastnamedcs
\orelse\ifcsname\??label#1:\s!en:##2\endcsname
\lastnamedcs
\else
@@ -124,10 +140,10 @@
\else
\enforced\let\thetextprefix\dummytextprefix
\fi}%
- \permanent\instance\protected\def#6##1{#3{##1}\expandafter\flushleftlabelclass \thetextprefix}%
- \permanent\instance\protected\def#7##1{#3{##1}\expandafter\flushrightlabelclass\thetextprefix}%
- \permanent\instance\protected\def#8##1{#3{##1}\expandafter\flushbothlabelclass \thetextprefix}% #2
- \permanent\instance\protected\def#9##1{#3{##1}\expandafter\flushleftlabelclass \thetextprefix}%
+ \permanent \instance\protected\def#6##1{#3{##1}\expandafter\firstoftwoarguments \thetextprefix}% \flushleftlabelclass
+ \permanent\instance\protected\def#7##1{#3{##1}\expandafter\secondoftwoarguments \thetextprefix}% \flushrightlabelclass
+ \permanent\instance\protected\def#8##1{#3{##1}\expandafter\lang_labels_flush_both\thetextprefix}% \flushbothlabelclass #2
+ \permanent\instance\protected\def#9##1{#3{##1}\expandafter\firstoftwoarguments \thetextprefix}% \flushleftlabelclass
\fi
\appendtoks
\enforced\permanent\instance\let#6\firstofoneargument % to be checked
@@ -138,10 +154,10 @@
% why not lang_* ?
-\let\flushleftlabelclass \firstoftwoarguments
-\let\flushrightlabelclass\secondoftwoarguments
+% \let\flushleftlabelclass \firstoftwoarguments
+% \let\flushrightlabelclass\secondoftwoarguments
-\permanent\def\flushbothlabelclass#1#2#3{#1#3#2}
+\permanent\def\lang_labels_flush_both#1#2#3{#1#3#2}
\permanent\def\dummytextprefix{\empty\empty}
@@ -163,9 +179,6 @@
\newconstant\protecttextprefixes
-\let\currenttextprefixtag \s!unknown
-\let\currenttextprefixclass\s!unknown
-
\tolerant\def\lang_labels_text_prefix_start[#1]#*[#2]#*[#3]% class language name
{\ifarguments\or\or
\edef\currenttextprefixtag{\reallanguagetag\currentmainlanguage}%