summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xint
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-09-13 21:32:20 +0000
committerKarl Berry <karl@freefriends.org>2015-09-13 21:32:20 +0000
commit0147cee7c31113fac3240ef856b0683ba8b48da8 (patch)
treef2e3fe81d8b28cdfc6655fe9e7a8257aa07f4d64 /Master/texmf-dist/tex/generic/xint
parentd1cbabc7d105387043fbe801d05c54ab32f118fb (diff)
xint (13sep15)
git-svn-id: svn://tug.org/texlive/trunk@38368 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xint')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty41
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintkernel.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttools.sty83
10 files changed, 69 insertions, 87 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty
index d67777bee4b..b07e96b1cbe 100644
--- a/Master/texmf-dist/tex/generic/xint/xint.sty
+++ b/Master/texmf-dist/tex/generic/xint/xint.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xint: Expandable operations on big integers
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty)
\XINT_providespackage
\ProvidesPackage{xint}%
- [2015/08/31 v1.1b Expandable operations on big integers (jfB)]%
+ [2015/09/12 v1.1c Expandable operations on big integers (jfB)]%
\long\def\xint_firstofthree #1#2#3{#1}%
\long\def\xint_secondofthree #1#2#3{#2}%
\long\def\xint_thirdofthree #1#2#3{#3}%
diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
index 1ce6367d2c8..3876c864057 100644
--- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintbinhex: Expandable binary and hexadecimal conversions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintbinhex}%
- [2015/08/31 v1.1b Expandable binary and hexadecimal conversions (jfB)]%
+ [2015/09/12 v1.1c Expandable binary and hexadecimal conversions (jfB)]%
\chardef\xint_c_xvi 16
\chardef\xint_c_ii^vii 128
\mathchardef\xint_c_ii^viii 256
diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
index b5dfdf05712..f3585235d2f 100644
--- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintcfrac: Expandable continued fractions with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcfrac}%
- [2015/08/31 v1.1b Expandable continued fractions with xint package (jfB)]%
+ [2015/09/12 v1.1c Expandable continued fractions with xint package (jfB)]%
\def\xintCFrac {\romannumeral0\xintcfrac }%
\def\xintcfrac #1%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty
index 52a531a431f..d9bbb3779f8 100644
--- a/Master/texmf-dist/tex/generic/xint/xintcore.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintcore.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintcore: Expandable arithmetic on big integers
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintcore}%
- [2015/08/31 v1.1b Expandable arithmetic on big integers (jfB)]%
+ [2015/09/12 v1.1c Expandable arithmetic on big integers (jfB)]%
\def\xint_minus_thenstop { -}%
\def\xint_gob_til_zeros_iii #1000{}%
\def\xint_gob_til_zeros_iv #10000{}%
diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
index af29c4a9b0e..a7bc350cadd 100644
--- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintexpr: Expandable expression parser
%% ---------------------------------------------------------------
@@ -81,7 +81,7 @@
\XINTsetupcatcodes%
\XINT_providespackage
\ProvidesPackage{xintexpr}%
- [2015/08/31 v1.1b Expandable expression parser (jfB)]%
+ [2015/09/12 v1.1c Expandable expression parser (jfB)]%
\def\xint_gob_til_! #1!{}% this ! has catcode 11
\edef\XINT_expr_lockscan#1!{\noexpand\expandafter\space\noexpand\csname .=#1\endcsname }%
\edef\XINT_expr_lockit #1{\noexpand\expandafter\space\noexpand\csname .=#1\endcsname }%
@@ -302,8 +302,6 @@
\romannumeral-`0\XINT_expr_scanexppart_a e}\fi
\if E#1\xint_dothis{\expandafter\XINT_expr_inexppart
\romannumeral-`0\XINT_expr_scanexppart_a e}\fi
- % \if @#1\xint_dothis{!*#1}\fi % tacit multiplication later
- % \if _#1\xint_dothis{!*#1}\fi % tacit multiplication for variables
\ifcat a#1\xint_dothis{!!*#1}\fi % includes subexpressions (#1=! letter)
\xint_orthat {\expandafter\XINT_expr_scanintpart_aa\string #1}%
}%
@@ -513,10 +511,7 @@
\catcode`* 12
\def\XINT_expr_foundend {\xint_c_ \relax }% \relax is a place holder here.
\def\XINT_expr_getop_b #1%
-{% ? and : a special syntax in \xintexpr as they are
- % followed by braced arguments, and thus we must intercept them here.
- % I wanted to change this but now I don't have time to think about it.
- % 1.1 removes : as logic operator. Replaced by ??.
+{%
\if '#1\xint_dothis{\XINT_expr_binopwrd }\fi
\if ?#1\xint_dothis{\XINT_expr_precedence_? ?}\fi
\xint_orthat {\XINT_expr_scanop_a #1}%
@@ -927,8 +922,8 @@
\else
\xint_afterfi
{\expandafter ##2\expandafter ##3\csname
- .=:\xintiiifSgn{\XINT_expr_unlock ##1}NPP.% : and dots for expansion
- \xintiiifSgn{\XINT_expr_unlock ##4}NPP.% in \xintNewExpr context
+ .=:\xintiiifSgn{\XINT_expr_unlock ##1}NPP.%
+ \xintiiifSgn{\XINT_expr_unlock ##4}NPP.%
\xintNum{\XINT_expr_unlock ##1};\xintNum{\XINT_expr_unlock ##4}\endcsname
}%
\fi
@@ -955,7 +950,7 @@
\let\XINT_flexpr_op_][: \XINT_expr_op_][:
\let\XINT_iiexpr_op_][: \XINT_expr_op_][:
\catcode`[ 12 \catcode`] 12
-\def\xintListSel:csv #1{% these complications are due to \xintNewExpr matters
+\def\xintListSel:csv #1{%
\if ]\noexpand#1\xint_dothis{\expandafter\XINT_listsel:_s\romannumeral-`0}\fi
\if :\noexpand#1\xint_dothis{\XINT_listsel:_:}\fi
\xint_orthat {\XINT_listsel:_nth #1}%
@@ -1451,7 +1446,7 @@
\def\XINT_flexpr_func_opx #1#2{\XINT_allexpr_opx \xintfloatexpr }%
\def\XINT_iiexpr_func_opx #1#2{\XINT_allexpr_opx \xintiiexpr }%
\def\XINT_allexpr_opx #1#2#3#4#5%
-{% au d\'epart on avait op(#4,#3=#2 (\'evalu\'e ici)) #3=la variable, #4=expression, #5=+ ou*.
+{%
\expandafter\XINT_expr_getop\romannumeral0\expandafter\XINT_expr_op:_a
\csname XINT_expr_op:_#5\expandafter\endcsname
\romannumeral-`0\XINT_expr_unlock #2!#5#1#3{#4}%
@@ -1479,7 +1474,7 @@
\csname .=\expandafter\XINT_expr_subx:_a
\romannumeral-`0\XINT_expr_unlock #2!{#1#4\relax !#3}\endcsname
}%
-\def\XINT_expr_subx:_a #1!#2% 10/25 that was a quick addition!
+\def\XINT_expr_subx:_a #1!#2%
{\expandafter\XINT_expr_subx:_end \romannumeral0#2{#1}}%
\def\XINT_expr_subx:_end #1!#2#3{\XINT_expr_unlock #1}%
\def\XINT_expr_func_rseq {\XINT_allexpr_rseq \xintbareeval }%
@@ -1495,10 +1490,7 @@
\expandafter\XINT_expr_rseqy\romannumeral0#1(#4)\relax
#2#3#1%
}%
-\def\XINT_expr_rseqy #1#2#3#4#5% #1=valeurs pour variable (locked),
- % #2=toutes les valeurs initiales (csv,locked),
- % #3=variable, #4=expr,
- % #5=\xintbareeval ou \xintbarefloateval ou \xintbareiieval
+\def\XINT_expr_rseqy #1#2#3#4#5%
{%
\expandafter \XINT_expr_getop
\csname .=\XINT_expr_unlock #2%
@@ -1555,11 +1547,7 @@
{\xintRevWithBraces{\xintCSVtoListNonStripped{\XINT_expr_unlock #2}}}}%
#2#3#1%
}%
-\def\XINT_expr_rrseqy #1#2#3#4#5#6% #1=valeurs pour variable (locked),
- % #2=initial values (reversed, one (braced) token each)
- % #3=toutes les valeurs initiales (csv,locked),
- % #4=variable, #5=expr,
- % #6=\xintbareeval ou \xintbarefloateval ou \xintbareiieval
+\def\XINT_expr_rrseqy #1#2#3#4#5#6%
{%
\expandafter \XINT_expr_getop
\csname .=\XINT_expr_unlock #3%
@@ -1621,11 +1609,7 @@
{\xintRevWithBraces{\xintCSVtoListNonStripped{\XINT_expr_unlock #2}}}}%
#2#3#1%
}%
-\def\XINT_expr_itery #1#2#3#4#5#6% #1=valeurs pour variable (locked),
- % #2=initial values (reversed, one (braced) token each)
- % #3=toutes les valeurs initiales (csv,locked),
- % #4=variable, #5=expr,
- % #6=\xintbareeval ou \xintbarefloateval ou \xintbareiieval
+\def\XINT_expr_itery #1#2#3#4#5#6%
{%
\expandafter \XINT_expr_getop
\csname .=%
@@ -1807,8 +1791,7 @@
\def\XINT_flexpr_func_sqr #1#2#3%
{%
\expandafter #1\expandafter #2\csname
- .=\XINTinFloatMul % [\XINTdigits]% pour simplifier mes affaires avec \xintNewExpr
- {\XINT_expr_unlock #3}{\XINT_expr_unlock #3}\endcsname
+ .=\XINTinFloatMul{\XINT_expr_unlock #3}{\XINT_expr_unlock #3}\endcsname
}%
\def\XINT_iiexpr_func_sqr #1#2#3%
{\expandafter #1\expandafter #2\csname.=\xintiiSqr {\XINT_expr_unlock #3}\endcsname }%
diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
index 29258f75d8d..f0e50614e0d 100644
--- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintfrac: Expandable operations on fractions
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintfrac}%
- [2015/08/31 v1.1b Expandable operations on fractions (jfB)]%
+ [2015/09/12 v1.1c Expandable operations on fractions (jfB)]%
\chardef\xint_c_xviii 18
\def\XINT_cntSgnFork #1%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
index f87f9686603..b5905103847 100644
--- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintgcd: Euclidean algorithm with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintgcd}%
- [2015/08/31 v1.1b Euclide algorithm with xint package (jfB)]%
+ [2015/09/12 v1.1c Euclide algorithm with xint package (jfB)]%
\def\xintGCD {\romannumeral0\xintgcd }%
\def\xintgcd #1%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty
index 4ee08194d2e..8904861217e 100644
--- a/Master/texmf-dist/tex/generic/xint/xintkernel.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintkernel.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintkernel: Paraphernalia for the xint packages
%% ---------------------------------------------------------------
@@ -152,7 +152,7 @@
\fi
\XINT_providespackage
\ProvidesPackage {xintkernel}%
- [2015/08/31 v1.1b Paraphernalia for the xint packages (jfB)]%
+ [2015/09/12 v1.1c Paraphernalia for the xint packages (jfB)]%
\long\def\xint_gobble_ {}%
\long\def\xint_gobble_i #1{}%
\long\def\xint_gobble_ii #1#2{}%
diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty
index 4245ce90a0c..1bec170ddc4 100644
--- a/Master/texmf-dist/tex/generic/xint/xintseries.sty
+++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xintseries: Expandable partial sums with xint package
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xintseries}%
- [2015/08/31 v1.1b Expandable partial sums with xint package (jfB)]%
+ [2015/09/12 v1.1c Expandable partial sums with xint package (jfB)]%
\def\xintSeries {\romannumeral0\xintseries }%
\def\xintseries #1#2%
{%
diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty
index 103667e53fe..345777e41d8 100644
--- a/Master/texmf-dist/tex/generic/xint/xinttools.sty
+++ b/Master/texmf-dist/tex/generic/xint/xinttools.sty
@@ -21,7 +21,7 @@
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%% ---------------------------------------------------------------
-%% The xint bundle v1.1b (2015/08/31; doc: 2015/08/31)
+%% The xint bundle v1.1c 2015/09/12
%% Copyright (C) 2013-2015 by Jean-Francois Burnol
%% xinttools: Expandable and non-expandable utilities
%% ---------------------------------------------------------------
@@ -70,7 +70,7 @@
\XINTsetupcatcodes% defined in xintkernel.sty
\XINT_providespackage
\ProvidesPackage{xinttools}%
- [2015/08/31 v1.1b Expandable and non-expandable utilities (jfB)]%
+ [2015/09/12 v1.1c Expandable and non-expandable utilities (jfB)]%
\newtoks\XINT_toks
\xint_firstofone{\let\XINT_sptoken= } %<- space here!
\def\xintgodef {\global\xintodef }%
@@ -102,21 +102,16 @@
\def\XINT_revwbr_finish_b #1#2#3#4#5#6#7#8\Z
{%
\xint_gob_til_R
- #1\XINT_revwbr_finish_c \xint_c_viii
- #2\XINT_revwbr_finish_c \xint_c_vii
- #3\XINT_revwbr_finish_c \xint_c_vi
- #4\XINT_revwbr_finish_c \xint_c_v
- #5\XINT_revwbr_finish_c \xint_c_iv
- #6\XINT_revwbr_finish_c \xint_c_iii
- #7\XINT_revwbr_finish_c \xint_c_ii
- \R\XINT_revwbr_finish_c \xint_c_i\Z
-}%
-\def\XINT_revwbr_finish_c #1#2\Z
-{%
- \expandafter\expandafter\expandafter
- \space
- \csname xint_gobble_\romannumeral #1\endcsname
-}%
+ #1\XINT_revwbr_finish_c \xint_gobble_viii
+ #2\XINT_revwbr_finish_c \xint_gobble_vii
+ #3\XINT_revwbr_finish_c \xint_gobble_vi
+ #4\XINT_revwbr_finish_c \xint_gobble_v
+ #5\XINT_revwbr_finish_c \xint_gobble_iv
+ #6\XINT_revwbr_finish_c \xint_gobble_iii
+ #7\XINT_revwbr_finish_c \xint_gobble_ii
+ \R\XINT_revwbr_finish_c \xint_gobble_i\Z
+}%
+\edef\XINT_revwbr_finish_c #1#2\Z {\noexpand\expandafter\space #1}%
\def\xintZapFirstSpaces {\romannumeral0\xintzapfirstspaces }%
\long\edef\xintzapfirstspaces #1%
{\noexpand\XINT_zapbsp_a \space #1\xint_relax \space\space\xint_relax }%
@@ -196,18 +191,14 @@
\def\XINT_csvtol_finish_b #1,#2,#3,#4,#5,#6,#7,#8\Z
{%
\xint_gob_til_R
- #1\XINT_csvtol_finish_c \xint_c_viii
- #2\XINT_csvtol_finish_c \xint_c_vii
- #3\XINT_csvtol_finish_c \xint_c_vi
- #4\XINT_csvtol_finish_c \xint_c_v
- #5\XINT_csvtol_finish_c \xint_c_iv
- #6\XINT_csvtol_finish_c \xint_c_iii
- #7\XINT_csvtol_finish_c \xint_c_ii
- \R\XINT_csvtol_finish_c \xint_c_i\Z
-}%
-\def\XINT_csvtol_finish_c #1#2\Z
-{%
- \csname XINT_csvtol_finish_d\romannumeral #1\endcsname
+ #1\expandafter\XINT_csvtol_finish_dviii\xint_gob_til_Z
+ #2\expandafter\XINT_csvtol_finish_dvii \xint_gob_til_Z
+ #3\expandafter\XINT_csvtol_finish_dvi \xint_gob_til_Z
+ #4\expandafter\XINT_csvtol_finish_dv \xint_gob_til_Z
+ #5\expandafter\XINT_csvtol_finish_div \xint_gob_til_Z
+ #6\expandafter\XINT_csvtol_finish_diii \xint_gob_til_Z
+ #7\expandafter\XINT_csvtol_finish_dii \xint_gob_til_Z
+ \R\XINT_csvtol_finish_di \Z
}%
\long\def\XINT_csvtol_finish_dviii #1#2#3#4#5#6#7#8#9{ #9}%
\long\def\XINT_csvtol_finish_dvii #1#2#3#4#5#6#7#8#9{ #9{#1}}%
@@ -217,7 +208,7 @@
\long\def\XINT_csvtol_finish_diii #1#2#3#4#5#6#7#8#9{ #9{#1}{#2}{#3}{#4}{#5}}%
\long\def\XINT_csvtol_finish_dii #1#2#3#4#5#6#7#8#9%
{ #9{#1}{#2}{#3}{#4}{#5}{#6}}%
-\long\def\XINT_csvtol_finish_di #1#2#3#4#5#6#7#8#9%
+\long\def\XINT_csvtol_finish_di\Z #1#2#3#4#5#6#7#8#9%
{ #9{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
\def\xintListWithSep {\romannumeral0\xintlistwithsep }%
\def\xintListWithSepNoExpand {\romannumeral0\xintlistwithsepnoexpand }%
@@ -965,27 +956,35 @@
}%
\long\def\XINT_assign_a #1\to
{%
- \expandafter\XINT_assign_b\romannumeral-`0#1{}\to
+ \def\XINT_flet_macro{\XINT_assign_b}%
+ \expandafter\XINT_flet_zapsp\romannumeral-`0#1\xint_relax\to
+}%
+\long\def\XINT_assign_b
+{%
+ \ifx\XINT_token\bgroup
+ \expandafter\XINT_assign_c
+ \else\expandafter\XINT_assign_f
+ \fi
+}%
+\long\def\XINT_assign_f #1\xint_relax\to #2%
+{%
+ \XINT_assign_def #2{#1}%
}%
-\long\def\XINT_assign_b #1% attention to the # at the beginning of next line
-#{%
+\long\def\XINT_assign_c #1%
+{%
\def\xint_temp {#1}%
- \ifx\empty\xint_temp
- \expandafter\XINT_assign_c
+ \ifx\xint_temp\xint_brelax
+ \expandafter\XINT_assign_e
\else
\expandafter\XINT_assign_d
\fi
}%
-\long\def\XINT_assign_c #1#2\to #3%
-{%
- \XINT_assign_def #3{#1}%
- \def\xint_temp {#2}%
- \unless\ifx\empty\xint_temp\xint_afterfi{\XINT_assign_b #2\to }\fi
-}%
-\def\XINT_assign_d #1\to #2% normally #1 is {} here.
+\long\def\XINT_assign_d #1\to #2%
{%
\expandafter\XINT_assign_def\expandafter #2\expandafter{\xint_temp}%
+ \XINT_assign_c #1\to
}%
+\def\XINT_assign_e #1\to {}%
\def\xintRelaxArray #1%
{%
\edef\XINT_restoreescapechar {\escapechar\the\escapechar\relax}%