From 0e4fb9b8bb61e28042cfc4a3dc00fcb6cca0e5e9 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Jun 2009 23:39:16 +0000 Subject: xstring 1.5c (5jun09) git-svn-id: svn://tug.org/texlive/trunk@13637 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/xstring/README | 4 +- .../texmf-dist/doc/generic/xstring/test_etex.pdf | Bin 56856 -> 56902 bytes .../texmf-dist/doc/generic/xstring/test_latex.pdf | Bin 66601 -> 66636 bytes .../doc/generic/xstring/xstring_doc_en.pdf | Bin 308974 -> 309313 bytes .../doc/generic/xstring/xstring_doc_en.tex | 1 + .../doc/generic/xstring/xstring_doc_fr.pdf | Bin 340299 -> 340719 bytes .../doc/generic/xstring/xstring_doc_fr.tex | 5 +- Master/texmf-dist/tex/generic/xstring/xstring.tex | 53 ++++++++++++++------- Master/texmf-dist/tex/latex/xstring/xstring.sty | 2 +- 9 files changed, 43 insertions(+), 22 deletions(-) diff --git a/Master/texmf-dist/doc/generic/xstring/README b/Master/texmf-dist/doc/generic/xstring/README index c3ead99e955..979482d357f 100644 --- a/Master/texmf-dist/doc/generic/xstring/README +++ b/Master/texmf-dist/doc/generic/xstring/README @@ -1,8 +1,8 @@ _________________ xstring package - v 1.5b - 2009/03/13 + v 1.5bc + 2009/06/05 _________________ This package provides macros manipulating strings for programming use. diff --git a/Master/texmf-dist/doc/generic/xstring/test_etex.pdf b/Master/texmf-dist/doc/generic/xstring/test_etex.pdf index 59ca0b66e9b..1a7352bee4f 100644 Binary files a/Master/texmf-dist/doc/generic/xstring/test_etex.pdf and b/Master/texmf-dist/doc/generic/xstring/test_etex.pdf differ diff --git a/Master/texmf-dist/doc/generic/xstring/test_latex.pdf b/Master/texmf-dist/doc/generic/xstring/test_latex.pdf index a2cf8a1f6b2..88f96060d64 100644 Binary files a/Master/texmf-dist/doc/generic/xstring/test_latex.pdf and b/Master/texmf-dist/doc/generic/xstring/test_latex.pdf differ diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf index c46cd6a2084..839e1339597 100644 Binary files a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf and b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.pdf differ diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex index f304d37a87f..74cf0bb2301 100644 --- a/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex +++ b/Master/texmf-dist/doc/generic/xstring/xstring_doc_en.tex @@ -26,6 +26,7 @@ \usepackage{xspace} \usepackage{listings} \usepackage{xstring} +\usepackage[bottom]{footmisc} \usepackage[french]{babel} \makeatletter \definecolor{@xs@bckgcolor}{rgb}{1,1,0.875} diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf index ee9af4c7354..c41fa6f9693 100644 Binary files a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf and b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.pdf differ diff --git a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex index ea172df563a..f378c4eaa79 100644 --- a/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex +++ b/Master/texmf-dist/doc/generic/xstring/xstring_doc_fr.tex @@ -27,6 +27,7 @@ \usepackage{xspace} \usepackage{listings} \usepackage{xstring} +\usepackage[bottom]{footmisc} \usepackage[frenchb]{babel} \makeatletter \definecolor{@xs@bckgcolor}{rgb}{1,1,0.875} @@ -89,7 +90,7 @@ \ifdim\wd\@tempboxa>\z@ \kern2em\llap{\@thefnmark.\kern0.5em}% \fi - \begingroup\advance\hsize-2em\vtop{#1}\endgroup + \hangindent2em\hangafter\@ne#1 \fi} \makeatother @@ -116,7 +117,7 @@ \newcommand\styleexercice{\footnotesize} \newcommand\verbinline{\lstinline[basicstyle=\normalsize\ttfamily]} \newcommand\colorise{\color{violet}} - +\listfiles \begin{document} \setlength{\parindent}{0pt} \begin{titlepage} diff --git a/Master/texmf-dist/tex/generic/xstring/xstring.tex b/Master/texmf-dist/tex/generic/xstring/xstring.tex index af1b9ce4322..2367211bcd3 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.5a | +% | xstring v1.5c | % | | -% | March 13 2009 | +% | June 5 2009 | % | | % |__________________________________________________| % @@ -35,10 +35,10 @@ % % The Current Maintainer of this work is Christian Tellechea % ------------------------------------------------------------------- -\def\xstringversion {1.5b} -\def\xstringdate {2009/03/13} -\def\xstringfrenchdate {13 mars 2009} -\def\xstringenglishdate {March $13^{\mathrm{th}}$ 2009} +\def\xstringversion {1.5c} +\def\xstringdate {2009/06/05} +\def\xstringfrenchdate {5 juin 2009} +\def\xstringenglishdate {June $5^{\mathrm{th}}$ 2009} \edef\CurrentAtCatcode {\the\catcode`\@} \catcode`\@=11 \newwrite\@xs@message% canal pour les messages @@ -175,25 +175,31 @@ \fi \@xs@next}% \def\@xs@argument{#1}% - \expandafter\@xs@testempty\expandafter{\@xs@beforespace#1 \@xs@nil}% - \if@xs@empty - \def\@xs@next{\expandafter\ifx\expandafter\@empty\detokenize\expandafter{\@xs@argument}\@empty\let#2\@empty\else\def#2{ }\fi}% + \edef\@xs@next{\expandafter\@xs@beforespace\detokenize{#1} \@xs@nil}% #1 commence par un espace ? + %\expandafter\expandafter\expandafter\@xs@testempty\expandafter\expandafter\expandafter{\expandafter\@xs@beforespace\detokenize{#1} \@xs@nil} + \ifx\@xs@next\@empty + \def\@xs@next{\expandafter\ifx\expandafter\@empty\detokenize\expandafter{\@xs@argument}\@empty\let#2\@empty\else\def#2{ }\let\@xs@toks0\fi}% \else \def\@xs@next{\expandafter\futurelet\expandafter\@xs@toks\expandafter\@xs@testfirsttok\@xs@argument\@xs@nil}% \fi \@xs@next} % Cette macro interne enl\`eve la 1ere unit\'e syntaxique de #1 et assigne le r\'esultat \`a #2 +\def\@xs@testsecondtoken#1\@xs@nil{\@xs@ifbeginwithbrace{#1}} +\def\@xs@gobblespacebeforebrace#1#{}% supprime tout ce qui est avant la 1ere accolade ouvrante \def\@xs@removefirstsyntaxunit#1#2{% - \expandafter\@xs@testempty\expandafter{\@xs@beforespace#1 \@xs@nil}% \def\@xs@argument{#1}% - \if@xs@empty + \expandafter\expandafter\expandafter\ifx\expandafter\expandafter\expandafter\@empty\expandafter\@xs@beforespace\detokenize\expandafter{\@xs@argument} \@xs@nil\@empty% #1 commence par un espace ? \expandafter\@xs@testempty\expandafter{\@xs@argument}% \if@xs@empty \let#2\@empty \else - \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter#2% - \expandafter\expandafter\expandafter{\expandafter\@xs@behindspace\@xs@argument\@xs@nil}% + \afterassignment\@xs@testsecondtoken% après avoir mangé le 1er token, on va tester si la suite commence par «{» + \expandafter\let\expandafter\@xs@secontoken\expandafter=\expandafter\@sptoken\@xs@argument\@xs@@nil\@xs@nil% on mange le 1er token et on rajoute \@xs@@nil à la fin pour éviter de perdre les accolades du groupe + {\expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{\expandafter\@xs@gobblespacebeforebrace\@xs@argument}}% + {\expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter#2% + \expandafter\expandafter\expandafter{\expandafter\@xs@behindspace\@xs@argument\@xs@nil}}% \fi \else \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter#2% @@ -480,11 +486,11 @@ \if@xs@empty \let\@xs@next\@secondoftwo% #1 est vide, c'est que #2 est + long que #1 : on renvoie #4 \else - \expandafter\@xs@returnfirstsyntaxunit\expandafter{\@xs@argument@A}\@xs@reserved@A \expandafter\@xs@returnfirstsyntaxunit\expandafter{\@xs@argument@B}\@xs@reserved@B + \expandafter\@xs@returnfirstsyntaxunit\expandafter{\@xs@argument@A}\@xs@reserved@A \ifx\@xs@reserved@A\@xs@reserved@B% il y a \'egalit\'e... - \expandafter\@xs@removefirstsyntaxunit\expandafter{\@xs@argument@A}\@xs@reserved@A% on enl\`eve les 1ere unit\'es syntaxiques \expandafter\@xs@removefirstsyntaxunit\expandafter{\@xs@argument@B}\@xs@reserved@B + \expandafter\@xs@removefirstsyntaxunit\expandafter{\@xs@argument@A}\@xs@reserved@A% on enl\`eve les 1ere unit\'es syntaxiques \def\@xs@next{% et on recommence avec ces arguments racourcis d'1 unit\'e syntaxique \expandafter\expandafter\expandafter\@xs@IfBeginWith@i \expandafter\expandafter\expandafter{\expandafter\@xs@reserved@A\expandafter}\expandafter{\@xs@reserved@B}}% @@ -1127,8 +1133,21 @@ % - Le manuel est d\'esormais plus color\'e, en esp\'erant qu'il sera un peu % plus agr\'eable \`a lire ! %------------------------------------------------------------------------------ -% v1.5a 13/3/2009 +% v1.5b 13/3/2009 % - Modification d'un grand nombre de macros de telle sorte que vraiment % n'importe quel code peut d\'esormais \^etre plac\'e dans les arguments des % macros (comme par exemple des \if, \ifx ou autre, m\^eme sans leur \fi, ce -% qui n'\'etait pas possible jusqu'alors) \ No newline at end of file +% qui n'\'etait pas possible jusqu'alors) +%------------------------------------------------------------------------------ +% v1.5c 05/6/2009 +% - Correction d'un bug dans \IfBeginWith : il faut appeler +% \@xs@returnfirstsyntaxunit pour l'argument #2 puis pour l'argument #1 et +% non pas l'inverse pour que \@xs@toks reflète ce qui se trouve dans #1 +% - Correction d'un bug dans \@xs@returnfirstsyntaxunit au cas où #1 commence +% par un espace : mettre \@xs@toks à 0 +% - Correction d'un bug dans \@xs@returnfirstsyntaxunit : +% \@xs@returnfirstsyntaxunit{{}}\truc +% faisait que \truc se développait en un espace. +% - Correction d'un bug dans \@xs@removefirstsyntaxunit où le cas +% \@xs@removefirstsyntaxunit{ {b}}\truc +% donnait \truc se développant en «b» au lieu de «{b}». \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/xstring/xstring.sty b/Master/texmf-dist/tex/latex/xstring/xstring.sty index 9dc5a187f7c..23e4b1a6e5e 100644 --- a/Master/texmf-dist/tex/latex/xstring/xstring.sty +++ b/Master/texmf-dist/tex/latex/xstring/xstring.sty @@ -1,3 +1,3 @@ \input xstring.tex -\ProvidesPackage{xstring}[\xstringdate\space\space v\xstringversion\space\space String manipulations (C Tellechea)] +\ProvidesPackage{xstring}[\xstringdate\space v\xstringversion\space String manipulations (C Tellechea)] \endinput \ No newline at end of file -- cgit v1.2.3