summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xstring
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-11-17 01:39:17 +0000
committerKarl Berry <karl@freefriends.org>2008-11-17 01:39:17 +0000
commita2b37753f4b3df3c66f5e8e1644f4a9646c9aabb (patch)
tree0276fd468cf82730031fe18a29505e84fc894365 /Master/texmf-dist/tex/generic/xstring
parentff8d5e7c0f057c2c1a7abafc338b6f0b84020855 (diff)
xstring update (16nov08)
git-svn-id: svn://tug.org/texlive/trunk@11321 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xstring')
-rw-r--r--Master/texmf-dist/tex/generic/xstring/xstring.tex52
1 files changed, 31 insertions, 21 deletions
diff --git a/Master/texmf-dist/tex/generic/xstring/xstring.tex b/Master/texmf-dist/tex/generic/xstring/xstring.tex
index ff173dcadab..9da9444bb2c 100644
--- a/Master/texmf-dist/tex/generic/xstring/xstring.tex
+++ b/Master/texmf-dist/tex/generic/xstring/xstring.tex
@@ -1,9 +1,9 @@
% __________________________________________________
% | |
% | |
-% | xstring v1.4 |
+% | xstring v1.4b |
% | |
-% | November 4 2008 |
+% | November 16 2008 |
% | |
% |__________________________________________________|
%
@@ -35,10 +35,10 @@
% test_latex.tex, test_latex.pdf (test file with LaTeX)
% test_etex.tex, test_etex.pdf (test file with Plain eTeX)
%
-\def\xstringversion {1.4}
-\def\xstringdate {2008/11/04}
-\def\xstringfrenchdate {4 novembre 2008}
-\def\xstringenglishdate{November $4^{\mathrm{th}}$ 2008}
+\def\xstringversion {1.4b}
+\def\xstringdate {2008/11/16}
+\def\xstringfrenchdate {16 novembre 2008}
+\def\xstringenglishdate{November $16^{\mathrm{th}}$ 2008}
\edef\CurrentAtCatcode{\the\catcode`\@}
\catcode`\@=11
\newwrite\@xs@unused% pour les messages
@@ -221,9 +221,8 @@
\ifx\@xs@toks\bgroup
\begingroup
\escapechar48\relax% 0 est le caractère d'échappement
- \expandafter\if\expandafter0\expandafter\@xs@returnfirstsyntaxunit@i\detokenize{#1}\@xs@nil
- \def\@xs@reserved@A{\def#2{##1}}% si commence par 0, ##1 est un «\bgroup»
- \let\@xs@toks0\relax
+ \expandafter\expandafter\expandafter\ifx\expandafter\@xs@returnfirstsyntaxunit@ii\detokenize{#1}\@xs@nil0%
+ \def\@xs@reserved@A{\def#2{##1}\let\@xs@toks0\relax}% si commence par 0, ##1 est un «\bgroup»
\else
\def\@xs@reserved@A{\def#2{{##1}}}% si ne commence pas par 0, ##1 est un groupe {...}
\fi
@@ -251,7 +250,7 @@
\def\@xs@beforespace#1 #2\@xs@nil{#1}
\def\@xs@behindspace#1 #2\@xs@nil{#2}
\def\@xs@gobblefirstchar#1{}
-\def\@xs@returnfirstsyntaxunit@i#1#2\@xs@nil{#1}
+\def\@xs@returnfirstsyntaxunit@ii#1#2\@xs@nil{#1}
% Cette macro interne est utilisée dans les macros étoilées pour :
% 1) développer l'argument selon qu'on a choisit \fullexpandarg
@@ -660,7 +659,7 @@
\@xs@next}%
\def\@xs@reserved@D{}\def\@xs@reserved@C{#2}%
\@xs@count\ifnum#1>\z@\z@\else\@ne\fi
- \@xs@StrSubstitute@ii
+ \@xs@StrSubstitute@ii
\expandafter\@xs@ReturnResult\expandafter{\@xs@reserved@D}{#5}}
% Supprime les #1 premières occurrences de #3 dans #2
@@ -725,8 +724,11 @@
\fi
\fi
\@xs@next}%
- \let#3\@empty\def#4{#2}\@xs@count\z@
- \@xs@StrSplit@ii}
+ \def#4{#2}\let#3\@empty
+ \ifnum#1>\z@
+ \@xs@count\z@
+ \@xs@StrSplit@ii
+ \fi}
% De la chaine #1, renvoie ce qui se trouve entre les positions
% #2 et #3, caractères aux positions compris !
@@ -870,10 +872,10 @@
\endinput
%
% Historique
-%------------------------------------------------------------
+%------------------------------------------------------------------------------
%% v1.0 4/7/2008 : - Package achevé.
% 7/7/2008 : - Package publié sur CTAN.
-%------------------------------------------------------------
+%------------------------------------------------------------------------------
% v1.1 15/8/2008
% - Le package ne nécessite plus LaTeX et est désormais utilisable sous Plain
% eTeX.
@@ -896,7 +898,7 @@
% a) ajout de ce qui se trouve après la dernière occurrence dans la sc%
% \@xs@StrCount@afterlastocccur
% b) la macro ne dépend plus d'aucune autre
-%------------------------------------------------------------
+%------------------------------------------------------------------------------
% v1.2 23/8/2008
% - Amélioration du code de \StrMid \StrGobbleLeft, \StrLeft, \StrGobbleRight
% et \StrRight à l'aide de la nouvelle macro \@xs@StrSplit@i
@@ -906,7 +908,7 @@
% - Correction d'un bug dans \@xs@formatnumber. La macro n'envisageait pas le
% cas où son argument était vide ce qui faiasait planter \IfDecimal{}{V}{F}
% et \IfInteger{}{V}{F}
-%------------------------------------------------------------
+%------------------------------------------------------------------------------
% v1.3 21/9/2008
% - Amélioration du code, mise en place de récursivités terminales dans toutes
% les macros récursives, simplification de \@xs@TestEqual en utilisant \ifx
@@ -918,7 +920,7 @@
% - Nouvelle macro \StrCompare
% Compare 2 chaînes et renvoie la position du 1er caractère différent.
% Renvoie 0 si elles sont égales.
-%------------------------------------------------------------
+%------------------------------------------------------------------------------
% v1.3a 29/9/2008
% - Correction d'un bug : \expandafter#1
% dans les macros \IfSubStrBefore et \StrBetween qui buggue si #1 est un
@@ -930,11 +932,11 @@
% Coupe la chaine après la nième occurrence d'une sous chaine.
% - Code amélioré de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight,
% \StrGobbleRight grace à \@xs@cutafteroccur
-%------------------------------------------------------------
+%------------------------------------------------------------------------------
% v1.4 4/11/2008
% - xstring traite ses arguments par unité syntaxique, et donc toutes les
% macros internes ont été ré-écrites à cette fin.
-% - Le manuel a été ré-écrit, et rendu plus clair et mieux structuré.
+% - Le manuel a été ré-écrit, rendu plus clair et mieux structuré.
% - Nouvelle fonctionnalité : \expandarg
% le 1er lexème de chaque argument est 1-développé avant que la macro ne
% soit appelée. Si un argument comporte plus qu'1 lexème, il faut passer
@@ -942,4 +944,12 @@
% - Correction de 2 erreurs dans le manuel anglais : 0 est la valeur par
% défaut dans \StrSubstitute et \StrDel
% - Cohérence dans les nom des séquences de contrôles temporaires qui sont
-% \@xs@reserved@A -> \@xs@reserved@E \ No newline at end of file
+% \@xs@reserved@A -> \@xs@reserved@E
+%------------------------------------------------------------------------------
+% v1.4a 12/11/2008
+% - Correction d'un bug dans \@xs@StrSplit dans le cas où l'argument numérique
+% est <1 : la 1ere coupure doit être vide et le seconde doit être égale à
+% l'argument.
+%------------------------------------------------------------------------------
+% v1.4b 16/11/2008
+% - Correction de 2 bugs dans \@xs@returnfirstsyntaxunit \ No newline at end of file