texlive[58797] Master/texmf-dist: babel (9apr21)

commits+preining at tug.org commits+preining at tug.org
Thu Apr 8 23:22:57 CEST 2021


Revision: 58797
          http://tug.org/svn/texlive?view=revision&revision=58797
Author:   preining
Date:     2021-04-08 23:22:57 +0200 (Thu, 08 Apr 2021)
Log Message:
-----------
babel (9apr21)

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/locale/ar/babel-ar.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
    trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex
    trunk/Master/texmf-dist/tex/generic/babel/luababel.def
    trunk/Master/texmf-dist/tex/generic/babel/nil.ldf

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex

Modified: trunk/Master/texmf-dist/doc/latex/babel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/babel/README.md	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md	2021-04-08 21:22:57 UTC (rev 58797)
@@ -1,4 +1,4 @@
-## Babel 3.56
+## Babel 3.57
 
 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.56 are described in:
+Changes in version 3.57 are described in:
 
-https://github.com/latex3/babel/blob/master/news-guides/news/whats-new-in-babel-3.56.md
+https://github.com/latex3/babel/blob/master/news-guides/news/whats-new-in-babel-3.57.md
 
 Apart from the manual, you can find information on some aspects of babel at:
 
@@ -46,16 +46,16 @@
 
 ### Summary of Latest changes
 ```
-3.56   2021-03-24
-       * Transforms (\babelprehyphenation, \babelposthyphenation)
-         - Key 'space', in em units.
-         - Key 'spacefactor', based on the current word separation.
-         - Multiple 'insert's allowed.
-         - Definable in 'ini' files.
-         - Arbitrary characters in pattern.
-       * Fixes:
-         - 'insert' and 'data' didn't always set/get the expected node.
-         - Hyphen was not shown in Marathi (#123)
+3.57   2021-04-07
+       * Predefined transforms (lua):
+         - Arabic:     transliteration.dad
+         - Croatian:   digraphs.ligatures
+         - Greek:      diaeresis.hyphen
+         - Hindi:      transliteration.hk
+         - Hungarian:  digraphs.hyphen
+       * Transforms: {xxxx} syntax also in string=.
+       * Preliminary code for Uyghur hyphenation (lua).
+       * magyar as alternative to hungarian in \babelprovide.
 ```
 
 ### 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-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2021-04-08 21:22:57 UTC (rev 58797)
@@ -31,7 +31,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2021/03/24 v3.56 The Babel package]
+\ProvidesFile{babel.dtx}[2021/04/07 v3.57 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -3017,9 +3017,56 @@
 but not the same, as those in Unicode.}
 
 It currently embraces |\babelprehyphenation| and
-|\babelposthyphenation|, which have been available for several months.
-\New{3.56} In this version they can be defined in |ini| files, too.
+|\babelposthyphenation|.
 
+\New{3.57} Several \textsf{ini} files predefine some transforms. They
+are activated with the key |transforms| in |\babelprovide|, either if
+the locale is being defined with this macro or the languages has been
+previouly loaded as a class or package option, as the following example
+illustrates:
+\begin{verbatim}
+  \usepackage[magyar]{babel}
+  \babelprovide[_transforms = digraphs.hyphen_]{magyar}
+\end{verbatim}
+
+Here are the transforms currently predefined. (More to follow 
+in future releases.)
+
+\begingroup
+\def\trans#1#2#3{%
+  \vspace{1mm}%
+  \parbox[t]{2.4cm}{\strut#1}%
+  \parbox[t]{4.2cm}{\strut\ttfamily#2}%
+  \parbox[t]{6.6cm}{\strut#3}\par}
+\bigskip\hrule\nobreak\vspace{1mm}
+% \strut\hfil Transforms 
+% \medskip\hrule\nobreak
+
+\trans{Arabic}{transliteration.dad}{Applies the transliteration system
+devised by Yannis Haralambous for \textsf{dad} (simple and
+\TeX-friendly). Not yet complete, but sufficient for most texts.}
+
+\trans{Croatian}{digraphs.ligatures}{Ligatures \textit{DŽ}, \textit{Dž},
+\textit{dž}, \textit{LJ}, \textit{Lj}, \textit{lj}, \textit{NJ},
+\textit{Nj}, \textit{nj}. It assumes they exist. This is not the
+recommended way to make these transformations (the best way is with
+OTF features), but it can get you out of a hurry.}
+
+\trans{Greek}{diaeresis.hyphen}{Removes the diaeresis above iota and
+upsilon if hyphenated just before. It works with the
+three variants.}
+
+\trans{Hindi}{transliteration.hk}{The Harvard-Kyoto system to romanize
+Devanagari.}
+
+\trans{Hungarian}{digraphs.hyphen}{Hyphenates the long digraphs
+\textit{ccs}, \textit{ddz}, \textit{ggy}, \textit{lly}, \textit{nny},
+\textit{ssz}, \textit{tty} and \textit{zzs} as \textit{cs-cs},
+\textit{dz-dz}, etc.}
+
+\vspace{2mm}\hrule\nobreak
+\endgroup
+
 \Describe{\babelposthyphenation}{\marg{hyphenrules-name}%
           \marg{lua-pattern}\marg{replacement}}
 
@@ -3062,10 +3109,11 @@
           \marg{lua-pattern}\marg{replacement}}
 
 \New{3.44-3-52} It is similar to the latter, but (as its name implies)
-applied before hyphenation. There are other differences: (1) the first
-argument is the locale instead the name of hyphenation patterns; (2) in
-the search patterns |=| has no special meaning, while \verb+|+ stands
-for an ordinary space; (3) in the replacement, discretionaries are not
+applied before hyphenation, which is particularly useful in
+transliterations. There are other differences: (1) the first argument
+is the locale instead of the name of the hyphenation patterns; (2) in the
+search patterns |=| has no special meaning, while \verb+|+ stands for
+an ordinary space; (3) in the replacement, discretionaries are not
 accepted.
 
 It handles glyphs and spaces.
@@ -3092,9 +3140,9 @@
   end of a line:
 \begin{verbatim}
 \babelprehyphenation{english}{|a|}
-  {}, {},                     % Keep first space and a
-  {insert, penalty = 10000},  % Insert penalty
-  {}                          % Keep last space
+  {}, {},                       % Keep first space and a
+  { insert, penalty = 10000 },  % Insert penalty
+  {}                            % Keep last space
 }
 \end{verbatim}
 \end{example}
@@ -4862,8 +4910,8 @@
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.56>>
-%<<date=2021/03/24>>
+%<<version=3.57>>
+%<<date=2021/04/07>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -10671,6 +10719,7 @@
   \let\bbl at KVP@intrapenalty\@nil
   \let\bbl at KVP@onchar\@nil
   \let\bbl at KVP@transforms\@nil
+  \global\let\bbl at release@transforms\@empty
   \let\bbl at KVP@alph\@nil
   \let\bbl at KVP@Alph\@nil
   \let\bbl at KVP@labels\@nil
@@ -10792,7 +10841,7 @@
           Babel.loc_to_scr[\the\localeid] =
             Babel.script_blocks['\bbl at cl{sbcp}']
         end}%
-      \ifx\bbl at mapselect\@undefined
+      \ifx\bbl at mapselect\@undefined  % TODO. almost the same as mapfont
         \AtBeginDocument{%
           \expandafter\bbl at add\csname selectfont \endcsname{{\bbl at mapselect}}%
           {\selectfont}}%
@@ -10820,7 +10869,7 @@
                  {See the manual for details.}}}%
     \bbl at ifunset{bbl at lsys@\languagename}{\bbl at provide@lsys{\languagename}}{}%
     \bbl at ifunset{bbl at wdir@\languagename}{\bbl at provide@dirs{\languagename}}{}%
-    \ifx\bbl at mapselect\@undefined
+    \ifx\bbl at mapselect\@undefined % TODO. See onchar
       \AtBeginDocument{%
         \expandafter\bbl at add\csname selectfont \endcsname{{\bbl at mapselect}}%
         {\selectfont}}%
@@ -10962,6 +11011,8 @@
          \let\atcatcode\relax
        \fi}%
   \fi
+  % == Release saved transforms ==
+  \bbl at release@transforms\relax % \relax closes the last item.
   % == main ==
   \ifx\bbl at KVP@main\@nil  % Restore only if not 'main'
     \let\languagename\bbl at savelangname
@@ -11339,8 +11390,6 @@
   \ifbbl at bcptoname
     \bbl at csarg\xdef{bcp at map@\bbl at cl{tbcp}}{\languagename}%
   \fi
-  % Finish here transforms, too
-  \bbl at release@transforms\relax  % \relax closes the last item.
   % Conditional
   \ifnum#1>\z@         % 0 = only info, 1, 2 = basic, (re)new
     \bbl at exportkey{lnbrk}{typography.linebreaking}{h}%
@@ -11721,10 +11770,10 @@
       \ifin@
         \in@{.0$}{#2$}&%
         \ifin@
-            \bbl at add\bbl at release@transforms{&%
+           \g at addto@macro\bbl at release@transforms{&%
               \relax\bbl at transforms@aux#1{\languagename}{#3}}&%
-          \else
-            \bbl at add\bbl at release@transforms{, {#3}}&%
+        \else
+           \g at addto@macro\bbl at release@transforms{, {#3}}&%
         \fi
       \fi
     \fi}
@@ -13360,10 +13409,10 @@
   Babel.linebreaking = Babel.linebreaking or {}
   Babel.linebreaking.before = {}
   Babel.linebreaking.after = {}
-  Babel.locale = {} % Free to use, indexed with \localeid
+  Babel.locale = {} % Free to use, indexed by \localeid
   function Babel.linebreaking.add_before(func)
     tex.print([[\noexpand\csname bbl at luahyphenate\endcsname]])
-    table.insert(Babel.linebreaking.before , func)
+    table.insert(Babel.linebreaking.before, func)
   end
   function Babel.linebreaking.add_after(func)
     tex.print([[\noexpand\csname bbl at luahyphenate\endcsname]])
@@ -13841,17 +13890,15 @@
         local locale = node.get_attribute(item, Babel.attr_locale)
 
         if lang == locale or lang == nil then
-          if (item.char ~= 124) then &% ie, not | = space
-            lang = lang or locale
-            word_string = word_string .. unicode.utf8.char(item.char)
-            word_nodes[#word_nodes+1] = item
-          end
+          lang = lang or locale
+          word_string = word_string .. unicode.utf8.char(item.char)
+          word_nodes[#word_nodes+1] = item
         else
           break
         end
 
       elseif item.id == 12 and item.subtype == 13 then
-        word_string = word_string .. '|'
+        word_string = word_string .. ' '
         word_nodes[#word_nodes+1] = item
 
       &% Ignore leading unrecognized nodes, too.
@@ -13865,7 +13912,7 @@
 
     &% Here and above we remove some trailing chars but not the
     &% corresponding nodes. But they aren't accessed. 
-    if word_string:sub(-1) == '|' then
+    if word_string:sub(-1) == ' ' then
       word_string = word_string:sub(1,-2)
     end
     word_string = unicode.utf8.gsub(word_string, Babel.us_char .. '+$', '')
@@ -14050,6 +14097,16 @@
 
             if Babel.debug then
               Babel.debug_hyph(w, w_nodes, sc, first, last, last_match)
+              local ss = ''
+              for itt in node.traverse(head) do
+               if itt.id == 29 then
+                 ss = ss .. unicode.utf8.char(itt.char)
+               else
+                 ss = ss .. '{' .. itt.id .. '}'
+               end
+              end
+              print('*****************', ss)
+
             end
 
             local crep = r[rc]
@@ -14141,7 +14198,7 @@
                               crep.space[2] * quad,
                               crep.space[3] * quad)
               if mode == 0 then
-                placeholder = '|'
+                placeholder = ' '
               end
               head, new = node.insert_before(head, item, d)
 
@@ -14153,7 +14210,7 @@
                 crep.spacefactor[2] * base_font.parameters['space_stretch'],
                 crep.spacefactor[3] * base_font.parameters['space_shrink'])
               if mode == 0 then
-                placeholder = '|'
+                placeholder = ' '
               end
               head, new = node.insert_before(head, item, d)
 
@@ -14203,7 +14260,15 @@
   &% The following functions belong to the next macro
   function Babel.capture_func(key, cap)
     local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]"
-    ret = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map)
+    local cnt
+    local u = unicode.utf8
+    ret, cnt = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map)
+    if cnt == 0 then
+      ret = u.gsub(ret, '{(%x%x%x%x+)}', 
+            function (n)
+              return u.char(tonumber(n, 16))
+            end)
+    end
     ret = ret:gsub("%[%[%]%]%.%.", '')
     ret = ret:gsub("%.%.%[%[%]%]", '')
     return key .. [[=function(m) return ]] .. ret .. [[ end]]
@@ -14215,6 +14280,15 @@
 
   &% Handle the {n|abc|ABC} syntax in captures
   function Babel.capture_func_map(capno, from, to)
+    local u = unicode.utf8
+    from = u.gsub(from, '{(%x%x%x%x+)}', 
+         function (n)
+           return u.char(tonumber(n, 16))
+         end)
+    to = u.gsub(to, '{(%x%x%x%x+)}', 
+         function (n)
+           return u.char(tonumber(n, 16))
+         end)
     local froms = {}
     for s in string.utfcharacters(from) do
       table.insert(froms, s)
@@ -14319,6 +14393,7 @@
       local id = \the\csname bbl at id@@#1\endcsname
       &% Convert pattern:
       local patt = string.gsub([==[#2]==], '%s', '')
+      local patt = string.gsub(patt, '|', ' ')
       if not u.find(patt, '()', nil, true) then
         patt = '()' .. patt .. '()'
       end     
@@ -14334,7 +14409,7 @@
              end)
       lbkr[id] = lbkr[id] or {}
       table.insert(lbkr[id], { pattern = patt, replace = { \babeltempb } })
-    }&%
+    }&%    
   \endgroup}
 \endgroup
 \def\bbl at activateposthyphen{%

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins	2021-04-08 21:22:57 UTC (rev 58797)
@@ -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/03/24}
+\def\filedate{2021/04/07}
 \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-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2021-04-08 21:22:57 UTC (rev 58797)
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2021/03/24 v3.56]
+\ProvidesFile{bbcompat.dtx}[2021/04/07 v3.57]
 %</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-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def	2021-04-08 21:22:57 UTC (rev 58797)
@@ -39,7 +39,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{babel.def}[2021/03/24 3.56 Babel common definitions]
+\ProvidesFile{babel.def}[2021/04/07 3.57 Babel common definitions]
 \ifx\AtBeginDocument\@undefined  % TODO. change test.
     % == Code for plain ==
 \def\@empty{}
@@ -397,8 +397,8 @@
 \fi
 \countdef\last at language=19  % TODO. why? remove?
 \def\addlanguage{\csname newlanguage\endcsname}
-\def\bbl at version{3.56}
-\def\bbl at date{2021/03/24}
+\def\bbl at version{3.57}
+\def\bbl at date{2021/04/07}
 \def\adddialect#1#2{%
   \global\chardef#1#2\relax
   \bbl at usehooks{adddialect}{{#1}{#2}}%
@@ -2336,6 +2336,7 @@
   \let\bbl at KVP@intrapenalty\@nil
   \let\bbl at KVP@onchar\@nil
   \let\bbl at KVP@transforms\@nil
+  \global\let\bbl at release@transforms\@empty
   \let\bbl at KVP@alph\@nil
   \let\bbl at KVP@Alph\@nil
   \let\bbl at KVP@labels\@nil
@@ -2457,7 +2458,7 @@
           Babel.loc_to_scr[\the\localeid] =
             Babel.script_blocks['\bbl at cl{sbcp}']
         end}%
-      \ifx\bbl at mapselect\@undefined
+      \ifx\bbl at mapselect\@undefined  % TODO. almost the same as mapfont
         \AtBeginDocument{%
           \expandafter\bbl at add\csname selectfont \endcsname{{\bbl at mapselect}}%
           {\selectfont}}%
@@ -2485,7 +2486,7 @@
                  {See the manual for details.}}}%
     \bbl at ifunset{bbl at lsys@\languagename}{\bbl at provide@lsys{\languagename}}{}%
     \bbl at ifunset{bbl at wdir@\languagename}{\bbl at provide@dirs{\languagename}}{}%
-    \ifx\bbl at mapselect\@undefined
+    \ifx\bbl at mapselect\@undefined % TODO. See onchar
       \AtBeginDocument{%
         \expandafter\bbl at add\csname selectfont \endcsname{{\bbl at mapselect}}%
         {\selectfont}}%
@@ -2627,6 +2628,8 @@
          \let\atcatcode\relax
        \fi}%
   \fi
+  % == Release saved transforms ==
+  \bbl at release@transforms\relax % \relax closes the last item.
   % == main ==
   \ifx\bbl at KVP@main\@nil  % Restore only if not 'main'
     \let\languagename\bbl at savelangname
@@ -2924,8 +2927,6 @@
   \ifbbl at bcptoname
     \bbl at csarg\xdef{bcp at map@\bbl at cl{tbcp}}{\languagename}%
   \fi
-  % Finish here transforms, too
-  \bbl at release@transforms\relax  % \relax closes the last item.
   % Conditional
   \ifnum#1>\z@         % 0 = only info, 1, 2 = basic, (re)new
     \bbl at exportkey{lnbrk}{typography.linebreaking}{h}%
@@ -3236,10 +3237,10 @@
       \ifin@
         \in@{.0$}{#2$}&%
         \ifin@
-            \bbl at add\bbl at release@transforms{&%
+           \g at addto@macro\bbl at release@transforms{&%
               \relax\bbl at transforms@aux#1{\languagename}{#3}}&%
-          \else
-            \bbl at add\bbl at release@transforms{, {#3}}&%
+        \else
+           \g at addto@macro\bbl at release@transforms{, {#3}}&%
         \fi
       \fi
     \fi}

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2021-04-08 21:22:57 UTC (rev 58797)
@@ -33,7 +33,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2021/03/24 3.56 The Babel package]
+\ProvidesPackage{babel}[2021/04/07 3.57 The Babel package]
 \@ifpackagewith{babel}{debug}
   {\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
    \let\bbl at debug\@firstofone

Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2021-04-08 21:22:57 UTC (rev 58797)
@@ -37,10 +37,10 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{hyphen.cfg}[2021/03/24 3.56 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2021/04/07 3.57 Babel hyphens]
 \xdef\bbl at format{\jobname}
-\def\bbl at version{3.56}
-\def\bbl at date{2021/03/24}
+\def\bbl at version{3.57}
+\def\bbl at date{2021/04/07}
 \ifx\AtBeginDocument\@undefined
   \def\@empty{}
   \let\orig at dump\dump

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ar/babel-ar.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.7
-date = 2020-10-11
+version = 1.8
+date = 2021-04-05
 name.local = العربية
 name.english = Arabic
 name.babel = arabic
@@ -176,4 +176,35 @@
 abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن س ع ف ص ق ر ش ت ث خ ذ ض ظ غ
 maghrebi.abjad = ا ب ج د ه‍ و ز ح ط ي ك ل م ن ص ع ف ض ق ر س ت ث خ ذ ظ غ ش
 
+[transforms.prehyphenation]
+; Yannis Haralambous' system in his 'dad'. Only two rules are missing.
+; 3-letter
+transliteration.dad.1.0 = { {+}a{*} }
+transliteration.dad.1.2 =   { string = ٰ }
+transliteration.dad.1.2 =   { string = ّ }
+transliteration.dad.1.3 =   { remove }
+transliteration.dad.2.0 = { {+}([aui])N }
+transliteration.dad.2.2 =   { string = {1|aui|ًٌٍ} }
+transliteration.dad.2.2 =   { string = ّ }
+transliteration.dad.2.3 =   { remove }
+; 2-letter
+transliteration.dad.3.0 = { ([aui])N }
+transliteration.dad.3.1 =   { string = {1|aui|ًٌٍ} }
+transliteration.dad.3.2 =   { remove }
+transliteration.dad.4.0 = { ([tAa]){*} }
+transliteration.dad.4.1 =   { string = {1|tAa|ةٱٰ} }
+transliteration.dad.4.2 =   { remove } 
+transliteration.dad.5.0 = { ([tds])h }
+transliteration.dad.5.1 =   { string = {1|tds|ثذش} }
+transliteration.dad.5.2 =   { remove }
+transliteration.dad.6.0 = { {+}([aui]) }
+transliteration.dad.6.1 =   { string = {1|aui|َُِ} } 
+transliteration.dad.6.2 =   { string = ّ }
+transliteration.dad.7.0 = { '([AauiIbnf]) }
+transliteration.dad.7.1 =   { remove }
+transliteration.dad.7.2 =   { string = {1|AauiIbnf|آأؤإئٮںڡ} }
+; 1-letter
+transliteration.dad.8.0 = { ([{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe]) }
+transliteration.dad.8.1 =   { string = {1|{007C}AbtjHxdrzsSDTZ`RfqklmnhUIYaui+opCvgJe|ءابتجحخدرزسصضطظعغفقكلمنهوىيَُِّْپچڤگژۀ} }
 
+

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -4,8 +4,8 @@
 
 [identification]
 charset             = utf8
-version = 0.6
-date = 2020-06-30
+version = 0.7
+date = 2021-04-05
 name.local          = Ἐλληνικά
 ; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
 name.english        = Polytonic Greek
@@ -204,4 +204,7 @@
 upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ
 upper.ancient.S.321 = ʹ
 
-
+[transforms.posthyphenation]
+diaeresis.hyphen.1.0 = { |([ϊΐῒῗϋΰῢῧ]) }
+diaeresis.hyphen.1.1 = { remove }
+diaeresis.hyphen.1.2 = { no = {1}, pre = -, post = {1|ϊΐῒῗϋΰῢῧ|ιίὶῖυύὺῦ} }

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2020-06-30
+version = 1.6
+date = 2021-04-05
 name.local = Ελληνικά
 name.english = Greek
 name.babel = greek
@@ -210,3 +210,8 @@
 upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ
 upper.ancient.S.321 = ʹ
 
+[transforms.posthyphenation]
+diaeresis.hyphen.1.0 = { |([ϊΐϋΰ]) }
+diaeresis.hyphen.1.1 = { remove }
+diaeresis.hyphen.1.2 = { no = {1}, pre = -, post = {1|ϊΐϋΰ|ιίυύ} }
+

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/es/babel-es.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -183,10 +183,3 @@
 superscriptingExponent = ×
 
 [counters]
-
-[transforms.prehyphenation]
-; Experimental. Don't use in production
-percent.space.1.0 = { {d}{0025} }
-percent.space.1.1 = {}
-percent.space.1.2 = { insert, spacefactor = .5 .3 .5, data = 1 }
-percent.space.1.3 = {}

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2020-06-30
+version = 1.6
+date = 2021-04-05
 name.local = Αρχαία ελληνικά
 name.english = Ancient Greek 
 name.babel = greek
@@ -185,4 +185,9 @@
 upper.ancient.2 = Ι Κ Λ Μ Ν Ξ Ο Π Ϟ
 upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ
 upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ
-upper.ancient.S.321 = ʹ
\ No newline at end of file
+upper.ancient.S.321 = ʹ
+
+[transforms.posthyphenation]
+diaeresis.hyphen.1.0 = { |([ϊΐῒῗϋΰῢῧ]) }
+diaeresis.hyphen.1.1 = { remove }
+diaeresis.hyphen.1.2 = { no = {1}, pre = -, post = {1|ϊΐῒῗϋΰῢῧ|ιίὶῖυύὺῦ} }
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/hi/babel-hi.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -12,8 +12,8 @@
 
 [identification]
 charset = utf8
-version = 1.8
-date = 2020-10-11
+version = 1.9
+date = 2021-04-05
 name.local = हिन्दी
 name.english = Hindi
 name.babel = hindi
@@ -201,3 +201,44 @@
 
 [counters]
 alphabetic = क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त थ द ध न प फ ब भ म य र ल व श ष स ह
+
+[transforms.prehyphenation]
+; Multiletter
+transliteration.hk.1.0  = { lRR } 
+transliteration.hk.1.1  =   { string = ॡ }
+transliteration.hk.1.2  =   { remove }
+transliteration.hk.1.3  =   { remove }
+transliteration.hk.2.0  = { OM } 
+transliteration.hk.2.1  =   { string = ॐ }
+transliteration.hk.2.2  =   { remove }
+transliteration.hk.3.0  = { {007C}{007C} } 
+transliteration.hk.3.1  =   { string = ॥ }
+transliteration.hk.3.2  =   { remove }
+transliteration.hk.4.0  = { ([lR])R }
+transliteration.hk.4.1  =   { string = {1|lR|ऌॠ} }
+transliteration.hk.4.2  =   { remove }
+transliteration.hk.5.0  = { a([iu]) }
+transliteration.hk.5.1  =   { remove }
+transliteration.hk.5.2  =   { string = {1|iu|ऐऔ} }
+; Xh
+transliteration.hk.6.0  = { ([kgcjTDtdpb])h }
+transliteration.hk.6.1  =   { string = {1|kgcjTDtdpb|खघछझठढथधफभ} }
+transliteration.hk.6.2  =   { remove }
+; Single letter
+transliteration.hk.7.0  = { ([MHaAiIuUReokgGcjJTDNtdnpbmyrlvzSshL{007C}']) }
+transliteration.hk.7.1  =   { string = {1|MHaAiIuUReokgGcjJTDNtdnpbmyrlvzSshL{007C}'|ंःअआइईउऊऋएओकगङचजञटडणतदनपबमयरलवशषसहळ।ऽ} }
+; Post-process vowels
+transliteration.hk.8.0  = { [{0915}-{0939}]([आइईउऊऋॠऌॡएऐओऔऎऒ]) }
+transliteration.hk.8.1  =   {}
+transliteration.hk.8.2  =   { string = {1|आइईउऊऋॠऌॡएऐओऔऎऒ|ािीुूृॄॢॣेैोौॆॊ} }
+transliteration.hk.9.0  = { [{0915}-{0939}]([{0915}-{0939}]) }
+transliteration.hk.9.1  =   {}
+transliteration.hk.9.2  =   { string = ^^^^094d{1} }
+; Duplicated (a trick)
+transliteration.hk.10.0 = { [{0915}-{0939}]([{0915}-{0939}]) }
+transliteration.hk.10.1 =   {}
+transliteration.hk.10.2 =   { string = ^^^^094d{1} }
+; Inherent a
+transliteration.hk.11.0 = { [{0915}-{0939}]{0905} }
+transliteration.hk.11.1 =   {}
+transliteration.hk.11.2 =   { remove }

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/hr/babel-hr.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.2
-date = 2020-06-30
+version = 1.3
+date = 2021-04-05
 name.local = hrvatski
 name.english = Croatian
 name.babel = croatian
@@ -183,3 +183,17 @@
 superscriptingExponent = ×
 
 [counters]
+
+[transforms.prehyphenation]
+digraphs.ligatures.1.0 = { D([Žž]) }
+digraphs.ligatures.1.1 = { remove }
+digraphs.ligatures.1.2 = { string = {1|Žž|DŽDž} }
+digraphs.ligatures.2.0 = { dž }
+digraphs.ligatures.2.1 = { string = dž }
+digraphs.ligatures.2.2 = { remove }
+digraphs.ligatures.3.0 = { ([LN])J }
+digraphs.ligatures.3.1 = { string = {1|LN|LJNJ} }
+digraphs.ligatures.3.2 = { remove }
+digraphs.ligatures.4.0 = { ([LlNn])j }
+digraphs.ligatures.4.1 = { string = {1|LlNn|LjljNjnj} }
+digraphs.ligatures.4.2 = { remove }
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-hu.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -11,8 +11,8 @@
 
 [identification]
 charset = utf8
-version = 1.3
-date = 2020-08-06
+version = 1.4
+date = 2021-04-05
 name.local = magyar
 name.english = Hungarian
 name.babel = hungarian
@@ -192,3 +192,21 @@
 superscriptingExponent = ×
 
 [counters]
+
+[transforms.posthyphenation]
+digraphs.hyphen.1.0 = { ([czCZ])|{1}([sS]) }
+digraphs.hyphen.1.1 = {} 
+digraphs.hyphen.1.2 = { pre = {2}-, data = 1 }
+digraphs.hyphen.1.3 = {}
+digraphs.hyphen.1.4 = {}
+digraphs.hyphen.2.0 = { ([dsDS])|{1}([zZ]) }
+digraphs.hyphen.2.1 = {} 
+digraphs.hyphen.2.2 = { pre = {2}-, data = 1 }
+digraphs.hyphen.2.3 = {}
+digraphs.hyphen.2.4 = {}
+digraphs.hyphen.3.0 = { ([glntGLNT])|{1}([yY]) }
+digraphs.hyphen.3.1 = {} 
+digraphs.hyphen.3.2 = { pre = {2}-, data = 1 }
+digraphs.hyphen.3.3 = {}
+digraphs.hyphen.3.4 = {}
+

Added: trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex	2021-04-08 21:22:57 UTC (rev 58797)
@@ -0,0 +1,12 @@
+% This file is part of babel. For further details see:
+% https://www.ctan.org/pkg/babel
+\ifx\BabelBeforeIni\undefined
+  \PackageError{babel}%
+    {This file is a component of babel and cannot\MessageBreak
+     be loaded directly. I'll stop immediately}%
+    {Just use babel as documented.}%
+  \stop
+\fi
+\BabelBeforeIni{hu}{%
+}
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/generic/babel/locale/hu/babel-magyar.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -13,8 +13,8 @@
 
 [identification]
 charset = utf8
-version = 1.9
-date = 2021-03-16
+version = 1.10
+date = 2021-04-05
 name.local = मराठी
 name.english = Marathi
 name.babel = marathi
@@ -113,7 +113,7 @@
 time.short = [h]:[mm] [a]
 
 [typography]
-frenchspacing = yes
+frenchspacing = no
 hyphenrules = marathi
 lefthyphenmin = 2
 righthyphenmin = 2

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-ug.ini	2021-04-08 21:22:57 UTC (rev 58797)
@@ -12,8 +12,8 @@
 
 [identification]
 charset = utf8
-version = 1.5
-date = 2021-02-26
+version = 1.6
+date = 2021-04-05
 name.local = ئۇيغۇرچە
 name.english = Uyghur
 name.babel = uyghur
@@ -27,6 +27,7 @@
 level = 1
 encodings = 
 derivate = no
+require.babel = uyghur
 
 [captions]
 preface = كىرىش سۆز

Modified: trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/locale/ug/babel-uyghur.tex	2021-04-08 21:22:57 UTC (rev 58797)
@@ -9,4 +9,67 @@
 \fi
 \BabelBeforeIni{ug}{%
 }
+
+\newattribute\bblug at disc
+\bblug at disc=-1
+
+\bbl at luahyphenate
+
+% 1) Store discretionaries just after hyphenation as an attribute of the
+% next glyph, with the value of the disc penalty (assumed positive). Then
+% remove the discretionary. 
+% 2) After the shaping, restore the discretionaries.
+
+\directlua{
+Babel.locale[\the\localeid] = {}
+local ug = Babel.locale[\the\localeid]
+
+function ug.posthyphen(head)
+  local UGDISC = luatexbase.registernumber'bblug at disc'
+  for item in node.traverse(head) do
+    if item.id == 7 and item.subtype == 3 and
+        item.next and item.next.id == 29 and
+        item.next.lang == \the\l at uyghur\space then 
+      node.set_attribute(item.next, UGDISC, item.penalty)
+      node.remove(head, item)
+    end
+  end
+end
+
+ug.hyphen_sep = .09   % in em units
+% Note it can be a string, with several characters:
+ug.hyphen = unicode.utf8.char(0x0640)
+
+Babel.linebreaking.add_after(ug.posthyphen)
+
+function ug.hyphenate(head) 
+  local d, k
+  local quad = 655360
+  local UGDISC = luatexbase.registernumber'bblug at disc'
+  for item in node.traverse(head) do
+    if item.id == 29 and item.lang == \the\l at uyghur\space then
+      local ugdisc = node.get_attribute(item, UGDISC)
+      if ugdisc >= 0 then    
+        quad = font.getfont(item.font).size or quad
+        k = node.new(13, 1)  % (kern, userkern)
+        k.kern = ug.hyphen_sep * quad
+        d = node.new(7, 3)   % (disc, regular)
+        d.pre = Babel.str_to_nodes(
+                      function() return ug.hyphen end, 
+                      nil, item)
+        d.pre = node.insert_before(d.pre, d.pre, k)
+        d.penalty = ugdisc
+        head = node.insert_before(head, item, d)
+      end
+    end
+  end
+  return head
+end
+
+luatexbase.add_to_callback("pre_linebreak_filter",
+  ug.hyphenate, "Babel.locale.uyghur.hyphenate")
+luatexbase.add_to_callback("hpack_filter",
+  ug.hyphenate, "Babel.locale.uyghur.hyphenate")
+}
+
 \endinput
\ 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	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2021-04-08 21:22:57 UTC (rev 58797)
@@ -333,10 +333,10 @@
   Babel.linebreaking = Babel.linebreaking or {}
   Babel.linebreaking.before = {}
   Babel.linebreaking.after = {}
-  Babel.locale = {} % Free to use, indexed with \localeid
+  Babel.locale = {} % Free to use, indexed by \localeid
   function Babel.linebreaking.add_before(func)
     tex.print([[\noexpand\csname bbl at luahyphenate\endcsname]])
-    table.insert(Babel.linebreaking.before , func)
+    table.insert(Babel.linebreaking.before, func)
   end
   function Babel.linebreaking.add_after(func)
     tex.print([[\noexpand\csname bbl at luahyphenate\endcsname]])
@@ -951,17 +951,15 @@
         local locale = node.get_attribute(item, Babel.attr_locale)
 
         if lang == locale or lang == nil then
-          if (item.char ~= 124) then &% ie, not | = space
-            lang = lang or locale
-            word_string = word_string .. unicode.utf8.char(item.char)
-            word_nodes[#word_nodes+1] = item
-          end
+          lang = lang or locale
+          word_string = word_string .. unicode.utf8.char(item.char)
+          word_nodes[#word_nodes+1] = item
         else
           break
         end
 
       elseif item.id == 12 and item.subtype == 13 then
-        word_string = word_string .. '|'
+        word_string = word_string .. ' '
         word_nodes[#word_nodes+1] = item
 
       &% Ignore leading unrecognized nodes, too.
@@ -975,7 +973,7 @@
 
     &% Here and above we remove some trailing chars but not the
     &% corresponding nodes. But they aren't accessed.
-    if word_string:sub(-1) == '|' then
+    if word_string:sub(-1) == ' ' then
       word_string = word_string:sub(1,-2)
     end
     word_string = unicode.utf8.gsub(word_string, Babel.us_char .. '+$', '')
@@ -1160,6 +1158,16 @@
 
             if Babel.debug then
               Babel.debug_hyph(w, w_nodes, sc, first, last, last_match)
+              local ss = ''
+              for itt in node.traverse(head) do
+               if itt.id == 29 then
+                 ss = ss .. unicode.utf8.char(itt.char)
+               else
+                 ss = ss .. '{' .. itt.id .. '}'
+               end
+              end
+              print('*****************', ss)
+
             end
 
             local crep = r[rc]
@@ -1251,7 +1259,7 @@
                               crep.space[2] * quad,
                               crep.space[3] * quad)
               if mode == 0 then
-                placeholder = '|'
+                placeholder = ' '
               end
               head, new = node.insert_before(head, item, d)
 
@@ -1263,7 +1271,7 @@
                 crep.spacefactor[2] * base_font.parameters['space_stretch'],
                 crep.spacefactor[3] * base_font.parameters['space_shrink'])
               if mode == 0 then
-                placeholder = '|'
+                placeholder = ' '
               end
               head, new = node.insert_before(head, item, d)
 
@@ -1313,7 +1321,15 @@
   &% The following functions belong to the next macro
   function Babel.capture_func(key, cap)
     local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]"
-    ret = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map)
+    local cnt
+    local u = unicode.utf8
+    ret, cnt = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map)
+    if cnt == 0 then
+      ret = u.gsub(ret, '{(%x%x%x%x+)}',
+            function (n)
+              return u.char(tonumber(n, 16))
+            end)
+    end
     ret = ret:gsub("%[%[%]%]%.%.", '')
     ret = ret:gsub("%.%.%[%[%]%]", '')
     return key .. [[=function(m) return ]] .. ret .. [[ end]]
@@ -1325,6 +1341,15 @@
 
   &% Handle the {n|abc|ABC} syntax in captures
   function Babel.capture_func_map(capno, from, to)
+    local u = unicode.utf8
+    from = u.gsub(from, '{(%x%x%x%x+)}',
+         function (n)
+           return u.char(tonumber(n, 16))
+         end)
+    to = u.gsub(to, '{(%x%x%x%x+)}',
+         function (n)
+           return u.char(tonumber(n, 16))
+         end)
     local froms = {}
     for s in string.utfcharacters(from) do
       table.insert(froms, s)
@@ -1411,6 +1436,7 @@
       local id = \the\csname bbl at id@@#1\endcsname
       &% Convert pattern:
       local patt = string.gsub([==[#2]==], '%s', '')
+      local patt = string.gsub(patt, '|', ' ')
       if not u.find(patt, '()', nil, true) then
         patt = '()' .. patt .. '()'
       end

Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2021-04-08 21:13:38 UTC (rev 58796)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2021-04-08 21:22:57 UTC (rev 58797)
@@ -32,7 +32,7 @@
 %% extension |.ins|) which are part of the distribution.
 %%
 
-\ProvidesLanguage{nil}[2021/03/24 3.56 Nil language]
+\ProvidesLanguage{nil}[2021/04/07 3.57 Nil language]
 \LdfInit{nil}{datenil}
 \ifx\l at nil\@undefined
   \newlanguage\l at nil



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