diff options
author | Karl Berry <karl@freefriends.org> | 2021-10-19 20:45:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-10-19 20:45:24 +0000 |
commit | d11aca7e491df85caaa8039770d1c5bc6aceed3c (patch) | |
tree | 40b1bc2c05c6a937ec5a80164dc5eca0cabd95ef /Master/texmf-dist/source/latex/babel | |
parent | fb0a85aa8509302ec094d735f114d0337604b70f (diff) |
babel (19oct21)
git-svn-id: svn://tug.org/texlive/trunk@60805 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/babel')
-rw-r--r-- | Master/texmf-dist/source/latex/babel/babel.dtx | 205 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/babel/babel.ins | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/babel/bbcompat.dtx | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/babel/locale.zip | bin | 789858 -> 789858 bytes |
4 files changed, 119 insertions, 90 deletions
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx index 6fe5db94f27..0444c526a7f 100644 --- a/Master/texmf-dist/source/latex/babel/babel.dtx +++ b/Master/texmf-dist/source/latex/babel/babel.dtx @@ -32,7 +32,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2021/10/13 v3.64 The Babel package] +\ProvidesFile{babel.dtx}[2021/10/19 v3.65 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -5026,8 +5026,8 @@ help from Bernd Raichle, for which I am grateful. % \section{Tools} % % \begin{macrocode} -%<<version=3.64>> -%<<date=2021/10/13>> +%<<version=3.65>> +%<<date=2021/10/19>> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -5696,11 +5696,7 @@ help from Bernd Raichle, for which I am grateful. \ifin@ \expandafter\bbl@tempa\CurrentOption\bbl@tempa \else - \bbl@xin@{,\CurrentOption,}{,\bbl@language@opts,}% - \ifin@ - \bbl@exp{\\\bbl@replace\\\bbl@language@opts{,\CurrentOption,}{}}% - \fi - \edef\bbl@language@opts{\bbl@language@opts,\CurrentOption,} + \bbl@add@list\bbl@language@opts{\CurrentOption}% \fi} % \end{macrocode} % @@ -5812,7 +5808,9 @@ help from Bernd Raichle, for which I am grateful. % % \begin{macrocode} \ifx\bbl@opt@main\@nnil\else - \edef\bbl@language@opts{\bbl@language@opts,\bbl@opt@main,} + \edef\bbl@language@opts{% + \ifx\bbl@language@opts\@empty\else\bbl@language@opts,\fi + \bbl@opt@main} \fi % \end{macrocode} % @@ -12007,69 +12005,49 @@ help from Bernd Raichle, for which I am grateful. \fi % \end{macrocode} % -% Recognizing global options in packages not having a closed set of -% them is not trivial, as for them to be processed they must be defined -% explicitly. So, package options not yet taken into account and stored -% in |bbl@language@opts| are assumed to be existing languages (note -% this list also contains the language given with |main| as the last -% element). If not declared above, the names of the option and the file -% are the same. There are two steps -- first process option names and -% collect the result, which then do the actual declarations. % -% To allow multiple overlapping replacements, commas in -% |\bbl@language@opts| are doubled. +% Recognizing global options in packages not having a closed set of +% them is not trivial, as for them to be processed they must be +% defined explicitly. So, package options not yet taken into +% account and stored in |bbl@language@opts| are assumed to be +% languages (note this list also contains the language given with +% |main|). If not declared above, the names of the option and the +% file are the same. % % \begin{macrocode} -\let\bbl@elt\relax -\let\bbl@tempe\@empty -\bbl@foreach\@classoptionslist{% - \bbl@xin@{,#1,$}{\bbl@language@opts$}% Match last - \ifin@\else - \bbl@xin@{,#1,}{\bbl@language@opts}% Match non-last - \ifin@ - \bbl@replace\bbl@language@opts{,#1,}{,,}% - \edef\bbl@tempe{\bbl@tempe\bbl@elt{3}{#1}}% - \else - \babel@savecnt\z@ % Use as temp - \ifnum\bbl@iniflag<\thr@@ % Optimization: 3 = always ini - \IfFileExists{#1.ldf}{\advance\babel@savecnt\@ne}{}% - \fi - \ifnum\bbl@iniflag>\z@ % Optimization: 0 = always ldf - \IfFileExists{babel-#1.tex}{\advance\babel@savecnt\tw@}{}% - \fi - \ifnum\babel@savecnt>\z@ - \edef\bbl@tempe{\bbl@tempe\bbl@elt{\the\babel@savecnt}{#1}}% - \fi - \fi - \fi} -% -\let\bbl@savemain\@empty +\let\bbl@tempc\relax \bbl@foreach\bbl@language@opts{% - \edef\bbl@tempe{\bbl@tempe\bbl@elt{3}{#1}}} -\def\bbl@elt#1#2#3{% - \ifx#3\relax % if last - \bbl@ifunset{ds@#2}{}% - {\bbl@exp{\def\\\bbl@savemain{\\\DeclareOption{#2}{\[ds@#2]}}}}% - \bbl@add\bbl@savemain{\bbl@elt{#1}{#2}}% Save main - \DeclareOption{#2}{}% - \else - \ifnum\bbl@iniflag<\tw@ % other as ldf - \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3 - \bbl@ifunset{ds@#2}% - {\DeclareOption{#2}{\bbl@load@language{#2}}}% - {}% - \fi - \else % other as ini - \ifnum#1>\@ne % % Class: if ini exists 2,3. Package: always 3 - \DeclareOption{#2}{% - \bbl@ldfinit - \babelprovide[import]{#2}% - \bbl@afterldf{}}% - \fi - \fi - \fi - #3} -\bbl@tempe\relax % \relax catches last + \ifcase\bbl@iniflag % Default + \bbl@ifunset{ds@#1}% + {\DeclareOption{#1}{\bbl@load@language{#1}}}% + {}% + \or % provide=* + \@gobble % case 2 same as 1 + \or % provide+=* + \bbl@ifunset{ds@#1}% + {\IfFileExists{#1.ldf}{}% + {\IfFileExists{babel-#1.tex}{}{\@namedef{ds@#1}{}}}}% + {}% + \bbl@ifunset{ds@#1}% + {\def\bbl@tempc{#1}% + \DeclareOption{#1}{% + \ifnum\bbl@iniflag>\@ne + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}% + \else + \bbl@load@language{#1}% + \fi}}% + {}% + \or % provide*=* + \def\bbl@tempc{#1}% + \bbl@ifunset{ds@#1}% + {\DeclareOption{#1}{% + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}}}% + {}% + \fi} % \end{macrocode} % % Now, we make sure an option is explicitly declared for any language @@ -12078,7 +12056,54 @@ help from Bernd Raichle, for which I am grateful. % accessing the file system just to see if the option could be a % language. % +% \begin{macrocode} +\let\bbl@tempb\@nnil +\let\bbl@clsoptlst\@classoptionslist +\bbl@foreach\@classoptionslist{% + \bbl@ifunset{ds@#1}% + {\IfFileExists{#1.ldf}% + {\def\bbl@tempb{#1}% + \DeclareOption{#1}{% + \ifnum\bbl@iniflag>\@ne + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}% + \else + \bbl@load@language{#1}% + \fi}}% + {\IfFileExists{babel-#1.tex}% + {\def\bbl@tempb{#1}% + \ifnum\bbl@iniflag>\z@ + \DeclareOption{#1}{% + \ifnum\bbl@iniflag>\@ne + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}% + \fi}% + \fi}% + {}}}% + {}} +% \end{macrocode} +% % If a main language has been set, store it for the third pass. +% +% \begin{macrocode} +\ifnum\bbl@iniflag=\z@\else + \ifx\bbl@opt@main\@nnil + \ifx\bbl@tempc\relax + \let\bbl@opt@main\bbl@tempb + \else + \let\bbl@opt@main\bbl@tempc + \fi + \fi +\fi +\ifx\bbl@opt@main\@nnil\else + \expandafter + \let\expandafter\bbl@loadmain\csname ds@\bbl@opt@main\endcsname + \expandafter\let\csname ds@\bbl@opt@main\endcsname\@empty +\fi +% \end{macrocode} +% % And we are done, because all options for this pass has been % declared. Those already processed in the first pass are just % ignored. @@ -12120,27 +12145,31 @@ help from Bernd Raichle, for which I am grateful. and a package option. Use 'main=\bbl@tempc' as\\% option. Reported}% \fi -\fi -\def\bbl@elt#1#2{% main - \ifodd\bbl@iniflag % as ini = 1(=), 3(*=) - \ifnum#1>\@ne % % Class: if ini exists 2,3. Package: always 3 - \def\CurrentOption{#2}% Directly, because luatexbase - \bbl@ldfinit - \babelprovide[\bbl@opt@provide,main,import]{#2}% - \bbl@afterldf{}% - \DeclareOption{#2}{}% - \fi - \else % as ldf = 0(no), 2(+=) - \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3 - \bbl@ifunset{ds@#2}% - {\DeclareOption{#2}{\bbl@load@language{#2}}}% - {}% - \ExecuteOptions{#2}% +\else + \ifodd\bbl@iniflag % case 1,3 + \bbl@ldfinit + \let\CurrentOption\bbl@opt@main + \ifx\bbl@opt@provide\@nnil + \bbl@exp{\\\babelprovide[import,main]{\bbl@opt@main}}% + \else + \bbl@exp{\\\bbl@forkv{\@nameuse{@raw@opt@babel.sty}}}{% + \bbl@xin@{,provide,}{,#1,}% + \ifin@ + \def\bbl@opt@provide{#2}% + \bbl@replace\bbl@opt@provide{;}{,}% + \fi}% + \bbl@exp{% + \\\babelprovide[\bbl@opt@provide,import,main]{\bbl@opt@main}}% \fi - \fi} -\bbl@savemain -\DeclareOption*{}% -\ProcessOptions* + \bbl@afterldf{}% + \else % case 0,2 + \chardef\bbl@iniflag\z@ % Force ldf + \expandafter\let\csname ds@\bbl@opt@main\endcsname\bbl@loadmain + \ExecuteOptions{\bbl@opt@main} + \DeclareOption*{}% + \ProcessOptions* + \fi +\fi \def\AfterBabelLanguage{% \bbl@error {Too late for \string\AfterBabelLanguage}% diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins index ae4bbb527c5..473f06dfa76 100644 --- a/Master/texmf-dist/source/latex/babel/babel.ins +++ b/Master/texmf-dist/source/latex/babel/babel.ins @@ -26,7 +26,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -\def\filedate{2021/10/13} +\def\filedate{2021/10/19} \def\batchfile{babel.ins} \input docstrip.tex diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx index d45cedea36c..c81d3ae4e73 100644 --- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx +++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx @@ -30,7 +30,7 @@ % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2021/10/13 v3.64] +\ProvidesFile{bbcompat.dtx}[2021/10/19 v3.65] %</dtx> % %% File 'bbcompat.dtx' diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip Binary files differindex 6b8c68662d6..c10eaab34e3 100644 --- a/Master/texmf-dist/source/latex/babel/locale.zip +++ b/Master/texmf-dist/source/latex/babel/locale.zip |