summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/lang-mis.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/lang-mis.tex')
-rw-r--r--Master/texmf-dist/tex/context/base/lang-mis.tex22
1 files changed, 20 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/context/base/lang-mis.tex b/Master/texmf-dist/tex/context/base/lang-mis.tex
index de926b41782..aa763a71918 100644
--- a/Master/texmf-dist/tex/context/base/lang-mis.tex
+++ b/Master/texmf-dist/tex/context/base/lang-mis.tex
@@ -329,12 +329,30 @@
%D In those situations where the nature of characters is
%D less predictable, we can use the more direct approach:
-\unexpanded\def\directdiscretionary#1%
+\def\directdiscretionary
+ {\csname
+ \ifcase\discretionarymode
+ \strippedcsname\dononemodediscretionary
+ \else
+ \strippedcsname\dodirectdiscretionary
+ \fi
+ \endcsname}
+
+\def\indirectdiscretionary
+ {\csname
+ \ifcase\discretionarymode
+ \strippedcsname\dononemodediscretionary
+ \else
+ \strippedcsname\doindirectdiscretionary
+ \fi
+ \endcsname}
+
+\unexpanded\def\dodirectdiscretionary#1%
{\edef\discretionarytoken{\detokenize{#1}}%
\let\textmodediscretionary\compoundhyphen
\executeifdefined{\@tmd@action@\discretionarytoken}{\indirectdiscretionary{#1}}}
-\unexpanded\def\indirectdiscretionary#1%
+\unexpanded\def\doindirectdiscretionary#1%
{\prewordbreak\discretionary{\hbox{#1}}{}{\hbox{#1}}\allowbreak\postwordbreak}
\def\definetextmodediscretionary #1