From 9ec1dd8e5c7ae35e7974ad9414b0d492d341a7d3 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sun, 11 Oct 2009 23:18:43 +0000
Subject: ltxnew update (11oct09)

git-svn-id: svn://tug.org/texlive/trunk@15784 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/source/latex/ltxnew/ltxnew.dtx | 66 +++++++++++++++---------
 1 file changed, 42 insertions(+), 24 deletions(-)

(limited to 'Master/texmf-dist/source/latex/ltxnew/ltxnew.dtx')

diff --git a/Master/texmf-dist/source/latex/ltxnew/ltxnew.dtx b/Master/texmf-dist/source/latex/ltxnew/ltxnew.dtx
index 3c6390dfc54..44c50ac7132 100644
--- a/Master/texmf-dist/source/latex/ltxnew/ltxnew.dtx
+++ b/Master/texmf-dist/source/latex/ltxnew/ltxnew.dtx
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 % ltxnew : provides the \new \renew and \provide prefixes for checking definitions
-%
+%          [v1.1 2009/10/11]
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
 % version 1.3 of this license or (at your option) any later
@@ -36,7 +36,7 @@
 \input docstrip.tex
 \Msg{************************************************************************}
 \Msg{* Installation}
-\Msg{* Package: ltxnew 2009/07/22 v1.0 provides the \string\new \string\renew and \string\provide prefixes for checking definitions}
+\Msg{* Package: ltxnew 2009/10/11 v1.1 provides the \string\new \string\renew and \string\provide prefixes for checking definitions}
 \Msg{************************************************************************}
 
 \keepsilent
@@ -59,7 +59,7 @@ This work consists of the main source file ltxnew.dtx
 and the derived files
    ltxnew.sty, ltxnew.pdf, ltxnew.ins,
 
-ltxnew : an easy way to define commands with keys
+ltxnew : provides the \string\new \string\renew and \string\provide prefixes for checking definitions
 Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 
 \endpreamble
@@ -100,7 +100,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 \usepackage[latin9]{inputenc}
 \usepackage[american]{babel}
 \usepackage{etex,holtxdoc,etoolbox,geometry,tocloft,fancyhdr,color,bbding,embedfile,framed,float,multirow,enumitem,txfonts}\CodelineNumbered
-\embedfile{ltxnew.dtx}
+\embedfile{\thisfile.dtx}
 \geometry{top=2cm,headheight=1cm,headsep=.3cm,bottom=2cm,left=4cm,right=2cm}
 \hypersetup{%
   pdftitle={The ltxnew package},
@@ -108,7 +108,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
   pdfauthor={Florent CHERVET},
   colorlinks,linkcolor=reflink,urlcolor=refurl,
   pdfstartview={FitH},
-  pdfkeywords={tex, e-tex, latex, package, keys, ltxnew, newcommand, renewcommand, new, renew},
+  pdfkeywords={tex, e-tex, latex, package, definitions, macros, ltxnew, newcommand, renewcommand, providecomand, new, renew, provide},
   bookmarksopen=true,bookmarksopenlevel=2}
 \begin{document}
    \DocInput{\thisfile.dtx}
@@ -116,7 +116,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 %</driver>
 % \fi
 %
-% \CheckSum{0}
+% \CheckSum{659}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -162,7 +162,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % \newcommand\reflinkcolor{\color{reflink}}\definecolor{reflink}{rgb}{0.49,0.00,0.00}
 % \newcommand\refurlcolor{\color{refurl}}\definecolor{refurl}{rgb}{0.00,0.00,1.00}
 % \def\ThisPackage{\Xpackage{\thisfile}}\def\thispackage{\xpackage{\thisfile}}
-% \fancyhf{}\fancyhead[L]{The \thispackage\ -- \thisinfo}
+% \fancyhf{}\fancyhead[L]{\thispackage\ -- \thisinfo}
 % \fancyfoot[L]{\color[gray]{.35}\scriptsize\thispackage\quad\copyright\oldstylenums{2009}\,\lower.3ex\hbox{\NibRight}\,Florent Chervet}
 % \fancyfoot[R]{\oldstylenums{\thepage} / \oldstylenums{\pageref{LastPage}}}
 % \pagestyle{fancy}
@@ -185,8 +185,8 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % % \makeatother
 %
 % \title{\mdseries The {\bfseries \Xpackage{ltxnew}}\kern.6em package}
-% \author{Florent Chervet \xemail{florent.chervet@free.fr}}
-% \date{July 22, 2009}
+% \author{\small Florent Chervet \xemail{florent.chervet@free.fr}}
+% \date{October 11, 2009}
 % \subtitle{\thisinfo}
 %
 % \maketitle
@@ -206,7 +206,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % \quad|\new\def\macro| will do {\it something like:} |\newcommand\macro{} \def\macro|§
 % \quad|\new\let\macro| will do {\it something like:} |\newcommand\macro{} \let\macro|
 %
-% ...But in fact |\new| does a little more than that...
+% ...But in fact |\new| does a little more than that... (see \nameref{Using New}).
 %
 % You may use |\new| or |\renew| for declaring macros, counters, dimensions, skips, muskips,
 % boxes, tokens and \eTeX's marks. Even with |\let|, |\new| can be used. Moreover, |\renew| can be used
@@ -311,6 +311,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % \end{itemize}
 %
 % \subsection{Using \cs{new}}
+% \label{Using New}
 %
 % |\new| acts as a (expandable) prefix with the following syntax:§
 % \DeleteShortVerb{\|}\catcode`\|\active\let|\textbar\def\tvs{\textcolor{green}{\textvisiblespace}}\def\cblue{\color{blue}}
@@ -318,7 +319,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 %                   & \cs{new}                               & \tvs                                                                          \\
 % \cblue possibly   &                                        & (\csred{long}\tvs|\csred{global}\tvs|\csred{protected}\tvs|\csred{outer}\tvs) & optional (zero or more) \\
 % \cblue in a macro & \multirow{-2}*{\cblue $\Biggl\lbrace$} & \textsc{<definition word>}                                                    & required: see below     \\
-%                   &                                        & \textit{control sequence}                                                     & required:
+%                   &                                        & \textit{control sequence}                                                     & required
 % \end{tabular}\end{centering}\end{framed}
 % {\noindent \small \tvs\space denote optional spaces, ignored by the \cs{new}-prefixes-scanner.}
 %
@@ -338,9 +339,11 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % Box                & box                   & savebox                   & locbox                                          & globbox            \cr
 % Tokens             & toksdef               & toks                      & loctoks                                         & globtoks            \cr
 % Fonts              & font                  &                           &                                                 & \cr
-% Marks              & marks                 &                           & locmarks\footnotemark                           & globmarks           \cr \hline\hline
+% Marks              & marks                 &                           & locmarks\footnotemark                           & globmarks           \cr
+% Write              &                       & write                     &                                                 & \cr
+% Read               &                       & read                      &                                                 & \cr\hline\hline
 % \end{tabular}
-% \caption{List of definition-words that may be used with \CS{new} and \CS{renew}}
+% \caption{List of definition-words that may be used with \CS{new} \CS{renew} and \CS{provide}}
 % \end{table}
 % \footnotetext{The use of \CS{locmarks} is left to the appreciation of the user...}
 %
@@ -349,8 +352,10 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % |\new\countdef\mycount|        & is the same as & |\new\loccount\mycount|\cr
 % |\new\global\countdef\mycount| & is the same as & |\new\globcount\mycount|\cr
 % |\new\count\mycount|           & is the same as & |\newcount\mycount| \cr
-%                                &                & (with control sequence checking)
-% \end{tabular}\medskip
+%                                &                & (with control sequence checking) \cr
+% |\new\write\fileout|           & is the same as & |\newwrite\fileout| \cr
+%                                &                & (with control sequence checking) \cr
+% \end{tabular}\medbreak
 %
 % Therefore: (all of the following are global excepting |\newfont|):\par\nobreak
 % \begin{tabular}{l@{\quad}>{\small}c@{\quad}l@{\quad}>{\small}c@{\quad}l}
@@ -375,7 +380,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 %
 % \subsection{Using \cs{renew} and \cs{provide}}
 %
-% \cs{renew} and \cs{provide} have the same syntax as \cs{new}.
+% \cs{renew} and \cs{provide} shares the same syntax as \cs{new}.
 %
 % \StopEventually{
 % }
@@ -393,7 +398,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
    [2005/12/01]% LaTeX must be 2005/12/01 or younger (see kvsetkeys.dtx).
 \ProvidesPackage{ltxnew}
-   [2009/07/22 v1.0 provides the new and renew prefixes for checking definitions]
+   [2009/10/11 v1.1 provides the new and renew prefixes for checking definitions]
 %    \end{macrocode}
 % \iffalse
 %<package>
@@ -529,14 +534,16 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
                   \else\ifx\x\marks       \def\z{\newmarks}%%39   %\newmarks=\globmarks
                   \else\ifx\x\globmarks   \def\z{\globmarks}%%40
                   \else\ifx\x\font        \def\z{\font}%%41
-                  \else\ifx\x\protect     \ltxn@error@prefix%%42
+                  \else\ifx\x\write       \def\z{\newwrite}%%42
+                  \else\ifx\x\read        \def\z{\newread}%%43
+                  \else\ifx\x\protect     \ltxn@error@prefix%%44
                   \else
                      \let\ltxn@next@addto\ltxn@next@prefix
                      \ifx\y\x\ltxn@error@prefix
                      \else\let\y\x
                      \fi
                      \let\next\ltxn@expand@prefix
-                  \fi\fi\fi\fi\fi\fi\fi\fi
+                  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
                   \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
                   \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
                \fi\fi\fi\fi
@@ -551,7 +558,7 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 \def\ltxn@next@prefix{\futurelet\x\ltxn@@prefix}
 \def\ltxn@expand@prefix{%
    \expandafter\futurelet\expandafter\x\expandafter\ltxn@@prefix}
-\def\ltxn@addto@prfx#1{\let\y\relax
+\def\ltxn@addto@prfx#1{\let\y\@undefined
    \edef\ltxn@prfx{\ltxn@expandonce{\ltxn@prfx}\ltxn@expandonce{\z}}%
    \ltxn@next@addto}
 \expandafter\def\expandafter\ltxn@space@prefix\space{\ltxn@next@prefix}
@@ -562,6 +569,8 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
    see ltxnew documentation for more information}\@ehd}
 %    \end{macrocode}
 %
+% \subsection{The cancel macros}
+%
 % \begin{macro}{\ltx@cancel}
 % These are the macros used in case we have to cancel definition (nonstopmode)
 % \iffalse
@@ -576,6 +585,8 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 %    \end{macrocode}
 % \end{macro}
 %
+% \subsection{The defining macros}
+%
 % \begin{macro}{\ltxn@new}
 % |\ltxn@new| defines the new control sequence, or cancels definition depending on the result
 % of |\@ifdefinable|. |\ltxn@new| does all the jobs: it is called by both |\ltxn@renew| and |\ltxn@provide|:
@@ -621,10 +632,10 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 % (\emph{ie}\, if it is |definable|):
 %
 % To handle the case where the control sequence was an outer macro, we ``stringify'' its name first,
-% in order not to put the control sequence itself in the definition of next. It's admittedly tricky
+% in order not to put the control sequence itself in the definition of |\next|. It's admittedly tricky
 % here, because if the control sequence is already defined, |\provide| will cancel out the new definition,
-% however, as a borderline effect, |\ltxn@new| should have been called if the control sequence cas definable
-% with this very control sequence as an argument. Even if this |\iffalse|-call (not expanded) is prepared
+% however, as a borderline effect, |\ltxn@new| should have been called with this very control sequence as an argument,
+% if it had been definable. Even if this |\iffalse|-call (not expanded) is prepared
 % into |\ifx|...|\fi| conditional, the |\outer| control sequence is there, and \TeX{} (not \LaTeX{})
 % will throw an error: \texttt{Forbidden control sequence found...}.
 % \iffalse
@@ -639,11 +650,12 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
    \else \ltxn@provide@new
    \fi
    \next}
-\def\ltxn@provide@new{%   
+\def\ltxn@provide@new{%
    \edef\next{\noexpand\ltxn@new\csname\expandafter\@gobble\ltxn@name\endcsname}}
 %    \end{macrocode}
 % \end{macro}
 %
+% \subsection{The prefixes: \cs{new}, \cs{renew} and \cs{provide}}
 %
 %  \begin{macro}{\new}
 % |\new|: the entry point: just let the definition macro to be |\ltxn@new| and start scanning prefixes.
@@ -698,6 +710,12 @@ Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
 %    \end{macrocode}
 %
 % \begin{History}
+% 
+%   \begin{Version}{2009/10/11 v1.1}
+%   \item
+%     Correction of \texttt{.sty} header.
+%   \end{Version}
+% 
 %   \begin{Version}{2009/07/22 v1.0}
 %   \item
 %     First version.
-- 
cgit v1.2.3

