texlive[54129] Master/texmf-dist: latex-base-dev (6mar20)

commits+karl at tug.org commits+karl at tug.org
Fri Mar 6 22:30:30 CET 2020


Revision: 54129
          http://tug.org/svn/texlive?view=revision&revision=54129
Author:   karl
Date:     2020-03-06 22:30:29 +0100 (Fri, 06 Mar 2020)
Log Message:
-----------
latex-base-dev (6mar20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex-dev/base/README.md
    trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
    trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/manual.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
    trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
    trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/README.md	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/README.md	2020-03-06 21:30:29 UTC (rev 54129)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2020-02-02 pre-release 4
+Release 2020-10-01 pre-release 5
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt	2020-03-06 21:30:29 UTC (rev 54129)
@@ -6,12 +6,32 @@
 are not part of the distribution.
 ================================================================================
 
+2020-03-05  Joseph Wright <joseph.wright at morningstar2.co.uk>
+
+	* ltexpl.dtx: Pre-load xparse where expl3 does not define \NewDocumentCommand
+
+2020-03-02  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx (section{Custom series settings for main document families}):
+	Ensure that \DeclareFontSeriesDefault is undefined
+	before using \newcommand in rollback (gh/295)
+
+	* ltfssaxes.dtx (section{Changing the shape}):
+	Ensure that \ulcdefault, \swdefault and \sscdefault are undefined
+	before using \newcommand in rollback (gh/295)
+
+2020-02-25  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx (section{Custom series settings for main document families}):
+	Drop any surplus ``m'' from \bfdef at ult, \mddef at ult and other
+	places (gh/291)
+
 2020-02-18  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* ltmath.dtx (subsubsection{Flush left equations}):
 	Make \mathindent a skip register to match
 	amsmath (gh/252)
-	Separate formula and eqn number by a compressable space when
+	Separate formula and eqn number by a compressible space when
 	fleqn option is in force.
 
 2020-02-14  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
@@ -31,9 +51,32 @@
 
 
 #########################
+# 2020-02-02 PL 5 Release
+#########################
+
+2020-02-27  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssaxes.dtx (subsection{Changing to a new series}):
+	Drop ``m'' in a fixed set of series values,
+	otherwise assume that the series
+	value is a long name such as "semibold" and leave it alone (gh/293)}
+
+	* ltfssbas.dtx (section{Macros for setting up the tables}):
+	Drop one ``m'' in the series values in \DeclareFontShape if it is
+	on of a fixed sets of values and if so issue warning (gh/293)
+
+	* ltdefns.dtx (subsection{Command definitions}):
+	Added \@gobblethree
+
+#########################
 # 2020-02-02 PL 4 Release
 #########################
 
+2020-02-24  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssbas.dtx (section{Macros for setting up the tables}):
+	Drop surplus ``m'' in series when defining fontshape (gh/289)
+
 2020-02-21  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* ltclass.dtx (subsection{Providing shipment}):

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex	2020-03-06 21:30:29 UTC (rev 54129)
@@ -229,7 +229,7 @@
     \end{tabular}
   \end{minipage}
 \end{center}
-\NEWdescription{2019/07/10}
+\NEWdescription{2019/07/10}\label{page:seriesvalues}
 The font series is denoting a combination of the weight (boldness) and
 the width (amount of expansion).  The standard supported for weights and
 widths are:
@@ -1090,6 +1090,26 @@
 This enables the use of an alternative |\hyphenchar| in other encodings
 whilst maintaining the correct value for all fonts.
 
+\NEWfeature{2020/02/02} According to NFSS conventions the series value
+should be a combination of weight and width abbreviated each with one or
+two letters as described on page~\pageref{page:seriesvalues}. In
+particular it should not contain an ``\texttt{m}'' unless it
+consists of just one character. In the past incorrect values such as
+``\texttt{cm}'' were simply accepted, but since this now leads to
+problems with the extended mechanism, the correct syntax is now
+enforced.
+
+More exactly, if the series values is a member of a specific set of
+values (\texttt{ulm}, \texttt{elm}, \texttt{lm}, \texttt{slm},
+\texttt{mm}, \texttt{sbm}, \texttt{bm}, \texttt{ebm}, \texttt{ubm},
+\texttt{muc}, \texttt{mec}, \texttt{mc}, \texttt{msc}, \texttt{msx},
+\texttt{mx}, \texttt{mex} or \texttt{mux}) it is assumed to be in
+incorrect NFSS notation and so a warning is given and a surplus
+``\texttt{m}'' is dropped.  Other values are not touched to allow for
+the usage of values like ``\texttt{semibold}'' or ``\texttt{medium}'' as
+used by the \texttt{autoinst} program.
+
+
 \subsection{Font file loading information}
 \label{sec:loadinfo}
 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex	2020-03-06 21:30:29 UTC (rev 54129)
@@ -107,6 +107,22 @@
 
 
 
+\section{Changes introduced in 2020-02-02 patch~5}
+
+The patch~4 dropped a bit too much in certain situations, e.g., it
+changed a series value of \texttt{semibold} (as used by
+\texttt{autoinst}) to \texttt{seibold}, rendering it useless. So we
+now only correct series values if they are a member of the
+following list: \texttt{ulm}, \texttt{elm}, \texttt{lm}, \texttt{slm},
+\texttt{mm}, \texttt{sbm}, \texttt{bm}, \texttt{ebm}, \texttt{ubm},
+\texttt{muc}, \texttt{mec}, \texttt{mc}, \texttt{msc}, \texttt{msx},
+\texttt{mx}, \texttt{mex} or \texttt{mux}. Here we assume that people
+intended to follow the NFSS convention but somehow got it wrong. So we
+drop one ``m'' and also add a warning that the
+\verb=\DeclareFontShape= declaration in question should be updated
+(\ghissue{293}).
+
+
 \section{Changes introduced in 2020-02-02 patch~4}
 
 In some cases the \texttt{filecontents} environment was opening the
@@ -113,6 +129,9 @@
 file for writing without quoting it, so that files with spaces failed
 (\ghissue{284}).
 
+Ensure that \verb=\DeclareFontShape= drops surplus ``m'' in situations
+where an \texttt{.fd} incorrectly specifies \texttt{mc} instead of
+\texttt{c}, etc.\ (\ghissue{289}).
 
 \section{Changes introduced in 2020-02-02 patch~3}
 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.tex	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews32.tex	2020-03-06 21:30:29 UTC (rev 54129)
@@ -146,13 +146,14 @@
 
 \subsection{\cs{symbol} in math mode for large Unicode values}
 
-The \LaTeXe{} kernel defines the command \cs{symbol}, which allows characters to be
-typeset by entering their `slot number'. With the \LuaTeX{} and \XeTeX{} engines, these
-slot numbers can extend to very large values to accomodate Unicode characters in the upper
-Unicode planes (e.g., bold mathematical capital A is slot number \texttt{"1D400} in hex or
-\texttt{119808} in decimal).
-The \XeTeX{} engine did not allow \cs{symbol} in math mode for values above $2^{16}$, and
-this limitation has now been lifted.
+The \LaTeXe{} kernel defines the command \cs{symbol}, which allows
+characters to be typeset by entering their `slot number'. With the
+\LuaTeX{} and \XeTeX{} engines, these slot numbers can extend to very
+large values to accomodate Unicode characters in the upper Unicode
+planes (e.g., bold mathematical capital A is slot number
+\texttt{"1D400} in hex or \texttt{119808} in decimal).  The \XeTeX{}
+engine did not allow \cs{symbol} in math mode for values above
+$2^{16}$, and this limitation has now been lifted.
 %
 \githubissue{124}
 
@@ -166,6 +167,24 @@
 \githubissue{270}
 
 
+\subsection{Better support for uncommon font series defaults}
+
+If a font family was set up with fairly unusual font series defaults,
+e.g.,
+\begin{verbatim}
+\renewcommand\ttdefault{lmvtt}
+\DeclareFontSeriesDefault[tt]{md}{lm}
+\DeclareFontSeriesDefault[tt]{bf}{bm}
+\end{verbatim}
+then a switch between the main document families, e.g.,
+\verb=\ttfamily...\rmfamily= did not always correctly continued
+typesetting in medium or bold series if that involved adjusting the
+values used by \verb=\mdseries= or \verb=\bfseries=.  This has now
+been corrected.
+%
+\githubissue{291}
+
+
 \subsection{Adjusting \texttt{fleqn}}
 
 In \pkg{amsmath} the \cs{mathindent} parameter used with the
@@ -183,6 +202,17 @@
 
 
 
+\section{Changes to packages in the \pkg{graphics} category}
+
+\subsection{Generate a warning if existing color definition is changed}
+
+If a color is defined twice using \cs{DefineNamedColor}, no
+info text \texttt{Redefining color ... in named color model ...} is written
+to the log file, because of a typo in the check. This has been corrected.
+%
+\gnatsissue{graphics}{3635}
+
+
 \section{Changes to packages in the \pkg{tools} category}
 
 \subsection{Support stretchable glue in \texttt{w}-columns}

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltclass.dtx}
-             [2020/02/20 v1.3j LaTeX Kernel (Class & Package Interface)]
+             [2020/03/02 v1.3j LaTeX Kernel (Class & Package Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltclass.dtx}
@@ -161,7 +161,7 @@
 % option \texttt{nosearch} will only check the current directory
 % when looking if the file exists. This can be useful if you want to
 % generate a local (modified) copy of some file that is already in the
-% search tree of \TeX{}. Finally, you can use \texttt{nopremable} to
+% search tree of \TeX{}. Finally, you can use \texttt{noheader} to
 % prevent it from writing the standard blurb at the top of the file
 % (this is actually the same as using the star form of the environment).
 %
@@ -1817,7 +1817,7 @@
   \filec at ntents
 }
 %    \end{macrocode}
-%    Option \texttt{force}) (or \texttt{overwrite}) changes the
+%    Option \texttt{force} (or \texttt{overwrite}) changes the
 %    overwriting switch
 %    \begin{macrocode}
 \let\filec at ntents@force\@fileswfalse

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltdefns.dtx}
-             [2019/08/27 v1.5f LaTeX Kernel (definition commands)]
+             [2020/02/27 v1.5g LaTeX Kernel (definition commands)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltdefns.dtx}
@@ -888,6 +888,8 @@
 %
 % \begin{macro}{\@gobble}
 % \begin{macro}{\@gobbletwo}
+% \begin{macro}{\@gobblethree}
+% \changes{v1.5g}{2020/02/27}{Macro added}
 % \begin{macro}{\@gobblefour}
 % \changes{v1.2n}{1995/05/26}{(CAR) Added \cs{long}s}
 %    The |\@gobble| macro is used to get rid of its argument.
@@ -894,11 +896,13 @@
 %    \begin{macrocode}
 \long\def \@gobble #1{}
 \long\def \@gobbletwo #1#2{}
+\long\def \@gobblethree #1#2#3{}
 \long\def \@gobblefour #1#2#3#4{}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\@firstofone}
 % \begin{macro}{\@firstoftwo}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltexpl.dtx}
-             [2019-10-02 v0.0 LaTeX Kernel (expl3-dependent code)]
+             [2020-03-05 v1.1 LaTeX Kernel (expl3-dependent code)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfinal.dtx}
@@ -68,25 +68,47 @@
 %<*2ekernel|latexrelease>
 %<latexrelease>\IncludeInRelease{2020/02/02}%
 %<latexrelease>                 {expl3}{Pre-load expl3}%
-\IfFileExists{expl3.ltx}
-  {%
-    \ifnum0%
-      \ifdefined\pdffilesize 1\fi
-      \ifdefined\filesize 1\fi
-      \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
-      >0 %
-    \else
-      \message{Skipping expl3-dependent extensions}
+%    \end{macrocode}
+%    If we are doing a rollback with a format containing expl3 we
+%    aren't reloading it as that creates havoc. This may need a
+%    refined version!
+% \changes{v1.0a}{2020/03/02}
+%         {Don't load expl3 if already in the format (gh/295)}
+% \changes{v1.1}{2020/03/05}
+%         {Load xparse.ltx if \cs{NewDocumentCommand} is not defined by expl3.ltx}
+%    \begin{macrocode}
+\expandafter\ifx\csname tex\string _let:D\endcsname\relax
+  \IfFileExists{expl3.ltx}
+    {%
+      \ifnum0%
+        \ifdefined\pdffilesize 1\fi
+        \ifdefined\filesize 1\fi
+        \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
+        >0 %
+        \expandafter\@firstofone
+      \else
+        \message{Skipping expl3-dependent extensions}
 %<2ekernel>      \expandafter\endinput
-%<latexrelease>      \expandafter\@gobbletwo
-    \fi
-  }
-  {%
-    \message{Skipping expl3-dependent extensions}%
+%<latexrelease>      \expandafter\@gobble
+      \fi
+    }
+    {%
+      \message{Skipping expl3-dependent extensions}%
 %<2ekernel>    \endinput
-%<latexrelease>    \@gobbletwo
-  }%
-\input{expl3.ltx}
+%<latexrelease>    \@gobble
+    }%
+    {%
+      \input{expl3.ltx}
+      \ifdefined\NewDocumentCommand
+      \else
+        \IfFileExists{xparse.ltx}
+          {\input{xparse.ltx}}
+          {}%
+       \fi
+    }%
+\else
+  \GenericInfo{}{Skipping: expl3 code already part of the format}
+\fi
 %</2ekernel|latexrelease>
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -35,7 +35,7 @@
 %
 %
 \ProvidesFile{ltfssaxes.dtx}
-             [2020/02/18 v1.0c LaTeX Kernel (NFSS Axes handing)]
+             [2020/03/02 v1.0e LaTeX Kernel (NFSS Axes handing)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -827,7 +827,6 @@
 %
 %
 %  \begin{macro}{\set at target@series}
-%  \begin{macro}{\series at drop@one at m}
 %
 %    Finally the code for normalizing the \cs{f at series} value.
 %
@@ -845,21 +844,69 @@
 \def\set at target@series#1{%
 %    \end{macrocode}
 %    We need to \cs{edef} the argument first in case it starts with a
-%    conditional.
+%    conditional. Then we check (and perhaps drop) an ``m'' from the
+%    value andassign the result to \cs{f at series}.
+% \changes{v1.0d}{2020/02/27}{Drop ``m'' only in a specific set of values (gh/293)}
 %    \begin{macrocode}
     \edef\f at series{#1}%
-    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+    \series at maybe@drop at one@m\f at series\f at series
 }
 %    \end{macrocode}
+%  \end{macro}
+%    
+%  \begin{macro}{\series at maybe@drop at one@m}
+%    If the series value is in NFSS notation then it should not
+%    contain any ``m'' unless it is just an ``m'' by it own. So we
+%    need to drop surplus ``m''s. But we better don't do this for full
+%    names, such as ``\texttt{semibold}'' as used by
+%    \texttt{autoinst}, for example. So we test against the possible
+%    explicit values that should drop an ``m''.
+%    After that we assign the result to \verb=#2= for further use.
+% \changes{v1.0d}{2020/02/27}{Drop ``m'' in certain values from a
+%    fixed list (gh/293)}
+%    \begin{macrocode}
+\def\series at maybe@drop at one@m#1{%
+  \expandafter\series at maybe@drop at one@m at x\expandafter{#1}}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+
+\def\series at maybe@drop at one@m at x#1#2{%
+%    \end{macrocode}
+%    The code below is an inline version of the \cs{in@} macro without
+%    the group, so that it works in \cs{accent}.
+%    \begin{macrocode}
+  \def\in@@##1,#1,{}%
+  \series at check@toks\expandafter{\in@@
+    ,ulm,elm,lm,slm,mm,sbm,bm,ebm,ubm,muc,mec,mc,msc,msx,mx,mex,mux,{}{},#1,}%
+  \edef\in@@{\the\series at check@toks}%
+  \ifx\in@@\@empty
+    \def#2{#1}%
+  \else
+    \edef#2{\expandafter\series at drop@one at m #1m\series at drop@one at m}%
+  \fi
+}
+%    \end{macrocode}
+%    As a precaution we use a private toks register not \cs{toks@} as
+%    that is no longer hidden inside the group.
+%    \begin{macrocode}
+\newtoks\series at check@toks
+%    \end{macrocode}
+%  \end{macro}
+%
+%  \begin{macro}{\series at drop@one at m}
 %    Drop up to two \texttt{m}s but keep one if that makes the series
-%    value empty.
+%    value empty. Actually, with the current implementation we know
+%    that there is at least one in the series value itself and we
+%    added one after it, so all we have to do is now returning
+%    \verb=#1#2= and dropping the rest.
 %    \begin{macrocode}
 \def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
-  \ifx\relax#1#2\relax m\else#1#2\fi
+%  \ifx\relax#1#2\relax m\else#1#2\fi
+   #1#2%
 }
 %    \end{macrocode}
 %  \end{macro}
-%  \end{macro}
 
 
 
@@ -908,6 +955,7 @@
 \DeclareRobustCommand\ulcshape
         {\not at math@alphabet\ulcshape\relax
          \fontshape\ulcdefault\selectfont}
+\let\ulcdefault\@undefined      % for rollback
 \newcommand\ulcdefault{ulc}
 %    \end{macrocode}
 %  \end{macro}
@@ -928,6 +976,7 @@
 \DeclareRobustCommand\swshape
         {\not at math@alphabet\swshape\relax
          \fontshape\swdefault\selectfont}
+\let\swdefault\@undefined      % for rollback
 \newcommand\swdefault{sw}
 %    \end{macrocode}
 %  \end{macro}
@@ -951,6 +1000,7 @@
 \DeclareRobustCommand\sscshape
         {\not at math@alphabet\sscshape\relax
          \fontshape\sscdefault\selectfont}
+\let\sscdefault\@undefined      % for rollback
 \newcommand\sscdefault{ssc}
 %    \end{macrocode}
 %  \end{macro}
@@ -1215,6 +1265,7 @@
 %<latexrelease>\let\@font at shape@subst at warning\@undefined
 %<latexrelease>\let\maybe at load@fontshape\@undefined
 %<latexrelease>\let\set at target@series\@undefined
+%<latexrelease>\let\series at maybe@drop at one@m\@undefined
 %<latexrelease>\let\series at drop@one at m\@undefined
 %<latexrelease>\let\DeclareFontShapeChangeRule\@undefined
 %<latexrelease>\let\merge at font@shape\@undefined

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -35,7 +35,7 @@
 %
 %
 \ProvidesFile{ltfssbas.dtx}
-             [2019/12/17 v3.2e LaTeX Kernel (NFSS Basic Macros)]
+             [2020/02/27 v3.2g LaTeX Kernel (NFSS Basic Macros)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -245,24 +245,59 @@
 %    We use |\expandafter| |\endgroup| to restore catcode in case
 %    something goes wrong with the argument parsing (suggested by Tim
 %    Van Zandt)
+%    \begin{macrocode}
+   \expandafter\endgroup
+   \DeclareFontShape@}
+%    \end{macrocode}
 %  \end{macro}
 %
 %
 %
-%  \begin{macro}{\DeclareFontShape}
+%  \begin{macro}{\DeclareFontShape@}
 % \changes{v2.1c}{1994/02/07}{revert catcode settings earlier}
 % \changes{v3.0m}{1995/11/01}
 %      {(DPC) Test for \cs{relax} not \cs{undefined}, internal/1933}
 %    \begin{macrocode}
-   \expandafter\endgroup
-   \DeclareFontShape@}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\DeclareFontShape@}{Maybe drop one m}%
 \def\DeclareFontShape@#1#2#3#4#5#6{%
    \expandafter\ifx\csname #1+#2\endcsname\relax
      \@latex at error{Font family `#1+#2' unknown}\@eha
    \else
+%    \end{macrocode}
+%    If the series value is incorrectly specified with an extra ``m'',
+%    e.g., ``mc'' instead of just ``c'', drop the surplus ``m'' but
+%    keep the ``m'' if it is by its own. In that case also issue a
+%    warning that the declaration needs correction.
+% \changes{v3.2f}{2020/02/24}{Drop surplus ``m'' in series when
+%                             defining fontshape (gh/289)}
+% \changes{v3.2g}{2020/02/27}{Only ``m'' if the series value is a member
+%     of a fixed list  and issue warning if doing it (gh/293)}
+%
+%    For this we compare the given value \verb=#3= with one where we
+%    may have dropped an ``m''. If nothing has changes,
+%    fine. Otherwise there was a wrong value which is now corrected in
+%    \cs{reservedb} so we use that and also issue a warning.
+%    \begin{macrocode}
+     \edef\reserved at a{#3}%
+     \series at maybe@drop at one@m\reserved at a\reserved at b
+     \ifx\reserved at a\reserved at b\else
+       \@latex at warning{Font shape declaration has incorrect series
+         value `#3'.\MessageBreak It should not contain an `m'!
+         Please correct it.\MessageBreak Found}%
+     \fi
      \expandafter
-       \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
-                                   \csname #5\endcsname}%
+       \xdef\csname#1/#2/\reserved at b/#4\endcsname
+                 {\expandafter\noexpand\csname #5\endcsname}%
+%
+%    \end{macrocode}
+%    Most of the time \verb=#6= is empty so using \cs{let} to
+%    \cs{@empty} saves on space compared to using \cs{def}. That's
+%    really one of the old space saving techniques and probably not
+%    necessary these days.
+%    \begin{macrocode}
      \def\reserved at a{#6}%
      \global
      \expandafter\let\csname#5\expandafter\endcsname
@@ -274,6 +309,33 @@
    \fi
   }
 %    \end{macrocode}
+%
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\DeclareFontShape@}{Maybe drop one m}%
+%<latexrelease>
+%<latexrelease>\def\DeclareFontShape@#1#2#3#4#5#6{%
+%<latexrelease>   \expandafter\ifx\csname #1+#2\endcsname\relax
+%<latexrelease>     \@latex at error{Font family `#1+#2' unknown}\@eha
+%<latexrelease>   \else
+%<latexrelease>     \expandafter
+%<latexrelease>       \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
+%<latexrelease>                                   \csname #5\endcsname}%
+%<latexrelease>     \def\reserved at a{#6}%
+%<latexrelease>     \global
+%<latexrelease>     \expandafter\let\csname#5\expandafter\endcsname
+%<latexrelease>        \ifx\reserved at a\@empty
+%<latexrelease>          \@empty
+%<latexrelease>        \else
+%<latexrelease>          \reserved at a
+%<latexrelease>        \fi
+%<latexrelease>   \fi
+%<latexrelease>  }
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
 %  \end{macro}
 %
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -36,7 +36,7 @@
 %
 %
 \ProvidesFile{ltfssini.dtx}
-             [2020/02/18 v3.1i LaTeX Kernel (NFSS Initialisation)]
+             [2020/03/02 v3.1k LaTeX Kernel (NFSS Initialisation)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -244,7 +244,7 @@
 %  \DescribeMacro\DeclareFontSeriesDefault
 %    We now support this concept directly from within \LaTeX{} and for
 %    use in font packages (or the document preamble) we offer
-%    \cs{DeclareSeriesDefault}. This declaration takes three
+%    \cs{DeclareFontSeriesDefault}. This declaration takes three
 %    arguments:
 %   \begin{description}
 %   \item[document family interface:] Can either be \texttt{rm},
@@ -278,6 +278,7 @@
 %    The command to declare font series defaults for the ``rm'', ``sf'' or
 %    ``tt'' family.
 %    \begin{macrocode}
+\let\DeclareFontSeriesDefault\@undefined      % for rollback
 \newcommand\DeclareFontSeriesDefault[3][]{%
   \def\reserved at a{#1}%
 %    \end{macrocode}
@@ -393,8 +394,14 @@
   \edef\rmdef at ult{\rmdefault}%
   \edef\sfdef at ult{\sfdefault}%
   \edef\ttdef at ult{\ttdefault}%
-  \edef\bfdef at ult{\bfdefault}%
-  \edef\mddef at ult{\mddefault}%
+%    \end{macrocode}
+%    The series defaults may contain some surplus \texttt{m} that we
+%    need to drop here.
+% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{bfdef at ult}
+%                             and \cs{mddef at ult} (gh/291)}
+%    \begin{macrocode}
+  \series at maybe@drop at one@m\bfdefault\bfdef at ult
+  \series at maybe@drop at one@m\mddefault\mddef at ult
   \edef\famdef at ult{\familydefault}%
 }
 %    \end{macrocode}
@@ -718,7 +725,16 @@
        \maybe at load@fontshape
 %<+debug> \series at change@debug{Target series:
 %<+debug>                      \f at series \space -> \target at series@value}%
-       \let\f at series\target at series@value
+%    \end{macrocode}
+%    The \cs{target at series@value} may contain something like
+%    \texttt{cm} (coming from a default) and so we can't directly
+%    asign it to \cs{f at series} be have to drop any surplus \texttt{m}
+%    first.
+% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from
+%                             \cs{target at series@value} (gh/291)}
+%    \begin{macrocode}
+%      \let\f at series\target at series@value
+       \series at maybe@drop at one@m\target at series@value\f at series
      \fi
    \fi
  \fi
@@ -776,10 +792,30 @@
 %    \cs{rmfamily}. This is now covered by looping and stopping the
 %    loop when a match was found.
 %    \begin{macrocode}
-      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+%    \end{macrocode}
+%    We have to sanitize the default value first because it may
+%    contain something like \texttt{mc} and that would never match
+%    \cs{f at series} because there it would be called \texttt{c} with
+%    the \texttt{m} dropped. It would be probably better to do that
+%    differently these days, but it is hard to adjust without causing
+%    a lot of issues, so we do the dropping in various places instead.
+% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{reserved at d}
+%                                (gh/291)}
+%    \begin{macrocode}
+      \expandafter\series at maybe@drop at one@m
+          \csname mdseries@#1\endcsname\reserved at d
+      \ifx\reserved at d\f at series
 %<+debug>   \series at change@debug{mdseries@#1 matched -> \reserved at b}%
                                       \let\target at series@value\reserved at b
-      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+      \else
+%    \end{macrocode}
+%    Again do some sanitizing.
+% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{reserved at d}
+%                                (gh/291)}
+%    \begin{macrocode}
+        \expandafter\series at maybe@drop at one@m
+           \csname bfseries@#1\endcsname\reserved at d
+        \ifx\reserved at d\f at series
 %<+debug>  \series at change@debug{bfseries@#1 matched -> \reserved at c}%
                                       \let\target at series@value\reserved at c
       \else\ifx\f at series\mddef at ult    \let\target at series@value\reserved at b

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltvers.dtx}
-             [2020/01/31 v1.1e LaTeX Kernel (Version Info)]
+             [2020/03/02 v1.1e LaTeX Kernel (Version Info)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltvers.dtx}
@@ -115,7 +115,7 @@
    {2020-10-01}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{-4}
+\def\patch at level{-5}
 %    \end{macrocode}
 %
 % \begin{macro}{\development at branch@name}
@@ -250,6 +250,14 @@
 \def\@IncludeInRele at se#1#2#3{%
   \toks@{[#1] #3}%
   \expandafter\ifx\csname\string#2+\@currname+IIR\endcsname\relax
+%    \end{macrocode}
+%    If we roll back and the first patch already match then applying
+%    that is actually reapplying what is already in the format, i.e.,
+%    it is useless and possibly allocating new registers. However, it
+%    makes the logic simpler so this is the way it is for now. In
+%    theory we could always jump overthe first patch because that is
+%    only really needed for rolling forward. So maybe one day \dots
+%    \begin{macrocode}
     \ifnum\expandafter\@parse at version#1//00\@nil
           >\expandafter\@parse at version\fmtversion//00\@nil
       \GenericInfo{}{Skipping: \the\toks@}%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -710,7 +710,7 @@
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
    {2020-10-01}
-\def\patch at level{-4}
+\def\patch at level{-5}
 \edef\development at branch@name{develop \the\year-\the\month-\the\day}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
@@ -991,6 +991,7 @@
 \@onlypreamble\@check at eq
 \long\def \@gobble #1{}
 \long\def \@gobbletwo #1#2{}
+\long\def \@gobblethree #1#2#3{}
 \long\def \@gobblefour #1#2#3#4{}
 \long\def\@firstofone#1{#1}
 \long\def\@firstoftwo#1#2{#1}
@@ -2393,9 +2394,16 @@
    \expandafter\ifx\csname #1+#2\endcsname\relax
      \@latex at error{Font family `#1+#2' unknown}\@eha
    \else
+     \edef\reserved at a{#3}%
+     \series at maybe@drop at one@m\reserved at a\reserved at b
+     \ifx\reserved at a\reserved at b\else
+       \@latex at warning{Font shape declaration has incorrect series
+         value `#3'.\MessageBreak It should not contain an `m'!
+         Please correct it.\MessageBreak Found}%
+     \fi
      \expandafter
-       \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
-                                   \csname #5\endcsname}%
+       \xdef\csname#1/#2/\reserved at b/#4\endcsname
+                 {\expandafter\noexpand\csname #5\endcsname}%
      \def\reserved at a{#6}%
      \global
      \expandafter\let\csname#5\expandafter\endcsname
@@ -3295,10 +3303,25 @@
 \DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}
 \def\set at target@series#1{%
     \edef\f at series{#1}%
-    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+    \series at maybe@drop at one@m\f at series\f at series
 }
+\def\series at maybe@drop at one@m#1{%
+  \expandafter\series at maybe@drop at one@m at x\expandafter{#1}}
+
+\def\series at maybe@drop at one@m at x#1#2{%
+  \def\in@@##1,#1,{}%
+  \series at check@toks\expandafter{\in@@
+    ,ulm,elm,lm,slm,mm,sbm,bm,ebm,ubm,muc,mec,mc,msc,msx,mx,mex,mux,{}{},#1,}%
+  \edef\in@@{\the\series at check@toks}%
+  \ifx\in@@\@empty
+    \def#2{#1}%
+  \else
+    \edef#2{\expandafter\series at drop@one at m #1m\series at drop@one at m}%
+  \fi
+}
+\newtoks\series at check@toks
 \def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
-  \ifx\relax#1#2\relax m\else#1#2\fi
+   #1#2%
 }
 
 \def\DeclareFontShapeChangeRule #1#2#3#4{%
@@ -3306,14 +3329,17 @@
 \DeclareRobustCommand\ulcshape
         {\not at math@alphabet\ulcshape\relax
          \fontshape\ulcdefault\selectfont}
+\let\ulcdefault\@undefined      % for rollback
 \newcommand\ulcdefault{ulc}
 \DeclareRobustCommand\swshape
         {\not at math@alphabet\swshape\relax
          \fontshape\swdefault\selectfont}
+\let\swdefault\@undefined      % for rollback
 \newcommand\swdefault{sw}
 \DeclareRobustCommand\sscshape
         {\not at math@alphabet\sscshape\relax
          \fontshape\sscdefault\selectfont}
+\let\sscdefault\@undefined      % for rollback
 \newcommand\sscdefault{ssc}
 \DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
 \DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
@@ -4585,6 +4611,7 @@
 \DeclareRobustCommand\itshape
         {\not at math@alphabet\itshape\mathit
          \fontshape\itdefault\selectfont}
+\let\DeclareFontSeriesDefault\@undefined      % for rollback
 \newcommand\DeclareFontSeriesDefault[3][]{%
   \def\reserved at a{#1}%
   \ifx\reserved at a\@empty
@@ -4625,8 +4652,8 @@
   \edef\rmdef at ult{\rmdefault}%
   \edef\sfdef at ult{\sfdefault}%
   \edef\ttdef at ult{\ttdefault}%
-  \edef\bfdef at ult{\bfdefault}%
-  \edef\mddef at ult{\mddefault}%
+  \series at maybe@drop at one@m\bfdefault\bfdef at ult
+  \series at maybe@drop at one@m\mddefault\mddef at ult
   \edef\famdef at ult{\familydefault}%
 }
 
@@ -4689,7 +4716,7 @@
      \ifx \f at series\target at series@value
      \else
        \maybe at load@fontshape
-       \let\f at series\target at series@value
+       \series at maybe@drop at one@m\target at series@value\f at series
      \fi
    \fi
  \fi
@@ -4704,9 +4731,14 @@
                       \csname mdseries@\target at meta@family at value\endcsname
       \expandafter\let\expandafter\reserved at c
                       \csname bfseries@\target at meta@family at value\endcsname
-      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+      \expandafter\series at maybe@drop at one@m
+          \csname mdseries@#1\endcsname\reserved at d
+      \ifx\reserved at d\f at series
                                       \let\target at series@value\reserved at b
-      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+      \else
+        \expandafter\series at maybe@drop at one@m
+           \csname bfseries@#1\endcsname\reserved at d
+        \ifx\reserved at d\f at series
                                       \let\target at series@value\reserved at c
       \else\ifx\f at series\mddef at ult    \let\target at series@value\reserved at b
       \else\ifx\f at series\bfdef at ult    \let\target at series@value\reserved at c

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty	2020-03-06 21:30:29 UTC (rev 54129)
@@ -3749,6 +3749,7 @@
 %% all rights reserved.
 \IncludeInRelease{2020/02/02}%
                  {\DeclareFontSeriesDefault}{Custom series}%
+\let\DeclareFontSeriesDefault\@undefined      % for rollback
 \newcommand\DeclareFontSeriesDefault[3][]{%
   \def\reserved at a{#1}%
   \ifx\reserved at a\@empty
@@ -3789,8 +3790,8 @@
   \edef\rmdef at ult{\rmdefault}%
   \edef\sfdef at ult{\sfdefault}%
   \edef\ttdef at ult{\ttdefault}%
-  \edef\bfdef at ult{\bfdefault}%
-  \edef\mddef at ult{\mddefault}%
+  \series at maybe@drop at one@m\bfdefault\bfdef at ult
+  \series at maybe@drop at one@m\mddefault\mddef at ult
   \edef\famdef at ult{\familydefault}%
 }
 
@@ -3853,7 +3854,7 @@
      \ifx \f at series\target at series@value
      \else
        \maybe at load@fontshape
-       \let\f at series\target at series@value
+       \series at maybe@drop at one@m\target at series@value\f at series
      \fi
    \fi
  \fi
@@ -3868,9 +3869,14 @@
                       \csname mdseries@\target at meta@family at value\endcsname
       \expandafter\let\expandafter\reserved at c
                       \csname bfseries@\target at meta@family at value\endcsname
-      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+      \expandafter\series at maybe@drop at one@m
+          \csname mdseries@#1\endcsname\reserved at d
+      \ifx\reserved at d\f at series
                                       \let\target at series@value\reserved at b
-      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+      \else
+        \expandafter\series at maybe@drop at one@m
+           \csname bfseries@#1\endcsname\reserved at d
+        \ifx\reserved at d\f at series
                                       \let\target at series@value\reserved at c
       \else\ifx\f at series\mddef at ult    \let\target at series@value\reserved at b
       \else\ifx\f at series\bfdef at ult    \let\target at series@value\reserved at c
@@ -4824,6 +4830,54 @@
 
 %%% From File: ltfssbas.dtx
 %% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
+\IncludeInRelease{2020/02/02}%
+                 {\DeclareFontShape@}{Maybe drop one m}%
+\def\DeclareFontShape@#1#2#3#4#5#6{%
+   \expandafter\ifx\csname #1+#2\endcsname\relax
+     \@latex at error{Font family `#1+#2' unknown}\@eha
+   \else
+     \edef\reserved at a{#3}%
+     \series at maybe@drop at one@m\reserved at a\reserved at b
+     \ifx\reserved at a\reserved at b\else
+       \@latex at warning{Font shape declaration has incorrect series
+         value `#3'.\MessageBreak It should not contain an `m'!
+         Please correct it.\MessageBreak Found}%
+     \fi
+     \expandafter
+       \xdef\csname#1/#2/\reserved at b/#4\endcsname
+                 {\expandafter\noexpand\csname #5\endcsname}%
+     \def\reserved at a{#6}%
+     \global
+     \expandafter\let\csname#5\expandafter\endcsname
+        \ifx\reserved at a\@empty
+          \@empty
+        \else
+          \reserved at a
+        \fi
+   \fi
+  }
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\DeclareFontShape@}{Maybe drop one m}%
+
+\def\DeclareFontShape@#1#2#3#4#5#6{%
+   \expandafter\ifx\csname #1+#2\endcsname\relax
+     \@latex at error{Font family `#1+#2' unknown}\@eha
+   \else
+     \expandafter
+       \xdef\csname#1/#2/#3/#4\endcsname{\expandafter\noexpand
+                                   \csname #5\endcsname}%
+     \def\reserved at a{#6}%
+     \global
+     \expandafter\let\csname#5\expandafter\endcsname
+        \ifx\reserved at a\@empty
+          \@empty
+        \else
+          \reserved at a
+        \fi
+   \fi
+  }
+\EndIncludeInRelease
 \IncludeInRelease{2015/01/01}{\@DeclareMathSizes}%
                  {Arbitrary units in \DeclareMathSizes}%
 \def\@DeclareMathSizes #1#2#3#4#5{%
@@ -5509,10 +5563,25 @@
 \DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}
 \def\set at target@series#1{%
     \edef\f at series{#1}%
-    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+    \series at maybe@drop at one@m\f at series\f at series
 }
+\def\series at maybe@drop at one@m#1{%
+  \expandafter\series at maybe@drop at one@m at x\expandafter{#1}}
+
+\def\series at maybe@drop at one@m at x#1#2{%
+  \def\in@@##1,#1,{}%
+  \series at check@toks\expandafter{\in@@
+    ,ulm,elm,lm,slm,mm,sbm,bm,ebm,ubm,muc,mec,mc,msc,msx,mx,mex,mux,{}{},#1,}%
+  \edef\in@@{\the\series at check@toks}%
+  \ifx\in@@\@empty
+    \def#2{#1}%
+  \else
+    \edef#2{\expandafter\series at drop@one at m #1m\series at drop@one at m}%
+  \fi
+}
+\newtoks\series at check@toks
 \def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
-  \ifx\relax#1#2\relax m\else#1#2\fi
+   #1#2%
 }
 
 \def\DeclareFontShapeChangeRule #1#2#3#4{%
@@ -5520,14 +5589,17 @@
 \DeclareRobustCommand\ulcshape
         {\not at math@alphabet\ulcshape\relax
          \fontshape\ulcdefault\selectfont}
+\let\ulcdefault\@undefined      % for rollback
 \newcommand\ulcdefault{ulc}
 \DeclareRobustCommand\swshape
         {\not at math@alphabet\swshape\relax
          \fontshape\swdefault\selectfont}
+\let\swdefault\@undefined      % for rollback
 \newcommand\swdefault{sw}
 \DeclareRobustCommand\sscshape
         {\not at math@alphabet\sscshape\relax
          \fontshape\sscdefault\selectfont}
+\let\sscdefault\@undefined      % for rollback
 \newcommand\sscdefault{ssc}
 \DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
 \DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
@@ -5638,6 +5710,7 @@
 \let\@font at shape@subst at warning\@undefined
 \let\maybe at load@fontshape\@undefined
 \let\set at target@series\@undefined
+\let\series at maybe@drop at one@m\@undefined
 \let\series at drop@one at m\@undefined
 \let\DeclareFontShapeChangeRule\@undefined
 \let\merge at font@shape\@undefined
@@ -6271,23 +6344,36 @@
 %%% From File: ltexpl.dtx
 \IncludeInRelease{2020/02/02}%
                  {expl3}{Pre-load expl3}%
-\IfFileExists{expl3.ltx}
-  {%
-    \ifnum0%
-      \ifdefined\pdffilesize 1\fi
-      \ifdefined\filesize 1\fi
-      \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
-      >0 %
-    \else
-      \message{Skipping expl3-dependent extensions}
-      \expandafter\@gobbletwo
-    \fi
-  }
-  {%
-    \message{Skipping expl3-dependent extensions}%
-    \@gobbletwo
-  }%
-\input{expl3.ltx}
+\expandafter\ifx\csname tex\string _let:D\endcsname\relax
+  \IfFileExists{expl3.ltx}
+    {%
+      \ifnum0%
+        \ifdefined\pdffilesize 1\fi
+        \ifdefined\filesize 1\fi
+        \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
+        >0 %
+        \expandafter\@firstofone
+      \else
+        \message{Skipping expl3-dependent extensions}
+      \expandafter\@gobble
+      \fi
+    }
+    {%
+      \message{Skipping expl3-dependent extensions}%
+    \@gobble
+    }%
+    {%
+      \input{expl3.ltx}
+      \ifdefined\NewDocumentCommand
+      \else
+        \IfFileExists{xparse.ltx}
+          {\input{xparse.ltx}}
+          {}%
+       \fi
+    }%
+\else
+  \GenericInfo{}{Skipping: expl3 code already part of the format}
+\fi
 \EndIncludeInRelease
 %%% From File: ltfinal.dtx
 \IncludeInRelease{2015/01/01}%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx	2020-03-06 21:29:33 UTC (rev 54128)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx	2020-03-06 21:30:29 UTC (rev 54129)
@@ -42,23 +42,36 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 %%% From File: ltexpl.dtx
-\IfFileExists{expl3.ltx}
-  {%
-    \ifnum0%
-      \ifdefined\pdffilesize 1\fi
-      \ifdefined\filesize 1\fi
-      \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
-      >0 %
-    \else
-      \message{Skipping expl3-dependent extensions}
+\expandafter\ifx\csname tex\string _let:D\endcsname\relax
+  \IfFileExists{expl3.ltx}
+    {%
+      \ifnum0%
+        \ifdefined\pdffilesize 1\fi
+        \ifdefined\filesize 1\fi
+        \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
+        >0 %
+        \expandafter\@firstofone
+      \else
+        \message{Skipping expl3-dependent extensions}
       \expandafter\endinput
-    \fi
-  }
-  {%
-    \message{Skipping expl3-dependent extensions}%
+      \fi
+    }
+    {%
+      \message{Skipping expl3-dependent extensions}%
     \endinput
-  }%
-\input{expl3.ltx}
+    }%
+    {%
+      \input{expl3.ltx}
+      \ifdefined\NewDocumentCommand
+      \else
+        \IfFileExists{xparse.ltx}
+          {\input{xparse.ltx}}
+          {}%
+       \fi
+    }%
+\else
+  \GenericInfo{}{Skipping: expl3 code already part of the format}
+\fi
 \endinput
 %%
 %% End of file `ltexpl.ltx'.



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