summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-06-17 21:04:37 +0000
committerKarl Berry <karl@freefriends.org>2018-06-17 21:04:37 +0000
commita8356ff391b052c2df9c0e5094ad28bdc4ecc8cc (patch)
tree1d140eab26e9ec64694d88221900f07b275083c2 /Master/texmf-dist/tex/generic
parentfcd631537e8237c8d259af82841ded8d3a8b51b7 (diff)
xint (17jun18)
git-svn-id: svn://tug.org/texlive/trunk@48040 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-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.sty7
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty115
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty17
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintkernel.sty10
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty4
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttools.sty4
10 files changed, 97 insertions, 76 deletions
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 }%