diff options
Diffstat (limited to 'tex/context/base/mult-aux.mkiv')
-rw-r--r-- | tex/context/base/mult-aux.mkiv | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv index 2aa59e714..af36a1e19 100644 --- a/tex/context/base/mult-aux.mkiv +++ b/tex/context/base/mult-aux.mkiv @@ -338,9 +338,10 @@ \unexpanded\def#2{\dodoubleempty#4}% \unexpanded\def#5{\mult_interfaces_get_parameters{#1#3:}}} -\unexpanded\def\mult_interfaces_install_switch_setup_handler_b#1#2#3#4#5#6#7% +\unexpanded\def\mult_interfaces_install_switch_setup_handler_b#1#2#3#4#5#6#7#8% {\newtoks#5% \newconstant#2% + \newtoks#8% \ifx#6\relax\let#6\empty\fi \def#4[##1][##2]% maybe helper {\ifsecondargument % no commalist here @@ -351,6 +352,7 @@ #2\doingrootsetupnamed \mult_interfaces_get_parameters{#1#3:}[##2]% \the#5% + \ifx#3#6\the#8\fi % only switchsetups if previous == current \let#3#7% \else\iffirstargument \mult_check_for_assignment##1=@@\_end_ % \docheckassignment{##1}% @@ -362,6 +364,7 @@ #2\doingrootsetuproot \mult_interfaces_get_parameters{#1:}[##1]% \the#5% + \the#8% switchsetups \let#3#7% \else % \setuplayout[whatever] @@ -369,6 +372,7 @@ \edef#3{##1}% this will catch reset so one needs to test for it #2\doingrootsetnamed \the#5% % we can check for previous vs current + \the#8% switchsetups \fi \else % \setuplayout @@ -376,6 +380,7 @@ \let#3\empty % current becomes empty #2\doingrootsetroot \the#5% + \the#8% switchsetups \fi\fi #2\zerocount}} % mode is always zero at the end @@ -394,8 +399,8 @@ \expandafter\noexpand\csname setup_#2\endcsname % semi-public \expandafter\noexpand\csname everysetup#2\endcsname \expandafter\noexpand\csname previous#2\endcsname - \expandafter\noexpand\csname saved_setup_current#2\endcsname}} - + \expandafter\noexpand\csname saved_setup_current#2\endcsname + \expandafter\noexpand\csname everyswitch#2\endcsname}} \unexpanded\def\mult_interfaces_install_auto_setup_handler#1#2#3#4#5#6#7#8% {\ifx#3\relax\let#3\empty\fi |