texlive[60805] Master/texmf-dist: babel (19oct21)

commits+karl at tug.org commits+karl at tug.org
Tue Oct 19 22:45:24 CEST 2021


Revision: 60805
          http://tug.org/svn/texlive?view=revision&revision=60805
Author:   karl
Date:     2021-10-19 22:45:24 +0200 (Tue, 19 Oct 2021)
Log Message:
-----------
babel (19oct21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/babel/README.md
    trunk/Master/texmf-dist/doc/latex/babel/babel.pdf
    trunk/Master/texmf-dist/source/latex/babel/babel.dtx
    trunk/Master/texmf-dist/source/latex/babel/babel.ins
    trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx
    trunk/Master/texmf-dist/source/latex/babel/locale.zip
    trunk/Master/texmf-dist/tex/generic/babel/babel.def
    trunk/Master/texmf-dist/tex/generic/babel/babel.sty
    trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
    trunk/Master/texmf-dist/tex/generic/babel/nil.ldf

Modified: trunk/Master/texmf-dist/doc/latex/babel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/babel/README.md	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md	2021-10-19 20:45:24 UTC (rev 60805)
@@ -1,4 +1,4 @@
-## Babel 3.64
+## Babel 3.65
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages. Many
@@ -8,9 +8,9 @@
 
 The latest stable version is available on <https://ctan.org/pkg/babel>.
 
-Changes in version 3.64 are described in:
+Changes in version 3.65 are described in:
 
-https://latex3.github.io/babel/news/whats-new-in-babel-3.64.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.65.html
 
 Apart from the manual, you can find information on some aspects of babel at:
 
@@ -46,6 +46,9 @@
 
 ### Summary of Latest changes
 ```
+3.65   2021-10-19
+       * Fixes a severe bug with 'spanish' introduced in 3.64 (#154).
+       
 3.64   2021-10-13
        * Added a few counters to CJK.
        * Restored the previous behavior of \selectlanguage with
@@ -55,17 +58,6 @@
          - name.babel in ini files set inconsistently (#149).
        * Now babel.def and babel.sty are separate files (for
          Plain-based formats and LaTeX, respectively).
-         
-3.63   2021-07-22
-       * Fixes a severe bug with CJK and XeTeX introduced in 3.62.
-       
-3.62   2021-07-19
-       * No more errors with unknown languages in aux file.
-       * Preliminary support for \AddToHook.
-       * Tentative extension for provide=.
-       * Fixes:
-         - Locale dependent quotes with CJK (#131).
-         - Babel and hyperref prevent changes to the \LaTeX logo (#138).
 ```
 
 ### Previous changes

Modified: trunk/Master/texmf-dist/doc/latex/babel/babel.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2021-10-19 20:45:24 UTC (rev 60805)
@@ -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 @@
 % \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 @@
   \ifin@
     \expandafter\bbl at tempa\CurrentOption\bbl at tempa
   \else  
-    \bbl at xin@{,\CurrentOption,}{,\bbl at language@opts,}%
-    \ifin@
-      \bbl at exp{\\\bbl at replace\\\bbl at language@opts{,\CurrentOption,}{}}%
-    \fi
-    \edef\bbl at language@opts{\bbl at language@opts,\CurrentOption,}
+    \bbl at add@list\bbl at language@opts{\CurrentOption}%
   \fi}
 %    \end{macrocode}
 %
@@ -5812,7 +5808,9 @@
 %
 %    \begin{macrocode}
 \ifx\bbl at opt@main\@nnil\else
-  \edef\bbl at language@opts{\bbl at language@opts,\bbl at opt@main,}
+  \edef\bbl at language@opts{%
+    \ifx\bbl at language@opts\@empty\else\bbl at language@opts,\fi
+      \bbl at opt@main}
 \fi
 %    \end{macrocode}
 %
@@ -12007,69 +12005,49 @@
 \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 at 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.
+% 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 at 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.
 %
-% To allow multiple overlapping replacements, commas in
-% |\bbl at language@opts| are doubled.
-%
 %    \begin{macrocode}
-\let\bbl at elt\relax
-\let\bbl at tempe\@empty
-\bbl at foreach\@classoptionslist{%
-  \bbl at xin@{,#1,$}{\bbl at language@opts$}% Match last
-  \ifin@\else
-    \bbl at xin@{,#1,}{\bbl at language@opts}% Match non-last
-    \ifin@
-      \bbl at replace\bbl at language@opts{,#1,}{,,}%
-      \edef\bbl at tempe{\bbl at tempe\bbl at elt{3}{#1}}%
-    \else
-      \babel at savecnt\z@ % Use as temp
-      \ifnum\bbl at iniflag<\thr@@ % Optimization: 3 = always ini
-        \IfFileExists{#1.ldf}{\advance\babel at savecnt\@ne}{}%
-      \fi
-      \ifnum\bbl at iniflag>\z@ % Optimization: 0 = always ldf
-        \IfFileExists{babel-#1.tex}{\advance\babel at savecnt\tw@}{}%
-      \fi
-      \ifnum\babel at savecnt>\z@
-        \edef\bbl at tempe{\bbl at tempe\bbl at elt{\the\babel at savecnt}{#1}}%
-      \fi
-    \fi
+\let\bbl at tempc\relax
+\bbl at foreach\bbl at language@opts{%
+  \ifcase\bbl at iniflag  % Default
+    \bbl at ifunset{ds@#1}%
+      {\DeclareOption{#1}{\bbl at load@language{#1}}}%
+      {}%
+  \or    % provide=*
+    \@gobble % case 2 same as 1
+  \or    % provide+=*
+    \bbl at ifunset{ds@#1}%
+      {\IfFileExists{#1.ldf}{}%
+        {\IfFileExists{babel-#1.tex}{}{\@namedef{ds@#1}{}}}}%
+      {}%
+    \bbl at ifunset{ds@#1}%
+      {\def\bbl at tempc{#1}%
+       \DeclareOption{#1}{%
+         \ifnum\bbl at iniflag>\@ne
+           \bbl at ldfinit
+           \babelprovide[import]{#1}%
+           \bbl at afterldf{}%
+         \else
+           \bbl at load@language{#1}%
+         \fi}}%
+      {}%
+  \or    % provide*=*
+    \def\bbl at tempc{#1}%
+    \bbl at ifunset{ds@#1}%
+      {\DeclareOption{#1}{%
+         \bbl at ldfinit
+         \babelprovide[import]{#1}%
+         \bbl at afterldf{}}}%
+      {}%
   \fi}
-%
-\let\bbl at savemain\@empty
-\bbl at foreach\bbl at language@opts{%
-  \edef\bbl at tempe{\bbl at tempe\bbl at elt{3}{#1}}}
-\def\bbl at elt#1#2#3{%
-  \ifx#3\relax % if last
-    \bbl at ifunset{ds@#2}{}%
-      {\bbl at exp{\def\\\bbl at savemain{\\\DeclareOption{#2}{\[ds@#2]}}}}%
-    \bbl at add\bbl at savemain{\bbl at elt{#1}{#2}}% Save main
-    \DeclareOption{#2}{}% 
-  \else
-    \ifnum\bbl at iniflag<\tw@ % other as ldf
-      \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3
-        \bbl at ifunset{ds@#2}%
-         {\DeclareOption{#2}{\bbl at load@language{#2}}}%
-         {}%
-      \fi
-    \else % other as ini  
-      \ifnum#1>\@ne %  % Class: if ini exists 2,3. Package: always 3
-        \DeclareOption{#2}{%
-          \bbl at ldfinit
-          \babelprovide[import]{#2}%
-          \bbl at afterldf{}}%
-       \fi
-    \fi
-  \fi
-  #3}
-\bbl at tempe\relax % \relax catches last
 %    \end{macrocode}
 %
 % Now, we make sure an option is explicitly declared for any language
@@ -12078,7 +12056,54 @@
 % accessing the file system just to see if the option could be a
 % language.
 %
+%    \begin{macrocode}
+\let\bbl at tempb\@nnil
+\let\bbl at clsoptlst\@classoptionslist
+\bbl at foreach\@classoptionslist{%
+  \bbl at ifunset{ds@#1}%
+    {\IfFileExists{#1.ldf}%
+      {\def\bbl at tempb{#1}%
+       \DeclareOption{#1}{%
+         \ifnum\bbl at iniflag>\@ne
+           \bbl at ldfinit
+           \babelprovide[import]{#1}%
+           \bbl at afterldf{}%
+         \else
+           \bbl at load@language{#1}%
+         \fi}}%
+      {\IfFileExists{babel-#1.tex}% 
+        {\def\bbl at tempb{#1}%
+         \ifnum\bbl at iniflag>\z@
+           \DeclareOption{#1}{%
+             \ifnum\bbl at iniflag>\@ne
+               \bbl at ldfinit
+               \babelprovide[import]{#1}%
+               \bbl at afterldf{}%
+             \fi}%
+         \fi}%
+         {}}}%
+    {}}
+%    \end{macrocode}
+%
 %    If a main language has been set, store it for the third pass.
+%
+%    \begin{macrocode}
+\ifnum\bbl at iniflag=\z@\else
+  \ifx\bbl at opt@main\@nnil
+    \ifx\bbl at tempc\relax
+      \let\bbl at opt@main\bbl at tempb
+    \else
+      \let\bbl at opt@main\bbl at tempc
+    \fi
+  \fi
+\fi
+\ifx\bbl at opt@main\@nnil\else
+  \expandafter
+  \let\expandafter\bbl at loadmain\csname ds@\bbl at opt@main\endcsname
+  \expandafter\let\csname ds@\bbl at 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 @@
       and a package option. Use 'main=\bbl at tempc' as\\%
       option. Reported}%
   \fi
+\else
+  \ifodd\bbl at iniflag  % case 1,3
+    \bbl at ldfinit
+    \let\CurrentOption\bbl at opt@main
+    \ifx\bbl at opt@provide\@nnil
+      \bbl at exp{\\\babelprovide[import,main]{\bbl at opt@main}}%
+    \else
+      \bbl at exp{\\\bbl at forkv{\@nameuse{@raw at opt@babel.sty}}}{%
+        \bbl at xin@{,provide,}{,#1,}%
+        \ifin@
+          \def\bbl at opt@provide{#2}%
+          \bbl at replace\bbl at opt@provide{;}{,}%
+        \fi}%
+      \bbl at exp{%
+        \\\babelprovide[\bbl at opt@provide,import,main]{\bbl at opt@main}}%
+    \fi
+    \bbl at afterldf{}%
+  \else % case 0,2
+    \chardef\bbl at iniflag\z@  % Force ldf 
+    \expandafter\let\csname ds@\bbl at opt@main\endcsname\bbl at loadmain
+    \ExecuteOptions{\bbl at opt@main}
+    \DeclareOption*{}%
+    \ProcessOptions*
+  \fi
 \fi
-\def\bbl at elt#1#2{% main
-  \ifodd\bbl at iniflag % as ini = 1(=), 3(*=)
-    \ifnum#1>\@ne %  % Class: if ini exists 2,3. Package: always 3
-      \def\CurrentOption{#2}% Directly, because luatexbase
-      \bbl at ldfinit
-      \babelprovide[\bbl at opt@provide,main,import]{#2}%
-      \bbl at afterldf{}%    
-      \DeclareOption{#2}{}%
-    \fi
-  \else % as ldf = 0(no), 2(+=)
-    \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3
-      \bbl at ifunset{ds@#2}%
-        {\DeclareOption{#2}{\bbl at load@language{#2}}}%
-        {}%
-      \ExecuteOptions{#2}%
-    \fi
-  \fi}
-\bbl at savemain
-\DeclareOption*{}%
-\ProcessOptions*
 \def\AfterBabelLanguage{%
   \bbl at error
     {Too late for \string\AfterBabelLanguage}%

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins	2021-10-19 20:45:24 UTC (rev 60805)
@@ -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
 

Modified: trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2021-10-19 20:45:24 UTC (rev 60805)
@@ -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'

Modified: trunk/Master/texmf-dist/source/latex/babel/locale.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.def	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def	2021-10-19 20:45:24 UTC (rev 60805)
@@ -40,7 +40,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{babel.def}[2021/10/13 3.64 Babel common definitions]
+\ProvidesFile{babel.def}[2021/10/19 3.65 Babel common definitions]
 \ifx\AtBeginDocument\@undefined  % TODO. change test.
   \def\@empty{}
 \def\loadlocalcfg#1{%
@@ -406,8 +406,8 @@
 \expandafter\newif\csname ifbbl at single\endcsname
 \chardef\bbl at bidimode\z@
 \fi
-\def\bbl at version{3.64}
-\def\bbl at date{2021/10/13}
+\def\bbl at version{3.65}
+\def\bbl at date{2021/10/19}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2021-10-19 20:45:24 UTC (rev 60805)
@@ -34,7 +34,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2021/10/13 3.64 The Babel package]
+\ProvidesPackage{babel}[2021/10/19 3.65 The Babel package]
 \@ifpackagewith{babel}{debug}
   {\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
    \let\bbl at debug\@firstofone
@@ -390,11 +390,7 @@
   \ifin@
     \expandafter\bbl at tempa\CurrentOption\bbl at tempa
   \else
-    \bbl at xin@{,\CurrentOption,}{,\bbl at language@opts,}%
-    \ifin@
-      \bbl at exp{\\\bbl at replace\\\bbl at language@opts{,\CurrentOption,}{}}%
-    \fi
-    \edef\bbl at language@opts{\bbl at language@opts,\CurrentOption,}
+    \bbl at add@list\bbl at language@opts{\CurrentOption}%
   \fi}
 \ProcessOptions*
 \ifx\bbl at opt@provide\@nnil
@@ -446,7 +442,9 @@
   \def\bbl at opt@safe{BR}
 \fi
 \ifx\bbl at opt@main\@nnil\else
-  \edef\bbl at language@opts{\bbl at language@opts,\bbl at opt@main,}
+  \edef\bbl at language@opts{%
+    \ifx\bbl at language@opts\@empty\else\bbl at language@opts,\fi
+      \bbl at opt@main}
 \fi
 \bbl at trace{Defining IfBabelLayout}
 \ifx\bbl at opt@layout\@nnil
@@ -460,8 +458,8 @@
       \expandafter\@secondoftwo
     \fi}
 \fi
-\def\bbl at version{3.64}
-\def\bbl at date{2021/10/13}
+\def\bbl at version{3.65}
+\def\bbl at date{2021/10/19}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi
@@ -4174,55 +4172,79 @@
        Local config file '\bbl at opt@config.cfg' not found}{%
        Perhaps you misspelled it.}}%
 \fi
-\let\bbl at elt\relax
-\let\bbl at tempe\@empty
+\let\bbl at tempc\relax
+\bbl at foreach\bbl at language@opts{%
+  \ifcase\bbl at iniflag  % Default
+    \bbl at ifunset{ds@#1}%
+      {\DeclareOption{#1}{\bbl at load@language{#1}}}%
+      {}%
+  \or    % provide=*
+    \@gobble % case 2 same as 1
+  \or    % provide+=*
+    \bbl at ifunset{ds@#1}%
+      {\IfFileExists{#1.ldf}{}%
+        {\IfFileExists{babel-#1.tex}{}{\@namedef{ds@#1}{}}}}%
+      {}%
+    \bbl at ifunset{ds@#1}%
+      {\def\bbl at tempc{#1}%
+       \DeclareOption{#1}{%
+         \ifnum\bbl at iniflag>\@ne
+           \bbl at ldfinit
+           \babelprovide[import]{#1}%
+           \bbl at afterldf{}%
+         \else
+           \bbl at load@language{#1}%
+         \fi}}%
+      {}%
+  \or    % provide*=*
+    \def\bbl at tempc{#1}%
+    \bbl at ifunset{ds@#1}%
+      {\DeclareOption{#1}{%
+         \bbl at ldfinit
+         \babelprovide[import]{#1}%
+         \bbl at afterldf{}}}%
+      {}%
+  \fi}
+\let\bbl at tempb\@nnil
+\let\bbl at clsoptlst\@classoptionslist
 \bbl at foreach\@classoptionslist{%
-  \bbl at xin@{,#1,$}{\bbl at language@opts$}% Match last
-  \ifin@\else
-    \bbl at xin@{,#1,}{\bbl at language@opts}% Match non-last
-    \ifin@
-      \bbl at replace\bbl at language@opts{,#1,}{,,}%
-      \edef\bbl at tempe{\bbl at tempe\bbl at elt{3}{#1}}%
+  \bbl at ifunset{ds@#1}%
+    {\IfFileExists{#1.ldf}%
+      {\def\bbl at tempb{#1}%
+       \DeclareOption{#1}{%
+         \ifnum\bbl at iniflag>\@ne
+           \bbl at ldfinit
+           \babelprovide[import]{#1}%
+           \bbl at afterldf{}%
+         \else
+           \bbl at load@language{#1}%
+         \fi}}%
+      {\IfFileExists{babel-#1.tex}%
+        {\def\bbl at tempb{#1}%
+         \ifnum\bbl at iniflag>\z@
+           \DeclareOption{#1}{%
+             \ifnum\bbl at iniflag>\@ne
+               \bbl at ldfinit
+               \babelprovide[import]{#1}%
+               \bbl at afterldf{}%
+             \fi}%
+         \fi}%
+         {}}}%
+    {}}
+\ifnum\bbl at iniflag=\z@\else
+  \ifx\bbl at opt@main\@nnil
+    \ifx\bbl at tempc\relax
+      \let\bbl at opt@main\bbl at tempb
     \else
-      \babel at savecnt\z@ % Use as temp
-      \ifnum\bbl at iniflag<\thr@@ % Optimization: 3 = always ini
-        \IfFileExists{#1.ldf}{\advance\babel at savecnt\@ne}{}%
-      \fi
-      \ifnum\bbl at iniflag>\z@ % Optimization: 0 = always ldf
-        \IfFileExists{babel-#1.tex}{\advance\babel at savecnt\tw@}{}%
-      \fi
-      \ifnum\babel at savecnt>\z@
-        \edef\bbl at tempe{\bbl at tempe\bbl at elt{\the\babel at savecnt}{#1}}%
-      \fi
+      \let\bbl at opt@main\bbl at tempc
     \fi
-  \fi}
-\let\bbl at savemain\@empty
-\bbl at foreach\bbl at language@opts{%
-  \edef\bbl at tempe{\bbl at tempe\bbl at elt{3}{#1}}}
-\def\bbl at elt#1#2#3{%
-  \ifx#3\relax % if last
-    \bbl at ifunset{ds@#2}{}%
-      {\bbl at exp{\def\\\bbl at savemain{\\\DeclareOption{#2}{\[ds@#2]}}}}%
-    \bbl at add\bbl at savemain{\bbl at elt{#1}{#2}}% Save main
-    \DeclareOption{#2}{}%
-  \else
-    \ifnum\bbl at iniflag<\tw@ % other as ldf
-      \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3
-        \bbl at ifunset{ds@#2}%
-         {\DeclareOption{#2}{\bbl at load@language{#2}}}%
-         {}%
-      \fi
-    \else % other as ini
-      \ifnum#1>\@ne %  % Class: if ini exists 2,3. Package: always 3
-        \DeclareOption{#2}{%
-          \bbl at ldfinit
-          \babelprovide[import]{#2}%
-          \bbl at afterldf{}}%
-       \fi
-    \fi
   \fi
-  #3}
-\bbl at tempe\relax % \relax catches last
+\fi
+\ifx\bbl at opt@main\@nnil\else
+  \expandafter
+  \let\expandafter\bbl at loadmain\csname ds@\bbl at opt@main\endcsname
+  \expandafter\let\csname ds@\bbl at opt@main\endcsname\@empty
+\fi
 \def\AfterBabelLanguage#1{%
   \bbl at ifsamestring\CurrentOption{#1}{\global\bbl at add\bbl at afterlang}{}}
 \DeclareOption*{}
@@ -4244,27 +4266,31 @@
       and a package option. Use 'main=\bbl at tempc' as\\%
       option. Reported}%
   \fi
+\else
+  \ifodd\bbl at iniflag  % case 1,3
+    \bbl at ldfinit
+    \let\CurrentOption\bbl at opt@main
+    \ifx\bbl at opt@provide\@nnil
+      \bbl at exp{\\\babelprovide[import,main]{\bbl at opt@main}}%
+    \else
+      \bbl at exp{\\\bbl at forkv{\@nameuse{@raw at opt@babel.sty}}}{%
+        \bbl at xin@{,provide,}{,#1,}%
+        \ifin@
+          \def\bbl at opt@provide{#2}%
+          \bbl at replace\bbl at opt@provide{;}{,}%
+        \fi}%
+      \bbl at exp{%
+        \\\babelprovide[\bbl at opt@provide,import,main]{\bbl at opt@main}}%
+    \fi
+    \bbl at afterldf{}%
+  \else % case 0,2
+    \chardef\bbl at iniflag\z@  % Force ldf
+    \expandafter\let\csname ds@\bbl at opt@main\endcsname\bbl at loadmain
+    \ExecuteOptions{\bbl at opt@main}
+    \DeclareOption*{}%
+    \ProcessOptions*
+  \fi
 \fi
-\def\bbl at elt#1#2{% main
-  \ifodd\bbl at iniflag % as ini = 1(=), 3(*=)
-    \ifnum#1>\@ne %  % Class: if ini exists 2,3. Package: always 3
-      \def\CurrentOption{#2}% Directly, because luatexbase
-      \bbl at ldfinit
-      \babelprovide[\bbl at opt@provide,main,import]{#2}%
-      \bbl at afterldf{}%
-      \DeclareOption{#2}{}%
-    \fi
-  \else % as ldf = 0(no), 2(+=)
-    \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3
-      \bbl at ifunset{ds@#2}%
-        {\DeclareOption{#2}{\bbl at load@language{#2}}}%
-        {}%
-      \ExecuteOptions{#2}%
-    \fi
-  \fi}
-\bbl at savemain
-\DeclareOption*{}%
-\ProcessOptions*
 \def\AfterBabelLanguage{%
   \bbl at error
     {Too late for \string\AfterBabelLanguage}%

Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2021-10-19 20:45:24 UTC (rev 60805)
@@ -38,10 +38,10 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{hyphen.cfg}[2021/10/13 3.64 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2021/10/19 3.65 Babel hyphens]
 \xdef\bbl at format{\jobname}
-\def\bbl at version{3.64}
-\def\bbl at date{2021/10/13}
+\def\bbl at version{3.65}
+\def\bbl at date{2021/10/19}
 \ifx\AtBeginDocument\@undefined
   \def\@empty{}
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2021-10-19 20:44:17 UTC (rev 60804)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2021-10-19 20:45:24 UTC (rev 60805)
@@ -33,7 +33,7 @@
 %% extension |.ins|) which are part of the distribution.
 %%
 
-\ProvidesLanguage{nil}[2021/10/13 3.64 Nil language]
+\ProvidesLanguage{nil}[2021/10/19 3.65 Nil language]
 \LdfInit{nil}{datenil}
 \ifx\l at nil\@undefined
   \newlanguage\l at nil



More information about the tex-live-commits mailing list.