[latex3-commits] [git/LaTeX3-latex3-latex2e] robustness: cleanup and changelog entries (b23de467)
Frank Mittelbach
frank.mittelbach at latex-project.org
Wed Aug 28 15:34:09 CEST 2019
Repository : https://github.com/latex3/latex2e
On branch : robustness
Link : https://github.com/latex3/latex2e/commit/b23de4676cc00f13139378a5f15db9401144280e
>---------------------------------------------------------------
commit b23de4676cc00f13139378a5f15db9401144280e
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date: Wed Aug 28 15:34:09 2019 +0200
cleanup and changelog entries
>---------------------------------------------------------------
b23de4676cc00f13139378a5f15db9401144280e
base/changes.txt | 42 +++++++++
base/classes.dtx | 3 +-
base/doc/ltnews30.tex | 26 ++++++
base/fontdef.dtx | 19 ++--
base/ltboxes.dtx | 6 +-
base/ltclass.dtx | 4 +-
base/ltdefns.dtx | 68 +++++++++++++-
base/ltfiles.dtx | 7 +-
base/ltfinal.dtx | 2 +-
base/ltfssbas.dtx | 18 +---
base/ltfssdcl.dtx | 128 +++++++++++++++++++++++++-
base/ltfssini.dtx | 3 +-
base/ltidxglo.dtx | 3 +-
base/ltlength.dtx | 9 +-
base/ltlogos.dtx | 3 +-
base/ltmath.dtx | 3 +-
base/ltmiscen.dtx | 3 +-
base/ltoutput.dtx | 3 +-
base/ltpage.dtx | 3 +-
base/ltpictur.dtx | 4 +-
base/ltplain.dtx | 3 +-
base/ltsect.dtx | 3 +-
base/ltspace.dtx | 3 +-
base/lttab.dtx | 7 +-
required/tools/testfiles/tlb-tabularx-002.lvt | 0
25 files changed, 318 insertions(+), 55 deletions(-)
diff --git a/base/changes.txt b/base/changes.txt
index 9fcc430d..9d8a2a83 100644
--- a/base/changes.txt
+++ b/base/changes.txt
@@ -4,6 +4,48 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2019-08-27 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
+
+ * lttab.dtx: Make various commands robust
+
+ * ltspace.dtx: Make various commands robust
+
+ * ltsect.dtx: Make various commands robust
+
+ * ltpictur.dtx: Make various commands robust
+
+ * ltpage.dtx: Make various commands robust
+
+ * ltoutput.dtx: Make \AtBeginDvi robust
+
+ * ltmiscen.dtx: Make various commands robust
+
+ * ltmath.dtx: Make various commands robust
+
+ * ltlogos.dtx: Make \TeX logo robust
+
+ * ltidxglo.dtx: Make \index and \glossary robust
+
+ * ltfssini.dtx: Various commands made robust
+
+ * ltfssdcl.dtx: Make math accents and delimiters robust
+
+ * ltfssbas.dtx: Various commands made robust
+
+ * ltfiles.dtx: Make \IfFileExists and \InputIf FileExists robust
+
+ * ltdefns.dtx: Various commands made robust
+ Make assignments by \MakeRobust global as we need to apply them
+ in a group once in a while.
+
+ * ltclass.dtx: Various commands made robust
+
+ * ltboxes.dtx: Various commands made robust
+
+ * classes.dtx: Various commands made robust
+
+ * fontdef.dtx: Various commands made robust
+
2019-08-22 Frank Mittelbach <Frank.Mittelbach at latex-project.org>
* ltxref.dtx (subsection{Cross Referencing}):
diff --git a/base/classes.dtx b/base/classes.dtx
index f9e7f47f..3255fde7 100644
--- a/base/classes.dtx
+++ b/base/classes.dtx
@@ -53,7 +53,7 @@
%<*driver>
\ProvidesFile{classes.drv}
%</driver>
- [2018/09/03 v1.4i
+ [2019/08/27 v1.4j
%<article|report|book> Standard LaTeX document class]
%<10pt|11pt|12pt> Standard LaTeX file (size option)]
% \end{macrocode}
@@ -213,6 +213,7 @@
% \changes{v1.3l}{1995/10/20}{Disabled in compatibility mode all
% options that are new in \LaTeXe.}
% \changes{v1.3v}{1997/06/16}{Documentation fixes.}
+% \changes{v1.4j}{2019/08/27}{Various commands made robust}
%
%
% \title{Standard Document Classes for \LaTeX{} version 2e\thanks{This
diff --git a/base/doc/ltnews30.tex b/base/doc/ltnews30.tex
index 17848778..748806cf 100644
--- a/base/doc/ltnews30.tex
+++ b/base/doc/ltnews30.tex
@@ -173,6 +173,32 @@ A related change is that file names used as part of \cs{input}, \cs{includegrap
+\section{Making more user commands made robust}
+
+In the early days of \LaTeX{} many commands were fragile, i.e., they
+needed \cs{protect} in front of them when used in places such as
+section headings etc. With \LaTeXe{} already many were made robust,
+but still a fairly huge number remained unnecessarily fragile.
+
+In this release of \LaTeX{} we have now tackled most of the remaining
+once, except for a few that for one or the other reasons need to
+always expand (at least partially) or where it rather unlikely that
+they are ever needed in a so-called \enquote{moving argument}.
+
+What hasn't been tackled yet is \pkg{amsmath}. As this package
+redefines a number of basic math construct they become fragile again
+once the package is loaded. This area will be addressed in a follow up
+release.
+
+Also still fragile are \verb=\begin= and \verb=\end= as there are
+several packages that explicitly try to look ahead into the code
+executed by \verb=\end= and making it robust would result in severe
+failures. Because of this it is currently unclear whether or not
+these commands can be altered eventually.
+
+\githubissue{123}
+
+
\section{Other changes to the \LaTeX{} kernel}
diff --git a/base/fontdef.dtx b/base/fontdef.dtx
index c1955424..38d51411 100644
--- a/base/fontdef.dtx
+++ b/base/fontdef.dtx
@@ -39,7 +39,7 @@
%<driver, >\ProvidesFile{fontdef.drv}
% \fi
% \ProvidesFile{fontdef.dtx}
-%<-latexrelease> [2018/09/24 v3.0b LaTeX Kernel
+%<-latexrelease> [2019/08/27 v3.0c LaTeX Kernel
% \iftrue (\else
%<text, >(Text
%<math, >(Math
@@ -837,7 +837,6 @@
%
% \begin{macrocode}
\DeclareMathSymbol{\aleph}{\mathord}{symbols}{"40}
-\DeclareRobustCommand\hbar{{\mathchar'26\mkern-9muh}}
\DeclareMathSymbol{\imath}{\mathord}{letters}{"7B}
\DeclareMathSymbol{\jmath}{\mathord}{letters}{"7C}
\DeclareMathSymbol{\ell}{\mathord}{letters}{"60}
@@ -849,13 +848,8 @@
\DeclareMathSymbol{\prime}{\mathord}{symbols}{"30}
\DeclareMathSymbol{\emptyset}{\mathord}{symbols}{"3B}
\DeclareMathSymbol{\nabla}{\mathord}{symbols}{"72}
-\DeclareRobustCommand\surd{{\mathchar"1270}}
\DeclareMathSymbol{\top}{\mathord}{symbols}{"3E}
\DeclareMathSymbol{\bot}{\mathord}{symbols}{"3F}
-\DeclareRobustCommand\angle{{\vbox{\ialign{$\m at th\scriptstyle##$\crcr
- \not\mathrel{\mkern14mu}\crcr
- \noalign{\nointerlineskip}
- \mkern2.5mu\leaders\hrule \@height.34pt\hfill\mkern2.5mu\crcr}}}}
\DeclareMathSymbol{\triangle}{\mathord}{symbols}{"34}
\DeclareMathSymbol{\forall}{\mathord}{symbols}{"38}
\DeclareMathSymbol{\exists}{\mathord}{symbols}{"39}
@@ -870,6 +864,17 @@
\DeclareMathSymbol{\spadesuit}{\mathord}{symbols}{"7F}
% \end{macrocode}
%
+% \changes{v3.0c}{2019/08/27}{Various commands made robust throughout
+% the file}
+% \begin{macrocode}
+\DeclareRobustCommand\hbar{{\mathchar'26\mkern-9muh}}
+\DeclareRobustCommand\surd{{\mathchar"1270}}
+\DeclareRobustCommand\angle{{\vbox{\ialign{$\m at th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule \@height.34pt\hfill\mkern2.5mu\crcr}}}}
+% \end{macrocode}
+%
%
% \subsubsection{Large Operators}
%
diff --git a/base/ltboxes.dtx b/base/ltboxes.dtx
index f91b5963..7e1c2c38 100644
--- a/base/ltboxes.dtx
+++ b/base/ltboxes.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2017/03/29 v1.3a LaTeX Kernel (Box Commands)]
+ [2019/08/27 v1.3b LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -53,6 +53,10 @@
%
%
% \changes{v1.1e}{1998/08/17}{(RmS) Minor Documentation fixes.}
+% \changes{v1.3b}{2019/08/27}{Various commands made robust}
+%
+%
+%
% \section{\LaTeX\ Box commands}
%
%
diff --git a/base/ltclass.dtx b/base/ltclass.dtx
index a9608b73..9573614c 100644
--- a/base/ltclass.dtx
+++ b/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2019/07/09 v1.3a LaTeX Kernel (Class & Package Interface)]
+ [2019/08/27 v1.3b LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -1707,6 +1707,8 @@
% \begin{macrocode}
% \changes{v1.3a}{2019/07/01}{Support UTF8 and spaces in
% filecontents environment file name}
+% \changes{v1.3b}{2019/08/27}{Make various commands robust}
+%
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2019/10/01}%
diff --git a/base/ltdefns.dtx b/base/ltdefns.dtx
index 73e69905..bb94502c 100644
--- a/base/ltdefns.dtx
+++ b/base/ltdefns.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2018/09/26 v1.5e LaTeX Kernel (definition commands)]
+ [2019/08/27 v1.5f LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -1166,12 +1166,14 @@
%
% \begin{macro}{\MakeRobust}
% \changes{v1.4a}{2015/01/08}{Added macro}
+% \changes{v1.5f}{2019/08/27}{Make the assignments global as we may
+% need to apply them inside a group}
%
-% The macro firstly checks if the controls sequence in question exists
+% The macro firstly checks if the control sequence in question exists
% at all.
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
+%<latexrelease>\IncludeInRelease{2019/10/01}{\MakeRobust}{\MakeRobust}%
%<*2ekernel|latexrelease>
\def\MakeRobust#1{%
\@ifundefined{\expandafter\@gobble\string#1}{%
@@ -1206,6 +1208,32 @@
}%
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
+%<latexrelease>\def\MakeRobust#1{%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1}{%
+%<latexrelease> \@latex at error{The control sequence `\string#1' is undefined!%
+%<latexrelease> \MessageBreak There is nothing here to make robust}%
+%<latexrelease> \@eha
+%<latexrelease> }%
+%<latexrelease> {%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1\space}%
+%<latexrelease> {%
+%<latexrelease> \expandafter\let\csname
+%<latexrelease> \expandafter\@gobble\string#1\space\endcsname=#1%
+%<latexrelease> \edef\reserved at a{\string#1}%
+%<latexrelease> \def\reserved at b{#1}%
+%<latexrelease> \edef\reserved at b{\expandafter\strip at prefix\meaning\reserved at b}%
+%<latexrelease> \edef#1{%
+%<latexrelease> \ifx\reserved at a\reserved at b
+%<latexrelease> \noexpand\x at protect\noexpand#1%
+%<latexrelease> \fi
+%<latexrelease> \noexpand\protect\expandafter\noexpand
+%<latexrelease> \csname\expandafter\@gobble\string#1\space\endcsname}%
+%<latexrelease> }%
+%<latexrelease> {\@latex at info{The control sequence `\string#1' is already robust}}%
+%<latexrelease> }%
+%<latexrelease>}%
+%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}{\MakeRobust}{\MakeRobust}%
%<latexrelease>\let\MakeRobust\@undefined
%<latexrelease>\EndIncludeInRelease
@@ -1213,6 +1241,38 @@
% \end{macrocode}
% \end{macro}
%
+%
+%
+
+% \begin{macro}{\kernel at make@fragile}
+% The opposite of |\MakeRobust| execpt that it doesn't do many
+% checks as it is internal to the kernel. Why does one want such a
+% thing?
+% Only for compatibility reasons if \texttt{latexrelease} requests
+% a rollback of the kernel. For this reason we pretend that this
+% command existed in all earler versions of \LaTeX{} i.e., we are
+% not rolling it back since we need it precisely then.
+% \begin{macrocode}
+\def\kernel at make@fragile#1{%
+ \@ifundefined{\expandafter\@gobble\string#1\space}%
+% \end{macrocode}
+% If not robust do nothing.
+% \begin{macrocode}
+ {}%
+% \end{macrocode}
+% Else copy \verb*=\foo = back to \verb=\foo= and then undefine
+% the payload command.
+% \begin{macrocode}
+ {%
+ \global\expandafter\let\expandafter #1\csname
+ \expandafter\@gobble\string#1\space\endcsname
+ \global\expandafter\let\csname
+ \expandafter\@gobble\string#1\space\endcsname\@undefined
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Internal defining commands}
%
% These commands are used internally to define other \LaTeX{}
@@ -1538,6 +1598,8 @@
\@includeinreleasefalse
% \end{macrocode}
%
+% \changes{v1.5f}{2019/08/27}{Make various commands robust}
+%
% Delayed from |ltplain.dtx|
% \begin{macrocode}
\MakeRobust\allowbreak
diff --git a/base/ltfiles.dtx b/base/ltfiles.dtx
index f0db467d..afb085a4 100644
--- a/base/ltfiles.dtx
+++ b/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2019/07/01 v1.2a LaTeX Kernel (File Handling)]
+ [2019/08/27 v1.2b LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -750,6 +750,7 @@
% \begin{macro}{\IfFileExists}
%
% \changes{v1.2a}{2019/07/01}{Support UTF-8}
+% \changes{v1.2b}{2019/08/27}{Make command robust}
% \begin{macrocode}
\DeclareRobustCommand\IfFileExists[1]{%
\set at curr@file{#1}%
@@ -761,8 +762,7 @@
% \begin{macro}{\IfFileExists@}
% \changes{v0.9b}{1993/12/04}{Macro added}
% \changes{v0.9p}{1994/01/18}{New Definition}
-% \changes{v1.0t}{1995/05/25}
-% {(CAR) added \cs{long}}
+% \changes{v1.0t}{1995/05/25}{(CAR) added \cs{long}}
%
% \begin{macrocode}
\long\def \IfFileExists@#1#2#3{%
@@ -857,6 +857,7 @@
% {(CAR) added \cs{long}}
% \changes{v1.1o}{2019/02/07}{Expand \cs{@filef at und} before executing
% second argument (github/109)}
+% \changes{v1.2b}{2019/08/27}{Make command robust}
% \begin{macrocode}
%</2ekernel>
%<latexrelease>\IncludeInRelease{2019/10/01}%
diff --git a/base/ltfinal.dtx b/base/ltfinal.dtx
index 0192b499..de161a77 100644
--- a/base/ltfinal.dtx
+++ b/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2019/04/09 v2.1g LaTeX Kernel (Final Settings)]
+ [2019/08/27 v2.1g LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
diff --git a/base/ltfssbas.dtx b/base/ltfssbas.dtx
index e00bcc68..da9dab5d 100644
--- a/base/ltfssbas.dtx
+++ b/base/ltfssbas.dtx
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssbas.dtx}
- [2019/07/09 v3.2c LaTeX Kernel (NFSS Basic Macros)]
+ [2019/08/27 v3.2d LaTeX Kernel (NFSS Basic Macros)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -145,21 +145,11 @@
% substitution font/shape macro.}
% \changes{v1.0a}{1989/04/10}{Starting with version numbers!!
% \cs{ifmmode} added in \cs{math at group}}
-% \changes{v2.1w}{1994/11/17}
-% {\cs{@tempa} to \cs{reserved at a}}
-% \changes{v3.0z}{2015/02/21}
-% {Removed autoload code}
+% \changes{v2.1w}{1994/11/17}{\cs{@tempa} to \cs{reserved at a}}
+% \changes{v3.0z}{2015/02/21}{Removed autoload code}
+% \changes{v3.2d}{2019/08/27}{Make various commands robust}
%
%
-% The `2ekernel' code ensures that a |\usepackage{autofss1}| is
-% essentially ignored if a `full' format is being used that has
-% picture mode already in the format.
-%
-% Note the |autofss2| loading is currently disabled.
-%
-% \begin{macrocode}
-%<2ekernel>\expandafter\let\csname ver at autofss1.sty\endcsname\fmtversion
-% \end{macrocode}
%
%
% \section{Preliminary macros}
diff --git a/base/ltfssdcl.dtx b/base/ltfssdcl.dtx
index 61a201b9..59dfd37b 100644
--- a/base/ltfssdcl.dtx
+++ b/base/ltfssdcl.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssdcl.dtx}
- [2016/02/18 v3.0r LaTeX Kernel (NFSS Declarative Interface)]
+ [2019/08/27 v3.0s LaTeX Kernel (NFSS Declarative Interface)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -1078,12 +1078,17 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\DeclareMathAlphabet}
-% could do with more checks like allowing single number in |#4|
-% lowercase in |#4| etc
+% \begin{macro}{\DeclareMathAccent}
+% Could do with more checks like allowing single number in |#4|
+% lowercase in |#4| etc
% \changes{v3.0r}{2016/02/18}
% {Check for mathaccent not \cs{mathaccemt}}
+% \changes{v3.0s}{2019/08/27}{Make math accents robust}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {DeclareMathAccent}{Make math accents robust}%
\def\DeclareMathAccent#1#2#3#4{%
\expandafter\in@\csname sym#3\expandafter\endcsname
\expandafter{\group at list}%
@@ -1128,6 +1133,54 @@
\@latex at error{Symbol font `#3' is not defined}\@eha
\fi
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {DeclareMathAccent}{Make math accents robust}%
+%<latexrelease>\def\DeclareMathAccent#1#2#3#4{%
+%<latexrelease> \expandafter\in@\csname sym#3\expandafter\endcsname
+%<latexrelease> \expandafter{\group at list}%
+%<latexrelease> \ifin@
+%<latexrelease> \begingroup
+%<latexrelease> \count\z@=#4\relax
+%<latexrelease> \count\tw@\count\z@
+%<latexrelease> \divide\count\z@\sixt@@n
+%<latexrelease> \count@\count\z@
+%<latexrelease> \multiply\count@\sixt@@n
+%<latexrelease> \advance\count\tw at -\count@
+%<latexrelease> \if\relax\noexpand#1% is command?
+%<latexrelease> \edef\reserved at a{\noexpand\in@
+%<latexrelease> {\expandafter\@gobble\string\mathaccent}{\meaning#1}}%
+%<latexrelease> \reserved at a
+%<latexrelease> \ifin@
+%<latexrelease> \expandafter\set at mathaccent
+%<latexrelease> \csname sym#3\endcsname#1#2%
+%<latexrelease> {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> \@font at info{Redeclaring math accent \string#1}%
+%<latexrelease> \else
+%<latexrelease> \expandafter\ifx
+%<latexrelease> \csname\expandafter\@gobble\string#1\endcsname
+%<latexrelease> \relax
+%<latexrelease> \expandafter\set at mathaccent
+%<latexrelease> \csname sym#3\endcsname#1#2%
+%<latexrelease> {\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> \else
+%<latexrelease> \@latex at error{Command `\string#1' already defined}\@eha
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \@latex at error{Not a command name: `\noexpand#1'}\@eha
+%<latexrelease> \fi
+%<latexrelease> \endgroup
+%<latexrelease> \else
+%<latexrelease> \@latex at error{Symbol font `#3' is not defined}\@eha
+%<latexrelease> \fi
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\DeclareMathAccent
% \end{macrocode}
% \end{macro}
@@ -1299,7 +1352,12 @@
% \begin{macro}{\@DeclareMathDelimiter}
% \changes{v3.0r}{2016/02/18}
% {Check for delimiter not \cs{delimiter}}
+% \changes{v3.0s}{2019/08/27}{Make math delimiters robust}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\@DeclareMathDelimiter}{Make math delimiters robust}%
\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
\expandafter\in@\csname sym#3\expandafter\endcsname
\expandafter{\group at list}%
@@ -1355,6 +1413,68 @@
\@latex at error{Symbol font `#3' is not defined}\@eha
\fi
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@DeclareMathDelimiter}{Make math delimiters robust}%
+%<latexrelease>\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
+%<latexrelease> \expandafter\in@\csname sym#3\expandafter\endcsname
+%<latexrelease> \expandafter{\group at list}%
+%<latexrelease> \ifin@
+%<latexrelease> \expandafter\in@\csname sym#5\expandafter\endcsname
+%<latexrelease> \expandafter{\group at list}%
+%<latexrelease> \ifin@
+%<latexrelease> \begingroup
+%<latexrelease> \count\z@=#4\relax
+%<latexrelease> \count\tw@\count\z@
+%<latexrelease> \divide\count\z@\sixt@@n
+%<latexrelease> \count@\count\z@
+%<latexrelease> \multiply\count@\sixt@@n
+%<latexrelease> \advance\count\tw at -\count@
+%<latexrelease> \edef\reserved at c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> %
+%<latexrelease> \count\z@=#6\relax
+%<latexrelease> \count\tw@\count\z@
+%<latexrelease> \divide\count\z@\sixt@@n
+%<latexrelease> \count@\count\z@
+%<latexrelease> \multiply\count@\sixt@@n
+%<latexrelease> \advance\count\tw at -\count@
+%<latexrelease> \edef\reserved at d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
+%<latexrelease> %
+%<latexrelease> \edef\reserved at a{\noexpand\in@
+%<latexrelease> {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
+%<latexrelease> \reserved at a
+%<latexrelease> \ifin@
+%<latexrelease> \expandafter\set at mathdelimiter
+%<latexrelease> \csname sym#3\expandafter\endcsname
+%<latexrelease> \csname sym#5\endcsname#1#2%
+%<latexrelease> \reserved at c\reserved at d
+%<latexrelease> \@font at info{Redeclaring math delimiter \string#1}%
+%<latexrelease> \else
+%<latexrelease> \expandafter\ifx
+%<latexrelease> \csname\expandafter\@gobble\string#1\endcsname
+%<latexrelease> \relax
+%<latexrelease> \expandafter\set at mathdelimiter
+%<latexrelease> \csname sym#3\expandafter\endcsname
+%<latexrelease> \csname sym#5\endcsname#1#2%
+%<latexrelease> \reserved at c\reserved at d
+%<latexrelease> \else
+%<latexrelease> \@latex at error{Command `\string#1' already defined}\@eha
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \endgroup
+%<latexrelease> \else
+%<latexrelease> \@latex at error{Symbol font `#5' is not defined}\@eha
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \@latex at error{Symbol font `#3' is not defined}\@eha
+%<latexrelease> \fi
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\@DeclareMathDelimiter
% \end{macrocode}
% \end{macro}
diff --git a/base/ltfssini.dtx b/base/ltfssini.dtx
index 7548f241..b073a5cc 100644
--- a/base/ltfssini.dtx
+++ b/base/ltfssini.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2019/07/09 v3.1c LaTeX Kernel (NFSS Initialisation)]
+ [2019/08/27 v3.1d LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -80,6 +80,7 @@
% {(DPC) Make file from previous file, lfonts.dtx 1995/05/23 v2.2e}
% \changes{v3.1b}{2016/10/15}
% {Require e\TeX{}}
+% \changes{v3.1d}{2019/08/27}{Make various commands robust}
%
%
% \section{NFSS Initialisation}
diff --git a/base/ltidxglo.dtx b/base/ltidxglo.dtx
index 485f0942..60e39f09 100644
--- a/base/ltidxglo.dtx
+++ b/base/ltidxglo.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltidxglo.dtx}
- [1996/01/20 v1.1e LaTeX Kernel (Index and Glossary)]
+ [2019/08/27 v1.1f LaTeX Kernel (Index and Glossary)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltidxglo.dtx}
@@ -76,6 +76,7 @@
% \changes{v1.1a}{1994/05/19}{Initial version of ltidxglo.dtx,
% split from ltidxbib.dtx}
% \changes{v1.1d}{1995/10/25}{Doc cleanup}
+% \changes{v1.1f}{2019/08/27}{Make \cs{index} and \cs{gloassary} robust}
%
%
% \begin{oldcomments}
diff --git a/base/ltlength.dtx b/base/ltlength.dtx
index baf630e3..7b72946d 100644
--- a/base/ltlength.dtx
+++ b/base/ltlength.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltlength.dtx}
- [2015/01/08 v1.1c LaTeX Kernel (Lengths)]
+ [2019/08/27 v1.1d LaTeX Kernel (Lengths)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltlength.dtx}
@@ -59,10 +59,9 @@
%
% \changes{v1.0c}{1994/03/29}
% {Create file ltcntlen from parts of ltmiscen and ltherest.}
-% \changes{v1.1a}{1994/05/19}
-% {Extract file ltlength from ltcntlen.}
-% \changes{v1.1b}{1995/08/11}
-% {Doc typos fixed for latex/753}
+% \changes{v1.1a}{1994/05/19}{Extract file ltlength from ltcntlen.}
+% \changes{v1.1b}{1995/08/11}{Doc typos fixed for latex/753}
+% \changes{v1.1d}{2019/08/27}{Make various command robust}
%
% \section{Lengths}
%
diff --git a/base/ltlogos.dtx b/base/ltlogos.dtx
index 8e9d41fa..ab20b60c 100644
--- a/base/ltlogos.dtx
+++ b/base/ltlogos.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltlogos.dtx}
- [1998/08/17 v1.1i LaTeX Kernel (Logos)]
+ [2019/08/27 v1.1j LaTeX Kernel (Logos)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltlogos.dtx}
@@ -70,6 +70,7 @@
% \begin{macro}{\TeX}
% The \TeX{} logo, adjusted so that a full stop after the logo
% counts as ending a sentence.
+% \changes{v1.1j}{2019/08/27}{Make \cs{TeX} command robust}
% \begin{macrocode}
%<*2ekernel>
\DeclareRobustCommand\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@}
diff --git a/base/ltmath.dtx b/base/ltmath.dtx
index c456ac29..4fa016c9 100644
--- a/base/ltmath.dtx
+++ b/base/ltmath.dtx
@@ -38,7 +38,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmath.dtx}
- [2018/09/24 v1.2b LaTeX Kernel (Math Setup)]
+ [2019/08/27 v1.2c LaTeX Kernel (Math Setup)]
% \iffalse
%</driver>
%
@@ -95,6 +95,7 @@
% \changes{v1.0r}{1995/05/07}{Use \cs{hb at xt@}}
% \changes{v1.0r}{1995/05/21}{Update some plain macros}
% \changes{v1.0t}{1995/06/28}{minor doc edits}
+% \changes{v1.2c}{2019/08/27}{Make various commands robust}
%
% \begin{macro}{\log}
% The standard operators:
diff --git a/base/ltmiscen.dtx b/base/ltmiscen.dtx
index ad80ea1c..4893ba2b 100644
--- a/base/ltmiscen.dtx
+++ b/base/ltmiscen.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2018/10/11 v1.1o LaTeX Kernel (Misc. Environments)]
+ [2019/08/27 v1.1p LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -72,6 +72,7 @@
% \changes{v1.1d}{1996/06/03}{Move setting of verbatim font and
% \cs{@noligs}.}
% \changes{v1.1g}{1998/08/17}{(RmS) Minor documentation fixes.}
+% \changes{v1.1p}{2019/08/27}{Make various commands robust}
%
% \section{Miscellaneous Environments}
% This section implements the basic environment mechanism, and also
diff --git a/base/ltoutput.dtx b/base/ltoutput.dtx
index e8a3b17f..138bc85b 100644
--- a/base/ltoutput.dtx
+++ b/base/ltoutput.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2018/11/28 v1.4d LaTeX Kernel (Output Routine)]
+ [2019/08/27 v1.4e LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -783,6 +783,7 @@
% {Added macro}
% \changes{v1.1f}{1994/11/14}{Use normal box register: why a box?}
% \changes{v1.1l}{1995/04/24}{Add \cs{vbox} latex/1392}
+% \changes{v1.4e}{2019/08/27}{Make \cs{AtBeginDvi} robust}
%
% We use a box register in which to put
% stuff that must appear before anything else in the
diff --git a/base/ltpage.dtx b/base/ltpage.dtx
index a9d13261..2f68c6ef 100644
--- a/base/ltpage.dtx
+++ b/base/ltpage.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpage.dtx}
- [2000/06/02 v1.0k LaTeX Kernel (page style setup)]
+ [2019/08/27 v1.0l LaTeX Kernel (page style setup)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpage.dtx}
@@ -63,6 +63,7 @@
% \changes{v1.0a}{1994/03/07}{Initial version, split from ltherest.dtx}
% \changes{v1.0b}{1994/04/19}{Improve documentation}
% \changes{v1.0i}{1996/04/18}{Improve documentation}
+% \changes{v1.0l}{2019/08/27}{Make various commands robust}
%
%
% \subsection{Page Style Commands}
diff --git a/base/ltpictur.dtx b/base/ltpictur.dtx
index d25ca51e..19e3c539 100644
--- a/base/ltpictur.dtx
+++ b/base/ltpictur.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpictur.dtx}
- [2016/03/29 v1.1l LaTeX Kernel (Picture Mode)]
+ [2019/08/27 v1.1m LaTeX Kernel (Picture Mode)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpictur.dtx}
@@ -95,6 +95,8 @@
% \changes{v0.1e}{1994/05/22}{Use new warning cmds}
% \changes{v1.0f}{1994/11/17}
% {\cs{@tempa} to \cs{reserved at a}}
+% \changes{v1.1m}{2019/08/27}{Remove several unnecessary \cs{gdef} definitions}
+% \changes{v1.1m}{2019/08/27}{Make various commands robust}
%
% \begin{oldcomments}
%
diff --git a/base/ltplain.dtx b/base/ltplain.dtx
index 6fe4876d..2337133f 100644
--- a/base/ltplain.dtx
+++ b/base/ltplain.dtx
@@ -1253,8 +1253,7 @@
% \LaTeX\ sets |\strutbox| in |\set at fontsize|.
% \begin{macrocode}
\newbox\strutbox
-\def\strut
- {\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
+\def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/base/ltsect.dtx b/base/ltsect.dtx
index 7dfe2779..42357900 100644
--- a/base/ltsect.dtx
+++ b/base/ltsect.dtx
@@ -31,7 +31,7 @@
%%% From File: ltsect.dtx
%<*driver>
% \fi
-\ProvidesFile{ltsect.dtx}[2018/09/26 v1.1c LaTeX Kernel (Sectioning)]
+\ProvidesFile{ltsect.dtx}[2019/08/27 v1.1d LaTeX Kernel (Sectioning)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltsect.dtx}
@@ -85,6 +85,7 @@
% {\cs{@tempa} to \cs{reserved at a}}
% \changes{v1.0m}{1995/05/03}{TO: Promoted documentation to doc.sty
% standard}
+% \changes{v1.1d}{2019/08/27}{Make various commands robust}
%
% \begin{macrocode}
%<*2ekernel>
diff --git a/base/ltspace.dtx b/base/ltspace.dtx
index 241557c5..f9cab771 100644
--- a/base/ltspace.dtx
+++ b/base/ltspace.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltspace.dtx}
- [2018/10/10 v1.3i LaTeX Kernel (spacing)]
+ [2019/08/27 v1.3j LaTeX Kernel (spacing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltspace.dtx}
@@ -62,6 +62,7 @@
% \changes{v1.2q}{1996/07/27}{Further documentation of problems}
% \changes{v1.2r}{1996/07/27}{Correct documentation of problems}
% \changes{v1.2w}{1998/08/17}{Documentation fixes.}
+% \changes{v1.3j}{2019/08/27}{Make various commands robust}
%
%
% \section{Spacing}
diff --git a/base/lttab.dtx b/base/lttab.dtx
index a4fc584f..6923a3ac 100644
--- a/base/lttab.dtx
+++ b/base/lttab.dtx
@@ -31,7 +31,7 @@
%%% From File: lttab.dtx
%<*driver>
% \fi
-\ProvidesFile{lttab.dtx}[2018/12/30 v1.1p LaTeX Kernel (Columns)]
+\ProvidesFile{lttab.dtx}[2019/08/27 v1.1p LaTeX Kernel (Columns)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{lttab.dtx}
@@ -84,8 +84,9 @@
% \changes{v1.0c}{1994/05/07}{Removed surplus braces from
% \cs{@ifnextchar} constructs}
% \changes{v1.0f}{1994/05/21}{Use new error commands}
-% \changes{v1.0j}{1994/11/17}
-% {\cs{@tempa} to \cs{reserved at a}}
+% \changes{v1.0j}{1994/11/17}{\cs{@tempa} to \cs{reserved at a}}
+% \changes{v1.1q}{2019/08/27}{Remove several unnecessary \cs{gdef} definitions}
+% \changes{v1.1q}{2019/08/27}{Make various commands robust}
%
% \subsection{tabbing}
%
More information about the latex3-commits
mailing list