summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-02-25 22:40:43 +0000
committerKarl Berry <karl@freefriends.org>2016-02-25 22:40:43 +0000
commitb66747a1d8288392c4e1f855d26bfbde89b481da (patch)
tree8a529ead7ff5a2ed4c2c0ffca7ae0dd04f558082 /Master/texmf-dist/tex/generic/babel
parent561ad89d0840ad3b9ddb197efec1739e5089f1b6 (diff)
babel (25feb16)
git-svn-id: svn://tug.org/texlive/trunk@39867 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def50
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty56
-rw-r--r--Master/texmf-dist/tex/generic/babel/blplain.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/bplain.tex4
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg12
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def185
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf6
-rw-r--r--Master/texmf-dist/tex/generic/babel/plain.def6
-rw-r--r--Master/texmf-dist/tex/generic/babel/switch.def10
-rw-r--r--Master/texmf-dist/tex/generic/babel/xebabel.def4
10 files changed, 244 insertions, 93 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 2841b87e0aa..9af228d1ae3 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -38,12 +38,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -56,7 +56,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2016/01/08 3.9n Babel common definitions]
+\ProvidesFile{babel.def}[2016/02/24 3.9q Babel common definitions]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -67,29 +67,36 @@
\let\bbl@afterlang\relax
\let\bbl@language@opts\@empty
\fi
-\def\bbl@tempa{3.9n}%
+\def\bbl@tempa{3.9q}%
\ifx\bbl@version\bbl@tempa\else
\input switch.def\relax
\fi
\ifx\bbl@languages\@undefined
- \openin1 = language.def
- \ifeof1
- \closein1
- \message{I couldn't find the file language.def}
- \else
- \closein1
- \begingroup
- \def\addlanguage#1#2#3#4#5{%
- \expandafter\ifx\csname lang@#1\endcsname\relax\else
- \global\expandafter\let\csname l@#1\expandafter\endcsname
- \csname lang@#1\endcsname
- \fi}%
- \def\uselanguage#1{}%
- \input language.def
- \endgroup
+ \ifx\directlua\@undefined
+ \openin1 = language.def
+ \ifeof1
+ \closein1
+ \message{I couldn't find the file language.def}
+ \else
+ \closein1
+ \begingroup
+\def\addlanguage#1#2#3#4#5{%
+ \expandafter\ifx\csname lang@#1\endcsname\relax\else
+ \global\expandafter\let\csname l@#1\expandafter\endcsname
+ \csname lang@#1\endcsname
+ \fi}%
+\def\uselanguage#1{}%
+\input language.def
+ \endgroup
+ \fi
\fi
\chardef\l@english\z@
\fi
+\ifx\directlua\@undefined\else
+ \ifx\bbl@luapatterns\@undefined
+ \input luababel.def
+ \fi
+\fi
\def\bbl@add#1#2{%
\@ifundefined{\expandafter\@gobble\string#1}%
{\def#1{#2}}%
@@ -1422,7 +1429,10 @@
\AtEndOfPackage{\edef\latinencoding{\cf@encoding}}
\AtBeginDocument{%
\@ifpackageloaded{fontspec}%
- {\xdef\latinencoding{EU\ifcase\bbl@engine\or2\or1\fi}}%
+ {\xdef\latinencoding{%
+ \@ifundefined{UTFencname}%
+ {EU\ifcase\bbl@engine\or2\or1\fi}%
+ {\UTFencname}}}%
{\gdef\latinencoding{OT1}%
\ifx\cf@encoding\bbl@t@one
\xdef\latinencoding{\bbl@t@one}%
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 56092628c2a..f9f6eeadf4b 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -38,23 +38,28 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2016/01/08 3.9n The Babel package]
+\ProvidesPackage{babel}[2016/02/24 3.9q The Babel package]
\@ifpackagewith{babel}{debug}
{\input switch.def\relax}
- {\def\bbl@tempa{3.9n}%
+ {\def\bbl@tempa{3.9q}%
\ifx\bbl@version\bbl@tempa\else
\input switch.def\relax
\fi}
+\ifx\directlua\@undefined\else
+ \ifx\bbl@luapatterns\@undefined
+ \input luababel.def
+ \fi
+\fi
\def\bbl@add#1#2{%
\@ifundefined{\expandafter\@gobble\string#1}%
{\def#1{#2}}%
@@ -71,9 +76,32 @@
\def\bbl@for#1#2#3{\bbl@loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
\def\AfterBabelLanguage#1{%
\global\expandafter\bbl@add\csname#1.ldf-h@@k\endcsname}%
+\ifx\bbl@languages\@undefined\else
+ \begingroup
+ \catcode`\^^I=12
+ \@ifpackagewith{babel}{showlanguages}{%
+ \begingroup
+ \def\bbl@elt#1#2#3#4{\wlog{#2^^I#1^^I#3^^I#4}}%
+ \wlog{<*languages>}%
+ \bbl@languages
+ \wlog{</languages>}%
+ \endgroup}{}
+ \endgroup
+ \def\bbl@elt#1#2#3#4{%
+ \ifnum#2=\z@
+ \gdef\bbl@nulllanguage{#1}%
+ \def\bbl@elt##1##2##3##4{}%
+ \fi}%
+ \bbl@languages
+\fi
\@ifpackagewith{babel}{base}{%
- \DeclareOption*{\bbl@patterns{\CurrentOption}}%
+ \ifx\directlua\@undefined
+ \DeclareOption*{\bbl@patterns{\CurrentOption}}%
+ \else
+ \DeclareOption*{\bbl@patterns@lua{\CurrentOption}}%
+ \fi
\DeclareOption{base}{}%
+ \DeclareOption{showlanguages}{}%
\ProcessOptions
\global\expandafter\let\csname opt@babel.sty\endcsname\relax
\global\expandafter\let\csname ver@babel.sty\endcsname\relax
@@ -185,24 +213,6 @@
\ifx\bbl@language@opts\@empty\else\bbl@language@opts,\fi
\bbl@opt@main}
\fi
-\ifx\bbl@languages\@undefined\else
- \begingroup
- \catcode`\^^I=12
- \@ifpackagewith{babel}{showlanguages}{%
- \begingroup
- \def\bbl@elt#1#2#3#4{\wlog{#2^^I#1^^I#3^^I#4}}%
- \wlog{<*languages>}%
- \bbl@languages
- \wlog{</languages>}%
- \endgroup}{}
- \endgroup
- \def\bbl@elt#1#2#3#4{%
- \ifnum#2=\z@
- \gdef\bbl@nulllanguage{#1}%
- \def\bbl@elt##1##2##3##4{}%
- \fi}%
- \bbl@languages
-\fi
\let\bbl@afterlang\relax
\let\BabelModifiers\relax
\let\bbl@loaded\@empty
diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex
index 7e5c1506863..7f5aa952238 100644
--- a/Master/texmf-dist/tex/generic/babel/blplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/blplain.tex
@@ -38,12 +38,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex
index e36555f07ef..8d26ee4d88d 100644
--- a/Master/texmf-dist/tex/generic/babel/bplain.tex
+++ b/Master/texmf-dist/tex/generic/babel/bplain.tex
@@ -38,12 +38,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 3b11277b823..df1715a099a 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,12 +38,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -52,7 +52,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2016/01/08 3.9n Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2016/02/24 3.9q Babel hyphens]
\xdef\bbl@format{\jobname}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
@@ -83,7 +83,7 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\toks8{Babel <3.9n> and hyphenation patterns for }%
+\toks8{Babel <3.9q> and hyphenation patterns for }%
\def\process@line#1#2 #3 #4 {%
\ifx=#1%
\process@synonym{#2}%
@@ -196,6 +196,7 @@
\errhelp{language.dat loads no language, only synonyms}
\errmessage{Orphan language synonym}
\fi
+\advance\last@language\@ne
\edef\bbl@tempa{%
\everyjob{%
\the\everyjob
@@ -204,7 +205,8 @@
\else
\noexpand\typeout
\fi
- {\the\toks8 \the\last@language\space languages loaded.}}}
+ {\the\toks8 \the\last@language\space language(s) loaded.}}}
+\advance\last@language\m@ne
\bbl@tempa
\let\bbl@line\@undefined
\let\process@line\@undefined
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 3a3519c1989..173c8c2bbaf 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -39,15 +39,145 @@
%% extension .ins) which are part of the distribution.
%% File `bbunicode.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 2103-2014
+%% Copyright (C) 2103-2016
%% by Javier Bezos
+\ifx\AddBabelHook\@undefined
+\begingroup
+ \toks@{}
+ \count@\z@ % 0=start, 1=0th, 2=normal
+ \def\bbl@process@line#1#2 #3 #4 {%
+ \ifx=#1%
+ \bbl@process@synonym{#2}%
+ \else
+ \bbl@process@language{#1#2}{#3}{#4}%
+ \fi
+ \ignorespaces}
+ \def\bbl@manylang{%
+ \ifnum\bbl@last>\@ne
+ \bbl@info{Non-standard hyphenation setup}%
+ \fi
+ \let\bbl@manylang\relax}
+ \def\bbl@process@language#1#2#3{%
+ \ifcase\count@
+ \@ifundefined{zth@#1}{\count@\tw@}{\count@\@ne}%
+ \or
+ \count@\tw@
+ \fi
+ \ifnum\count@=\tw@
+ \expandafter\addlanguage\csname l@#1\endcsname
+ \language\allocationnumber
+ \chardef\bbl@last\allocationnumber
+ \bbl@manylang
+ \let\bbl@elt\relax
+ \xdef\bbl@languages{%
+ \bbl@languages\bbl@elt{#1}{\the\language}{#2}{#3}}%
+ \fi
+ \the\toks@
+ \toks@{}}
+ \def\bbl@process@synonym@aux#1#2{%
+ \global\expandafter\chardef\csname l@#1\endcsname#2\relax
+ \let\bbl@elt\relax
+ \xdef\bbl@languages{%
+ \bbl@languages\bbl@elt{#1}{#2}{}{}}}%
+ \def\bbl@process@synonym#1{%
+ \ifcase\count@
+ \toks@\expandafter{\the\toks@\relax\bbl@process@synonym{#1}}%
+ \or
+ \@ifundefined{zth@#1}{\bbl@process@synonym@aux{#1}{0}}{}%
+ \else
+ \bbl@process@synonym@aux{#1}{\the\bbl@last}%
+ \fi}
+ \ifx\bbl@languages\@undefined % Just a (sensible?) guess
+ \chardef\l@english\z@
+ \chardef\l@USenglish\z@
+ \chardef\bbl@last\z@
+ \global\@namedef{bbl@hyphendata@0}{{hyphen.tex}{}}
+ \gdef\bbl@languages{%
+ \bbl@elt{english}{0}{hyphen.tex}{}%
+ \bbl@elt{USenglish}{0}{}{}}
+ \else
+ \global\let\bbl@languages@format\bbl@languages
+ \def\bbl@elt#1#2#3#4{% Remove all except language 0
+ \ifnum#2>\z@\else
+ \noexpand\bbl@elt{#1}{#2}{#3}{#4}%
+ \fi}%
+ \xdef\bbl@languages{\bbl@languages}%
+ \fi
+ \def\bbl@elt#1#2#3#4{\@namedef{zth@#1}{}} % Define flags
+ \bbl@languages
+ \openin1=language.dat
+ \ifeof1
+ \bbl@warning{I couldn't find language.dat. No additional\\%
+ patterns loaded. Reported}%
+ \else
+ \loop
+ \endlinechar\m@ne
+ \read1 to \bbl@line
+ \endlinechar`\^^M
+ \if T\ifeof1F\fi T\relax
+ \ifx\bbl@line\@empty\else
+ \edef\bbl@line{\bbl@line\space\space\space}%
+ \expandafter\bbl@process@line\bbl@line\relax
+ \fi
+ \repeat
+ \fi
+\endgroup
+\def\bbl@get@enc#1:#2:#3\@@@{\def\bbl@hyph@enc{#2}}
+\def\bbl@luapatterns#1#2{%
+ \bbl@get@enc#1::\@@@
+ \begingroup
+ \ifx\catcodetable\@undefined
+ \let\savecatcodetable\luatexsavecatcodetable
+ \let\initcatcodetable\luatexinitcatcodetable
+ \let\catcodetable\luatexcatcodetable
+ \fi
+ \savecatcodetable5211
+ \initcatcodetable5212
+ \catcodetable5212
+ \catcode`\#=6 \catcode`\$=3 \catcode`\&=4 \catcode`\^=7
+ \catcode`\_=8 \catcode`\{=1 \catcode`\}=2 \catcode`\~=13
+ \catcode`\@=11 \catcode`\^^I=10 \catcode`\^^J=12
+ \catcode`\<=12 \catcode`\>=12 \catcode`\*=12 \catcode`\.=12
+ \catcode`\-=12 \catcode`\/=12 \catcode`\[=12 \catcode`\]=12
+ \catcode`\`=12 \catcode`\'=12 \catcode`\"=12
+ \input #1\relax
+ \catcodetable5211
+ \endgroup
+ \def\bbl@tempa{#2}%
+ \ifx\bbl@tempa\@empty\else
+ \input #2\relax
+ \fi}%
+\def\bbl@patterns@lua#1{%
+ \language=\expandafter\ifx\csname l@#1:\f@encoding\endcsname\relax
+ \csname l@#1\endcsname
+ \edef\bbl@tempa{#1}%
+ \else
+ \csname l@#1:\f@encoding\endcsname
+ \edef\bbl@tempa{#1:\f@encoding}%
+ \fi\relax
+ \@namedef{lu@texhyphen@loaded@\the\language}{}% Temp
+ \@ifundefined{bbl@hyphendata@\the\language}%
+ {\def\bbl@elt##1##2##3##4{%
+ \ifnum##2=\csname l@\bbl@tempa\endcsname % #2=spanish, dutch:OT1...
+ \def\bbl@tempb{##3}%
+ \ifx\bbl@tempb\@empty\else % if not a synonymous
+ \def\bbl@tempc{{##3}{##4}}%
+ \fi
+ \bbl@csarg\edef{hyphendata@##2}{\bbl@tempc}%
+ \fi}%
+ \bbl@languages
+ \@ifundefined{bbl@hyphendata@\the\language}%
+ {\bbl@info{No hyphenation patterns were set for\\%
+ language ‘\bbl@tempa’. Reported}}%
+ {\expandafter\expandafter\expandafter\bbl@luapatterns
+ \csname bbl@hyphendata@\the\language\endcsname}}{}}
+\endinput\fi
\begingroup
\catcode`\%=12
\catcode`\'=12
\catcode`\"=12
\catcode`\:=12
\directlua{
- require("luatex-hyphen")
Babel = {}
function Babel.bytes(line)
return line:gsub("(.)",
@@ -109,12 +239,21 @@
\luabbl@stop
\let\luabbl@stop\relax}
\AddBabelHook{luatex}{patterns}{%
- \ifcsname lu@texhyphen@loaded@\the\language\endcsname \else
- \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
- \directlua{
- luatexhyphen.loadlanguage([[\string#1]],
- '\the\language')}%
- \fi
+ \@ifundefined{bbl@hyphendata@\the\language}%
+ {\def\bbl@elt##1##2##3##4{%
+ \ifnum##2=\csname l@#2\endcsname % #2=spanish, dutch:OT1...
+ \def\bbl@tempb{##3}%
+ \ifx\bbl@tempb\@empty\else % if not a synonymous
+ \def\bbl@tempc{{##3}{##4}}%
+ \fi
+ \bbl@csarg\edef{hyphendata@##2}{\bbl@tempc}%
+ \fi}%
+ \bbl@languages
+ \@ifundefined{bbl@hyphendata@\the\language}%
+ {\bbl@info{No hyphenation patterns were set for\\%
+ language ‘#2’. Reported}}%
+ {\expandafter\expandafter\expandafter\bbl@luapatterns
+ \csname bbl@hyphendata@\the\language\endcsname}}{}%
\@ifundefined{bbl@patterns@}{}{%
\begingroup
\@expandtwoargs\in@{,\number\language,}{,\bbl@pttnlist}%
@@ -131,29 +270,19 @@
\xdef\bbl@pttnlist{\bbl@pttnlist\number\language,}%
\fi
\endgroup}}
-\AddBabelHook{luatex}{adddialect}{%
- \ifx\directlua\relax\else
- \directlua{
- luatexhyphen.adddialect([[\string#1]],
- [[\string#2]])
- }%
- \fi}
\AddBabelHook{luatex}{everylanguage}{%
- \directlua{
- processnow = (tex.language == 0) or
- (luatexhyphen.lookupname([[\string#1]]) == nil)}%
- \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
- \global\@namedef{lu@texhyphen@loaded@\the\language}{}%
- \fi}
+ \def\process@language##1##2##3{%
+ \def\process@line####1####2 ####3 ####4 {}}}
\AddBabelHook{luatex}{loadpatterns}{%
- \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
- \input #1\relax
- \fi}
+ \input #1\relax
+ \expandafter\gdef\csname bbl@hyphendata@\the\language\endcsname
+ {{#1}{}}}
\AddBabelHook{luatex}{loadexceptions}{%
- \ifnum0=\directlua{tex.sprint(processnow and "0" or "1")}\relax
- \input #1\relax
- \fi
- \directlua{processnow = nil}}
+ \input #1\relax
+ \def\bbl@tempb##1##2{{##1}{#1}}%
+ \expandafter\xdef\csname bbl@hyphendata@\the\language\endcsname
+ {\expandafter\expandafter\expandafter\bbl@tempb
+ \csname bbl@hyphendata@\the\language\endcsname}}
\@onlypreamble\babelpatterns
\AtEndOfPackage{%
\newcommand\babelpatterns[2][\@empty]{%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index cf3bd82b178..0f0ea0fa20f 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -38,16 +38,16 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
-\ProvidesLanguage{nil}[2016/01/08 3.9n Nil language]
+\ProvidesLanguage{nil}[2016/02/24 3.9q Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nohyphenation\@undefined
\@nopatterns{nil}
diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def
index 7c98fade2c3..d25d0c425a3 100644
--- a/Master/texmf-dist/tex/generic/babel/plain.def
+++ b/Master/texmf-dist/tex/generic/babel/plain.def
@@ -38,12 +38,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -227,7 +227,7 @@
\fi
\def\@testopt#1#2{%
\@ifnextchar[{#1}{#1[#2]}}
-\def\@protected@testopt#1{%%
+\def\@protected@testopt#1{%
\ifx\protect\@typeset@protect
\expandafter\@testopt
\else
diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def
index 3f1af9a714a..e6258033a43 100644
--- a/Master/texmf-dist/tex/generic/babel/switch.def
+++ b/Master/texmf-dist/tex/generic/babel/switch.def
@@ -38,12 +38,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% File 'babel.dtx'
-%%\ProvidesFile{babel.dtx}[2016/01/08 v3.9n The Babel package]
+%%\ProvidesFile{babel.dtx}[2016/02/24 v3.9q The Babel package]
%% Babel package for LaTeX2e.
%% Copyright (C) 1989-2008 by Johannes Braams,
%% TeXniek
%% all rights reserved.
-%% Copyright (C) 2013-2014 by Johannes Braams
+%% Copyright (C) 2013-2016 by Johannes Braams
%% TeXniek
%% by Javier Bezos
%% all rights reserved.
@@ -52,7 +52,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{switch.def}[2016/01/08 3.9n Babel switching mechanism]
+\ProvidesFile{switch.def}[2016/02/24 3.9q Babel switching mechanism]
\ifx\AtBeginDocument\@undefined
\input plain.def\relax
\fi
@@ -73,8 +73,8 @@
\countdef\last@language=19
\def\addlanguage{\alloc@9\language\chardef\@cclvi}
\fi
-\def\bbl@version{3.9n}
-\def\bbl@date{2016/01/08}
+\def\bbl@version{3.9q}
+\def\bbl@date{2016/02/24}
\def\adddialect#1#2{%
\global\chardef#1#2\relax
\bbl@usehooks{adddialect}{{#1}{#2}}%
diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def
index e15e701ac6d..96ec89ff751 100644
--- a/Master/texmf-dist/tex/generic/babel/xebabel.def
+++ b/Master/texmf-dist/tex/generic/babel/xebabel.def
@@ -39,7 +39,7 @@
%% extension .ins) which are part of the distribution.
%% File `bbunicode.dtx'
%% Babel package for LaTeX version 2e
-%% Copyright (C) 2103-2014
+%% Copyright (C) 2103-2016
%% by Javier Bezos
\def\BabelStringsDefault{unicode}
\let\xebbl@stop\relax
@@ -48,7 +48,7 @@
\ifx\bbl@tempa\@empty
\XeTeXinputencoding"bytes"%
\else
- \XeTeXinputencoding"#1"%
+ \XeTeXinputencoding"#1"%
\fi
\def\xebbl@stop{\XeTeXinputencoding"utf8"}}
\AddBabelHook{xetex}{stopcommands}{%