From a8356ff391b052c2df9c0e5094ad28bdc4ecc8cc Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 17 Jun 2018 21:04:37 +0000 Subject: xint (17jun18) git-svn-id: svn://tug.org/texlive/trunk@48040 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/generic/xint/xint.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintcore.sty | 7 +- Master/texmf-dist/tex/generic/xint/xintexpr.sty | 115 +++++++++++++--------- Master/texmf-dist/tex/generic/xint/xintfrac.sty | 17 +--- Master/texmf-dist/tex/generic/xint/xintgcd.sty | 4 +- Master/texmf-dist/tex/generic/xint/xintkernel.sty | 10 +- Master/texmf-dist/tex/generic/xint/xintseries.sty | 4 +- Master/texmf-dist/tex/generic/xint/xinttools.sty | 4 +- 10 files changed, 97 insertions(+), 76 deletions(-) (limited to 'Master/texmf-dist/tex/generic/xint') diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index 428de889050..8e8e9405307 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 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}% - [2018/05/18 1.3b Expandable operations on big integers (JFB)]% + [2018/06/17 1.3c 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 c03355c16be..df427eeaa98 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintbinhex: Expandable binary and hexadecimal conversions %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2018/05/18 1.3b Expandable binary and hexadecimal conversions (JFB)]% + [2018/06/17 1.3c Expandable binary and hexadecimal conversions (JFB)]% \newcount\xint_c_ii^xv \xint_c_ii^xv 32768 \newcount\xint_c_ii^xvi \xint_c_ii^xvi 65536 \def\XINT_tmpa #1{\ifx\relax#1\else diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index 881239a5e4f..195b8cae810 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintcfrac: Expandable continued fractions with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2018/05/18 1.3b Expandable continued fractions with xint package (JFB)]% + [2018/06/17 1.3c 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 ff4fdfed9ef..de9475ec3f9 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintcore: Expandable arithmetic on big integers %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcore}% - [2018/05/18 1.3b Expandable arithmetic on big integers (JFB)]% + [2018/06/17 1.3c Expandable arithmetic on big integers (JFB)]% \csname XINT_Clamped_istrapped\endcsname \csname XINT_ConversionSyntax_istrapped\endcsname \csname XINT_DivisionByZero_istrapped\endcsname @@ -124,7 +124,6 @@ % .. others .. }% \def\XINT_RaiseFlag #1{\expandafter\xint_gobble_i\csname XINT_#1Flag_ON\endcsname}% -%% NOT IMPLEMENTED! WORK IN PROGRESS! (ALL SIGNALS TRAPPED, NO HANDLERS USED) \catcode`. 11 \let\XINT_Clamped.handler\xint_firstofone % WIP \def\XINT_InvalidOperation.handler#1{_NaN}% WIP @@ -1890,7 +1889,7 @@ \def\XINT_iidivmod_divbyzero #1#2\xint:#3\xint: {% \XINT_signalcondition{DivisionByZero}{Division by #2 of #1#3}{}% - {{0}{0}}% à revoir... + {{0}{0}}% ^^c3^^a0 revoir... }% \def\XINT_iidivmod_aiszero #1#2\xint:#3\xint:{{0}{0}}% \def\XINT_iidivmod_bneg #1% diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index 05a7bad4a86..72a614e2692 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintexpr: Expandable expression parser %% --------------------------------------------------------------- @@ -81,7 +81,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2018/05/18 1.3b Expandable expression parser (JFB)]% + [2018/06/17 1.3c Expandable expression parser (JFB)]% \catcode`! 11 \let\XINT_Cmp \xintiiCmp \def\xint_gob_til_! #1!{}% ! with catcode 11 @@ -190,9 +190,7 @@ \expandafter\xintPFloat::csv \romannumeral`&&@\expandafter\XINT_expr_unlock_sp\string #1!% }% -\catcode`: 12 - \def\XINT_expr_unlock_sp #1.;#2.=#3!{{#2}{#3}}% -\catcode`: 11 +\def\XINT_expr_unlock_sp #1.;#2.=#3!{{#2}{#3}}% \def\xintboolexpr {\romannumeral0\expandafter\expandafter\expandafter \XINT_boolexpr_done \expandafter\xint_gobble_iv\romannumeral0\xinteval }% \def\xinttheboolexpr {\romannumeral`&&@\expandafter\expandafter\expandafter @@ -1387,7 +1385,6 @@ \def\XINT_iiexpr_op_! #1{\expandafter\XINT_expr_getop \csname .=\XINT:NEhook:one\xintiiFac{\XINT_expr_unlock #1}\endcsname }% \catcode`[ 11 -\catcode`* 11 \let\XINT_expr_precedence_[ \xint_c_vii \def\XINT_expr_op_[ #1#2]{\expandafter\XINT_expr_getop \csname .=\xintE{\XINT_expr_unlock #1}% @@ -1399,7 +1396,6 @@ \csname .=\XINTinFloatE{\XINT_expr_unlock #1}% {\xint_zapspaces #2 \xint_gobble_i}\endcsname}% \catcode`[ 12 -\catcode`* 12 \def\XINT_tmpa #1#2#3{% \def #1##1% {% @@ -1437,6 +1433,8 @@ {\expandafter\XINT_expr_getop\csname .=\xintRaw{#1}\endcsname }% \def\XINT_expr_onliteral_qfloat #1)% {\expandafter\XINT_expr_getop\csname .=\XINTinFloatdigits{#1}\endcsname }% +\def\XINT_expr_onliteral_qraw #1)% + {\expandafter\XINT_expr_getop\csname .=#1\endcsname }% \def\XINT_expr_onliteral_random #1)% {\expandafter\XINT_expr_getop\csname .=\XINTinRandomFloatSdigits\endcsname }% \def\XINT_expr_onliteral_qrand #1)% @@ -1459,20 +1457,30 @@ \catcode`* 11 \def\XINT_expr_defvar_one #1#2% {% + \XINT_global \expandafter\edef\csname XINT_expr_var_#1\endcsname {\expandafter\noexpand#2}% + \XINT_global \expandafter\edef\csname XINT_expr_onliteral_#1\endcsname {\XINT_expr_precedence_*** *\expandafter\noexpand#2(}% \ifxintverbose\xintMessage{xintexpr}{Info} - {Variable "#1" defined with value \expandafter\XINT_expr_unlock#2.}% + {Variable "#1" \ifxintglobaldefs globally \fi + defined with value \expandafter\XINT_expr_unlock#2.}% \fi }% \catcode`* 12 +\catcode`~\active +\catcode`: 12 +\def\XINT_expr_defvar_getname #1:#2~{\endgroup + \def\XINT_expr_tmpa{#1}\edef\XINT_expr_tmpc{\xintCSVLength{#1}}}% \def\XINT_expr_defvar #1#2#3;% {% + \xintexprRestoreCatcodes + \begingroup\lccode`~`: \lowercase{\let~}\empty \edef\XINT_expr_tmpa{#2}% \edef\XINT_expr_tmpa{\xint_zapspaces_o\XINT_expr_tmpa}% - \edef\XINT_expr_tmpc{\xintCSVLength{\XINT_expr_tmpa}}% + \expandafter\XINT_expr_defvar_getname + \detokenize\expandafter{\XINT_expr_tmpa}:~% \ifcase\XINT_expr_tmpc \xintMessage {xintexpr}{Warning} {Aborting: impossible to declare variable with empty name.}% @@ -1505,27 +1513,30 @@ \fi \fi }% -\catcode`: 12 -\def\xintdefvar #1:={\XINT_expr_defvar\xintbareeval {#1}}% -\def\xintdefiivar #1:={\XINT_expr_defvar\xintbareiieval {#1}}% -\def\xintdeffloatvar #1:={\XINT_expr_defvar\xintbarefloateval {#1}}% +\catcode`~ 3 \catcode`: 11 +\def\xintdefvar {\xintexprSafeCatcodes\xintdefvar_a}% +\def\xintdefiivar {\xintexprSafeCatcodes\xintdefiivar_a}% +\def\xintdeffloatvar {\xintexprSafeCatcodes\xintdeffloatvar_a}% +\def\xintdefvar_a #1={\XINT_expr_defvar\xintbareeval {#1}}% +\def\xintdefiivar_a #1={\XINT_expr_defvar\xintbareiieval {#1}}% +\def\xintdeffloatvar_a #1={\XINT_expr_defvar\xintbarefloateval {#1}}% \def\xintunassignvar #1{% \edef\XINT_expr_tmpa{#1}% \edef\XINT_expr_tmpa {\xint_zapspaces_o\XINT_expr_tmpa}% \ifcsname XINT_expr_var_\XINT_expr_tmpa\endcsname \ifnum\expandafter\xintLength\expandafter{\XINT_expr_tmpa}=\@ne - \expandafter\XINT_expr_makedummy\XINT_expr_tmpa - \ifxintverbose\xintMessage {xintexpr}{Info}% - {Character \XINT_expr_tmpa\space usable as dummy variable (if with catcode letter).}% - \fi + \expandafter\xintnewdummy\XINT_expr_tmpa \else + \XINT_global \expandafter\edef\csname XINT_expr_var_\XINT_expr_tmpa\endcsname {\csname .=0\endcsname\noexpand\XINT_expr_undefined {\XINT_expr_tmpa}}% + \XINT_global \expandafter\edef\csname XINT_expr_onliteral_\XINT_expr_tmpa\endcsname {\csname .=0\endcsname\noexpand\XINT_expr_undefined {\XINT_expr_tmpa}*}% \ifxintverbose\xintMessage {xintexpr}{Info} - {Variable \XINT_expr_tmpa\space has been ``unassigned''.}% + {Variable \XINT_expr_tmpa\space has been + \ifxintglobaldefs globally \fi ``unassigned''.}% \fi \fi \else @@ -1537,8 +1548,10 @@ \catcode`* 11 \def\XINT_expr_makedummy #1% {% + \XINT_global \expandafter\def\csname XINT_expr_var_#1\endcsname ##1\relax !#1##2% {##2##1\relax !#1##2}% + \XINT_global \expandafter\def\csname XINT_expr_onliteral_#1\endcsname ##1\relax !#1##2% {\XINT_expr_precedence_*** *##2(##1\relax !#1##2}% }% @@ -1547,7 +1560,8 @@ \def\xintnewdummy #1{% \XINT_expr_makedummy{#1}% \ifxintverbose\xintMessage {xintexpr}{Info}% - {Character #1 now usable as dummy variable (if with catcode letter).}% + {#1 (with letter catcode) now + \ifxintglobaldefs globally \fi usable as dummy variable.}% \fi }% \edef\XINT_expr_var_nil {\expandafter\noexpand\csname .= \endcsname}% @@ -2165,7 +2179,7 @@ \expandafter #1\expandafter #2\csname.=% \XINT:NEhook:one\xintSqr{\XINT_expr_unlock #3}\endcsname }% -\def\XINTinFloatSqr#1{\XINTinFloatMul{#1}{#1}}% revoir après +\def\XINTinFloatSqr#1{\XINTinFloatMul{#1}{#1}}% revoir apr^^c3^^a8s \def\XINT_flexpr_func_sqr #1#2#3% {% \expandafter #1\expandafter #2\csname.=% @@ -2711,8 +2725,6 @@ \xintifCmp {#1}{#2}% \XINT_seqb:f:csv_nc\XINT_seqb:f:csv_nb\XINT_flseqb:f:csv_na {#1}{#2}% }% -\catcode`: 12 -\catcode`~ 12 \def\XINT_tmpa #1#2#3#4% {% \def #1##1(##2)##3=##4;{% @@ -2733,17 +2745,21 @@ \ifxintverbose\xintMessage {xintexpr}{Info} {Function \XINT_expr_tmpa\space for \string\xint #4 parser associated to \string\XINT_#2_userfunc_\XINT_expr_tmpa\space - with meaning \expandafter\meaning + with \ifxintglobaldefs global \fi meaning \expandafter\meaning \csname XINT_#2_userfunc_\XINT_expr_tmpa\endcsname}% \fi + \xintexprRestoreCatcodes }% }% -\catcode`: 11 -\XINT_tmpa\xintdeffunc {expr} \XINT_NewFunc {expr}% -\XINT_tmpa\xintdefiifunc {iiexpr}\XINT_NewIIFunc {iiexpr}% -\XINT_tmpa\xintdeffloatfunc{flexpr}\XINT_NewFloatFunc{floatexpr}% +\def\xintdeffunc {\xintexprSafeCatcodes\xintdeffunc_a}% +\def\xintdefiifunc {\xintexprSafeCatcodes\xintdefiifunc_a}% +\def\xintdeffloatfunc {\xintexprSafeCatcodes\xintdeffloatfunc_a}% +\XINT_tmpa\xintdeffunc_a {expr} \XINT_NewFunc {expr}% +\XINT_tmpa\xintdefiifunc_a {iiexpr}\XINT_NewIIFunc {iiexpr}% +\XINT_tmpa\xintdeffloatfunc_a{flexpr}\XINT_NewFloatFunc{floatexpr}% \def\XINT_expr_defuserfunc #1#2#3% {% + \XINT_global \def #1##1##2##3{\expandafter ##1\expandafter ##2% \csname .=\XINT:expr:userfunc{#3}{#2}{\XINT_expr_unlock ##3}\endcsname }% @@ -2751,8 +2767,10 @@ \def\XINT:expr:userfunc #1#2#3% {\csname XINT_#1_userfunc_#2\expandafter\endcsname \romannumeral0\xintcsvtolistnonstripped{#3}}% +\catcode`~ 12 \def\XINT:newexpr:userfunc #1#2#3% {~xintExpandArgs{XINT_#1_userfunc_#2}{\xintCSVtoListNonStripped{#3}}}% +\catcode`~ 3 \def\XINT_expr_wrapit #1{\expandafter\XINT_expr_wrap\csname.=#1\endcsname}% \def\xintNewFunction #1#2[#3]#4% {% @@ -2773,8 +2791,8 @@ \else \toks0{##1##2##3##4##5##6##7##8##9}% \fi \expandafter - \endgroup - \expandafter + \endgroup\expandafter + \XINT_global\expandafter \def\csname XINT_expr_macrofunc_\XINT_expr_tmpa\expandafter\endcsname \the\toks0\expandafter{\XINT_expr_tmpb {\XINT_expr_wrapit{##1}}{\XINT_expr_wrapit{##2}}{\XINT_expr_wrapit{##3}}% @@ -2793,12 +2811,13 @@ \xintMessage {xintexpr}{Info} {Function \XINT_expr_tmpa\space for the expression parsers is associated to \string\XINT_expr_macrofunc_\XINT_expr_tmpa\space - with meaning \expandafter\meaning + with \ifxintglobaldefs global \fi meaning \expandafter\meaning \csname XINT_expr_macrofunc_\XINT_expr_tmpa\endcsname}% \fi }% \def\XINT_expr_newfunction #1#2#3#4% {% + \XINT_global \def#1##1##2##3{\expandafter ##1\expandafter ##2\romannumeral0% \XINT:expr:macrofunc{#4}{#3}{#2}{\XINT_expr_unlock##3}}% }% @@ -2807,6 +2826,7 @@ #1\csname XINT_expr_macrofunc_#3\expandafter\endcsname \romannumeral0\xintcsvtolistnonstripped{#4}\relax }% +\catcode`~ 12 \def\XINT:newexpr:macrofunc #1{% \def\XINT:newexpr:macrofunc ##1##2##3##4% {% @@ -2814,6 +2834,7 @@ {\xintCSVtoListNonStripped{##4}}\endcsname }% }\XINT:newexpr:macrofunc { }% +\catcode`~ 3 \def\XINT:newexpr:macrofunc:a #1#2#3% {% \expandafter\XINT_expr_unlock\romannumeral0\csname xintbare#1\endcsname @@ -2886,8 +2907,8 @@ \xint_dothis {\detokenize{#3}[#4]}\fi \if $#2\xint_dothis {~xintApply::csv{\detokenize{#3}[#4]}}\fi %$ \xint_orthat{#3[#4]}% -}% pas complétement général, mais bon -\def\XINT:NE:csv #1{\detokenize{#1}}% radicalement fainéant +}% pas compl^^c3^^a9tement g^^c3^^a9n^^c3^^a9ral, mais bon +\def\XINT:NE:csv #1{\detokenize{#1}}% radicalement fain^^c3^^a9ant \def\XINT:newexpr:one:and:opt #1,#2,#3!#4#5% {% \if\relax#3\relax\expandafter\xint_firstoftwo\else @@ -3067,18 +3088,18 @@ {% \begingroup \ifcase #7\relax - \toks0 {\endgroup\def#5}% - \or \toks0 {\endgroup\def#5##1}% - \or \toks0 {\endgroup\def#5##1##2}% - \or \toks0 {\endgroup\def#5##1##2##3}% - \or \toks0 {\endgroup\def#5##1##2##3##4}% - \or \toks0 {\endgroup\def#5##1##2##3##4##5}% - \or \toks0 {\endgroup\def#5##1##2##3##4##5##6}% - \or \toks0 {\endgroup\def#5##1##2##3##4##5##6##7}% - \or \toks0 {\endgroup\def#5##1##2##3##4##5##6##7##8}% - \or \toks0 {\endgroup\def#5##1##2##3##4##5##6##7##8##9}% + \toks0 {\endgroup\XINT_global\def#5}% + \or \toks0 {\endgroup\XINT_global\def#5##1}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3##4}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3##4##5}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3##4##5##6}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3##4##5##6##7}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3##4##5##6##7##8}% + \or \toks0 {\endgroup\XINT_global\def#5##1##2##3##4##5##6##7##8##9}% \fi - \xintexprSafeCatcodes + #2\xintexprSafeCatcodes \XINT_expr_redefinemacros #1% \XINT_NewExpr_a #2#3#4#5% @@ -3102,13 +3123,16 @@ {\XINT_tmpa{%%1}{%%2}{%%3}{%%4}{%%5}{%%6}{%%7}{%%8}{%%9}}@ %1{\ifxintverbose \xintMessage{xintexpr}{Info}@ - {\string%4\space now with meaning \meaning%4}@ + {\string%4\space now with @ + \ifxintglobaldefs global \fi meaning \meaning%4}@ \fi}@ }@ \catcode`% 14 +\newif\ifxintexprsafecatcodes \let\xintexprRestoreCatcodes\empty \def\xintexprSafeCatcodes {% + \unless\ifxintexprsafecatcodes \edef\xintexprRestoreCatcodes {% \catcode59=\the\catcode59 % ; \catcode34=\the\catcode34 % " @@ -3134,7 +3158,10 @@ \catcode61=\the\catcode61 % = \catcode96=\the\catcode96 % ` \catcode32=\the\catcode32\relax % space + \noexpand\xintexprsafecatcodesfalse }% + \fi + \xintexprsafecatcodestrue \catcode59=12 % ; \catcode34=12 % " \catcode63=12 % ? diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index 3edaf936f19..2b3ac64e27f 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintfrac: Expandable operations on fractions %% --------------------------------------------------------------- @@ -39,7 +39,6 @@ \let\z\endgroup \expandafter\let\expandafter\x\csname ver@xintfrac.sty\endcsname \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname - \expandafter\let\expandafter\ww\csname ver@xintgcd.sty\endcsname \expandafter \ifx\csname PackageInfo\endcsname\relax \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% @@ -53,18 +52,14 @@ \else \ifx\x\relax % plain-TeX, first loading of xintfrac.sty \ifx\w\relax % but xint.sty not yet loaded. - \def\z{\endgroup\input xint.sty\relax\input xintgcd.sty\relax}% + \def\z{\endgroup\input xint.sty\relax}% \fi \else \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xint.sty not yet loaded. - \def\z{\endgroup\RequirePackage{xint}\RequirePackage{xintgcd}}% - \else - \ifx\ww\relax - \def\z{\endgroup\RequirePackage{xintgcd}}% - \fi + \def\z{\endgroup\RequirePackage{xint}}% \fi \else \aftergroup\endinput % xintfrac already loaded. @@ -75,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintfrac}% - [2018/05/18 1.3b Expandable operations on fractions (JFB)]% + [2018/06/17 1.3c Expandable operations on fractions (JFB)]% \def\XINT_cntSgnFork #1% {% \ifcase #1\expandafter\xint_secondofthree @@ -300,8 +295,6 @@ \def\xintIsNotZero{\romannumeral0\xintisnotzero }% \def\xintisnotzero #1{\if0\xintSgn{#1}\xint_afterfi{ 0}\else\xint_afterfi{ 1}\fi}% -\def\xintIsOne {\romannumeral0\xintisone }% -\def\xintisone #1{\expandafter\XINT_isone\romannumeral0\xintnum{#1}XY}% \def\xintOdd {\romannumeral0\xintodd }% \def\xintodd #1% {% @@ -1516,7 +1509,7 @@ \def\XINT_divmod_divbyzero #1#2[#3]#4.% {% \XINT_signalcondition{DivisionByZero}{Division by #2[#3] of #1#4}{}% - {{0}{0/1[0]}}% à revoir... + {{0}{0/1[0]}}% ^^c3^^a0 revoir... }% \def\XINT_divmod_aiszero #1.{{0}{0/1[0]}}% \def\XINT_divmod_bneg #1% f // -g = (-f) // g, f % -g = - ((-f) % g) diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index 8c524d1e714..ffdc8e5be04 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintgcd: Euclidean algorithm with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintgcd}% - [2018/05/18 1.3b Euclide algorithm with xint package (JFB)]% + [2018/06/17 1.3c Euclide algorithm with xint package (JFB)]% \def\xintGCD {\romannumeral0\xintgcd }% \def\xintgcd #1#2{\xintiigcd {\xintNum{#1}}{\xintNum{#2}}}% \def\xintiiGCD {\romannumeral0\xintiigcd }% diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty index 38850e85ba2..2267a1f77b6 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintkernel: Paraphernalia for the xint packages %% --------------------------------------------------------------- @@ -156,7 +156,7 @@ \fi \XINT_providespackage \ProvidesPackage {xintkernel}% - [2018/05/18 1.3b Paraphernalia for the xint packages (JFB)]% + [2018/06/17 1.3c Paraphernalia for the xint packages (JFB)]% \chardef\xint_c_ 0 \chardef\xint_c_i 1 \chardef\xint_c_ii 2 @@ -568,14 +568,16 @@ \immediate\write128{\space\space\space\space#3}% }% \newif\ifxintverbose +\newif\ifxintglobaldefs +\def\XINT_global{\ifxintglobaldefs\global\fi}% \def\XINT_expandableerror #1#2{% \def\XINT_expandableerror ##1{% \expandafter\expandafter\expandafter \XINT_expandableerror_continue\xint_firstofone{#2#1##1#1}}% \def\XINT_expandableerror_continue ##1#1##2#1{##1}% }% -\begingroup\lccode`$ 32 \catcode`/ 11 \catcode`! 11 \catcode32 11 % -\lowercase{\endgroup\XINT_expandableerror$\ ! /\let\ ! /\xint_undefined}% +\begingroup\lccode`$ 32 \catcode`/ 11 \catcode`! 11 \catcode32 11 % $ +\lowercase{\endgroup\XINT_expandableerror$\ ! /\let\ ! /\xint_undefined}% $ \XINT_restorecatcodes_endinput% \endinput %% diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 3e3ae687d5f..94b26505845 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xintseries: Expandable partial sums with xint package %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintseries}% - [2018/05/18 1.3b Expandable partial sums with xint package (JFB)]% + [2018/06/17 1.3c 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 ac659b8c749..9682ea524e0 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 1.3b 2018/05/18 +%% The xint bundle 1.3c 2018/06/17 %% Copyright (C) 2013-2018 by Jean-Francois Burnol %% xinttools: Expandable and non-expandable utilities %% --------------------------------------------------------------- @@ -70,7 +70,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xinttools}% - [2018/05/18 1.3b Expandable and non-expandable utilities (JFB)]% + [2018/06/17 1.3c Expandable and non-expandable utilities (JFB)]% \newtoks\XINT_toks \xint_firstofone{\let\XINT_sptoken= } %<- space here! \def\xintgodef {\global\xintodef }% -- cgit v1.2.3