summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-03 22:13:54 +0000
committerKarl Berry <karl@freefriends.org>2019-03-03 22:13:54 +0000
commit43b684ab018cff8b896e1cb8e3e5d6476c3bd427 (patch)
tree98ae7e8cffdb82c150ed2358596db62ce5878d22 /Master/texmf-dist/tex/generic
parent5ed6780cb6689feb96af61e26efcff17ffa28f07 (diff)
listofitems (3mar19)
git-svn-id: svn://tug.org/texlive/trunk@50216 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/listofitems/listofitems.tex41
1 files changed, 23 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/generic/listofitems/listofitems.tex b/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
index 27cd340aeef..644200a6f0a 100644
--- a/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
+++ b/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
@@ -4,9 +4,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\loiname {listofitems} %
-\def\loiver {1.6} %
+\def\loiver {1.61} %
% %
-\def\loidate {2018/11/01} %
+\def\loidate {2019/03/03} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -18,7 +18,7 @@
% Package URL: https://www.ctan.org/pkg/listofitems %
% Bug tracker: https://framagit.org/unbonpetit/listofitems/issues %
% Repository : https://framagit.org/unbonpetit/listofitems/tree/master
-% Copyright : Christian Tellechea 2016-2018 %
+% Copyright : Christian Tellechea 2016-2019 %
% Licence : Released under the LaTeX Project Public License v1.3c %
% or later, see http://www.latex-project.org/lppl.txt %
% Files : 1) listofitems.tex %
@@ -86,22 +86,20 @@
\long\def\loi_ifx#1{\ifx#1\expandafter\loi_first\else\expandafter\loi_second\fi}
\long\def\loi_ifempty#1{\loi_exparg\loi_ifx{\expandafter\relax\detokenize{#1}\relax}}
\def\loi_ifstar#1#2{\def\loi_ifstar_a{\loi_ifx{*\loi_nxttok}{\loi_first{#1}}{#2}}\futurelet\loi_nxttok\loi_ifstar_a}
-\long\def\loi_ifprimitive#1{\edef\loi_tempa{\meaning#1}\edef\loi_tempb{\string#1}\loi_ifx{\loi_tempa\loi_tempb}}
-\long\def\loi_ifcs#1{% #1 est-il une sc (n'étant pas une primitive) ?
+\long\def\loi_ifstuffexpandable#1{\def\loi_tempa{#1}\loi_exparg{\def\loi_tempb}{#1}\expandafter\unless\loi_ifx{\loi_tempa\loi_tempb}}
+\long\def\loi_ifcsexpandable#1{% #1 est-il constitué d'une sc _développable_ ?
\loi_ifempty{#1}
{\loi_second
}
{\loi_ifspacefirst{#1}
- \loi_second% si espace en 1er, faux
- {\loi_exparg\loi_ifempty{\loi_gobarg#1}% 1 seul token ?
- {\begingroup \escapechar`\_
- \if\expandafter\loi_firsttonil\detokenize{#1}\_nil\expandafter\loi_firsttonil\string\relax\_nil
- \loi_ifprimitive{#1}
- {\endgroup\expandafter\loi_second}
- {\endgroup\expandafter\loi_first}%
- \else
- \endgroup\expandafter\loi_second
- \fi
+ {\loi_second% si espace en 1er, faux
+ }
+ {%
+ \loi_exparg\loi_ifempty{\loi_gobarg#1}% 1 seul token ?
+ {\begingroup\escapechar`\_\def\_{#1}\expandafter\endgroup
+ \csname loi_\if\expandafter\expandafter\expandafter\loi_firsttonil\expandafter\string\_\_nil\string _first\else second\fi\endcsname
+ {\loi_ifstuffexpandable{#1}}
+ {\loi_second}%
}
{\loi_second% si plusieurs tokens, faux
}%
@@ -228,7 +226,7 @@
}
\def\insidepair#1#2#3#4{% #1#2=paire #3=expr #4=macro reçevant le resultat
\loi_if_validpair#1#2%
- {\loi_ifcs{#3}
+ {\loi_ifcsexpandable{#3}
{\loi_exparg{\insidepair#1#2}{#3}#4%
}
{\loi_check_pair#1#2\in{#3}% si les paires sont appariées dans le résultat
@@ -347,7 +345,7 @@
\loi_ifstar{\_removeextremespacestrue\readlist_b}{\_removeextremespacesfalse\readlist_b}%
}
\long\def\readlist_b#1#2{% #1=macro stockant les éléments #2=liste des éléments
- \loi_ifcs{#2}
+ \loi_ifcsexpandable{#2}
{\loi_exparg{\readlist_b#1}{#2}%
}
{\loi_edef\loi_listname{\loi_macroname#1}%
@@ -564,4 +562,11 @@ v1.53 13/03/2018
- correction d'un bug dans \readlist_g
v1.6 01/11/2018
- - possibilité d'appariement de tokens dans les items \ No newline at end of file
+ - possibilité d'appariement de tokens dans les items
+
+v1.61 03/03/2019
+ - la macro \loi_ifcs contient une erreur de conception.
+ Il faut tester si le token est un sc && s'il est
+ développable pour renvoyer vrai car il existe des sc
+ non développables && qui ne sont _pas_ des primitives.
+ Macro rebaptisée \loi_ifcsexpandable \ No newline at end of file