From 2d58537c184d04a9f5533472827b3499da4a1d83 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 28 Mar 2023 20:20:22 +0000
Subject: babel (28mar23)

git-svn-id: svn://tug.org/texlive/trunk@66698 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/babel/babel.dtx | 37 +++++++++++++++++---------
 1 file changed, 25 insertions(+), 12 deletions(-)

(limited to 'Master/texmf-dist/source/latex/babel/babel.dtx')

diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index 48cda3816bf..76a7168fb2c 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}[2023/02/13 v3.86 The Babel package]
+\ProvidesFile{babel.dtx}[2023/03/28 v3.87 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -2862,7 +2862,7 @@ The styles are:
 
 \item[Khmer] |consonant|
 
-\item[Korean] |consonant|, |syllabe|, |hanja.informal|, |hanja.formal|,
+\item[Korean] |consonant|, |syllable|, |hanja.informal|, |hanja.formal|,
 |hangul.formal|, |cjk-earthly-branch|, |cjk-heavenly-stem|,
 |circled.ideograph|, |parenthesized.ideograph|,
 |fullwidth.lower.alpha|, |fullwidth.upper.alpha|
@@ -3884,7 +3884,7 @@ up explictly; for example:
 RTL A \foreignlanguage{english}{ltr text \thechapter{} and still ltr} RTL B
 \end{verbatim}
 
-\Describe{localerestoredirs}{}
+\Describe{\localerestoredirs}{}
 
 \New{3.86} \textit{LuaTeX}. This command resets the internal text,
 paragraph and body directions to those of the current locale (if
@@ -5295,8 +5295,8 @@ help from Bernd Raichle, for which I am grateful.
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.86>>
-%<<date=2023/02/13>>
+%<<version=3.87>>
+%<<date=2023/03/28>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -10033,7 +10033,7 @@ help from Bernd Raichle, for which I am grateful.
     \bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}%
   \fi
   \bbl@provide@intraspace
-  % == Line breaking: CJK quotes ==
+  % == Line breaking: CJK quotes == TODO -> @extras
   \ifcase\bbl@engine\or
     \bbl@xin@{/c}{/\bbl@cl{lnbrk}}%
     \ifin@
@@ -10183,6 +10183,12 @@ help from Bernd Raichle, for which I am grateful.
   \ifx\bbl@KVP@main\@nnil  % Restore only if not 'main'
     \let\languagename\bbl@savelangname
     \chardef\localeid\bbl@savelocaleid\relax
+  \fi
+  % == hyphenrules (apply if current) ==
+  \ifx\bbl@KVP@hyphenrules\@nnil\else
+    \ifnum\bbl@savelocaleid=\localeid
+      \language\@nameuse{l@\languagename}%
+    \fi
   \fi}
 %    \end{macrocode}
 %
@@ -10430,7 +10436,7 @@ help from Bernd Raichle, for which I am grateful.
       \bbl@foreach\bbl@required@inis{%
         \openin\bbl@readstream=##1.ini
         \bbl@loop@ini}%
-      \fi
+    \fi
     % == Process stored data ==
     \bbl@csarg\xdef{lini@\languagename}{#1}%
     \bbl@read@ini@aux
@@ -10440,7 +10446,8 @@ help from Bernd Raichle, for which I am grateful.
     \global\let\bbl@inidata\@empty
     \bbl@exp{\\\bbl@add@list\\\bbl@ini@loaded{\languagename}}%
     \bbl@toglobal\bbl@ini@loaded
-  \fi}
+  \fi
+  \closein\bbl@readstream}
 \def\bbl@read@ini@aux{%
   \let\bbl@savestrings\@empty
   \let\bbl@savetoday\@empty
@@ -11074,7 +11081,7 @@ help from Bernd Raichle, for which I am grateful.
            \fi
            \AtBeginDocument{%
              \bbl@patchfont{\bbl@xenohyph}%
-             \expandafter\selectlanguage\expandafter{\languagename}}%
+             \expandafter\select@language\expandafter{\languagename}}%
         \fi}}%
   \fi
   \bbl@csarg\bbl@toglobal{lsys@#1}}
@@ -13677,6 +13684,7 @@ help from Bernd Raichle, for which I am grateful.
         \fi
     \repeat
   \fi
+  \closein\bbl@readstream
 \endgroup
 \bbl@trace{Macros for reading patterns files}
 \def\bbl@get@enc#1:#2:#3\@@@{\def\bbl@hyph@enc{#2}}
@@ -15226,6 +15234,11 @@ end
              {}}%
     \fi}
   \fi
+  \AtBeginDocument{%
+    \@ifpackageloaded{multicol}%
+      {\toks@\expandafter{\multi@column@out}%
+       \edef\multi@column@out{\bodydir\pagedir\the\toks@}}%
+      {}}
 \fi
 \ifx\bbl@opt@layout\@nnil\endinput\fi  % if no layout
 %    \end{macrocode}
@@ -15350,8 +15363,8 @@ end
         \bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
         \bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\z@}%
       \fi
-      \ifx\tikzpicture\@undefined\else    
-        \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
+      \ifx\tikzpicture\@undefined\else
+        \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\tw@}%
         \bbl@add\tikz@atbegin@node{\bbl@pictresetdir}%
         \bbl@sreplace\tikz{\begingroup}{\begingroup\bbl@pictsetdir\tw@}%
       \fi
@@ -15781,7 +15794,7 @@ function Babel.hyphenate_replace(head, mode)
             goto next
 
           elseif mode == 1 and crep and (crep.pre or crep.no or crep.post) then
-            d = node.new(7, 0)   -- (disc, discretionary)
+            d = node.new(7, 3)   -- (disc, regular)
             d.pre     = Babel.str_to_nodes(crep.pre, matches, item_base)
             d.post    = Babel.str_to_nodes(crep.post, matches, item_base)
             d.replace = Babel.str_to_nodes(crep.no, matches, item_base)
-- 
cgit v1.2.3

