texlive[67592] Master/texmf-dist: babel (9jul23)

commits+karl at tug.org commits+karl at tug.org
Sun Jul 9 21:49:07 CEST 2023


Revision: 67592
          http://tug.org/svn/texlive?view=revision&revision=67592
Author:   karl
Date:     2023-07-09 21:49:07 +0200 (Sun, 09 Jul 2023)
Log Message:
-----------
babel (9jul23)

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-transforms.lua
    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/he/babel-he.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.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	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md	2023-07-09 19:49:07 UTC (rev 67592)
@@ -1,6 +1,6 @@
-## Babel 3.90
+## Babel 3.91
 
-2023-06-26
+2023-07-09
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages. Many
@@ -10,9 +10,9 @@
 
 The latest stable version is available on <https://ctan.org/pkg/babel>.
 
-Changes in version 3.90 are described in:
+Changes in version 3.91 are described in:
 
-https://latex3.github.io/babel/news/whats-new-in-babel-3.90.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.91.html
 
 Apart from the manual, you can find information on some aspects of babel at:
 
@@ -48,18 +48,14 @@
 
 ### Summary of latest changes
 ```
-3.90  2023-06-26
-      * Main language selected at begindocument/before (#240).
-      * Option to limit the number of inserted tatweel.
-      * New macros `\BabelUppercaseMapping` and 
-        `\BabelLowercaseMapping`.
-      * Fix: line breaking was sometimes prevented when switching the
-        text direction (#213).
-      * Locale names (in ini files):
-        - `classicallatin` and `ecclesiasticallatin` now preferred to 
-          `classiclatin` and `ecclesiasticlatin`.
-        - `farsi` is a synonymous for `persian`. 
-        - `vietnam` removed - use `vietnamese`.
+3.91  2023-07-09
+      * Transform for transliterated Hebrew, based on cjhebrew.
+      * Fixes:
+        - alignat and alignat* (amsmath) should now work in RTL mode (#208).
+        - The package option `layout=extras` was severely broken (#246).
+        - English and Arabic documents broken when using paracol (#241).
+      * Experimental: transforming strings with
+        `\localeprehyphenation`.
 ```
 
 ### 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	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2023-07-09 19:49:07 UTC (rev 67592)
@@ -32,7 +32,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2023/06/26 v3.90 The Babel package]
+\ProvidesFile{babel.dtx}[2023/07/09 v3.91 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -2941,7 +2941,7 @@
 Arabic\\
 Assamese\\
 Bangla\\
-Tibetar\\
+Tibetan\\
 Bodo\\
 Central Kurdish\\
 Dzongkha\\
@@ -5466,8 +5466,8 @@
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.90>>
-%<<date=2023/06/26>>
+%<<version=3.91>>
+%<<date=2023/07/09>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -14436,13 +14436,8 @@
 \gdef\bbl at arabicjust{%
   \let\bbl at arabicjust\relax
   \newattribute\bblar at kashida
-  \newattribute\bblar at kashida@aux % 0, 1=tatweel, 2=diacritics
-  \directlua{%  WIP
-    Babel.attr_kashida = luatexbase.registernumber'bblar at kashida' 
-    Babel.attr_kashida_aux = luatexbase.registernumber'bblar at kashida@aux'
-  }%
+  \directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar at kashida' }%
   \bblar at kashida=\z@
-  \bblar at kashida@aux=\z@
   \bbl at patchfont{{\bbl at parsejalt}}%
   \directlua{
     Babel.arabic.elong_map   = Babel.arabic.elong_map or {}
@@ -14904,7 +14899,6 @@
   \@ifnextchar[{\bbl at settransform{0}}{\bbl at settransform{0}[]}}
 \gdef\babelposthyphenation{&%
   \@ifnextchar[{\bbl at settransform{1}}{\bbl at settransform{1}[]}}
-\gdef\bbl at postlinebreak{\bbl at settransform{2}[]} &% WIP
 \gdef\bbl at settransform#1[#2]#3#4#5{&%
   \ifcase#1
     \bbl at activateprehyphen
@@ -14985,7 +14979,7 @@
       local lbkr = Babel.linebreaking.replacements[#1]
       local u = unicode.utf8
       local id, attr, label
-      if #1 == 0 or #1 == 2 then
+      if #1 == 0 then
         id = \the\csname bbl at id@@#3\endcsname\space
       else
         id = \the\csname l@#3\endcsname\space
@@ -15000,7 +14994,7 @@
       \fi
       &% Convert pattern:
       local patt = string.gsub([==[#4]==], '%s', '')
-      if #1 == 0 or #1 == 2 then
+      if #1 == 0 then
         patt = string.gsub(patt, '|', ' ')
       end
       if not u.find(patt, '()', nil, true) then
@@ -15081,6 +15075,19 @@
   }}
 %    \end{macrocode}
 %
+% The following experimental (and unfinished) macro applies the
+% prehyphenation transforms for the current locale to a string
+% (characters and spaces) and processes it in a fully expandable way
+% (among other limitations, the string can’t contain |]==]|). The way
+% it operates is admittedly rather cumbersome: it converts the string
+% to a node list, processes it, and converts it back to a string. The
+% lua code is in the lua file below.
+%
+%    \begin{macrocode}
+\newcommand\localeprehyphenation[1]{%
+  \directlua{ Babel.string_prehyphenation([==[#1]==], \the\localeid) }}
+%    \end{macrocode}
+%
 % \subsection{Bidi}
 %
 % As a first step, add a handler for bidi and digits (and potentially
@@ -15376,10 +15383,13 @@
       \AddToHook{env/gather*/begin}{\bbl at ams@preset\bbl at ams@lap}%
       \AddToHook{env/align/begin}{\bbl at ams@preset\bbl at ams@lap}%
       \AddToHook{env/align*/begin}{\bbl at ams@preset\bbl at ams@lap}%
+      \AddToHook{env/alignat/begin}{\bbl at ams@preset\bbl at ams@lap}%
+      \AddToHook{env/alignat*/begin}{\bbl at ams@preset\bbl at ams@lap}%
       \AddToHook{env/eqnalign/begin}{\bbl at ams@preset\hbox}%
       % Hackish, for proper alignment. Don’t ask me why it works!:
       \bbl at exp{% Avoid a 'visible' conditional
-        \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
+        \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}%
+        \\\AddToHook{env/alignat*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
       \AddToHook{env/flalign/begin}{\bbl at ams@preset\hbox}%
       \AddToHook{env/split/before}{%
         \def\bbl at mathboxdir{\def\bbl at insidemath{1}}%
@@ -15488,11 +15498,23 @@
              {}}%
     \fi}
   \fi
+%    \end{macrocode}
+%
+% Very likely the |\output| routine must be patched in a quite general
+% way to make sure the |\bodydir| is set to |\pagedir|. Note outside
+% |\output| they can be different (and often are). For the moment, two
+% \textit{ad hoc} changes.
+%
+%    \begin{macrocode}
   \AtBeginDocument{%
     \@ifpackageloaded{multicol}%
       {\toks@\expandafter{\multi at column@out}%
        \edef\multi at column@out{\bodydir\pagedir\the\toks@}}%
-      {}}
+      {}%
+    \@ifpackageloaded{paracol}%
+      {\edef\pcol at output{%
+        \bodydir\pagedir\unexpanded\expandafter{\pcol at output}}}%
+      {}}%
 \fi
 \ifx\bbl at opt@layout\@nnil\endinput\fi  % if no layout
 %    \end{macrocode}
@@ -15684,9 +15706,12 @@
 %
 %    \begin{macrocode}
 \IfBabelLayout{extras}%
-  {\let\bbl at OL@underline\underline
-   \bbl at sreplace\underline{$\@@underline}{\bbl at nextfake$\@@underline}%
-   \let\bbl at OL@LaTeX2e\LaTeX2e
+  {\bbl at ncarg\let\bbl at OL@underline{underline }%
+   \bbl at carg\bbl at sreplace{underline }%
+     {$\@@underline}{\bgroup\bbl at nextfake$\@@underline}%
+   \bbl at carg\bbl at sreplace{underline }%
+     {\m at th$}{\m at th$\egroup}%
+   \let\bbl at OL@LaTeXe\LaTeXe
    \DeclareRobustCommand{\LaTeXe}{\mbox{\m at th
      \if b\expandafter\@car\f at series\@nil\boldmath\fi
      \babelsublr{%
@@ -15720,7 +15745,6 @@
 Babel.linebreaking.replacements = {}
 Babel.linebreaking.replacements[0] = {}  -- pre 
 Babel.linebreaking.replacements[1] = {}  -- post
-Babel.linebreaking.replacements[2] = {}  -- post-line WIP
 
 -- Discretionaries contain strings as nodes
 function Babel.str_to_nodes(fn, matches, base)
@@ -15872,7 +15896,6 @@
 function Babel.hyphenate_replace(head, mode)
   local u = unicode.utf8
   local lbkr = Babel.linebreaking.replacements[mode]
-  if mode == 2 then mode = 0 end -- WIP
 
   local word_head = head
 
@@ -16203,6 +16226,35 @@
   end
   return 'kashida = ' .. wt
 end
+
+-- Experimental: applies prehyphenation transforms to a string (letters
+-- and spaces). 
+function Babel.string_prehyphenation(str, locale)
+  local n, head, last, res
+  head = node.new(8, 0) -- dummy (hack just to start)
+  last = head
+  for s in string.utfvalues(str) do
+    if s == 20 then
+      n = node.new(12, 0)
+    else
+      n = node.new(29, 0)
+      n.char = s
+    end
+    node.set_attribute(n, Babel.attr_locale, locale)
+    last.next = n
+    last = n
+  end
+  head = Babel.hyphenate_replace(head, 0)  
+  res = ''
+  for n in node.traverse(head) do
+    if n.id == 12 then
+      res = res .. ' '
+    elseif n.id == 29 then
+      res = res .. unicode.utf8.char(n.char)
+    end
+  end 
+  tex.print(res)
+end
 %</transforms>
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins	2023-07-09 19:49:07 UTC (rev 67592)
@@ -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{2023/06/26}
+\def\filedate{2023/07/09}
 \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	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2023-07-09 19:49:07 UTC (rev 67592)
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2023/06/26 v3.90]
+\ProvidesFile{bbcompat.dtx}[2023/07/09 v3.91]
 %</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-transforms.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel-transforms.lua	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel-transforms.lua	2023-07-09 19:49:07 UTC (rev 67592)
@@ -36,7 +36,6 @@
 Babel.linebreaking.replacements = {}
 Babel.linebreaking.replacements[0] = {}  -- pre
 Babel.linebreaking.replacements[1] = {}  -- post
-Babel.linebreaking.replacements[2] = {}  -- post-line WIP
 
 -- Discretionaries contain strings as nodes
 function Babel.str_to_nodes(fn, matches, base)
@@ -188,7 +187,6 @@
 function Babel.hyphenate_replace(head, mode)
   local u = unicode.utf8
   local lbkr = Babel.linebreaking.replacements[mode]
-  if mode == 2 then mode = 0 end -- WIP
 
   local word_head = head
 
@@ -519,3 +517,32 @@
   end
   return 'kashida = ' .. wt
 end
+
+-- Experimental: applies prehyphenation transforms to a string (letters
+-- and spaces).
+function Babel.string_prehyphenation(str, locale)
+  local n, head, last, res
+  head = node.new(8, 0) -- dummy (hack just to start)
+  last = head
+  for s in string.utfvalues(str) do
+    if s == 20 then
+      n = node.new(12, 0)
+    else
+      n = node.new(29, 0)
+      n.char = s
+    end
+    node.set_attribute(n, Babel.attr_locale, locale)
+    last.next = n
+    last = n
+  end
+  head = Babel.hyphenate_replace(head, 0)
+  res = ''
+  for n in node.traverse(head) do
+    if n.id == 12 then
+      res = res .. ' '
+    elseif n.id == 29 then
+      res = res .. unicode.utf8.char(n.char)
+    end
+  end
+  tex.print(res)
+end

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.def	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def	2023-07-09 19:49:07 UTC (rev 67592)
@@ -40,7 +40,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{babel.def}[2023/06/26 v3.90 Babel common definitions]
+\ProvidesFile{babel.def}[2023/07/09 v3.91 Babel common definitions]
 \ifx\AtBeginDocument\@undefined  % TODO. change test.
   \def\@empty{}
 \def\loadlocalcfg#1{%
@@ -595,8 +595,8 @@
     \toks@\expandafter{\bbl at tempc#3}%
     \expandafter\edef\csname extras\languagename\endcsname{\the\toks@}%
   \fi}
-\def\bbl at version{3.90}
-\def\bbl at date{2023/06/26}
+\def\bbl at version{3.91}
+\def\bbl at date{2023/07/09}
 \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	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2023-07-09 19:49:07 UTC (rev 67592)
@@ -34,7 +34,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2023/06/26 v3.90 The Babel package]
+\ProvidesPackage{babel}[2023/07/09 v3.91 The Babel package]
 \@ifpackagewith{babel}{debug}
   {\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
    \let\bbl at debug\@firstofone
@@ -470,8 +470,8 @@
       \expandafter\@secondoftwo
     \fi}
 \fi
-\def\bbl at version{3.90}
-\def\bbl at date{2023/06/26}
+\def\bbl at version{3.91}
+\def\bbl at date{2023/07/09}
 \ifx\language\@undefined
   \csname newcount\endcsname\language
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2023-07-09 19:49:07 UTC (rev 67592)
@@ -38,10 +38,10 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{hyphen.cfg}[2023/06/26 v3.90 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2023/07/09 v3.91 Babel hyphens]
 \xdef\bbl at format{\jobname}
-\def\bbl at version{3.90}
-\def\bbl at date{2023/06/26}
+\def\bbl at version{3.91}
+\def\bbl at date{2023/07/09}
 \ifx\AtBeginDocument\@undefined
   \def\@empty{}
 \fi

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/he/babel-he.ini	2023-07-09 19:49:07 UTC (rev 67592)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.7
-date = 2022-12-08
+version = 1.8
+date = 2023-07-08
 name.local = עברית
 name.english = Hebrew
 name.babel = hebrew
@@ -220,4 +220,26 @@
 letters.3    = ק ר ש ת תק תר תש תת תתק
 letters.4    = א׳ ב׳ ג׳ ד׳ ה׳ ו׳ ז׳ ח׳ ט׳
 
+[transforms.prehyphenation]
+transliteration.cj.1.0 = { ([aAE]): }
+transliteration.cj.1.1 =   { string = {1|aAE|ֱֲֳ} }
+transliteration.cj.1.2 =   { remove }
+transliteration.cj.2.0 = { ([/{+}])s }
+transliteration.cj.2.1 =   { string = {1|/{002C}+|ששׂשׁ} }
+transliteration.cj.2.2 =   { remove }
+transliteration.cj.3.0 = { {-}{-} }
+transliteration.cj.3.1 =   { string = ־ }
+transliteration.cj.3.2 =   { remove }
+transliteration.cj.4.0 = { {.}([htsS]) }
+transliteration.cj.4.1 =   { remove }
+transliteration.cj.4.2 =   { string = {1|htsS|חטצץ} }
+transliteration.cj.5.0 = { /a({a}) }
+transliteration.cj.5.1 =   { remove }
+transliteration.cj.5.2 =   { string = {1} }
+transliteration.cj.5.3 =   { string =  ַ}
+transliteration.cj.6.0 = { w([o{*}]) }
+transliteration.cj.6.1 =   { string = {1|o*|וֹוּ} }
+transliteration.cj.7.0 = { ([aAbdeEghikKlmMnNoOpPqrstuUwyz{*}:'’`‘;]) }
+transliteration.cj.7.1 =   { string = {1|aAbdeEghikKlmMnNoOpPqrstuUwyz*:'’`‘;|ַָבדֵֶגהִכךלמםנןֹוֹפףקרסתֻוּויזְּאאעע׃} }
 
+

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/yi/babel-yi.ini	2023-07-09 19:49:07 UTC (rev 67592)
@@ -9,8 +9,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2023-03-11
+version = 1.6
+date = 2023-07-08
 name.local = ייִדיש
 name.english = Yiddish
 name.babel = yiddish
@@ -176,3 +176,34 @@
 superscriptingExponent = ×
 
 [counters]
+letters.1    = א ב ג  ד  ה ו  ז  ח ט
+letters.2    = י כ ל מ נ ס ע פ צ
+letters.F.15 = טו
+letters.F.16 = טז
+letters.F.17 = יז
+letters.F.18 = יח
+letters.F.19 = יט
+letters.3    = ק ר ש ת תק תר תש תת תתק
+letters.4    = א׳ ב׳ ג׳ ד׳ ה׳ ו׳ ז׳ ח׳ ט׳
+
+[transforms.prehyphenation]
+transliteration.cj.1.0 = { ([aAE]): }
+transliteration.cj.1.1 =   { string = {1|aAE|ֱֲֳ} }
+transliteration.cj.1.2 =   { remove }
+transliteration.cj.2.0 = { ([/{+}])s }
+transliteration.cj.2.1 =   { string = {1|/{002C}+|ששׂשׁ} }
+transliteration.cj.2.2 =   { remove }
+transliteration.cj.3.0 = { {-}{-} }
+transliteration.cj.3.1 =   { string = ־ }
+transliteration.cj.3.2 =   { remove }
+transliteration.cj.4.0 = { {.}([htsS]) }
+transliteration.cj.4.1 =   { remove }
+transliteration.cj.4.2 =   { string = {1|htsS|חטצץ} }
+transliteration.cj.5.0 = { /a({a}) }
+transliteration.cj.5.1 =   { remove }
+transliteration.cj.5.2 =   { string = {1} }
+transliteration.cj.5.3 =   { string =  ַ}
+transliteration.cj.6.0 = { w([o{*}]) }
+transliteration.cj.6.1 =   { string = {1|o*|וֹוּ} }
+transliteration.cj.7.0 = { ([aAbdeEghikKlmMnNoOpPqrstuUwyz{*}:'’`‘;]) }
+transliteration.cj.7.1 =   { string = {1|aAbdeEghikKlmMnNoOpPqrstuUwyz*:'’`‘;|ַָבדֵֶגהִכךלמםנןֹוֹפףקרסתֻוּויזְּאאעע׃} }

Modified: trunk/Master/texmf-dist/tex/generic/babel/luababel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2023-07-09 19:49:07 UTC (rev 67592)
@@ -604,13 +604,8 @@
 \gdef\bbl at arabicjust{%
   \let\bbl at arabicjust\relax
   \newattribute\bblar at kashida
-  \newattribute\bblar at kashida@aux % 0, 1=tatweel, 2=diacritics
-  \directlua{%  WIP
-    Babel.attr_kashida = luatexbase.registernumber'bblar at kashida'
-    Babel.attr_kashida_aux = luatexbase.registernumber'bblar at kashida@aux'
-  }%
+  \directlua{ Babel.attr_kashida = luatexbase.registernumber'bblar at kashida' }%
   \bblar at kashida=\z@
-  \bblar at kashida@aux=\z@
   \bbl at patchfont{{\bbl at parsejalt}}%
   \directlua{
     Babel.arabic.elong_map   = Babel.arabic.elong_map or {}
@@ -1179,7 +1174,6 @@
   \@ifnextchar[{\bbl at settransform{0}}{\bbl at settransform{0}[]}}
 \gdef\babelposthyphenation{&%
   \@ifnextchar[{\bbl at settransform{1}}{\bbl at settransform{1}[]}}
-\gdef\bbl at postlinebreak{\bbl at settransform{2}[]} &% WIP
 \gdef\bbl at settransform#1[#2]#3#4#5{&%
   \ifcase#1
     \bbl at activateprehyphen
@@ -1260,7 +1254,7 @@
       local lbkr = Babel.linebreaking.replacements[#1]
       local u = unicode.utf8
       local id, attr, label
-      if #1 == 0 or #1 == 2 then
+      if #1 == 0 then
         id = \the\csname bbl at id@@#3\endcsname\space
       else
         id = \the\csname l@#3\endcsname\space
@@ -1275,7 +1269,7 @@
       \fi
       &% Convert pattern:
       local patt = string.gsub([==[#4]==], '%s', '')
-      if #1 == 0 or #1 == 2 then
+      if #1 == 0 then
         patt = string.gsub(patt, '|', ' ')
       end
       if not u.find(patt, '()', nil, true) then
@@ -1354,6 +1348,8 @@
     require('babel-transforms.lua')
     Babel.linebreaking.add_before(Babel.pre_hyphenate_replace)
   }}
+\newcommand\localeprehyphenation[1]{%
+  \directlua{ Babel.string_prehyphenation([==[#1]==], \the\localeid) }}
 \def\bbl at activate@preotf{%
   \let\bbl at activate@preotf\relax  % only once
   \directlua{
@@ -1581,10 +1577,13 @@
       \AddToHook{env/gather*/begin}{\bbl at ams@preset\bbl at ams@lap}%
       \AddToHook{env/align/begin}{\bbl at ams@preset\bbl at ams@lap}%
       \AddToHook{env/align*/begin}{\bbl at ams@preset\bbl at ams@lap}%
+      \AddToHook{env/alignat/begin}{\bbl at ams@preset\bbl at ams@lap}%
+      \AddToHook{env/alignat*/begin}{\bbl at ams@preset\bbl at ams@lap}%
       \AddToHook{env/eqnalign/begin}{\bbl at ams@preset\hbox}%
       % Hackish, for proper alignment. Don’t ask me why it works!:
       \bbl at exp{% Avoid a 'visible' conditional
-        \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
+        \\\AddToHook{env/align*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}%
+        \\\AddToHook{env/alignat*/end}{\<iftag@>\<else>\\\tag*{}\<fi>}}%
       \AddToHook{env/flalign/begin}{\bbl at ams@preset\hbox}%
       \AddToHook{env/split/before}{%
         \def\bbl at mathboxdir{\def\bbl at insidemath{1}}%
@@ -1696,7 +1695,11 @@
     \@ifpackageloaded{multicol}%
       {\toks@\expandafter{\multi at column@out}%
        \edef\multi at column@out{\bodydir\pagedir\the\toks@}}%
-      {}}
+      {}%
+    \@ifpackageloaded{paracol}%
+      {\edef\pcol at output{%
+        \bodydir\pagedir\unexpanded\expandafter{\pcol at output}}}%
+      {}}%
 \fi
 \ifx\bbl at opt@layout\@nnil\endinput\fi  % if no layout
 \ifnum\bbl at bidimode>\z@ % Any bidi=
@@ -1906,9 +1909,12 @@
    \BabelFootnote\mainfootnote{}{}{}}
   {}
 \IfBabelLayout{extras}%
-  {\let\bbl at OL@underline\underline
-   \bbl at sreplace\underline{$\@@underline}{\bbl at nextfake$\@@underline}%
-   \let\bbl at OL@LaTeX2e\LaTeX2e
+  {\bbl at ncarg\let\bbl at OL@underline{underline }%
+   \bbl at carg\bbl at sreplace{underline }%
+     {$\@@underline}{\bgroup\bbl at nextfake$\@@underline}%
+   \bbl at carg\bbl at sreplace{underline }%
+     {\m at th$}{\m at th$\egroup}%
+   \let\bbl at OL@LaTeXe\LaTeXe
    \DeclareRobustCommand{\LaTeXe}{\mbox{\m at th
      \if b\expandafter\@car\f at series\@nil\boldmath\fi
      \babelsublr{%

Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2023-07-09 19:48:32 UTC (rev 67591)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2023-07-09 19:49:07 UTC (rev 67592)
@@ -33,7 +33,7 @@
 %% extension |.ins|) which are part of the distribution.
 %%
 
-\ProvidesLanguage{nil}[2023/06/26 v3.90 Nil language]
+\ProvidesLanguage{nil}[2023/07/09 v3.91 Nil language]
 \LdfInit{nil}{datenil}
 \ifx\l at nil\@undefined
   \newlanguage\l at nil



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