summaryrefslogtreecommitdiff
path: root/tex/context/base/mult-aux.mkiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-07-19 14:20:14 +0300
committerMarius <mariausol@gmail.com>2012-07-19 14:20:14 +0300
commitfbfbcf8f6c5be5c08ed47b9093c50728cbf69fa5 (patch)
tree5320d7c31c681a5334fdcf18f9f21b621e983da8 /tex/context/base/mult-aux.mkiv
parentf012686d63082594f65005c5de0730f6fa3af7d0 (diff)
downloadcontext-fbfbcf8f6c5be5c08ed47b9093c50728cbf69fa5.tar.gz
beta 2012.07.19 12:56
Diffstat (limited to 'tex/context/base/mult-aux.mkiv')
-rw-r--r--tex/context/base/mult-aux.mkiv28
1 files changed, 28 insertions, 0 deletions
diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv
index 81b9b84c8..db636d9a1 100644
--- a/tex/context/base/mult-aux.mkiv
+++ b/tex/context/base/mult-aux.mkiv
@@ -581,6 +581,34 @@
\unexpanded\def\relateparameterhandlers#1#2#3#4% {from} {instance} {to} {instance}
{\expandafter\edef\csname\csname#1namespace\endcsname#2:\s!parent\endcsname{\csname#3namespace\endcsname#4}}
+%D Here is another experiment:
+
+\unexpanded\def\installactionhandler#1%
+ {\normalexpanded
+ {\mult_interfaces_install_action_handler
+ {#1}%
+ \expandafter\noexpand\csname current#1\endcsname
+ \expandafter\noexpand\csname setupcurrent#1\endcsname
+ \expandafter\noexpand\csname #1_action\endcsname}}
+
+\unexpanded\def\mult_interfaces_install_action_handler#1#2#3#4%
+ {\unexpanded\expandafter\def\csname#1\endcsname{\dodoubleempty#4}%
+ \unexpanded\def#4[##1][##2]%
+ {\begingroup
+ \ifsecondargument
+ \edef#2{##1}%
+ #3[##2]%
+ \else\iffirstargument
+ \doifassignmentelse{##1}
+ {\let#2\empty
+ #3[##1]}%
+ {\edef#2{##1}}%
+ \else
+ \let#2\empty
+ \fi\fi
+ \directsetup{handler:action:#1}%
+ \endgroup}}
+
% First we had, in tune with the regular system variables:
%
% \starttyping