[latex3-commits] [git/latex2e] master: some docu update on \unexpandable at protect [ci skip] (5059702)

Frank Mittelbach frank.mittelbach at latex-project.org
Sun Dec 3 13:57:23 CET 2017


Repository : https://github.com/latex3/latex2e
On branch  : master
Link       : https://github.com/latex3/latex2e/commit/5059702ebb1414f0489b2a61257617fb25394419

>---------------------------------------------------------------

commit 5059702ebb1414f0489b2a61257617fb25394419
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Sun Dec 3 13:57:23 2017 +0100

    some docu update on \unexpandable at protect  [ci skip]
    
    also dropped \unexpandable at noexpand as that was commented out in 1995 :-)


>---------------------------------------------------------------

5059702ebb1414f0489b2a61257617fb25394419
 base/ltdefns.dtx |   17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/base/ltdefns.dtx b/base/ltdefns.dtx
index fafe332..fa669c4 100644
--- a/base/ltdefns.dtx
+++ b/base/ltdefns.dtx
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltdefns.dtx}
-             [2017/03/73 v1.5b LaTeX Kernel (definition commands)]
+             [2017/12/03 v1.5b LaTeX Kernel (definition commands)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltdefns.dtx}
@@ -987,10 +987,11 @@
 %    file.  So |\protect\foo| will write |\protect\foo| followed by a
 %    space.  This value is also used inside |\edef|s, |\mark|s and
 %    other commands which evaluate their arguments fully.
-% \item |\@unexpandable at noexpand|, for performing a deferred write
-%    inside an |\edef|.  So |\protect\foo| will write |\foo| followed
-%    by a space.  If you want |\protect\foo| to be written, you should
-%    use |\@unexpandable at protect|. (Removed as never used).
+%    More precisely, whenever the content of an |\edef| or |\xdef| etc.\
+%    can contain arbitrary user input not under the direct control of the
+%    programmer, one should use |\proetected at edef| instead of |\edef|, etc.,
+%    so that |\protect| has a suitable definition and the user input will
+%    not break if it contains fragile commands.
 % \end{itemize}
 %
 % \changes{1.1b}{1994/05/17}
@@ -1000,15 +1001,11 @@
 %       one which is no longer needed.}
 %
 % \begin{macro}{\@unexpandable at protect}
-% \begin{macro}{\@unexpandable at noexpand}
-% \changes{1.2w}{1995/12/05}{Removed as never used. internal/1733}
-%    These commands are used for setting |\protect| inside |\edef|s.
+% \changes{1.2w}{1995/12/05}{Removed \cs{unexpandable at noexpand} as never used. internal/1733}
 %    \begin{macrocode}
 \def\@unexpandable at protect{\noexpand\protect\noexpand}
-%\def\@unexpandable at noexpand{\noexpand\noexpand\noexpand}
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 %
 % \changes{v1.2e}{1994/11/04}{Rewrote protected short commands
 %    using \cs{x at protect}. ASAJ.}





More information about the latex3-commits mailing list