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.mkiv11
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