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.def28
1 files changed, 21 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 3a0426fa3d9..54d03e1c6b5 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/11/03 3.15 Babel switching mechanism]
+\ProvidesFile{switch.def}[2018/01/04 3.16 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.15}
-\def\bbl@date{2017/11/03}
+\def\bbl@version{3.16}
+\def\bbl@date{2018/01/04}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
@@ -121,9 +121,7 @@
\select@language{\languagename}%
\expandafter\ifx\csname date\languagename\endcsname\relax\else
\if@filesw
- \protected@write\@auxout{}{\string\select@language{\languagename}}%
- \bbl@foreach\BabelContentsFiles{%
- \addtocontents{##1}{\xstring\select@language{\languagename}}}%
+ \protected@write\@auxout{}{\string\babel@aux{\languagename}{}}%
\bbl@usehooks{write}{}%
\fi
\fi}
@@ -143,7 +141,14 @@
\let\bbl@select@type\z@
\expandafter\bbl@switch\expandafter{\languagename}%
\fi}}
+\def\babel@aux#1#2{%
+ \select@language{#1}%
+ \bbl@foreach\BabelContentsFiles{%
+ \@writefile{##1}{\babel@toc{#1}{#2}}}} %% TODO - ok in plain?
+\def\babel@toc#1#2{%
+ \select@language{#1}}
\let\select@language@x\select@language
+\newif\ifbbl@usedategroup
\def\bbl@switch#1{%
\originalTeX
\expandafter\def\expandafter\originalTeX\expandafter{%
@@ -162,7 +167,16 @@
\csname captions#1\endcsname\relax
\csname date#1\endcsname\relax
\fi
- \fi
+ \else\ifbbl@usedategroup
+ \bbl@usedategroupfalse
+ \ifhmode
+ \hskip\z@skip % trick to ignore spaces
+ \csname date#1\endcsname\relax
+ \loop\ifdim\lastskip>\z@\unskip\repeat\unskip
+ \else
+ \csname date#1\endcsname\relax
+ \fi
+ \fi\fi
\bbl@usehooks{beforeextras}{}%
\csname extras#1\endcsname\relax
\bbl@usehooks{afterextras}{}%