texlive[52400] Master/texmf-dist: babel (15oct19)

commits+karl at tug.org commits+karl at tug.org
Wed Oct 16 00:02:11 CEST 2019


Revision: 52400
          http://tug.org/svn/texlive?view=revision&revision=52400
Author:   karl
Date:     2019-10-16 00:02:11 +0200 (Wed, 16 Oct 2019)
Log Message:
-----------
babel (15oct19)

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-bidi-basic-r.lua
    trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
    trunk/Master/texmf-dist/tex/generic/babel/babel-data-bidi.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/luababel.def
    trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
    trunk/Master/texmf-dist/tex/generic/babel/switch.def
    trunk/Master/texmf-dist/tex/generic/babel/xebabel.def

Modified: trunk/Master/texmf-dist/doc/latex/babel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/babel/README.md	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/doc/latex/babel/README.md	2019-10-15 22:02:11 UTC (rev 52400)
@@ -1,4 +1,4 @@
-## Babel 3.34
+## Babel 3.35
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages.  Many
@@ -51,18 +51,24 @@
 ### Latest changes
 
 ```
+3.35   2019-10-15
+       - \markboth and \markright made robust with a recent LaTeX.
+       - Shorthands work in bibs and refs even with safe=none.
+       - Fix - Another issue related to \ensureascii and LGR (#30)
+       - A temporary hack for issue #25.
+
 3.34   2019-09-27
        - Improved compatibility for \babelfont vs \setmainfont.
-       - Fix - active ' entered in an infinite loop with lua.
+       - Fix - active ' entered in an infinite loop with lua (#27).
        - Fix - main in \babelprovide was not set until begin document.
-       
+
 3.33   2019-07-19
        - \prehyphenchar set to 0 in languages requiring it: kannada,
          marathi, tamil, etc. (lua).
        - \AddBabelHook can be set for specific languages.
-       - Fix - !\grq in T1 behaved like the ligature !`.
+       - Fix - !\grq in T1 behaved like the ligature !` (#19).
        - Minimal preliminary support for the experimental harftex.
-       
+
 3.32   2019-06-03
        - CJK line breaking is now disabled in verbatim (lua).
        - New - \babelcharproperty, to change the direction, mirroring

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	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.dtx	2019-10-15 22:02:11 UTC (rev 52400)
@@ -31,7 +31,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2019/09/27 v3.34 The Babel package]
+\ProvidesFile{babel.dtx}[2019/10/15 v3.35 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -1023,12 +1023,14 @@
 shorthands is safe. With \texttt{safe=bib} only |\nocite|, |\bibcite|
 and |\bibitem| are redefined. With |safe=ref| only |\newlabel|, |\ref|
 and |\pageref| are redefined (as well as a few macros from
-\textsf{varioref} and \textsf{ifthen}). With |safe=none| no macro is
-redefined. This option is strongly recommended, because a good deal of
-incompatibilities and errors are related to these redefinitions -- of
-course, in such a case you cannot use shorthands in these macros, but
-this is not a real problem (just use ``allowed'' characters).
+\textsf{varioref} and \textsf{ifthen}).
 
+With |safe=none| no macro is redefined. This option is strongly
+recommended, because a good deal of incompatibilities and errors are
+related to these redefinitions. As of \New{3.34}, in $\epsilon$\TeX{}
+based engines (ie, almost every engine except the oldest ones)
+shorthands can be used in these macros (formerly you could not).
+
 \Describe{math=}{\texttt{active} $\string|$ \texttt{normal}}
 Shorthands are mainly intended for text, not for math. By setting this
 option with the value |normal| they are deactivated in math mode
@@ -4071,8 +4073,8 @@
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.34>>
-%<<date=2019/09/27>>
+%<<version=3.35>>
+%<<date=2019/10/15>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -4210,25 +4212,30 @@
 %   it is based on |\ifcsname|, which is more efficient, and do not
 %   waste memory.
 %
+% \changes{babel~3.35}{2019/09/22}{Inside a group, so that \cs{ifcsname}
+%   is still undefined.}
+%
 %    \begin{macrocode}
-\def\bbl at ifunset#1{%
-  \expandafter\ifx\csname#1\endcsname\relax
-    \expandafter\@firstoftwo
-  \else
-    \expandafter\@secondoftwo
-  \fi}
-\bbl at ifunset{ifcsname}%
-  {}%
-  {\def\bbl at ifunset#1{%
-     \ifcsname#1\endcsname
-       \expandafter\ifx\csname#1\endcsname\relax
-         \bbl at afterelse\expandafter\@firstoftwo
+\begingroup
+  \gdef\bbl at ifunset#1{%
+    \expandafter\ifx\csname#1\endcsname\relax
+      \expandafter\@firstoftwo
+    \else
+      \expandafter\@secondoftwo
+    \fi}
+  \bbl at ifunset{ifcsname}%
+    {}%
+    {\gdef\bbl at ifunset#1{%
+       \ifcsname#1\endcsname
+         \expandafter\ifx\csname#1\endcsname\relax
+           \bbl at afterelse\expandafter\@firstoftwo
+         \else
+           \bbl at afterfi\expandafter\@secondoftwo
+         \fi
        \else
-         \bbl at afterfi\expandafter\@secondoftwo
-       \fi
-     \else
-       \expandafter\@firstoftwo
-     \fi}}
+         \expandafter\@firstoftwo
+       \fi}}
+\endgroup
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6079,28 +6086,43 @@
 %    The command |\active at prefix| which is used in the expansion of
 %    active characters has a function similar to |\OT1-cmd| in that it
 %    |\protect|s the active character whenever |\protect| is
-%    \emph{not} |\@typeset at protect|.
+%    \emph{not} |\@typeset at protect|. The |\@gobble| is needed to remove
+%    a token such as |\activechar:| (when the double colon was the
+%    active character to be dealt with). There are two definitions,
+%    depending of |\ifincsname| is available. If there is, the
+%    expansion will be more robust.
 %
-%    \begin{macrocode}
-\def\active at prefix#1{%
-  \ifx\protect\@typeset at protect
-  \else
-%    \end{macrocode}
+% \changes{babel 3.35}{2019/09/18}{Added \cs{ifincsname} test.}
 %
-%    When |\protect| is set to |\@unexpandable at protect| we make sure
-%    that the active character is als \emph{not} expanded by inserting
-%    |\noexpand| in front of it. The |\@gobble| is needed to remove
-%    a token such as |\activechar:| (when the double colon was the
-%    active character to be dealt with).
-%
 %    \begin{macrocode}
-    \ifx\protect\@unexpandable at protect
-      \noexpand#1%
-    \else
-      \protect#1%
-    \fi
-    \expandafter\@gobble
-  \fi}
+\begingroup
+\bbl at ifunset{ifincsname}%
+  {\gdef\active at prefix#1{%
+     \ifx\protect\@typeset at protect
+     \else
+       \ifx\protect\@unexpandable at protect
+         \noexpand#1%
+       \else
+         \protect#1%
+       \fi
+       \expandafter\@gobble
+     \fi}}
+  {\gdef\active at prefix#1{%
+     \ifincsname
+       \string#1%
+       \expandafter\@gobble
+     \else
+       \ifx\protect\@typeset at protect
+       \else
+         \ifx\protect\@unexpandable at protect
+           \noexpand#1%
+         \else
+           \protect#1%
+         \fi
+         \expandafter\expandafter\expandafter\@gobble
+       \fi
+     \fi}}
+\endgroup
 %    \end{macrocode}
 %
 %  \end{macro}
@@ -8060,7 +8082,13 @@
   \let\bbl at KVP@mapdigits\@nil
   \let\bbl at KVP@intraspace\@nil
   \let\bbl at KVP@intrapenalty\@nil
-  \bbl at forkv{#1}{\bbl at csarg\def{KVP@##1}{##2}}%  TODO - error handling
+  \bbl at forkv{#1}{%  TODO - error handling
+    \in@{/}{##1}%
+    \ifin@
+      \bbl at renewinikey##1\@@{##2}%
+    \else
+      \bbl at csarg\def{KVP@##1}{##2}%
+    \fi}%
   \ifx\bbl at KVP@import\@nil\else
     \bbl at exp{\\\bbl at ifblank{\bbl at KVP@import}}%
       {\begingroup
@@ -8432,10 +8460,7 @@
       % Move trims here ??
       \bbl at ifunset{bbl at KVP@\bbl at section/\bbl at tempa}%
         {\expandafter\bbl at inireader\bbl at tempa=##2\@@}%
-        {\def\bbl at tempc{\expandafter\bbl at inireader\bbl at tempa=}%
-         \expandafter\expandafter\expandafter
-         \bbl at tempc\csname bbl at KVP@\bbl at section/\bbl at tempa\endcsname\@@}%
-         \global\bbl at csarg\let{KVP@\bbl at section/\bbl at tempa}\relax}%
+        {}}%
     \let\bbl at inireader\bbl at iniskip
     \bbl at info{Importing data from babel-#1.ini for \languagename}%
     \loop
@@ -8460,9 +8485,15 @@
 %    \begin{macrocode}
 \def\bbl at iniskip#1\@@{}%      if starts with ;
 \def\bbl at inisec[#1]#2\@@{%    if starts with opening bracket
+  \def\bbl at elt##1##2{\bbl at inireader##1=##2\@@}%
+  \@nameuse{bbl at renew@\bbl at section}%
+  \global\bbl at csarg\let{renew@\bbl at section}\relax
   \@nameuse{bbl at secpost@\bbl at section}%  ends previous section
   \def\bbl at section{#1}%
-  \@nameuse{bbl at secpre@\bbl at section}%   starts current section
+  \def\bbl at elt##1##2{%
+    \@namedef{bbl at KVP@#1/##1}{}}%
+  \@nameuse{bbl at renew@#1}%
+  \@nameuse{bbl at secpre@#1}%   starts current section
   \bbl at ifunset{bbl at inikv@#1}%
     {\let\bbl at inireader\bbl at iniskip}%
     {\bbl at exp{\let\\\bbl at inireader\<bbl at inikv@#1>}}}
@@ -9067,6 +9098,9 @@
 %    the mark are not disabled by the output routine kicking in while
 %    \cs{@safe at activestrue} is in effect.
 %
+% \changes{babel~3.35}{2019/10/11}{Now \cs{markboth} is protected.
+%    Consider this case.}
+%
 %    \begin{macrocode}
 \bbl at trace{Marks}
 \IfBabelLayout{sectioning}
@@ -9079,7 +9113,8 @@
          \noexpand\babelsublr{\unexpanded\expandafter{\thepage}}}}%
    \fi}
   {\ifbbl at single\else
-     \bbl at redefine\markright#1{%
+     \bbl at ifunset{markright }\bbl at redefine\bbl at redefinerobust
+     \markright#1{%
        \bbl at ifblank{#1}%
          {\org at markright{}}%
          {\toks@{#1}%
@@ -9098,7 +9133,9 @@
 %    headings for the page. While doing so they also store a copy of
 %    |\markboth| in |\@mkboth|. Therefore we need to check whether
 %    |\@mkboth| has already been set. If so we neeed to do that again
-%    with the new definition of |\markboth|.
+%    with the new definition of |\markboth|. (As of Oct 2019, \LaTeX{}
+%    stores the definition in an intermediate macros, so it's not
+%    necessary anymore, but it's preserved for older versions.)
 %
 %    \begin{macrocode}
      \ifx\@mkboth\markboth
@@ -9106,12 +9143,8 @@
      \else
        \def\bbl at tempc{}
      \fi
-%    \end{macrocode}
-%
-%    Now we can start the new definition of |\markboth|
-%
-%    \begin{macrocode}
-     \bbl at redefine\markboth#1#2{%
+     \bbl at ifunset{markboth }\bbl at redefine\bbl at redefinerobust
+     \markboth#1#2{%
        \protected at edef\bbl at tempb##1{%
          \protect\foreignlanguage
          {\languagename}{\protect\bbl at restore@actives##1}}%
@@ -9122,11 +9155,6 @@
          {\@temptokena{}}%
          {\@temptokena\expandafter{\bbl at tempb{#2}}}%
        \bbl at exp{\\\org at markboth{\the\toks@}{\the\@temptokena}}}
-%    \end{macrocode}
-%
-%    and copy it to |\@mkboth| if necessary.
-%
-%    \begin{macrocode}
        \bbl at tempc
      \fi}  % end ifbbl at single, end \IfBabelLayout
 %    \end{macrocode}
@@ -9386,10 +9414,11 @@
 % \changes{babel~3.9j}{2014/03/17}{Moved misplaced code - it should be
 %    executed only with LaTeX}
 % \changes{babel~3.23}{2018/08/28}{Added TS1, T3, TS3}
+% \changes{babel~3.35}{2019/10/01}{Added PU, PD1}
 %
 %    \begin{macrocode}
 \bbl at trace{Encoding and fonts}
-\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,PU,PD1}
 \newcommand\BabelNonText{TS1,T3,TS3}
 \let\org at TeX\TeX
 \let\org at LaTeX\LaTeX
@@ -11272,9 +11301,12 @@
      \bbl at warning{The current font is not a babel standard family:\\%
        #1%
        \fontname\font\\%
-       There is nothing intrinsically wrong with it, but\\%
-       'babel' will no set Script and Language. Consider\\%
-       defining a new family with \string\babelfont.\\%
+       There is nothing intrinsically wrong with this warning, and\\%
+       you can ignore it altogether if you do not need these\\%
+       families. But if they are used in the document, you should be\\%
+       aware 'babel' will no set Script and Language for them, so\\%
+       you may consider defining a new family with \string\babelfont.\\%
+       See the manual for further details about \string\babelfont.\\%
        Reported}}
    {}}%
 \gdef\bbl at switchfont{%
@@ -12504,6 +12536,8 @@
 % \subsection{Auto bidi with \texttt{basic} and \texttt{basic-r}}
 %
 % \changes{babel~3.14}{2017/09/30}{LuaTeX - support for R/AL texts - basic-r}
+% \changes{babel~3.35}{2019/10/11}{Hack for unboxed boxes - The PUAs
+%   are `on'.}
 %
 % The file \textsf{babel-data-bidi.lua} currently only contains data. It is
 % a large and boring file and it's not shown here. See the generated
@@ -12515,6 +12549,8 @@
 
 Babel = Babel or {}
 
+-- TODO: merge ranges into characters, as meta index
+
 Babel.ranges={
  {0x0590, 0x05FF, 'r'},
  {0x0600, 0x07BF, 'al'},
@@ -12521,6 +12557,7 @@
  {0x07C0, 0x085F, 'r'},
  {0x0860, 0x086F, 'al'},
  {0x08A0, 0x08FF, 'al'},
+ {0xE000, 0xF8FF, 'on'}, -- PUA
  {0xFB1D, 0xFB4F, 'r'},
  {0xFB50, 0xFDFF, 'al'},
  {0xFE70, 0xFEFF, 'al'},
@@ -12527,7 +12564,9 @@
  {0x10800, 0x10C4F, 'r'},
  {0x1E800, 0x1E8DF, 'r'},
  {0x1E900, 0x1E95F, 'r'},
- {0x1F300, 0x1F9FF, 'on'}
+ {0x1F300, 0x1F9FF, 'on'},
+ {0xF0000, 0xFFFFD, 'on'}, -- PUA
+ {0x100000, 0x10FFFD, 'on'} -- PUA
 }
 
 Babel.characters={
@@ -18854,7 +18893,7 @@
       if mir == 'rrr' or mir == 'lrr' or mir == 'rrl' or mir == 'rlr' then
         for ch in node.traverse(node.next(last_lr)) do
           if ch == item then break end
-          if ch.id == node.id'glyph' then
+          if ch.id == node.id'glyph' and characters[ch.char] then
             ch.char = characters[ch.char].m or ch.char
           end
         end
@@ -18883,7 +18922,9 @@
 %    \begin{macrocode}
   if last_lr and outer == 'r' then
     for ch in node.traverse_id(node.id'glyph', node.next(last_lr)) do
-      ch.char = characters[ch.char].m or ch.char
+      if characters[ch.char] then
+        ch.char = characters[ch.char].m or ch.char
+      end
     end
   end
   if first_n then
@@ -19215,7 +19256,8 @@
       for r = first_on, q - 1 do
         nodes[r][2] = temp
         item = nodes[r][1]    -- MIRRORING
-        if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' then
+        if Babel.mirroring_enabled and item.id == GLYPH
+             and temp == 'r' and characters[item.char] then
           item.char = characters[item.char].m or item.char
         end
       end

Modified: trunk/Master/texmf-dist/source/latex/babel/babel.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/babel/babel.ins	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/source/latex/babel/babel.ins	2019-10-15 22:02:11 UTC (rev 52400)
@@ -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{2019/09/27}
+\def\filedate{2019/10/15}
 \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	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/source/latex/babel/bbcompat.dtx	2019-10-15 22:02:11 UTC (rev 52400)
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2019/09/27 v3.34]
+\ProvidesFile{bbcompat.dtx}[2019/10/15 v3.35]
 %</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-bidi-basic-r.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua	2019-10-15 22:02:11 UTC (rev 52400)
@@ -171,7 +171,7 @@
       if mir == 'rrr' or mir == 'lrr' or mir == 'rrl' or mir == 'rlr' then
         for ch in node.traverse(node.next(last_lr)) do
           if ch == item then break end
-          if ch.id == node.id'glyph' then
+          if ch.id == node.id'glyph' and characters[ch.char] then
             ch.char = characters[ch.char].m or ch.char
           end
         end
@@ -187,7 +187,9 @@
   end
   if last_lr and outer == 'r' then
     for ch in node.traverse_id(node.id'glyph', node.next(last_lr)) do
-      ch.char = characters[ch.char].m or ch.char
+      if characters[ch.char] then
+        ch.char = characters[ch.char].m or ch.char
+      end
     end
   end
   if first_n then

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua	2019-10-15 22:02:11 UTC (rev 52400)
@@ -338,7 +338,8 @@
       for r = first_on, q - 1 do
         nodes[r][2] = temp
         item = nodes[r][1]    -- MIRRORING
-        if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' then
+        if Babel.mirroring_enabled and item.id == GLYPH
+             and temp == 'r' and characters[item.char] then
           item.char = characters[item.char].m or item.char
         end
       end

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua	2019-10-15 22:02:11 UTC (rev 52400)
@@ -36,6 +36,8 @@
 
 Babel = Babel or {}
 
+-- TODO: merge ranges into characters, as meta index
+
 Babel.ranges={
  {0x0590, 0x05FF, 'r'},
  {0x0600, 0x07BF, 'al'},
@@ -42,6 +44,7 @@
  {0x07C0, 0x085F, 'r'},
  {0x0860, 0x086F, 'al'},
  {0x08A0, 0x08FF, 'al'},
+ {0xE000, 0xF8FF, 'on'}, -- PUA
  {0xFB1D, 0xFB4F, 'r'},
  {0xFB50, 0xFDFF, 'al'},
  {0xFE70, 0xFEFF, 'al'},
@@ -48,7 +51,9 @@
  {0x10800, 0x10C4F, 'r'},
  {0x1E800, 0x1E8DF, 'r'},
  {0x1E900, 0x1E95F, 'r'},
- {0x1F300, 0x1F9FF, 'on'}
+ {0x1F300, 0x1F9FF, 'on'},
+ {0xF0000, 0xFFFFD, 'on'}, -- PUA
+ {0x100000, 0x10FFFD, 'on'} -- PUA
 }
 
 Babel.characters={

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.def	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.def	2019-10-15 22:02:11 UTC (rev 52400)
@@ -41,7 +41,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{babel.def}[2019/09/27 3.34 Babel common definitions]
+\ProvidesFile{babel.def}[2019/10/15 3.35 Babel common definitions]
 \ifx\AtBeginDocument\@undefined
   \input plain.def\relax
 \fi
@@ -141,24 +141,26 @@
 \bbl at tempa{ }
 \long\def\bbl at trim@i#1\@nil#2\relax#3{#3{#1}}
 \long\def\bbl at trim@def#1{\bbl at trim{\def#1}}
-\def\bbl at ifunset#1{%
-  \expandafter\ifx\csname#1\endcsname\relax
-    \expandafter\@firstoftwo
-  \else
-    \expandafter\@secondoftwo
-  \fi}
-\bbl at ifunset{ifcsname}%
-  {}%
-  {\def\bbl at ifunset#1{%
-     \ifcsname#1\endcsname
-       \expandafter\ifx\csname#1\endcsname\relax
-         \bbl at afterelse\expandafter\@firstoftwo
+\begingroup
+  \gdef\bbl at ifunset#1{%
+    \expandafter\ifx\csname#1\endcsname\relax
+      \expandafter\@firstoftwo
+    \else
+      \expandafter\@secondoftwo
+    \fi}
+  \bbl at ifunset{ifcsname}%
+    {}%
+    {\gdef\bbl at ifunset#1{%
+       \ifcsname#1\endcsname
+         \expandafter\ifx\csname#1\endcsname\relax
+           \bbl at afterelse\expandafter\@firstoftwo
+         \else
+           \bbl at afterfi\expandafter\@secondoftwo
+         \fi
        \else
-         \bbl at afterfi\expandafter\@secondoftwo
-       \fi
-     \else
-       \expandafter\@firstoftwo
-     \fi}}
+         \expandafter\@firstoftwo
+       \fi}}
+\endgroup
 \def\bbl at ifblank#1{%
   \bbl at ifblank@i#1\@nil\@nil\@secondoftwo\@firstoftwo\@nil}
 \long\def\bbl at ifblank@i#1#2\@nil#3#4#5\@nil{#4}
@@ -567,16 +569,34 @@
   \else
     \bbl at afterfi\csname#1 at sh@#2 at sel\endcsname
   \fi}
-\def\active at prefix#1{%
-  \ifx\protect\@typeset at protect
-  \else
-    \ifx\protect\@unexpandable at protect
-      \noexpand#1%
-    \else
-      \protect#1%
-    \fi
-    \expandafter\@gobble
-  \fi}
+\begingroup
+\bbl at ifunset{ifincsname}%
+  {\gdef\active at prefix#1{%
+     \ifx\protect\@typeset at protect
+     \else
+       \ifx\protect\@unexpandable at protect
+         \noexpand#1%
+       \else
+         \protect#1%
+       \fi
+       \expandafter\@gobble
+     \fi}}
+  {\gdef\active at prefix#1{%
+     \ifincsname
+       \string#1%
+       \expandafter\@gobble
+     \else
+       \ifx\protect\@typeset at protect
+       \else
+         \ifx\protect\@unexpandable at protect
+           \noexpand#1%
+         \else
+           \protect#1%
+         \fi
+         \expandafter\expandafter\expandafter\@gobble
+       \fi
+     \fi}}
+\endgroup
 \newif\if at safe@actives
 \@safe at activesfalse
 \def\bbl at restore@actives{\if at safe@actives\@safe at activesfalse\fi}
@@ -1371,7 +1391,13 @@
   \let\bbl at KVP@mapdigits\@nil
   \let\bbl at KVP@intraspace\@nil
   \let\bbl at KVP@intrapenalty\@nil
-  \bbl at forkv{#1}{\bbl at csarg\def{KVP@##1}{##2}}%  TODO - error handling
+  \bbl at forkv{#1}{%  TODO - error handling
+    \in@{/}{##1}%
+    \ifin@
+      \bbl at renewinikey##1\@@{##2}%
+    \else
+      \bbl at csarg\def{KVP@##1}{##2}%
+    \fi}%
   \ifx\bbl at KVP@import\@nil\else
     \bbl at exp{\\\bbl at ifblank{\bbl at KVP@import}}%
       {\begingroup
@@ -1714,10 +1740,7 @@
       % Move trims here ??
       \bbl at ifunset{bbl at KVP@\bbl at section/\bbl at tempa}%
         {\expandafter\bbl at inireader\bbl at tempa=##2\@@}%
-        {\def\bbl at tempc{\expandafter\bbl at inireader\bbl at tempa=}%
-         \expandafter\expandafter\expandafter
-         \bbl at tempc\csname bbl at KVP@\bbl at section/\bbl at tempa\endcsname\@@}%
-         \global\bbl at csarg\let{KVP@\bbl at section/\bbl at tempa}\relax}%
+        {}}%
     \let\bbl at inireader\bbl at iniskip
     \bbl at info{Importing data from babel-#1.ini for \languagename}%
     \loop
@@ -1734,9 +1757,15 @@
   \@ifnextchar[\bbl at inisec{\@ifnextchar;\bbl at iniskip\bbl at inipreread}#1\@@}% ]
 \def\bbl at iniskip#1\@@{}%      if starts with ;
 \def\bbl at inisec[#1]#2\@@{%    if starts with opening bracket
+  \def\bbl at elt##1##2{\bbl at inireader##1=##2\@@}%
+  \@nameuse{bbl at renew@\bbl at section}%
+  \global\bbl at csarg\let{renew@\bbl at section}\relax
   \@nameuse{bbl at secpost@\bbl at section}%  ends previous section
   \def\bbl at section{#1}%
-  \@nameuse{bbl at secpre@\bbl at section}%   starts current section
+  \def\bbl at elt##1##2{%
+    \@namedef{bbl at KVP@#1/##1}{}}%
+  \@nameuse{bbl at renew@#1}%
+  \@nameuse{bbl at secpre@#1}%   starts current section
   \bbl at ifunset{bbl at inikv@#1}%
     {\let\bbl at inireader\bbl at iniskip}%
     {\bbl at exp{\let\\\bbl at inireader\<bbl at inikv@#1>}}}
@@ -1997,7 +2026,8 @@
          \noexpand\babelsublr{\unexpanded\expandafter{\thepage}}}}%
    \fi}
   {\ifbbl at single\else
-     \bbl at redefine\markright#1{%
+     \bbl at ifunset{markright }\bbl at redefine\bbl at redefinerobust
+     \markright#1{%
        \bbl at ifblank{#1}%
          {\org at markright{}}%
          {\toks@{#1}%
@@ -2009,7 +2039,8 @@
      \else
        \def\bbl at tempc{}
      \fi
-     \bbl at redefine\markboth#1#2{%
+     \bbl at ifunset{markboth }\bbl at redefine\bbl at redefinerobust
+     \markboth#1#2{%
        \protected at edef\bbl at tempb##1{%
          \protect\foreignlanguage
          {\languagename}{\protect\bbl at restore@actives##1}}%
@@ -2095,7 +2126,7 @@
   }
 \@onlypreamble\substitutefontfamily
 \bbl at trace{Encoding and fonts}
-\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU}
+\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,PU,PD1}
 \newcommand\BabelNonText{TS1,T3,TS3}
 \let\org at TeX\TeX
 \let\org at LaTeX\LaTeX

Modified: trunk/Master/texmf-dist/tex/generic/babel/babel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/babel.sty	2019-10-15 22:02:11 UTC (rev 52400)
@@ -33,7 +33,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2019/09/27 3.34 The Babel package]
+\ProvidesPackage{babel}[2019/10/15 3.35 The Babel package]
 \@ifpackagewith{babel}{debug}
   {\providecommand\bbl at trace[1]{\message{^^J[ #1 ]}}%
    \let\bbl at debug\@firstofone}
@@ -91,24 +91,26 @@
 \bbl at tempa{ }
 \long\def\bbl at trim@i#1\@nil#2\relax#3{#3{#1}}
 \long\def\bbl at trim@def#1{\bbl at trim{\def#1}}
-\def\bbl at ifunset#1{%
-  \expandafter\ifx\csname#1\endcsname\relax
-    \expandafter\@firstoftwo
-  \else
-    \expandafter\@secondoftwo
-  \fi}
-\bbl at ifunset{ifcsname}%
-  {}%
-  {\def\bbl at ifunset#1{%
-     \ifcsname#1\endcsname
-       \expandafter\ifx\csname#1\endcsname\relax
-         \bbl at afterelse\expandafter\@firstoftwo
+\begingroup
+  \gdef\bbl at ifunset#1{%
+    \expandafter\ifx\csname#1\endcsname\relax
+      \expandafter\@firstoftwo
+    \else
+      \expandafter\@secondoftwo
+    \fi}
+  \bbl at ifunset{ifcsname}%
+    {}%
+    {\gdef\bbl at ifunset#1{%
+       \ifcsname#1\endcsname
+         \expandafter\ifx\csname#1\endcsname\relax
+           \bbl at afterelse\expandafter\@firstoftwo
+         \else
+           \bbl at afterfi\expandafter\@secondoftwo
+         \fi
        \else
-         \bbl at afterfi\expandafter\@secondoftwo
-       \fi
-     \else
-       \expandafter\@firstoftwo
-     \fi}}
+         \expandafter\@firstoftwo
+       \fi}}
+\endgroup
 \def\bbl at ifblank#1{%
   \bbl at ifblank@i#1\@nil\@nil\@secondoftwo\@firstoftwo\@nil}
 \long\def\bbl at ifblank@i#1#2\@nil#3#4#5\@nil{#4}

Modified: trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/hyphen.cfg	2019-10-15 22:02:11 UTC (rev 52400)
@@ -37,7 +37,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{hyphen.cfg}[2019/09/27 3.34 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2019/10/15 3.35 Babel hyphens]
 \xdef\bbl at format{\jobname}
 \ifx\AtBeginDocument\@undefined
   \def\@empty{}

Modified: trunk/Master/texmf-dist/tex/generic/babel/luababel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/luababel.def	2019-10-15 22:02:11 UTC (rev 52400)
@@ -532,9 +532,12 @@
      \bbl at warning{The current font is not a babel standard family:\\%
        #1%
        \fontname\font\\%
-       There is nothing intrinsically wrong with it, but\\%
-       'babel' will no set Script and Language. Consider\\%
-       defining a new family with \string\babelfont.\\%
+       There is nothing intrinsically wrong with this warning, and\\%
+       you can ignore it altogether if you do not need these\\%
+       families. But if they are used in the document, you should be\\%
+       aware 'babel' will no set Script and Language for them, so\\%
+       you may consider defining a new family with \string\babelfont.\\%
+       See the manual for further details about \string\babelfont.\\%
        Reported}}
    {}}%
 \gdef\bbl at switchfont{%

Modified: trunk/Master/texmf-dist/tex/generic/babel/nil.ldf
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/nil.ldf	2019-10-15 22:02:11 UTC (rev 52400)
@@ -32,7 +32,7 @@
 %% extension |.ins|) which are part of the distribution.
 %%
 
-\ProvidesLanguage{nil}[2019/09/27 3.34 Nil language]
+\ProvidesLanguage{nil}[2019/10/15 3.35 Nil language]
 \LdfInit{nil}{datenil}
 \ifx\l at nil\@undefined
   \newlanguage\l at nil

Modified: trunk/Master/texmf-dist/tex/generic/babel/switch.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/switch.def	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/switch.def	2019-10-15 22:02:11 UTC (rev 52400)
@@ -37,7 +37,7 @@
     \wlog{File: #1 #4 #3 <#2>}%
     \let\ProvidesFile\@undefined}
 \fi
-\ProvidesFile{switch.def}[2019/09/27 3.34 Babel switching mechanism]
+\ProvidesFile{switch.def}[2019/10/15 3.35 Babel switching mechanism]
 \ifx\AtBeginDocument\@undefined
   \input plain.def\relax
 \fi
@@ -58,8 +58,8 @@
   \countdef\last at language=19
   \def\addlanguage{\alloc at 9\language\chardef\@cclvi}
 \fi
-\def\bbl at version{3.34}
-\def\bbl at date{2019/09/27}
+\def\bbl at version{3.35}
+\def\bbl at date{2019/10/15}
 \def\adddialect#1#2{%
   \global\chardef#1#2\relax
   \bbl at usehooks{adddialect}{{#1}{#2}}%

Modified: trunk/Master/texmf-dist/tex/generic/babel/xebabel.def
===================================================================
--- trunk/Master/texmf-dist/tex/generic/babel/xebabel.def	2019-10-15 22:01:30 UTC (rev 52399)
+++ trunk/Master/texmf-dist/tex/generic/babel/xebabel.def	2019-10-15 22:02:11 UTC (rev 52400)
@@ -124,9 +124,12 @@
      \bbl at warning{The current font is not a babel standard family:\\%
        #1%
        \fontname\font\\%
-       There is nothing intrinsically wrong with it, but\\%
-       'babel' will no set Script and Language. Consider\\%
-       defining a new family with \string\babelfont.\\%
+       There is nothing intrinsically wrong with this warning, and\\%
+       you can ignore it altogether if you do not need these\\%
+       families. But if they are used in the document, you should be\\%
+       aware 'babel' will no set Script and Language for them, so\\%
+       you may consider defining a new family with \string\babelfont.\\%
+       See the manual for further details about \string\babelfont.\\%
        Reported}}
    {}}%
 \gdef\bbl at switchfont{%



More information about the tex-live-commits mailing list