texlive[75958] Master/texmf-dist: babel (3aug25)
commits+karl at tug.org
commits+karl at tug.org
Sun Aug 3 21:05:05 CEST 2025
Revision: 75958
https://tug.org/svn/texlive?view=revision&revision=75958
Author: karl
Date: 2025-08-03 21:05:05 +0200 (Sun, 03 Aug 2025)
Log Message:
-----------
babel (3aug25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/babel/README.md
trunk/Master/texmf-dist/doc/latex/babel/babel-code.pdf
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/locale/shared/babel-Arab.ini
trunk/Master/texmf-dist/tex/generic/babel/luababel.def
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 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md 2025-08-03 19:05:05 UTC (rev 75958)
@@ -1,6 +1,6 @@
-## Babel 25.11
+## Babel 25.12
-2025-07-13
+2025-08-03
`Babel` is the multilingual framework to localize documents. It fully
supports pdfLaTeX and the Unicode engines LuaLaTeX and XeLaTeX. A few
@@ -21,9 +21,9 @@
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 25.11 are described in:
+Changes in version 25.12 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-25.11.html
+https://latex3.github.io/babel/news/whats-new-in-babel-25.12.html
Apart from the manual, you can find information and examples in:
@@ -59,20 +59,16 @@
### Summary of latest changes
+#### 25.12 (2025-08-03)
+
+* New option in provide: mapdot. A default is provide for the Arabic
+ locales, mapping the dot in counters to a hyphen.
+* Fix misaligned first line with kashida inside a \vbox (tsx747027).
+
#### 25.11 (2025-07-13)
* Fix error with `import` in `\PassOptionsToLocale` and lazy loading.
* Changes related to Austrian German.
-
-#### 25.10 (2025-06-10)
-
-* A locale in `\DocumentMetada` not recognized by `babel` raised
- a cryptic error (see issue #343).
-* Fixed error with `\ShowLocaleProperties` with some locales with
- Unicode engines.
-* With `\DocumentMetadata` `\foreignlanguage enters in horizontal
- mode.
-* New transform, for Russian: `transliteration.gost779b`.
### Previous changes
Modified: trunk/Master/texmf-dist/doc/latex/babel/babel-code.pdf
===================================================================
(Binary files differ)
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 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx 2025-08-03 19:05:05 UTC (rev 75958)
@@ -37,7 +37,7 @@
lang = en-001,
}
\ProvidesFile{babel.dtx}%
- [2025/07/13 v25.11
+ [2025/08/03 v25.12
The multilingual framework for pdfLaTeX, LuaLaTeX and XeLaTeX]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
@@ -71,7 +71,7 @@
\newcommand*\luatex{\textsf{luatex}}
\newcommand\largetex{T\kern -.1517em\lower .45ex\hbox {E}\kern -.09emX}
\newcommand*\nb[1]{}
-\newcommand*\m[1]{\mbox{$\langle$\normalfont\itshape#1\/$\rangle$}}
+\newcommand*\m[1]{\mbox{{\fontspec{FreeSerif}〈}\normalfont\itshape#1\/}{\fontspec{FreeSerif}〉}}
\newcommand*\langlist{%
\meta{language}\texttt{,}\meta{language}\texttt{,}...}
\newcommand*\langvar{\m{language}}
@@ -149,7 +149,7 @@
\catcode`\>=13
\catcode`\|=13
\AtBeginDocument{%
- \gdef|{\verb|\def<##1>{$\langle${\rmfamily\itshape##1}$\rangle$}}}
+ \gdef|{\verb|\def<##1>{{\fontspec{FreeSerif}〈}{\rmfamily\itshape##1}{\fontspec{FreeSerif}〉}}}}
\endgroup
\def\verbatim{%
\fboxsep=.8em
@@ -200,7 +200,7 @@
\let\check at percent\relax
% Changes to doc.sty (add <<...>> syntax)
\def\Module#1{%
- \mod at math@codes$\langle${\color{thered}$\mathsf{#1}$}$\rangle$}
+ \mod at math@codes$\langle${\color{thered}$\mathsf{#1}$}〉}
\begingroup
\catcode`\<\active
\catcode`\>\active
@@ -3996,7 +3996,7 @@
the native digits of that language; the second takes a counter name as
argument. With the option |maparabic| in |\babelprovide|, |\arabic| is
redefined to produce the native digits (this is done \textit{globally},
-to avoid inconsistencies in, for example, page numbering, and note as
+to avoid inconsistencies in, for example, page numbering; note as
well dates do not rely on |\arabic|.)
For example:
@@ -4170,6 +4170,15 @@
\New{3.45} In addition, native digits (in languages defining them) may
be printed with the numeral style |digits|.
+\New{25.12} With |mapdot=|\m{text} as an option in ‘provide’, the
+standard counters (those starting with |\the...|) are traversed to
+replace each dot by the provided \m{text} in a locale-dependent way.
+Without a value, a default is used — currenty the only default value is
+for the Arabic (\texttt{ar}) locales, which is set to a hyphen (because
+the zero and the dot are very similar in this script). See the news
+page for further details.
+
+
\subsection{Dates}
\New{3.45} When the data is taken from an |ini| file, you may print the
@@ -4567,6 +4576,39 @@
the current language. Font dependent transforms are always enabled and
cannot be disabled.
+\Describe{\SetTrasformValue}{\marg{locale-name}\marg{variable-name}\marg{value}}
+
+This command allows adjustments (specifically numeric parameters in
+prehyphenation) in transform, which can be useful in those predeclared
+in \texttt{ini} files. Something like
+\verb+{<variable-name>|<default>}+
+employs the variable as set by this macro. The following variables are
+currently defined:
+\begin{itemize}
+\item For French and \texttt{punctuation.space}: \texttt{guillemet.natural},
+ \texttt{guillemet.plus}, \texttt{guillemet.minus},
+ \texttt{colon.natural}, \texttt{colon.plus}, \texttt{colon.minus},
+ \texttt{high.natural}, \texttt{high.plus}, \texttt{high.minus}. A
+ value of 1 is the current ordinary space. \New{24.13}
+\item For languages in the Hebrew script and \texttt{justification.interletter}:
+ |interletter.plus|, which sets the factor for the glue ‘plus’ value. By
+ default, .5. \New{25.8}
+\item For Japanese and \texttt{linebreak.strict}:
+ \texttt{small.natural}, \texttt{small.plus} and \texttt{small.minus}.
+ They are set when the transform is activated to the intraspace values.
+ In addition, the penalty, by default 10000, can be set with
+ \texttt{small.penalty}. \New{24.14}
+\end{itemize}
+
+\begin{example}
+ With:
+\begin{verbatim}
+\SetTransformValue{french}{colon.natural}{.8}
+\end{verbatim}
+the natural spacing with the colon is made slightly smaller (default is 1).
+\end{example}
+
+
\Describe{\ShowBabelTransforms}{\marg{string}}
\New{25.7} Applies the current transforms to the string and shows in
@@ -6136,8 +6178,8 @@
% \section{Tools}
%
% \begin{macrocode}
-%<<version=25.11>>
-%<<date=2025/07/13>>
+%<<version=25.12>>
+%<<date=2025/08/03>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -6301,9 +6343,9 @@
% For each element in the comma separated <key>|=|<value> list,
% execute <code> with |#1| and |#2| as the key and the value of
% current item (trimmed). In addition, the item is passed verbatim as
-% |#3|. With the <key> alone, it passes |\@empty| (i.e., the macro thus
-% named, not an empty argument, which is what you get with <key>|=|
-% and no value).
+% |#3|. With the <key> alone, it passes |\@empty| as value (i.e., the
+% macro thus named, not an empty argument, which is what you get with
+% <key>|=| and no value).
%
% \begin{macrocode}
\def\bbl at forkv#1#2{%
@@ -10373,7 +10415,8 @@
\bbl at vforeach{captions,date,import,main,script,language,%
hyphenrules,linebreaking,justification,mapfont,maparabic,%
mapdigits,intraspace,intrapenalty,onchar,transforms,alph,%
- Alph,labels,labels*,calendar,date,casing,interchar, at import}%
+ Alph,labels,labels*,mapdot,calendar,date,casing,interchar,%
+ @import}%
{\bbl at csarg\let{KVP@##1}\@nnil}%
\global\let\bbl at release@transforms\@empty
\global\let\bbl at release@casing\@empty
@@ -10388,7 +10431,6 @@
\expandafter\bbl at forkv\expandafter{\bbl at tempa}{%
\in@{/}{##1}% With /, (re)sets a value in the ini
\ifin@
- \global\let\bbl at extend@ini\bbl at extend@ini at aux
\bbl at renewinikey##1\@@{##2}%
\else
\bbl at csarg\ifx{KVP@##1}\@nnil\else
@@ -10446,7 +10488,15 @@
\ifx\bbl at KVP@transforms\@nnil\else
\bbl at replace\bbl at KVP@transforms{ }{,}%
\fi
- % == Load ini ==
+ % ==
+ \ifx\bbl at KVP@mapdot\@nnil\else
+ \def\bbl at tempa{\@empty}%
+ \ifx\bbl at KVP@mapdot\bbl at tempa\else
+ \bbl at exp{\gdef\<bbl at map@@.@@\languagename>{\[bbl at KVP@mapdot]}}%
+ \fi
+ \fi
+ % Load ini
+ % --------
\ifcase\bbl at howloaded
\bbl at provide@new{#2}%
\else
@@ -10579,6 +10629,24 @@
\\\babel at save\\\@Alph
\let\\\@Alph\<bbl at cntr@\bbl at KVP@Alph @\languagename>}}%
\fi
+ % == Counters: mapdot ==
+ \ifx\bbl at KVP@mapdot\@nnil\else
+ \bbl at foreach\bbl at list@the{%
+ \bbl at ifunset{the##1}{}%
+ {{\bbl at ncarg\let\bbl at tempd{the##1}%
+ \bbl at carg\bbl at sreplace{the##1}{.}{\bbl at map@lbl{.}}%
+ \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
+ \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
+ \fi}}}%
+ \edef\bbl at tempb{enumi,enumii,enumiii,enumiv}%
+ \bbl at foreach\bbl at tempb{%
+ \bbl at ifunset{label##1}{}%
+ {{\bbl at ncarg\let\bbl at tempd{label##1}%
+ \bbl at carg\bbl at sreplace{label##1}{.}{\bbl at map@lbl{.}}%
+ \expandafter\ifx\csname label##1\endcsname\bbl at tempd\else
+ \bbl at exp{\gdef\<label##1>{{\[label##1]}}}%
+ \fi}}}%
+ \fi
% == Casing ==
\bbl at release@casing
\ifx\bbl at KVP@casing\@nnil\else
@@ -10920,6 +10988,7 @@
\bbl at error{no-ini-file}{#1}{}{}%
\else
% == Store ini data in \bbl at inidata ==
+ \catcode`\ =10 \catcode`\"=12
\catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\&=12
\catcode`\;=12 \catcode`\|=12 \catcode`\%=14 \catcode`\-=12
\ifnum#2=\m at ne % Just for the info
@@ -11044,6 +11113,7 @@
%
% \begin{macrocode}
\def\bbl at renewinikey#1/#2\@@#3{%
+ \global\let\bbl at extend@ini\bbl at extend@ini at aux
\edef\bbl at tempa{\zap at space #1 \@empty}% section
\edef\bbl at tempb{\zap at space #2 \@empty}% key
\bbl at trim\toks@{#3}% value
@@ -11317,59 +11387,46 @@
{\@nameuse{bbl at map@#1@\languagename}}}
%
\def\bbl at map@lbl#1{% #1:a sign, eg, .
- \bbl at ifunset{bbl at map@@#1@@\languagename}%
- {#1}%
- {\@nameuse{bbl at map@@#1@@\languagename}}}
+ \ifincsname#1\else
+ \bbl at ifunset{bbl at map@@#1@@\languagename}%
+ {#1}%
+ {\@nameuse{bbl at map@@#1@@\languagename}}%
+ \fi}
%
\def\bbl at inikv@labels#1#2{%
- \in@{,dot.map,}{,#1,}%
+ \in@{.map}{#1}%
\ifin@
- \global\@namedef{bbl at map@@.@@\languagename}{#2}%
- \bbl at foreach\bbl at list@the{%
- \bbl at ifunset{the##1}{}%
- {{\bbl at ncarg\let\bbl at tempd{the##1}%
- \bbl at carg\bbl at sreplace{the##1}{.}{\bbl at map@lbl{.}}%
- \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
- \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
- \fi}}}%
- \edef\bbl at tempb{enumi,enumii,enumiii,enumiv}%
- \bbl at foreach\bbl at tempb{%
- \bbl at ifunset{label##1}{}%
- {{\bbl at ncarg\let\bbl at tempd{label##1}%
- \bbl at carg\bbl at sreplace{label##1}{.}{\bbl at map@lbl{.}}%
- \expandafter\ifx\csname label##1\endcsname\bbl at tempd\else
- \bbl at exp{\gdef\<label##1>{{\[label##1]}}}%
- \fi}}}%
- \else
- \in@{.map}{#1}%
+ \in@{,dot.map,}{,#1,}%
\ifin@
- \ifx\bbl at KVP@labels\@nnil\else
- \bbl at xin@{ map }{ \bbl at KVP@labels\space}%
- \ifin@
- \def\bbl at tempc{#1}%
- \bbl at replace\bbl at tempc{.map}{}%
- \in@{,#2,}{,arabic,roman,Roman,alph,Alph,fnsymbol,}%
- \bbl at exp{%
- \gdef\<bbl at map@\bbl at tempc @\languagename>%
- {\ifin@\<#2>\else\\\localecounter{#2}\fi}}%
- \bbl at foreach\bbl at list@the{%
+ \global\@namedef{bbl at map@@.@@\languagename}{#2}%
+ \fi
+ \ifx\bbl at KVP@labels\@nnil\else
+ \bbl at xin@{ map }{ \bbl at KVP@labels\space}%
+ \ifin@
+ \def\bbl at tempc{#1}%
+ \bbl at replace\bbl at tempc{.map}{}%
+ \in@{,#2,}{,arabic,roman,Roman,alph,Alph,fnsymbol,}%
+ \bbl at exp{%
+ \gdef\<bbl at map@\bbl at tempc @\languagename>%
+ {\ifin@\<#2>\else\\\localecounter{#2}\fi}}%
+ \bbl at foreach\bbl at list@the{%
\bbl at ifunset{the##1}{}%
{\bbl at ncarg\let\bbl at tempd{the##1}%
- \bbl at exp{%
- \\\bbl at sreplace\<the##1>%
- {\<\bbl at tempc>{##1}}%
- {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
- \\\bbl at sreplace\<the##1>%
- {\<\@empty @\bbl at tempc>\<c@##1>}%
- {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
- \\\bbl at sreplace\<the##1>%
- {\\\csname @\bbl at tempc\\\endcsname\<c@##1>}%
- {{\\\bbl at map@cnt{\bbl at tempc}{##1}}}}%
- \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
- \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
- \fi}}%
- \fi
+ \bbl at exp{%
+ \\\bbl at sreplace\<the##1>%
+ {\<\bbl at tempc>{##1}}%
+ {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
+ \\\bbl at sreplace\<the##1>%
+ {\<\@empty @\bbl at tempc>\<c@##1>}%
+ {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
+ \\\bbl at sreplace\<the##1>%
+ {\\\csname @\bbl at tempc\\\endcsname\<c@##1>}%
+ {{\\\bbl at map@cnt{\bbl at tempc}{##1}}}}%
+ \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
+ \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
+ \fi}}%
\fi
+ \fi
%
\else
% The following code is still under study. You can test it and make
@@ -11390,8 +11447,7 @@
\def\<labelenum\romannumeral\bbl at tempa>{\the\toks@}}%
\\\bbl at toglobal\<extras\languagename>}%
\fi
- \fi
- \fi}
+ \fi}
% \end{macrocode}
%
% To show correctly some captions in a few languages, we need to patch
@@ -15480,6 +15536,8 @@
for line in node.traverse_id(node.id'hlist', head) do
Babel.arabic.justify_hlist(head, line)
end
+ % In case the very first item is a line (eg, in \vbox):
+ while head.prev do head = head.prev end
return head
end
Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins 2025-08-03 19:05:05 UTC (rev 75958)
@@ -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{2025/07/13}
+\def\filedate{2025/08/03}
\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 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx 2025-08-03 19:05:05 UTC (rev 75958)
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2025/07/13 v25.11]
+\ProvidesFile{bbcompat.dtx}[2025/08/03 v25.12]
%</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 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def 2025-08-03 19:05:05 UTC (rev 75958)
@@ -39,7 +39,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2025/07/13 v25.11 Babel common definitions]
+\ProvidesFile{babel.def}[2025/08/03 v25.12 Babel common definitions]
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -602,8 +602,8 @@
\toks@\expandafter{\bbl at tempc#3}%
\expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
\fi}
-\def\bbl at version{25.11}
-\def\bbl at date{2025/07/13}
+\def\bbl at version{25.12}
+\def\bbl at date{2025/08/03}
\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 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty 2025-08-03 19:05:05 UTC (rev 75958)
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{babel}%
- [2025/07/13 v25.11
+ [2025/08/03 v25.12
The multilingual framework for LuaLaTeX, pdfLaTeX and XeLaTeX]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
@@ -474,8 +474,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl at version{25.11}
-\def\bbl at date{2025/07/13}
+\def\bbl at version{25.12}
+\def\bbl at date{2025/08/03}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2176,7 +2176,8 @@
\bbl at vforeach{captions,date,import,main,script,language,%
hyphenrules,linebreaking,justification,mapfont,maparabic,%
mapdigits,intraspace,intrapenalty,onchar,transforms,alph,%
- Alph,labels,labels*,calendar,date,casing,interchar, at import}%
+ Alph,labels,labels*,mapdot,calendar,date,casing,interchar,%
+ @import}%
{\bbl at csarg\let{KVP@##1}\@nnil}%
\global\let\bbl at release@transforms\@empty
\global\let\bbl at release@casing\@empty
@@ -2191,7 +2192,6 @@
\expandafter\bbl at forkv\expandafter{\bbl at tempa}{%
\in@{/}{##1}% With /, (re)sets a value in the ini
\ifin@
- \global\let\bbl at extend@ini\bbl at extend@ini at aux
\bbl at renewinikey##1\@@{##2}%
\else
\bbl at csarg\ifx{KVP@##1}\@nnil\else
@@ -2249,7 +2249,15 @@
\ifx\bbl at KVP@transforms\@nnil\else
\bbl at replace\bbl at KVP@transforms{ }{,}%
\fi
- % == Load ini ==
+ % ==
+ \ifx\bbl at KVP@mapdot\@nnil\else
+ \def\bbl at tempa{\@empty}%
+ \ifx\bbl at KVP@mapdot\bbl at tempa\else
+ \bbl at exp{\gdef\<bbl at map@@.@@\languagename>{\[bbl at KVP@mapdot]}}%
+ \fi
+ \fi
+ % Load ini
+ % --------
\ifcase\bbl at howloaded
\bbl at provide@new{#2}%
\else
@@ -2374,6 +2382,24 @@
\\\babel at save\\\@Alph
\let\\\@Alph\<bbl at cntr@\bbl at KVP@Alph @\languagename>}}%
\fi
+ % == Counters: mapdot ==
+ \ifx\bbl at KVP@mapdot\@nnil\else
+ \bbl at foreach\bbl at list@the{%
+ \bbl at ifunset{the##1}{}%
+ {{\bbl at ncarg\let\bbl at tempd{the##1}%
+ \bbl at carg\bbl at sreplace{the##1}{.}{\bbl at map@lbl{.}}%
+ \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
+ \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
+ \fi}}}%
+ \edef\bbl at tempb{enumi,enumii,enumiii,enumiv}%
+ \bbl at foreach\bbl at tempb{%
+ \bbl at ifunset{label##1}{}%
+ {{\bbl at ncarg\let\bbl at tempd{label##1}%
+ \bbl at carg\bbl at sreplace{label##1}{.}{\bbl at map@lbl{.}}%
+ \expandafter\ifx\csname label##1\endcsname\bbl at tempd\else
+ \bbl at exp{\gdef\<label##1>{{\[label##1]}}}%
+ \fi}}}%
+ \fi
% == Casing ==
\bbl at release@casing
\ifx\bbl at KVP@casing\@nnil\else
@@ -2640,6 +2666,7 @@
\bbl at error{no-ini-file}{#1}{}{}%
\else
% == Store ini data in \bbl at inidata ==
+ \catcode`\ =10 \catcode`\"=12
\catcode`\[=12 \catcode`\]=12 \catcode`\==12 \catcode`\&=12
\catcode`\;=12 \catcode`\|=12 \catcode`\%=14 \catcode`\-=12
\ifnum#2=\m at ne % Just for the info
@@ -2743,6 +2770,7 @@
\\\bbl at inidate####1...\relax{####2}{\bbl at tempa}}}%
\fi}
\def\bbl at renewinikey#1/#2\@@#3{%
+ \global\let\bbl at extend@ini\bbl at extend@ini at aux
\edef\bbl at tempa{\zap at space #1 \@empty}% section
\edef\bbl at tempb{\zap at space #2 \@empty}% key
\bbl at trim\toks@{#3}% value
@@ -2925,58 +2953,45 @@
{\@nameuse{#1}}%
{\@nameuse{bbl at map@#1@\languagename}}}
\def\bbl at map@lbl#1{% #1:a sign, eg, .
- \bbl at ifunset{bbl at map@@#1@@\languagename}%
- {#1}%
- {\@nameuse{bbl at map@@#1@@\languagename}}}
+ \ifincsname#1\else
+ \bbl at ifunset{bbl at map@@#1@@\languagename}%
+ {#1}%
+ {\@nameuse{bbl at map@@#1@@\languagename}}%
+ \fi}
\def\bbl at inikv@labels#1#2{%
- \in@{,dot.map,}{,#1,}%
+ \in@{.map}{#1}%
\ifin@
- \global\@namedef{bbl at map@@.@@\languagename}{#2}%
- \bbl at foreach\bbl at list@the{%
- \bbl at ifunset{the##1}{}%
- {{\bbl at ncarg\let\bbl at tempd{the##1}%
- \bbl at carg\bbl at sreplace{the##1}{.}{\bbl at map@lbl{.}}%
- \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
- \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
- \fi}}}%
- \edef\bbl at tempb{enumi,enumii,enumiii,enumiv}%
- \bbl at foreach\bbl at tempb{%
- \bbl at ifunset{label##1}{}%
- {{\bbl at ncarg\let\bbl at tempd{label##1}%
- \bbl at carg\bbl at sreplace{label##1}{.}{\bbl at map@lbl{.}}%
- \expandafter\ifx\csname label##1\endcsname\bbl at tempd\else
- \bbl at exp{\gdef\<label##1>{{\[label##1]}}}%
- \fi}}}%
- \else
- \in@{.map}{#1}%
+ \in@{,dot.map,}{,#1,}%
\ifin@
- \ifx\bbl at KVP@labels\@nnil\else
- \bbl at xin@{ map }{ \bbl at KVP@labels\space}%
- \ifin@
- \def\bbl at tempc{#1}%
- \bbl at replace\bbl at tempc{.map}{}%
- \in@{,#2,}{,arabic,roman,Roman,alph,Alph,fnsymbol,}%
- \bbl at exp{%
- \gdef\<bbl at map@\bbl at tempc @\languagename>%
- {\ifin@\<#2>\else\\\localecounter{#2}\fi}}%
- \bbl at foreach\bbl at list@the{%
+ \global\@namedef{bbl at map@@.@@\languagename}{#2}%
+ \fi
+ \ifx\bbl at KVP@labels\@nnil\else
+ \bbl at xin@{ map }{ \bbl at KVP@labels\space}%
+ \ifin@
+ \def\bbl at tempc{#1}%
+ \bbl at replace\bbl at tempc{.map}{}%
+ \in@{,#2,}{,arabic,roman,Roman,alph,Alph,fnsymbol,}%
+ \bbl at exp{%
+ \gdef\<bbl at map@\bbl at tempc @\languagename>%
+ {\ifin@\<#2>\else\\\localecounter{#2}\fi}}%
+ \bbl at foreach\bbl at list@the{%
\bbl at ifunset{the##1}{}%
{\bbl at ncarg\let\bbl at tempd{the##1}%
- \bbl at exp{%
- \\\bbl at sreplace\<the##1>%
- {\<\bbl at tempc>{##1}}%
- {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
- \\\bbl at sreplace\<the##1>%
- {\<\@empty @\bbl at tempc>\<c@##1>}%
- {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
- \\\bbl at sreplace\<the##1>%
- {\\\csname @\bbl at tempc\\\endcsname\<c@##1>}%
- {{\\\bbl at map@cnt{\bbl at tempc}{##1}}}}%
- \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
- \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
- \fi}}%
- \fi
+ \bbl at exp{%
+ \\\bbl at sreplace\<the##1>%
+ {\<\bbl at tempc>{##1}}%
+ {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
+ \\\bbl at sreplace\<the##1>%
+ {\<\@empty @\bbl at tempc>\<c@##1>}%
+ {\\\bbl at map@cnt{\bbl at tempc}{##1}}%
+ \\\bbl at sreplace\<the##1>%
+ {\\\csname @\bbl at tempc\\\endcsname\<c@##1>}%
+ {{\\\bbl at map@cnt{\bbl at tempc}{##1}}}}%
+ \expandafter\ifx\csname the##1\endcsname\bbl at tempd\else
+ \bbl at exp{\gdef\<the##1>{{\[the##1]}}}%
+ \fi}}%
\fi
+ \fi
\else
% The following code is still under study. You can test it and make
% suggestions. E.g., enumerate.2 = ([enumi]).([enumii]). It's
@@ -2996,8 +3011,7 @@
\def\<labelenum\romannumeral\bbl at tempa>{\the\toks@}}%
\\\bbl at toglobal\<extras\languagename>}%
\fi
- \fi
- \fi}
+ \fi}
\def\bbl at chaptype{chapter}
\ifx\@makechapterhead\@undefined
\let\bbl at patchchapter\relax
Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg 2025-08-03 19:05:05 UTC (rev 75958)
@@ -37,10 +37,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2025/07/13 v25.11 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2025/08/03 v25.12 Babel hyphens]
\xdef\bbl at format{\jobname}
-\def\bbl at version{25.11}
-\def\bbl at date{2025/07/13}
+\def\bbl at version{25.12}
+\def\bbl at date{2025/08/03}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/shared/babel-Arab.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/shared/babel-Arab.ini 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/shared/babel-Arab.ini 2025-08-03 19:05:05 UTC (rev 75958)
@@ -51,4 +51,4 @@
kashida.base.5.1 = { kashida = 0 }
[labels]
-; dot.map = -
\ No newline at end of file
+dot.map = -
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/generic/babel/luababel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/luababel.def 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/tex/generic/babel/luababel.def 2025-08-03 19:05:05 UTC (rev 75958)
@@ -700,6 +700,8 @@
for line in node.traverse_id(node.id'hlist', head) do
Babel.arabic.justify_hlist(head, line)
end
+ % In case the very first item is a line (eg, in \vbox):
+ while head.prev do head = head.prev end
return head
end
Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf 2025-08-03 19:03:26 UTC (rev 75957)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf 2025-08-03 19:05:05 UTC (rev 75958)
@@ -32,7 +32,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2025/07/13 v25.11 Nil language]
+\ProvidesLanguage{nil}[2025/08/03 v25.12 Nil language]
\LdfInit{nil}{datenil}
\ifx\l at nil\@undefined
\newlanguage\l at nil
More information about the tex-live-commits
mailing list.