summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/switch.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/switch.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def41
1 files changed, 24 insertions, 17 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 35901eab59e..3a0426fa3d9 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -36,7 +36,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2017/10/04 3.14 Babel switching mechanism]
+\ProvidesFile{switch.def}[2017/11/03 3.15 Babel switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -57,8 +57,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.14}
-\def\bbl@date{2017/10/04}
+\def\bbl@version{3.15}
+\def\bbl@date{2017/11/03}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -102,9 +102,12 @@
\xdef\bbl@language@stack{\languagename+\bbl@language@stack}}
\def\bbl@pop@lang#1+#2-#3{%
\edef\languagename{#1}\xdef#3{#2}}
+\let\bbl@ifrestoring\@secondoftwo
\def\bbl@pop@language{%
\expandafter\bbl@pop@lang\bbl@language@stack-\bbl@language@stack
- \expandafter\bbl@set@language\expandafter{\languagename}}
+ \let\bbl@ifrestoring\@firstoftwo
+ \expandafter\bbl@set@language\expandafter{\languagename}%
+ \let\bbl@ifrestoring\@secondoftwo}
\expandafter\def\csname selectlanguage \endcsname#1{%
\ifnum\bbl@hymapsel=\@cclv\let\bbl@hymapsel\tw@\fi
\bbl@push@language
@@ -150,8 +153,15 @@
\bbl@usehooks{afterreset}{}%
\languageshorthands{none}%
\ifcase\bbl@select@type
- \csname captions#1\endcsname\relax
- \csname date#1\endcsname\relax
+ \ifhmode
+ \hskip\z@skip % trick to ignore spaces
+ \csname captions#1\endcsname\relax
+ \csname date#1\endcsname\relax
+ \loop\ifdim\lastskip>\z@\unskip\repeat\unskip
+ \else
+ \csname captions#1\endcsname\relax
+ \csname date#1\endcsname\relax
+ \fi
\fi
\bbl@usehooks{beforeextras}{}%
\csname extras#1\endcsname\relax
@@ -242,7 +252,7 @@
\@expandtwoargs\bbl@usehooks{patterns}{{#1}{\bbl@tempa}}%
\@ifundefined{bbl@hyphenation@}{}{% Can be \relax!
\begingroup
- \@expandtwoargs\in@{,\number\language,}{,\bbl@hyphlist}%
+ \bbl@xin@{,\number\language,}{,\bbl@hyphlist}%
\ifin@\else
\@expandtwoargs\bbl@usehooks{hyphenation}{{#1}{\bbl@tempa}}%
\hyphenation{%
@@ -254,17 +264,14 @@
\fi
\endgroup}}
\def\hyphenrules#1{%
- \edef\languagename{#1}%
- \bbl@fixname\languagename
- \bbl@iflanguage\languagename{%
- \expandafter\bbl@patterns\expandafter{\languagename}%
+ \edef\bbl@tempf{#1}%
+ \bbl@fixname\bbl@tempf
+ \bbl@iflanguage\bbl@tempf{%
+ \expandafter\bbl@patterns\expandafter{\bbl@tempf}%
\languageshorthands{none}%
- \expandafter\ifx\csname\languagename hyphenmins\endcsname\relax
- \set@hyphenmins\tw@\thr@@\relax
- \else
- \expandafter\expandafter\expandafter\set@hyphenmins
- \csname\languagename hyphenmins\endcsname\relax
- \fi}}
+ \bbl@ifunset{\bbl@tempf hyphenmins}%
+ {\set@hyphenmins\tw@\thr@@\relax}%
+ {\bbl@exp{\\\set@hyphenmins\@nameuse{\bbl@tempf hyphenmins}}}}}
\let\endhyphenrules\@empty
\def\providehyphenmins#1#2{%
\expandafter\ifx\csname #1hyphenmins\endcsname\relax