summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/mult-aux.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/mult-aux.mkxl')
-rw-r--r--tex/context/base/mkiv/mult-aux.mkxl32
1 files changed, 24 insertions, 8 deletions
diff --git a/tex/context/base/mkiv/mult-aux.mkxl b/tex/context/base/mkiv/mult-aux.mkxl
index e73b5ef45..74e717128 100644
--- a/tex/context/base/mkiv/mult-aux.mkxl
+++ b/tex/context/base/mkiv/mult-aux.mkxl
@@ -168,6 +168,10 @@
%D manual does less than 6000 assignments and the payoff starts around a tenfold of
%D that. But \unknown\ it's less tracing, so that's another benefit.
+%D Watch out: we accept that a \[k=v,,k=v] will generate a case where a key can become
+%D a comma and trigger a warning but we intercept that elsewhere. The alternative is
+%D to skip to the comma first which takes more time.
+
\let\m_mult_interfaces_namespace\empty
\def\mult_interfaces_get_parameters#1[#2%
@@ -201,8 +205,11 @@
\mult_interfaces_adef\m_mult_interfaces_namespace{#1}{#2}%
\fi}
-\def\mult_interfaces_get_parameters_item_error#0#0#0#4#5%
- {\mult_interfaces_get_parameters_error_indeed{#4}{#5}}
+% \def\mult_interfaces_get_parameters_item_error#0#0#0#4#5%
+% {\if,#5\else\mult_interfaces_get_parameters_error_indeed{#4}{#5}\fi}
+
+\def\mult_interfaces_get_parameters_item_error#-#-#-#1#2%
+ {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi}
\startinterface english
@@ -215,18 +222,27 @@
\expandafter\def\csname\m_mult_interfaces_namespace#1\endcsname{#2}%
\fi}
- \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0%
- {\mult_interfaces_get_parameters_error_indeed{#2}{#3}}
+% \def\mult_interfaces_get_parameters_item_error#0\csname#2#3\endcsname#0%
+% {\if,#3\else\mult_interfaces_get_parameters_error_indeed{#2}{#3}\fi}
+
+ \def\mult_interfaces_get_parameters_item_error#-\csname#1#2\endcsname#-%
+ {\if,#2\else\mult_interfaces_get_parameters_error_indeed{#1}{#2}\fi}
\stopinterface
%D Used?
-\def\mult_check_for_assignment_indeed#0=#2#0^^^^0004%
- {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi}
+% \def\mult_check_for_assignment_indeed#0=#2#0^^^^0004%
+% {\if#2^^^^0003\assignmentfalse\else\assignmenttrue\fi}
+%
+% \def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004%
+% {\if#2^^^^0003}
+
+\def\mult_check_for_assignment_indeed#-=#1#-^^^^0004%
+ {\if#1^^^^0003\assignmentfalse\else\assignmenttrue\fi}
-\def\mult_check_for_assignment_indeed_begin_#0=#2#0^^^^0004%
- {\if#2^^^^0003}
+\def\mult_check_for_assignment_indeed_begin_#-=#1#-^^^^0004%
+ {\if#1^^^^0003}
\def\mult_check_for_assignment#1%
{\expandafter\mult_check_for_assignment_indeed\detokenize{#1}=^^^^0003^^^^0003^^^^0004}