summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/pack-rul.mkxl
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/pack-rul.mkxl')
-rw-r--r--tex/context/base/mkiv/pack-rul.mkxl17
1 files changed, 8 insertions, 9 deletions
diff --git a/tex/context/base/mkiv/pack-rul.mkxl b/tex/context/base/mkiv/pack-rul.mkxl
index 97cb82968..3afd09c79 100644
--- a/tex/context/base/mkiv/pack-rul.mkxl
+++ b/tex/context/base/mkiv/pack-rul.mkxl
@@ -3045,16 +3045,15 @@
\let\themaxboxwidth\clf_themaxboxwidth
-%D New: slow but ok for most cases:
+%D Fast enough for most cases:
\unexpanded\def\doifelseframed#1%
- {\ifcase\numexpr\zerocount
- \immediateassignment\edef\tempstring{#1\c!frame }\ifx\tempstring\v!on +\plusone\fi
- \immediateassignment\edef\tempstring{#1\c!topframe }\ifx\tempstring\v!on +\plusone\fi
- \immediateassignment\edef\tempstring{#1\c!bottomframe}\ifx\tempstring\v!on +\plusone\fi
- \immediateassignment\edef\tempstring{#1\c!leftframe }\ifx\tempstring\v!on +\plusone\fi
- \immediateassignment\edef\tempstring{#1\c!rightframe }\ifx\tempstring\v!on +\plusone\fi
- \immediateassignment\edef\tempstring{#1\c!background }\ifempty\tempstring\else+\plusone\fi
- \relax\expandafter\secondoftwoarguments\else\expandafter\firstoftwoarguments\fi}
+ {\iftok{#1\c!frame }{\v!on}\expandafter\firstoftwoarguments
+ \orelse\iftok{#1\c!topframe }{\v!on}\expandafter\firstoftwoarguments
+ \orelse\iftok{#1\c!bottomframe}{\v!on}\expandafter\firstoftwoarguments
+ \orelse\iftok{#1\c!leftframe }{\v!on}\expandafter\firstoftwoarguments
+ \orelse\iftok{#1\c!rightframe }{\v!on}\expandafter\firstoftwoarguments
+ \orelse\iftok{#1\c!background } {}\expandafter\secondoftwoarguments
+ \else \expandafter\firstoftwoarguments\fi}
\protect \endinput