texlive[49910] Master/texmf-dist: xstring (2feb19)

commits+karl at tug.org commits+karl at tug.org
Sat Feb 2 23:38:53 CET 2019


Revision: 49910
          http://tug.org/svn/texlive?view=revision&revision=49910
Author:   karl
Date:     2019-02-02 23:38:53 +0100 (Sat, 02 Feb 2019)
Log Message:
-----------
xstring (2feb19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/xstring/README
    trunk/Master/texmf-dist/doc/generic/xstring/test_etex.pdf
    trunk/Master/texmf-dist/doc/generic/xstring/test_latex.pdf
    trunk/Master/texmf-dist/doc/generic/xstring/xstring-en.pdf
    trunk/Master/texmf-dist/doc/generic/xstring/xstring-en.tex
    trunk/Master/texmf-dist/doc/generic/xstring/xstring-fr.pdf
    trunk/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex
    trunk/Master/texmf-dist/tex/generic/xstring/xstring.tex

Modified: trunk/Master/texmf-dist/doc/generic/xstring/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xstring/README	2019-02-02 22:38:29 UTC (rev 49909)
+++ trunk/Master/texmf-dist/doc/generic/xstring/README	2019-02-02 22:38:53 UTC (rev 49910)
@@ -1,8 +1,8 @@
                               _________________
 
                                xstring package
-                                   v 1.81
-                                 2018/12/09
+                                   v 1.82
+                                 2019/02/01
                               _________________
 
 This package provides macros manipulating strings for programming use.

Modified: trunk/Master/texmf-dist/doc/generic/xstring/test_etex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/xstring/test_latex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/xstring/xstring-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/xstring/xstring-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xstring/xstring-en.tex	2019-02-02 22:38:29 UTC (rev 49909)
+++ trunk/Master/texmf-dist/doc/generic/xstring/xstring-en.tex	2019-02-02 22:38:53 UTC (rev 49910)
@@ -1,10 +1,9 @@
 \documentclass[english,a4paper,10pt]{article}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
+\usepackage{fontspec}
 \usepackage[bookmarks=true,bookmarksopen=true,colorlinks=true,hyperfootnotes=false,filecolor=black,linkcolor=blue,urlcolor=blue,pdfauthor={Christian Tellechea},pdftitle={xstring},pdfsubject={package for strings of tokens},pdfkeywords={xstring,latex,string},pdfcreator={LaTeX}]{hyperref}
 \usepackage[margin=1.9cm]{geometry}
 \usepackage{libertine}
-\usepackage[scaled=.8]{luximono}
+\usepackage[scale=0.85]{noto-mono}
 \usepackage[bottom]{footmisc}
 \usepackage{amsmath,amssymb,amsfonts,color,eurosym,xspace,xstring,babel,listings}
 \makeatletter

Modified: trunk/Master/texmf-dist/doc/generic/xstring/xstring-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex	2019-02-02 22:38:29 UTC (rev 49909)
+++ trunk/Master/texmf-dist/doc/generic/xstring/xstring-fr.tex	2019-02-02 22:38:53 UTC (rev 49910)
@@ -1,10 +1,9 @@
 \documentclass[a4paper,10pt,french]{article}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
+\usepackage{fontspec}
 \usepackage[bookmarks=true,bookmarksopen=true,colorlinks=true,hyperfootnotes=false,filecolor=black,linkcolor=blue,urlcolor=blue,pdfauthor={Christian Tellechea},pdftitle={xstring},pdfsubject={package pour la manipulation de chaines de tokens},pdfkeywords={xstring,latex,tex,string,chaine},pdfcreator={LaTeX}]{hyperref}
 \usepackage[margin=1.9cm]{geometry}
 \usepackage{libertine}
-\usepackage[scaled=.8]{luximono}
+\usepackage[scale=0.85]{noto-mono}
 \usepackage[bottom]{footmisc}
 \usepackage{amsmath,amssymb,amsfonts,color,eurosym,xspace,xstring,babel,listings}
 \makeatletter

Modified: trunk/Master/texmf-dist/tex/generic/xstring/xstring.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xstring/xstring.tex	2019-02-02 22:38:29 UTC (rev 49909)
+++ trunk/Master/texmf-dist/tex/generic/xstring/xstring.tex	2019-02-02 22:38:53 UTC (rev 49910)
@@ -4,9 +4,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                    %
 \def\xstringname               {xstring}                             %
-\def\xstringversion              {1.81}                              %
+\def\xstringversion              {1.82}                              %
 %                                                                    %
-\def\xstringdate              {2018/12/09}                           %
+\def\xstringdate              {2019/02/01}                           %
 %                                                                    %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                    %
@@ -17,7 +17,7 @@
 % Package URL: https://www.ctan.org/pkg/xstring                      %
 % Bug tracker: https://framagit.org/unbonpetit/xstring/issues        %
 % Repository : https://framagit.org/unbonpetit/xstring/tree/master   %
-% Copyright  : Christian Tellechea 2008-2018                         %
+% Copyright  : Christian Tellechea 2008-2019                         %
 % Licence    : Released under the LaTeX Project Public License v1.3c %
 %              or later, see http://www.latex-project.org/lppl.txt   %
 % Files      : 1) xstring.tex                                        %
@@ -619,32 +619,31 @@
 
 \def\IfStrEqCase{%
 	\xs_ifstar
-		{\def\xs_reserved_E{\IfStrEq*}\xs_IfStrCase}%
-		{\def\xs_reserved_E{\IfStrEq}\xs_IfStrCase}%
+		{\xs_IfStringCase{\IfStrEq*}}%
+		{\xs_IfStringCase\IfStrEq}%
 }
 
-\long\def\xs_IfStrCase#1#2{\xs_testopt{\xs_IfStringCase{#1}{#2}}{}}
-
 \def\IfEqCase{%
 	\xs_ifstar
-		{\def\xs_reserved_E{\IfEq*}\xs_IfEqCase}%
-		{\def\xs_reserved_E{\IfEq}\xs_IfEqCase}%
+		{\xs_IfStringCase{\IfEq*}}%
+		{\xs_IfStringCase\IfEq}%
 }
 
-\long\def\xs_IfEqCase#1#2{\xs_testopt{\xs_IfStringCase{#1}{#2}}{}}
-
-\long\def\xs_IfStringCase#1#2[#3]{%
+\long\def\xs_IfStringCase#1#2#3{% #1=macro avec ou sans \xE9toile  #2=argument \xE0 tester  #3=liste des {<cas>}{code>}
 	\long\def\xs_testcase##1##2##3\_nil{% lit les 2 premieres unit\xE9s syntaxiques dans ##1 et ##2. Les autres dans ##3
-		\xs_reserved_E{#1}{##1}%
-			{##2}% le test est positif, on ex\xE9cute le code correspondant
+		#1{#2}{##1}% compare
+			{\xs_testopt{\xs_IfStringCase_ii{##2}}{}}% le test est positif, on ex\xE9cute le code correspondant et on mange l'argument optionnel ## BUGfix dans 1.82
 			{\xs_ifempty{##3}%
-				{#3}% s'il n'y a plus de cas, on ex\xE9cute le code <autres cas>
+				{\xs_testopt{\xs_IfStringCase_i}{}}% s'il n'y a plus de cas, on ex\xE9cute le code <autres cas> ## BUGfix dans 1.82
 				{\xs_testcase##3\_nil}% sinon, on recommence avec ce qui reste
 			}%
 	}%
-	\xs_testcase#2\_nil
+	\xs_testcase#3\_nil
 }
 
+\long\def\xs_IfStringCase_i[#1]{#1}
+\long\def\xs_IfStringCase_ii#1[#2]{#1}
+
 % Renvoie ce qui est \xE0 gauche de l'occurence n\xB0#1 de la sous chaine #3 dans la chaine #2
 \xs_newmacro*3\StrBefore{1}{2}{1}{%
 	\xs_cutafteroccur{#2}{#3}{#1}%
@@ -1041,179 +1040,184 @@
 \expandingroups
 
 \endinput
-%
-%                        H I S T O R I Q U E
-%------------------------------------------------------------------------------
-%% v1.0    4/7/2008 : - Package achev\xE9.
-%          7/7/2008 : - Package publi\xE9 sur CTAN.
-%------------------------------------------------------------------------------
-% v1.1    15/8/2008
-%   - Le package ne n\xE9cessite plus LaTeX et est d\xE9sormais utilisable sous
-%     Plain eTeX.
-%   - Ajout des macros \IfInteger et \IfDecimal.
-%     Pour cette derni\xE8re, la partie enti\xE8re et la partie d\xE9cimale sont
-%     r\xE9cup\xE9rables dans les compteurs \integerpart et \decimalpart. Ce
-%     qu'il reste apr\xE8s qu'un caract\xE8re non attendu soit rencontr\xE9 est
-%     dispo dans \xs_remainafterdecimal
-%   - Correction d'un bug dans \tokenize :
-%        suppression de l'expansion avec \normalexpandarg pour \xE9viter le bug
-%        avec les lettres accentu\xE9es dans l'exemple : \tokenize\aa{\xE9\xF9}
-%   - Am\xE9lioration du code de la plupart des macros.
-%   - \xE9criture d'une routine \xs_newmacro d\xE9finissant les  macros.
-%   - Suppression de tous les compteurs grace \xE0 \numexpr.
-%   - Nouvelles fonctionnalit\xE9s internes dans :
-%      \IfSubStr
-%        ajout des chaines se trouvant avant et apr\xE8s l'occurrence test\xE9e
-%        dans les sc \xs_behind_IfSubStr et \xs_before_IfSubStr
-%      \StrCount
-%        a) ajout de ce qui se trouve apr\xE8s la derni\xE8re occurrence dans la
-%           sc \xs_StrCount_afterlastocccur
-%        b) la macro ne d\xE9pend plus d'aucune autre
-%------------------------------------------------------------------------------
-% v1.2    23/8/2008
-%   - Am\xE9lioration du code de \StrMid \StrGobbleLeft, \StrLeft,
-%     \StrGobbleRight et \StrRight \xE0 l'aide de la nouvelle macro
-%     \xs_StrSplit_i
-%   - Nouveau test \IfStrEq qui compare 2 chaines
-%   - Nouveau test \IfEq qui compare 2 chaines (ou 2 nombres si les 2 chaines
-%     contiennent un nombre)
-%   - Correction d'un bug dans \xs_formatnumber. La macro n'envisageait pas le
-%     cas o\xF9 son argument \xE9tait vide ce qui faiasait planter
-%     \IfDecimal{}{V}{F} et \IfInteger{}{V}{F}
-%------------------------------------------------------------------------------
-% v1.3    21/9/2008
-%  - Am\xE9lioration du code, mise en place de r\xE9cursivit\xE9s terminales dans
-%    toutes les macros r\xE9cursives, simplification de \xs_TestEqual en
-%    utilisant \ifx
-%  - Nouvelles macros \IfStrEqCase et \IfEqCase
-%      Teste si une cha\xEEne est \xE9gale \xE0 plusieurs chaines donn\xE9es et
-%      ex\xE9cute un code sp\xE9cifique
-%  - Cr\xE9ation de la macro publique \StrSplit
-%      Coupe la chaine en 2 \xE0 une position donn\xE9e
-%  - Nouvelle macro \StrCompare
-%      Compare 2 cha\xEEnes et renvoie la position du 1er caract\xE8re diff\xE9rent.
-%      Renvoie 0 si elles sont \xE9gales.
-%------------------------------------------------------------------------------
-% v1.3a   29/9/2008
-%  - Correction d'un bug : \expandafter#1
-%    dans les macros \IfSubStrBefore et \StrBetween qui buggue si #1 est un
-%    nombre > 9 !
-%  - R\xE9 \xE9criture de \xs_returnfirstsyntaxunit et \xs_gobarg qui
-%    deviennent purement d\xE9veloppables.
-%  - R\xE9 \xE9criture de \StrLen
-%  - Nouvelle macro interne \xs_cutafteroccur
-%      Coupe la chaine apr\xE8s la ni\xE8me occurrence d'une sous chaine.
-%  - Code am\xE9lior\xE9 de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight,
-%    \StrGobbleRight grace \xE0 \xs_cutafteroccur
-%------------------------------------------------------------------------------
-% v1.4   4/11/2008
-%  - xstring traite ses arguments par unit\xE9 syntaxique, et donc toutes les
-%    macros internes ont \xE9t\xE9 r\xE9-\xE9crites \xE0 cette fin.
-%  - Le manuel a \xE9t\xE9 r\xE9-\xE9crit, rendu plus clair et mieux structur\xE9.
-%  - Nouvelle fonctionnalit\xE9 : \expandarg
-%      le 1er lex\xE8me de chaque argument est 1-d\xE9velopp\xE9 avant que la
-%      macro ne soit appel\xE9e. Si un argument comporte plus qu'1 lex\xE8me,
-%      il faut passer par \scancs*[1] pour 1-d\xE9velopper toutes les unit\xE9s
-%      syntaxiques.
-%  - Correction de 2 erreurs dans le manuel anglais :  0 est la valeur par
-%    d\xE9faut dans \StrSubstitute et \StrDel
-%  - Coh\xE9rence dans les nom des s\xE9quences de contr\xF4les temporaires qui
-%    sont d\xE9sormais : \xs_reserved_A \xE0 \xs_reserved_E
-%------------------------------------------------------------------------------
-% v1.4a  12/11/2008
-%  - Correction d'un bug dans \xs_StrSplit dans le cas o\xF9 l'argument
-%     num\xE9rique est <1 : la 1ere coupure doit \xEAtre vide et le seconde doit
-%     \xEAtre \xE9gale \xE0 l'argument.
-%------------------------------------------------------------------------------
-% v1.4b  16/11/2008
-%  - Correction de 2 bugs dans \xs_returnfirstsyntaxunit
-%------------------------------------------------------------------------------
-% v1.5   31/12/2008
-%  - Nouvelles fonctionnalit\xE9s dans la recherche de groupes par un
-%    identificateur caract\xE9risant leur imbrication. Impl\xE9mentation de :
-%      1) \StrFindGroup
-%      2) \groupID
-%  - Ajout des nouvelles macros g\xE9n\xE9riques \xs_read_reserved_C et
-%    \xs_read_reserved_D
-%  - Correction d'un bug dans \StrSplit : \StrSplit{{a}bc}{1}[\truc] faisait
-%    que \truc contenait \xABa{a}\xBB.
-%  - Correction d'un bug dans \xs_newmacro : l'argument optionnel \xE9tait
-%    d\xE9tok\xE9nis\xE9 \xE0 tort dans les macros \xE9toil\xE9es.
-%  - Dans \xs_newmacro, on doit choisir le num\xE9ro du dernier argument devant
-%    \xEAtre d\xE9tok\xE9nis\xE9 dans le cas d'une macro \xE9toil\xE9e (sachant que
-%     l'argument optionnel ne l'est jamais)
-%------------------------------------------------------------------------------
-% v1.5a  09/2/2009
-%  - Nouvelle macro \StrExpand, sensible au mode d'exploration. La macro est
-%    ind\xE9pendante du mode d'exploration et dispose de ses propres commandes
-%    d'exploration : \expandingroups et \noexpandingroups
-%  - R\xE9-\xE9criture de \scancs, qui devient triviale puisque d\xE9pendant de
-%    \StrExpand. Il n'y a plus de version \xE9toil\xE9e et d\xE9sormais, \scancs
-%    est sensible au mode d'exploration.
-%  - Correction d'un bug dans \IfInteger : \IfInteger{2.0}{V}{F} affichait F
-%  - Correction de bugs : mettre \let\xs_reserved_E\relax avant d'appeler
-%    \xs_StrSplit_i
-%  - Suppression des messages d'erreur, de warning et d'info. xstring devient
-%    donc silencieux ;)
-%  - Passage de 3 \xE0 2 compteurs
-%  - Le manuel est d\xE9sormais plus color\xE9, en esp\xE9rant qu'il sera un peu
-%    plus agr\xE9able \xE0 lire !
-%------------------------------------------------------------------------------
-% v1.5b  13/3/2009
-%  - Modification d'un grand nombre de macros de telle sorte que vraiment
-%    n'importe quel code peut d\xE9sormais \xEAtre plac\xE9 dans les arguments des
-%    macros (comme par exemple des \if, \ifx ou autre, m\xEAme sans leur \fi, ce
-%    qui n'\xE9tait 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\xE8te ce qui se trouve dans #1
-%  - Correction d'un bug dans \xs_returnfirstsyntaxunit au cas o\xF9 #1 commence
-%    par un espace : mettre \xs_toks \xE0 0
-%  - Correction d'un bug dans \xs_returnfirstsyntaxunit :
-%    \xs_returnfirstsyntaxunit{{}}\truc
-%    faisait que \truc se d\xE9veloppait en un espace.
-%  - Correction d'un bug dans \xs_removefirstsyntaxunit o\xF9 le cas
-%    \xs_removefirstsyntaxunit{ {b}}\truc
-%    donnait \truc se d\xE9veloppant en \xABb\xBB au lieu de \xAB{b}\xBB.
-%------------------------------------------------------------------------------
-% v1.5d  28/3/2010
-%  - Correction d'un bug dans \IfInteger : \afterinteger ne donnait pas le
-%    bon r\xE9sultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23}
-%  - \xs_formatnumber ne detokenize plus ses arguments (que m'est-il pass\xE9
-%    par la t\xEAte pour que je code un truc comme ca ?), et donc
-%    \afterinteger et \xs_afterdecimal ont des tokens ayant le bon
-%    catcode
-%------------------------------------------------------------------------------
-% v1.6  24/10/2012
-%  - Correction d'un bug dans \xs_cutafteroccur au cas o\xF9 #3<1
-%  - \IfDecimal ne \detokenize plus l'argument.
-%  - Nouvelle version de \tokenize qui enlevait les accolades si son argument
-%    \xE9tait entre accolades
-%  - Nouvelle macro \StrCut
-%  - \xs_cutafteroccur_i ne produit plus d'espace ind\xE9sirable si #3 \xE9tait
-%    \xE9valu\xE9 par \numexpr
-%------------------------------------------------------------------------------
-% v1.7  13/1/2013
-%  - Correction d'un manque de rigueur dans les assignations concernant
-%    \groupID : elles sont toutes globales d\xE9sormais
-%  - Les macros de xstring sont \long
-%------------------------------------------------------------------------------
-% v1.7a 28/2/2013
-%  - Correction d'un espace parasite dans \xs_removefirstsyntaxunit
-%------------------------------------------------------------------------------
-% v1.7b 29/7/2013
-%  - La date contenue dans \xstringdate est d\xE9sormais conforme
-%------------------------------------------------------------------------------
-% v1.7c 13/10/2013
-%  - les macros impliqu\xE9es dans \IfStrCase et \IfStrEqCase sont d\xE9sormais \long
-%------------------------------------------------------------------------------
-% v1.8  07/12/2018
-%  - affectations globales supprim\xE9es (sauf pour \groupID) afin de ne pas
-%    surcharger la pile de sauvegarde
-%  - nettoyage du code, corrections de lourdeurs et maladresses
-%------------------------------------------------------------------------------
-% v1.81 09/12/2018
-%  - bug dans \IfInteger, c'est \xs_ifx{\empty\afterdecimal} et non pas
-%   \xs_ifx{\empty\xs_afterdecimal}
\ No newline at end of file
+
+                        H I S T O R I Q U E
+------------------------------------------------------------------------------
+v1.0    4/7/2008 : - Package achev\xE9.
+         7/7/2008 : - Package publi\xE9 sur CTAN.
+------------------------------------------------------------------------------
+v1.1    15/8/2008
+   - Le package ne n\xE9cessite plus LaTeX et est d\xE9sormais utilisable sous
+     Plain eTeX.
+   - Ajout des macros \IfInteger et \IfDecimal.
+     Pour cette derni\xE8re, la partie enti\xE8re et la partie d\xE9cimale sont
+     r\xE9cup\xE9rables dans les compteurs \integerpart et \decimalpart. Ce
+     qu'il reste apr\xE8s qu'un caract\xE8re non attendu soit rencontr\xE9 est
+     dispo dans \xs_remainafterdecimal
+   - Correction d'un bug dans \tokenize :
+        suppression de l'expansion avec \normalexpandarg pour \xE9viter le bug
+        avec les lettres accentu\xE9es dans l'exemple : \tokenize\aa{\xE9\xF9}
+   - Am\xE9lioration du code de la plupart des macros.
+   - \xE9criture d'une routine \xs_newmacro d\xE9finissant les  macros.
+   - Suppression de tous les compteurs grace \xE0 \numexpr.
+   - Nouvelles fonctionnalit\xE9s internes dans :
+      \IfSubStr
+        ajout des chaines se trouvant avant et apr\xE8s l'occurrence test\xE9e
+        dans les sc \xs_behind_IfSubStr et \xs_before_IfSubStr
+      \StrCount
+        a) ajout de ce qui se trouve apr\xE8s la derni\xE8re occurrence dans la
+           sc \xs_StrCount_afterlastocccur
+        b) la macro ne d\xE9pend plus d'aucune autre
+------------------------------------------------------------------------------
+v1.2    23/8/2008
+   - Am\xE9lioration du code de \StrMid \StrGobbleLeft, \StrLeft,
+     \StrGobbleRight et \StrRight \xE0 l'aide de la nouvelle macro
+     \xs_StrSplit_i
+   - Nouveau test \IfStrEq qui compare 2 chaines
+   - Nouveau test \IfEq qui compare 2 chaines (ou 2 nombres si les 2 chaines
+     contiennent un nombre)
+   - Correction d'un bug dans \xs_formatnumber. La macro n'envisageait pas le
+     cas o\xF9 son argument \xE9tait vide ce qui faiasait planter
+     \IfDecimal{}{V}{F} et \IfInteger{}{V}{F}
+------------------------------------------------------------------------------
+v1.3    21/9/2008
+  - Am\xE9lioration du code, mise en place de r\xE9cursivit\xE9s terminales dans
+    toutes les macros r\xE9cursives, simplification de \xs_TestEqual en
+    utilisant \ifx
+  - Nouvelles macros \IfStrEqCase et \IfEqCase
+      Teste si une cha\xEEne est \xE9gale \xE0 plusieurs chaines donn\xE9es et
+      ex\xE9cute un code sp\xE9cifique
+  - Cr\xE9ation de la macro publique \StrSplit
+      Coupe la chaine en 2 \xE0 une position donn\xE9e
+  - Nouvelle macro \StrCompare
+      Compare 2 cha\xEEnes et renvoie la position du 1er caract\xE8re diff\xE9rent.
+      Renvoie 0 si elles sont \xE9gales.
+------------------------------------------------------------------------------
+v1.3a   29/9/2008
+  - Correction d'un bug : \expandafter#1
+    dans les macros \IfSubStrBefore et \StrBetween qui buggue si #1 est un
+    nombre > 9 !
+  - R\xE9 \xE9criture de \xs_returnfirstsyntaxunit et \xs_gobarg qui
+    deviennent purement d\xE9veloppables.
+  - R\xE9 \xE9criture de \StrLen
+  - Nouvelle macro interne \xs_cutafteroccur
+      Coupe la chaine apr\xE8s la ni\xE8me occurrence d'une sous chaine.
+  - Code am\xE9lior\xE9 de \StrMid, \StrLeft, \StrGobbleLeft, \StrRight,
+    \StrGobbleRight grace \xE0 \xs_cutafteroccur
+------------------------------------------------------------------------------
+v1.4   4/11/2008
+  - xstring traite ses arguments par unit\xE9 syntaxique, et donc toutes les
+    macros internes ont \xE9t\xE9 r\xE9-\xE9crites \xE0 cette fin.
+  - Le manuel a \xE9t\xE9 r\xE9-\xE9crit, rendu plus clair et mieux structur\xE9.
+  - Nouvelle fonctionnalit\xE9 : \expandarg
+      le 1er lex\xE8me de chaque argument est 1-d\xE9velopp\xE9 avant que la
+      macro ne soit appel\xE9e. Si un argument comporte plus qu'1 lex\xE8me,
+      il faut passer par \scancs*[1] pour 1-d\xE9velopper toutes les unit\xE9s
+      syntaxiques.
+  - Correction de 2 erreurs dans le manuel anglais :  0 est la valeur par
+    d\xE9faut dans \StrSubstitute et \StrDel
+  - Coh\xE9rence dans les nom des s\xE9quences de contr\xF4les temporaires qui
+    sont d\xE9sormais : \xs_reserved_A \xE0 \xs_reserved_E
+------------------------------------------------------------------------------
+v1.4a  12/11/2008
+  - Correction d'un bug dans \xs_StrSplit dans le cas o\xF9 l'argument
+     num\xE9rique est <1 : la 1ere coupure doit \xEAtre vide et le seconde doit
+     \xEAtre \xE9gale \xE0 l'argument.
+------------------------------------------------------------------------------
+v1.4b  16/11/2008
+  - Correction de 2 bugs dans \xs_returnfirstsyntaxunit
+------------------------------------------------------------------------------
+v1.5   31/12/2008
+  - Nouvelles fonctionnalit\xE9s dans la recherche de groupes par un
+    identificateur caract\xE9risant leur imbrication. Impl\xE9mentation de :
+      1) \StrFindGroup
+      2) \groupID
+  - Ajout des nouvelles macros g\xE9n\xE9riques \xs_read_reserved_C et
+    \xs_read_reserved_D
+  - Correction d'un bug dans \StrSplit : \StrSplit{{a}bc}{1}[\truc] faisait
+    que \truc contenait \xABa{a}\xBB.
+  - Correction d'un bug dans \xs_newmacro : l'argument optionnel \xE9tait
+    d\xE9tok\xE9nis\xE9 \xE0 tort dans les macros \xE9toil\xE9es.
+  - Dans \xs_newmacro, on doit choisir le num\xE9ro du dernier argument devant
+    \xEAtre d\xE9tok\xE9nis\xE9 dans le cas d'une macro \xE9toil\xE9e (sachant que
+     l'argument optionnel ne l'est jamais)
+------------------------------------------------------------------------------
+v1.5a  09/2/2009
+  - Nouvelle macro \StrExpand, sensible au mode d'exploration. La macro est
+    ind\xE9pendante du mode d'exploration et dispose de ses propres commandes
+    d'exploration : \expandingroups et \noexpandingroups
+  - R\xE9-\xE9criture de \scancs, qui devient triviale puisque d\xE9pendant de
+    \StrExpand. Il n'y a plus de version \xE9toil\xE9e et d\xE9sormais, \scancs
+    est sensible au mode d'exploration.
+  - Correction d'un bug dans \IfInteger : \IfInteger{2.0}{V}{F} affichait F
+  - Correction de bugs : mettre \let\xs_reserved_E\relax avant d'appeler
+    \xs_StrSplit_i
+  - Suppression des messages d'erreur, de warning et d'info. xstring devient
+    donc silencieux ;)
+  - Passage de 3 \xE0 2 compteurs
+  - Le manuel est d\xE9sormais plus color\xE9, en esp\xE9rant qu'il sera un peu
+    plus agr\xE9able \xE0 lire !
+------------------------------------------------------------------------------
+v1.5b  13/3/2009
+  - Modification d'un grand nombre de macros de telle sorte que vraiment
+    n'importe quel code peut d\xE9sormais \xEAtre plac\xE9 dans les arguments des
+    macros (comme par exemple des \if, \ifx ou autre, m\xEAme sans leur \fi, ce
+    qui n'\xE9tait 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\xE8te ce qui se trouve dans #1
+  - Correction d'un bug dans \xs_returnfirstsyntaxunit au cas o\xF9 #1 commence
+    par un espace : mettre \xs_toks \xE0 0
+  - Correction d'un bug dans \xs_returnfirstsyntaxunit :
+    \xs_returnfirstsyntaxunit{{}}\truc
+    faisait que \truc se d\xE9veloppait en un espace.
+  - Correction d'un bug dans \xs_removefirstsyntaxunit o\xF9 le cas
+    \xs_removefirstsyntaxunit{ {b}}\truc
+    donnait \truc se d\xE9veloppant en \xABb\xBB au lieu de \xAB{b}\xBB.
+------------------------------------------------------------------------------
+v1.5d  28/3/2010
+  - Correction d'un bug dans \IfInteger : \afterinteger ne donnait pas le
+    bon r\xE9sultat. Par exemple avec 1.23 il renvoyait {} au lieu de {.23}
+  - \xs_formatnumber ne detokenize plus ses arguments (que m'est-il pass\xE9
+    par la t\xEAte pour que je code un truc comme ca ?), et donc
+    \afterinteger et \xs_afterdecimal ont des tokens ayant le bon
+    catcode
+------------------------------------------------------------------------------
+v1.6  24/10/2012
+  - Correction d'un bug dans \xs_cutafteroccur au cas o\xF9 #3<1
+  - \IfDecimal ne \detokenize plus l'argument.
+  - Nouvelle version de \tokenize qui enlevait les accolades si son argument
+    \xE9tait entre accolades
+  - Nouvelle macro \StrCut
+  - \xs_cutafteroccur_i ne produit plus d'espace ind\xE9sirable si #3 \xE9tait
+    \xE9valu\xE9 par \numexpr
+------------------------------------------------------------------------------
+v1.7  13/1/2013
+  - Correction d'un manque de rigueur dans les assignations concernant
+    \groupID : elles sont toutes globales d\xE9sormais
+  - Les macros de xstring sont \long
+------------------------------------------------------------------------------
+v1.7a 28/2/2013
+  - Correction d'un espace parasite dans \xs_removefirstsyntaxunit
+------------------------------------------------------------------------------
+v1.7b 29/7/2013
+  - La date contenue dans \xstringdate est d\xE9sormais conforme
+------------------------------------------------------------------------------
+v1.7c 13/10/2013
+  - les macros impliqu\xE9es dans \IfStrCase et \IfStrEqCase sont d\xE9sormais \long
+------------------------------------------------------------------------------
+v1.8  07/12/2018
+  - affectations globales supprim\xE9es (sauf pour \groupID) afin de ne pas
+    surcharger la pile de sauvegarde
+  - nettoyage du code, corrections de lourdeurs et maladresses
+------------------------------------------------------------------------------
+v1.81 09/12/2018
+  - bug dans \IfInteger et \IfDecimal, la macro \xs_afterdecimal est ind\xE9finie
+    et doit \xEAtre remplac\xE9e par \afterdecimal
+------------------------------------------------------------------------------
+v1.82 01/02/2019
+  - \xs_testopt n'est pas longue et provoque un bug dans \xs_IfStrCase et
+    \xs_IfStrCase lorsque #1 contient \par : \xs_testopt reste courte et
+    \xs_IfStringCase a \xE9t\xE9 modifi\xE9e pour que cela fonctionne.
\ No newline at end of file



More information about the tex-live-commits mailing list