summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ltxnew
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-04-19 00:41:57 +0000
committerKarl Berry <karl@freefriends.org>2010-04-19 00:41:57 +0000
commit8ace832e879e91b82b2d380cfc322ce9b74b88f2 (patch)
treeec7e9f6ff8254345257bbdcf57f52aa25437978f /Master/texmf-dist/tex/latex/ltxnew
parentbae5d4e052265783b372a10316a6d6e820a6b3dd (diff)
ltxnew 1.2 (18apr10)
git-svn-id: svn://tug.org/texlive/trunk@17908 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ltxnew')
-rw-r--r--Master/texmf-dist/tex/latex/ltxnew/ltxnew.sty27
1 files changed, 15 insertions, 12 deletions
diff --git a/Master/texmf-dist/tex/latex/ltxnew/ltxnew.sty b/Master/texmf-dist/tex/latex/ltxnew/ltxnew.sty
index e93290b61e1..f56eb46c8f4 100644
--- a/Master/texmf-dist/tex/latex/ltxnew/ltxnew.sty
+++ b/Master/texmf-dist/tex/latex/ltxnew/ltxnew.sty
@@ -21,13 +21,13 @@
%% ltxnew.sty, ltxnew.pdf, ltxnew.ins,
%%
%% ltxnew : provides the \new \renew and \provide prefixes for checking definitions
-%% Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr>
+%% Copyright (C) 2009-2010 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/10/11 v1.1 provides the new and renew prefixes for checking definitions]
+ [2010/04/17 v1.2 provides the new and renew prefixes for checking definitions]
\RequirePackage{etex}
@@ -127,7 +127,9 @@
\def\ltxn@expand@prefix{%
\expandafter\futurelet\expandafter\x\expandafter\ltxn@@prefix}
\def\ltxn@addto@prfx#1{\let\y\@undefined
- \edef\ltxn@prfx{\ltxn@expandonce{\ltxn@prfx}\ltxn@expandonce{\z}}%
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter\ltxn@prfx
+ \expandafter\expandafter\expandafter{\expandafter\ltxn@prfx\z}%
\ltxn@next@addto}
\expandafter\def\expandafter\ltxn@space@prefix\space{\ltxn@next@prefix}
\def\ltxn@error@prefix{\@latex@error{A \string\def\space
@@ -145,17 +147,18 @@
% new: Do define or cancel, depending on the result of \@ifdefinable
\def\ltxn@new#1{%
\let\next\ltxn@cancel
- \ifdefined#1\unless\ifx#1\relax\def#1{ltxn@throw@error}\fi\fi
+ \ifdefined#1\unless\ifx#1\relax\def#1{new:error}\fi\fi
\expandafter\@ifdefinable\noexpand#1{%
\expandafter\let\noexpand#1=\relax
- \edef\next{\endgroup\ltxn@expandonce{\ltxn@prfx}\noexpand#1}}%
+ \edef\next{\endgroup\ltxn@expandonce\ltxn@prfx#1}}%
\next}
+
% renew: Throws an error in case the control sequence is unknown or \relax
\def\ltxn@renew#1{%
- \edef\ltxn@name{\string#1 }%
- \ifdefined#1 \ifx#1\relax \ltxn@error{renew: \ltxn@name undefined}\fi
- \else \ltxn@error{renew: \ltxn@name undefined}%
+ \edef\ltxn@name{\string#1}%
+ \ifdefined#1\ifx#1\relax\ltxn@error{renew: \ltxn@name undefined}\fi
+ \else \ltxn@error{renew: \ltxn@name undefined}%
\fi
\let#1=\relax
\def\next{\ltxn@new#1}%
@@ -165,7 +168,7 @@
\def\ltxn@provide#1{%
\let\next\ltxn@cancel
\edef\ltxn@name{\string#1}%
- \ifdefined#1 \ifx#1\relax \ltxn@provide@new\fi
+ \ifdefined#1\ifx#1\relax \ltxn@provide@new\fi
\else \ltxn@provide@new
\fi
\next}
@@ -174,15 +177,15 @@
% \new: the entry point:
% just let the definition macro to be \ltxn@new and start scanning prefixes.
-\def\new{\let\ltxn@def\ltxn@new\ltxn@prefix}
+\protected\def\new{\let\ltxn@def\ltxn@new\ltxn@prefix}
% \renew: the entry point:
% just let the definition macro to be \ltxn@renew and start scanning prefixes.
-\def\renew{\let\ltxn@def\ltxn@renew\ltxn@prefix}
+\protected\def\renew{\let\ltxn@def\ltxn@renew\ltxn@prefix}
% \provide: the entry point:
% just let the definition macro to be |\ltxn@provide| and start scanning prefixes.
-\def\provide{\let\ltxn@def\ltxn@provide\ltxn@prefix}
+\protected\def\provide{\let\ltxn@def\ltxn@provide\ltxn@prefix}
% In case of redefinition, throws an |\ehc|-type error:
\def\ltxn@error#1{\@latex@error{#1}\@ehc}