summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/babel/babel.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-11-29 21:13:12 +0000
committerKarl Berry <karl@freefriends.org>2021-11-29 21:13:12 +0000
commitfffd05cae905f23ad2300395a5ead86d7c0253cd (patch)
tree0bdd2c0e52d5481ce26d77492a593fce5036fa3e /Master/texmf-dist/tex/generic/babel/babel.def
parent82a638461359e5fd966fdca40ae90d9c018d7e99 (diff)
babel (29nov21)
git-svn-id: svn://tug.org/texlive/trunk@61186 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.def')
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def48
1 files changed, 38 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 9d9dce86a61..d80ec90556c 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -40,7 +40,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2021/11/08 3.66 Babel common definitions]
+\ProvidesFile{babel.def}[2021/11/29 3.67 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -406,8 +406,8 @@
\expandafter\newif\csname ifbbl@single\endcsname
\chardef\bbl@bidimode\z@
\fi
-\def\bbl@version{3.66}
-\def\bbl@date{2021/11/08}
+\def\bbl@version{3.67}
+\def\bbl@date{2021/11/29}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -620,7 +620,10 @@
\newif\ifbbl@bcpallowed
\bbl@bcpallowedfalse
\def\select@language#1{% from set@, babel@aux
+ \ifx\bbl@selectorname\@empty
+ \def\bbl@selectorname{select}%
% set hymap
+ \fi
\ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi
% set name
\edef\languagename{#1}%
@@ -730,8 +733,10 @@
\else
\expandafter\expandafter\expandafter\set@hyphenmins
\csname #1hyphenmins\endcsname\relax
- \fi}
+ \fi
+ \let\bbl@selectorname\@empty}
\long\def\otherlanguage#1{%
+ \def\bbl@selectorname{other}%
\ifnum\bbl@hymapsel=\@cclv\let\bbl@hymapsel\thr@@\fi
\csname selectlanguage \endcsname{#1}%
\ignorespaces}
@@ -740,6 +745,7 @@
\expandafter\def\csname otherlanguage*\endcsname{%
\@ifnextchar[\bbl@otherlanguage@s{\bbl@otherlanguage@s[]}}
\def\bbl@otherlanguage@s[#1]#2{%
+ \def\bbl@selectorname{other*}%
\ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi
\def\bbl@select@opts{#1}%
\foreign@language{#2}}
@@ -752,6 +758,7 @@
\@ifstar\bbl@foreign@s\bbl@foreign@x}
\providecommand\bbl@foreign@x[3][]{%
\begingroup
+ \def\bbl@selectorname{foreign}%
\def\bbl@select@opts{#1}%
\let\BabelText\@firstofone
\bbl@beforeforeign
@@ -762,6 +769,7 @@
\def\bbl@foreign@s#1#2{% TODO - \shapemode, \@setpar, ?\@@par
\begingroup
{\par}%
+ \def\bbl@selectorname{foreign*}%
\let\bbl@select@opts\@empty
\let\BabelText\@firstofone
\foreign@language{#1}%
@@ -794,6 +802,13 @@
% set type
\let\bbl@select@type\@ne
\expandafter\bbl@switch\expandafter{\languagename}}}
+\def\IfBabelSelectorTF#1{%
+ \bbl@xin@{,\bbl@selectorname,}{,\zap@space#1 \@empty,}%
+ \ifin@
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
\let\bbl@hyphlist\@empty
\let\bbl@hyphenation@\relax
\let\bbl@pttnlist\@empty
@@ -869,7 +884,6 @@
\let\uselocale\setlocale
\let\locale\setlocale
\let\selectlocale\setlocale
-\let\localename\setlocale
\let\textlocale\setlocale
\let\textlanguage\setlocale
\let\languagetext\setlocale
@@ -3345,14 +3359,15 @@
\bbl@transforms\babelprehyphenation}
\@namedef{bbl@inikv@transforms.posthyphenation}{%
\bbl@transforms\babelposthyphenation}
-\def\bbl@transforms@aux#1#2#3,#4\relax{#1{#2}{#3}{#4}}
+\def\bbl@transforms@aux#1#2#3#4,#5\relax{%
+ #1[#2]{#3}{#4}{#5}}
\begingroup % A hack. TODO. Don't require an specific order
\catcode`\%=12
\catcode`\&=14
\gdef\bbl@transforms#1#2#3{&%
\ifx\bbl@KVP@transforms\@nil\else
\directlua{
- str = [==[#2]==]
+ local str = [==[#2]==]
str = str:gsub('%.%d+%.%d+$', '')
tex.print([[\def\string\babeltempa{]] .. str .. [[}]])
}&%
@@ -3360,10 +3375,23 @@
\ifin@
\in@{.0$}{#2$}&%
\ifin@
- \g@addto@macro\bbl@release@transforms{&%
- \relax\bbl@transforms@aux#1{\languagename}{#3}}&%
+ \directlua{
+ local str = string.match([[\bbl@KVP@transforms]],
+ '%(([^%(]-)%)[^%)]-\babeltempa')
+ if str == nil then
+ tex.print([[\def\string\babeltempb{}]])
+ else
+ tex.print([[\def\string\babeltempb{,attribute=]] .. str .. [[}]])
+ end
+ }
+ \toks@{#3}&%
+ \bbl@exp{&%
+ \\\g@addto@macro\\\bbl@release@transforms{&%
+ \relax &% Closes previous \bbl@transforms@aux
+ \\\bbl@transforms@aux
+ \\#1{label=\babeltempa\babeltempb}{\languagename}{\the\toks@}}}&%
\else
- \g@addto@macro\bbl@release@transforms{, {#3}}&%
+ \g@addto@macro\bbl@release@transforms{, {#3}}&%
\fi
\fi
\fi}