summaryrefslogtreecommitdiff
path: root/tex/context/base/mult-aux.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mult-aux.mkiv')
-rw-r--r--tex/context/base/mult-aux.mkiv8
1 files changed, 8 insertions, 0 deletions
diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv
index 62111a642..97b330248 100644
--- a/tex/context/base/mult-aux.mkiv
+++ b/tex/context/base/mult-aux.mkiv
@@ -266,6 +266,12 @@
\let\definehandlerparent\empty
+\def\mult_check_for_parent#1#2#3#4%
+ {\ifcsname#1#4:\s!parent\endcsname \else \ifx#4\empty \else
+ \writestatus\m!system{error: invalid parent #4 for #3, #4 defined too (best check it)}%
+ \expandafter\edef\csname#1#4:\s!parent\endcsname{#2}%
+ \fi \fi}
+
\unexpanded\def\mult_interfaces_install_define_handler#1#2#3#4#5#6#7#8#9% why is \expanded still needed in clones
{\ifx#4\relax\let#4\empty\fi % see \defineregister
\unexpanded\def#2{\dotripleempty#5}%
@@ -277,6 +283,7 @@
\ifthirdargument
\the#6% predefine
\edef#8{##2}%
+ \mult_check_for_parent{#1}{#3}#4#8%
\expandafter\edef\csname#1#4:\s!parent\endcsname{#1##2}%
\mult_interfaces_get_parameters{#1#4:}[##3]%
\else\ifsecondargument
@@ -288,6 +295,7 @@
\mult_interfaces_get_parameters{#1#4:}[##2]%
\else
\edef#8{##2}%
+ \mult_check_for_parent{#1}{#3}#4#8%
\expandafter\edef\csname#1#4:\s!parent\endcsname{#1##2}%
\fi
\else