diff options
author | Marius <mariausol@gmail.com> | 2012-07-19 14:20:14 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-07-19 14:20:14 +0300 |
commit | fbfbcf8f6c5be5c08ed47b9093c50728cbf69fa5 (patch) | |
tree | 5320d7c31c681a5334fdcf18f9f21b621e983da8 /tex/context/base/mult-aux.mkiv | |
parent | f012686d63082594f65005c5de0730f6fa3af7d0 (diff) | |
download | context-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.mkiv | 28 |
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 |