texlive[46562] Master/texmf-dist: xint (7feb18)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 7 23:15:55 CET 2018


Revision: 46562
          http://tug.org/svn/texlive?view=revision&revision=46562
Author:   karl
Date:     2018-02-07 23:15:55 +0100 (Wed, 07 Feb 2018)
Log Message:
-----------
xint (7feb18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/xint/CHANGES.html
    trunk/Master/texmf-dist/doc/generic/xint/CHANGES.pdf
    trunk/Master/texmf-dist/doc/generic/xint/README
    trunk/Master/texmf-dist/doc/generic/xint/README.html
    trunk/Master/texmf-dist/doc/generic/xint/README.pdf
    trunk/Master/texmf-dist/doc/generic/xint/sourcexint.pdf
    trunk/Master/texmf-dist/doc/generic/xint/xint.pdf
    trunk/Master/texmf-dist/source/generic/xint/xint.dtx
    trunk/Master/texmf-dist/source/generic/xint/xint.ins
    trunk/Master/texmf-dist/tex/generic/xint/xint.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintcore.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintexpr.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintfrac.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintgcd.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintkernel.sty
    trunk/Master/texmf-dist/tex/generic/xint/xintseries.sty
    trunk/Master/texmf-dist/tex/generic/xint/xinttools.sty

Modified: trunk/Master/texmf-dist/doc/generic/xint/CHANGES.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xint/CHANGES.html	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/doc/generic/xint/CHANGES.html	2018-02-07 22:15:55 UTC (rev 46562)
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <meta name="author" content="xint 1.2p" />
+  <meta name="author" content="xint 1.2q" />
   <title>CHANGE LOG</title>
   <style type="text/css">code{white-space: pre;}</style>
   <style type="text/css">
@@ -17,16 +17,20 @@
 <body>
 <div id="header">
 <h1 class="title">CHANGE LOG</h1>
-<h2 class="author">xint 1.2p</h2>
-<h3 class="date">2017/12/05</h3>
+<h2 class="author">xint 1.2q</h2>
+<h3 class="date">2018/02/06</h3>
 </div>
 <div id="TOC">
 <ul>
-<li><a href="#p-20171205"><code>1.2p (2017/12/05)</code></a><ul>
-<li><a href="#incompatible-changes">Incompatible changes</a></li>
+<li><a href="#q-20180206"><code>1.2q (2018/02/06)</code></a><ul>
 <li><a href="#improvements-and-new-features">Improvements and new features</a></li>
 <li><a href="#bug-fixes">Bug fixes</a></li>
 </ul></li>
+<li><a href="#p-20171205"><code>1.2p (2017/12/05)</code></a><ul>
+<li><a href="#incompatible-changes">Incompatible changes</a></li>
+<li><a href="#improvements-and-new-features-1">Improvements and new features</a></li>
+<li><a href="#bug-fixes-1">Bug fixes</a></li>
+</ul></li>
 <li><a href="#o-20170829"><code>1.2o (2017/08/29)</code></a><ul>
 <li><a href="#incompatible-changes-1">Incompatible changes</a></li>
 <li><a href="#deprecated">Deprecated</a></li>
@@ -33,68 +37,68 @@
 </ul></li>
 <li><a href="#n-20170806"><code>1.2n (2017/08/06)</code></a><ul>
 <li><a href="#incompatible-changes-2">Incompatible changes</a></li>
-<li><a href="#improvements-and-new-features-1">Improvements and new features</a></li>
+<li><a href="#improvements-and-new-features-2">Improvements and new features</a></li>
 </ul></li>
 <li><a href="#m-20170731"><code>1.2m (2017/07/31)</code></a><ul>
 <li><a href="#incompatible-changes-3">Incompatible changes</a></li>
-<li><a href="#improvements-and-new-features-2">Improvements and new features</a></li>
-<li><a href="#bug-fixes-1">Bug fixes</a></li>
+<li><a href="#improvements-and-new-features-3">Improvements and new features</a></li>
+<li><a href="#bug-fixes-2">Bug fixes</a></li>
 </ul></li>
 <li><a href="#l-20170726"><code>1.2l (2017/07/26)</code></a><ul>
 <li><a href="#removed">Removed</a></li>
-<li><a href="#improvements-and-new-features-3">Improvements and new features</a></li>
-<li><a href="#bug-fixes-2">Bug fixes</a></li>
+<li><a href="#improvements-and-new-features-4">Improvements and new features</a></li>
+<li><a href="#bug-fixes-3">Bug fixes</a></li>
 </ul></li>
 <li><a href="#k-20170106"><code>1.2k (2017/01/06)</code></a><ul>
 <li><a href="#incompatible-changes-4">Incompatible changes</a></li>
-<li><a href="#improvements-and-new-features-4">Improvements and new features</a></li>
-<li><a href="#bug-fixes-3">Bug fixes</a></li>
-</ul></li>
-<li><a href="#j-20161222"><code>1.2j (2016/12/22)</code></a><ul>
 <li><a href="#improvements-and-new-features-5">Improvements and new features</a></li>
 <li><a href="#bug-fixes-4">Bug fixes</a></li>
 </ul></li>
+<li><a href="#j-20161222"><code>1.2j (2016/12/22)</code></a><ul>
+<li><a href="#improvements-and-new-features-6">Improvements and new features</a></li>
+<li><a href="#bug-fixes-5">Bug fixes</a></li>
+</ul></li>
 <li><a href="#i-20161213"><code>1.2i (2016/12/13)</code></a><ul>
 <li><a href="#incompatible-changes-5">Incompatible changes</a></li>
 <li><a href="#removed-1">Removed</a></li>
-<li><a href="#improvements-and-new-features-6">Improvements and new features</a></li>
-<li><a href="#bug-fixes-5">Bug fixes</a></li>
-</ul></li>
-<li><a href="#h-20161120"><code>1.2h (2016/11/20)</code></a><ul>
 <li><a href="#improvements-and-new-features-7">Improvements and new features</a></li>
 <li><a href="#bug-fixes-6">Bug fixes</a></li>
 </ul></li>
+<li><a href="#h-20161120"><code>1.2h (2016/11/20)</code></a><ul>
+<li><a href="#improvements-and-new-features-8">Improvements and new features</a></li>
+<li><a href="#bug-fixes-7">Bug fixes</a></li>
+</ul></li>
 <li><a href="#g-20160319"><code>1.2g (2016/03/19)</code></a><ul>
 <li><a href="#incompatible-changes-6">Incompatible changes</a></li>
-<li><a href="#improvements-and-new-features-8">Improvements and new features</a></li>
+<li><a href="#improvements-and-new-features-9">Improvements and new features</a></li>
 </ul></li>
 <li><a href="#f-20160312"><code>1.2f (2016/03/12)</code></a><ul>
 <li><a href="#incompatible-changes-7">Incompatible changes</a></li>
-<li><a href="#improvements-and-new-features-9">Improvements and new features</a></li>
-<li><a href="#bug-fixes-7">Bug fixes</a></li>
-</ul></li>
-<li><a href="#e-20151122"><code>1.2e (2015/11/22)</code></a><ul>
 <li><a href="#improvements-and-new-features-10">Improvements and new features</a></li>
 <li><a href="#bug-fixes-8">Bug fixes</a></li>
 </ul></li>
-<li><a href="#d-20151118"><code>1.2d (2015/11/18)</code></a><ul>
+<li><a href="#e-20151122"><code>1.2e (2015/11/22)</code></a><ul>
 <li><a href="#improvements-and-new-features-11">Improvements and new features</a></li>
 <li><a href="#bug-fixes-9">Bug fixes</a></li>
 </ul></li>
-<li><a href="#c-20151116"><code>1.2c (2015/11/16)</code></a><ul>
+<li><a href="#d-20151118"><code>1.2d (2015/11/18)</code></a><ul>
 <li><a href="#improvements-and-new-features-12">Improvements and new features</a></li>
 <li><a href="#bug-fixes-10">Bug fixes</a></li>
 </ul></li>
-<li><a href="#b-20151029"><code>1.2b (2015/10/29)</code></a><ul>
+<li><a href="#c-20151116"><code>1.2c (2015/11/16)</code></a><ul>
+<li><a href="#improvements-and-new-features-13">Improvements and new features</a></li>
 <li><a href="#bug-fixes-11">Bug fixes</a></li>
 </ul></li>
-<li><a href="#a-20151019"><code>1.2a (2015/10/19)</code></a><ul>
-<li><a href="#improvements-and-new-features-13">Improvements and new features</a></li>
+<li><a href="#b-20151029"><code>1.2b (2015/10/29)</code></a><ul>
 <li><a href="#bug-fixes-12">Bug fixes</a></li>
 </ul></li>
+<li><a href="#a-20151019"><code>1.2a (2015/10/19)</code></a><ul>
+<li><a href="#improvements-and-new-features-14">Improvements and new features</a></li>
+<li><a href="#bug-fixes-13">Bug fixes</a></li>
+</ul></li>
 <li><a href="#section"><code>1.2 (2015/10/10)</code></a><ul>
 <li><a href="#removed-2">Removed</a></li>
-<li><a href="#improvements-and-new-features-14">Improvements and new features</a></li>
+<li><a href="#improvements-and-new-features-15">Improvements and new features</a></li>
 </ul></li>
 <li><a href="#c-20150912"><code>1.1c (2015/09/12)</code></a></li>
 <li><a href="#b-20150831"><code>1.1b (2015/08/31)</code></a></li>
@@ -103,8 +107,8 @@
 <li><a href="#incompatible-changes-8">Incompatible changes</a></li>
 <li><a href="#removed-3">Removed</a></li>
 <li><a href="#deprecated-1">Deprecated</a></li>
-<li><a href="#improvements-and-new-features-15">Improvements and new features</a></li>
-<li><a href="#bug-fixes-13">Bug fixes</a></li>
+<li><a href="#improvements-and-new-features-16">Improvements and new features</a></li>
+<li><a href="#bug-fixes-14">Bug fixes</a></li>
 </ul></li>
 <li><a href="#n-20140401"><code>1.09n (2014/04/01)</code></a></li>
 <li><a href="#m-20140226"><code>1.09m (2014/02/26)</code></a></li>
@@ -132,10 +136,19 @@
 <li><a href="#section-8"><code>1.0 (2013/03/28)</code></a></li>
 </ul>
 </div>
-<pre><code>Source:  xint.dtx 1.2p 2017/12/05 (doc 2017/12/05)
+<pre><code>Source:  xint.dtx 1.2q 2018/02/06 (doc 2018/02/06)
 Author:  Jean-Francois Burnol
 Info:    Expandable operations on big integers, decimals, fractions
-License: LPPL 1.3c</code></pre>
+License: LPPL 1.2qc</code></pre>
+<h2 id="q-20180206"><code>1.2q (2018/02/06)</code></h2>
+<h3 id="improvements-and-new-features">Improvements and new features</h3>
+<ul>
+<li><strong>xintexpr</strong>: tacit multiplication extended to cases such as <code>3!4!5!</code> or <code>(1+2)3</code>.</li>
+</ul>
+<h3 id="bug-fixes">Bug fixes</h3>
+<ul>
+<li><strong>xintcore</strong>: sadly, refactoring at <code>1.2l</code> of subtraction left an extra character in an inner macro causing breakage in some rare circumstances. This should not have escaped our test suite!</li>
+</ul>
 <h2 id="p-20171205"><code>1.2p (2017/12/05)</code></h2>
 <h3 id="incompatible-changes">Incompatible changes</h3>
 <ul>
@@ -145,13 +158,13 @@
 <li><p><strong>xintfrac</strong>: <code>\xintMod</code> is now associated with floored division. The former meaning is available as <code>\xintModTrunc</code>.</p></li>
 <li><p><strong>xintexpr</strong>: the <code>//</code> operator and its associated modulo <code>'mod'</code> (or <code>/:</code>) now correspond to floored division, like the Python language <code>//</code>, <code>%</code>, and <code>divmod(x, y)</code>. Formerly they had been associated to truncated division. This is breaking change for operands of opposite signs.</p></li>
 </ul>
-<h3 id="improvements-and-new-features">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-1">Improvements and new features</h3>
 <ul>
 <li><p><strong>xinttools</strong>: <code>\xintListWithSep</code>, which had remained unchanged since its introduction at <code>1.04 (2013/04/25)</code>, was rewritten for increased speed.</p></li>
 <li><p><strong>xintexpr</strong>: <code>\xintdefvar</code>'s syntax is extended to allow simultaneous assignments. Examples: <code>\xintdefvar x1, x2, x3 := 1, 3**10, 3**20;</code> or <code>\xintdefiivar A, B := B, A 'mod' B;</code> for already defined variables <code>A</code> and <code>B</code>.</p></li>
 <li><p><strong>xintexpr</strong>: added <code>divmod()</code> to the built-in functions. It is associated with floored division, like the Python language <code>divmod()</code>. Related support macros added to <strong>xintcore</strong>, and <strong>xintfrac</strong>.</p></li>
 </ul>
-<h3 id="bug-fixes">Bug fixes</h3>
+<h3 id="bug-fixes-1">Bug fixes</h3>
 <ul>
 <li><p><strong>xintgcd</strong>: <code>\xintBezout{6}{3}</code> (for example) expanded to <code>{6}{3}{-0}{-1}{3}</code>, but the <code>-0</code> should have been <code>0</code>.</p></li>
 <li><p><strong>xintgcd</strong>: it still used macro <code>\xintiAbs</code> although the latter had been deprecated from <strong>xintcore</strong>.</p></li>
@@ -179,7 +192,7 @@
 <ul>
 <li><strong>xintbinhex</strong> does not load package <strong>xintcore</strong> anymore, but only <strong>xintkernel</strong>.</li>
 </ul>
-<h3 id="improvements-and-new-features-1">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-2">Improvements and new features</h3>
 <ul>
 <li><p><strong>xintbinhex</strong> has only <strong>xintkernel</strong> as dependency.</p></li>
 <li><p>Macros of <strong>xintbinhex</strong> have been improved for speed and increased maximal sizes of allowable inputs.</p></li>
@@ -190,11 +203,11 @@
 <li><p><strong>xintbinhex</strong>: the length of the input is now limited. The maximum size depends on the macro and ranges from about <code>4000</code> to about <code>19900</code> digits.</p></li>
 <li><p><strong>xintbinhex</strong>: <code>\xintCHexToBin</code> is now the variant of <code>\xintHexToBin</code> which does not remove leading binary zeroes: <code>N</code> hex-digits give on output exactly <code>4N</code> binary digits.</p></li>
 </ul>
-<h3 id="improvements-and-new-features-2">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-3">Improvements and new features</h3>
 <ul>
 <li><strong>xintbinhex</strong>: all macros have been rewritten using techniques from the 1.2 release (they had remained unmodified since <code>1.08</code> of <code>2013/06/07</code>.) The new macros are faster but limited to a few thousand digits. The <code>1.08</code> routines could handle tens of thousands of digits, but not in a reasonable time.</li>
 </ul>
-<h3 id="bug-fixes-1">Bug fixes</h3>
+<h3 id="bug-fixes-2">Bug fixes</h3>
 <ul>
 <li><p>user manual: the <code>Changes</code> section wrongly stated at <code>1.2l</code> that the macros of <strong>xintbinhex</strong> had been made robust against non terminated input such as <code>\number\mathcode`\-</code>. Unfortunately the author fell into the trap of believing his own documentation and he forgot to actually implement the change. Now done.</p></li>
 <li><p>user manual: the PDF bookmarks were messed up.</p></li>
@@ -206,7 +219,7 @@
 <li><p><code>\xintiiSumExpr</code>, <code>\xintiiPrdExpr</code> (<strong>xint</strong>) and <code>\xintSumExpr</code>, <code>\xintPrdExpr</code> (<strong>xintfrac</strong>). They had not been formally deprecated, but had been left un-documented since <code>1.09d (2013/10/22)</code>.</p></li>
 <li><p>internal macro <code>\xint_gob_til_xint_relax</code> removed.</p></li>
 </ul>
-<h3 id="improvements-and-new-features-3">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-4">Improvements and new features</h3>
 <ul>
 <li><p>the underscore character <code>_</code> is accepted by the <strong>xintexpr</strong> parsers as a digit separator (the space character already could be used for improved readability of big numbers). It is not allowed as <em>first</em> character of a number, as it would then be mis-interpreted as the start of a possible variable name.</p></li>
 <li><p>some refactoring in <strong>xintcore</strong> auxiliary routines and in <code>\xintiiSub</code> and <code>\xintiiCmp</code> for some small efficiency gains.</p></li>
@@ -215,7 +228,7 @@
 <p>The situation with expressions is unchanged: syntax such as <code>\xintexpr \numexpr1+2\relax</code> is illegal as the ending <code>\relax</code> token will get swallowed by the <code>\numexpr</code>; but it is needed by the <code>xintexpr</code>-ession parser, hence the parser will expand forward and presumably end with in an "illegal token" error, or provoke some low-level TeX error (N.B.: a closing brace <code>}</code> for example can not terminate an <code>xintexpr</code>-ession, the parser must find a <code>\relax</code> token at some point). Thus there must be in this example a second <code>\relax</code>.</p></li>
 <li><p>experimental code for error conditions; there is no complete user interface yet, it is done in preparation for next major release and is completely unstable and undocumented.</p></li>
 </ul>
-<h3 id="bug-fixes-2">Bug fixes</h3>
+<h3 id="bug-fixes-3">Bug fixes</h3>
 <ul>
 <li><p><strong>xintbinhex</strong>: since <code>1.2 (2015/10/10)</code>, <code>\xintHexToDec</code> was broken due to an undefined macro (it was in <code>xint.sty</code>, but the module by itself is supposedly dependent only upon <code>xintcore.sty</code>).</p></li>
 <li><p><strong>xintgcd</strong>: macro <code>\xintBezout</code> produced partially wrong output if one of its two arguments was zero.</p></li>
@@ -227,7 +240,7 @@
 <li><p>macro <code>\xintFloat</code> which rounds its input to a floating point number does <em>not</em> print anymore <code>10.0...0eN</code> to signal an upwards rounding to the next power of ten. The mantissa has in all cases except the zero input exactly one digit before the decimal mark.</p></li>
 <li><p>some floating point computations may differ in the least significant digits, due to a change in the rounding algorithm applied to macro arguments expressed as fractions and to an improvement in precision regarding half-integer powers in expressions. See next.</p></li>
 </ul>
-<h3 id="improvements-and-new-features-4">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-5">Improvements and new features</h3>
 <ul>
 <li><p>the initial rounding to the target precision <code>P</code> which is applied by the floating point macros from <strong>xintfrac</strong> to their arguments achieves the <em>exact (aka correct) rounding</em> even for inputs which are fractions with more than <code>P+2</code> digits in their numerators and denominators (<code>>1</code>.) Hence the computed values depend only on the arguments as rational numbers and not upon their representatives. This is not relevant to <em>expressions</em> (<strong>xintexpr</strong>), because the <code>\xintfloatexpr</code> parser sees there <code>/</code> as an operator and does not (apart from special constructs) get to manipulate fractions as such.</p></li>
 <li><p><code>\xintnewdummy</code> is public interface to a <code>1.2e</code> macro which serves to declare any given catcode 11 character as a dummy variable for expressions (<strong>xintexpr</strong>). This is useful for Unicode engines (the Latin letters being already all pre-declared as dummy variables.)</p></li>
@@ -234,7 +247,7 @@
 <li><p>added <code>\xintiSqrtR</code>, there was only <code>\xintiiSqrtR</code> alongside <code>\xintiSqrt</code> and <code>\xintiiSqrt</code> (<strong>xint</strong>).</p></li>
 <li><p>added non public <code>\xintLastItem:f:csv</code> to <strong>xinttools</strong> for faster <code>last()</code> function, and improved <code>\xintNewExpr</code> compatibility. Also <code>\xintFirstItem:f:csv</code>.</p></li>
 </ul>
-<h3 id="bug-fixes-3">Bug fixes</h3>
+<h3 id="bug-fixes-4">Bug fixes</h3>
 <ul>
 <li><p>the <code>1.2f</code> half-integer powers computed within <code>\xintfloatexpr</code> had a silly rounding to the target precision just <em>before</em> the final square-root extraction, thus possibly losing some precision. The <code>1.2k</code> implementation keeps guard digits for this final square root extraction. As for integer exponents, it is guaranteed that the computed value differs from the exact one by less than <code>0.52 ulp</code> (for inputs having at most <code>\xinttheDigits</code> digits.)</p></li>
 <li><p>more regressions from <code>1.2i</code> were fixed: <code>\xintLen</code> (<strong>xint</strong>, <strong>xintfrac</strong>) and <code>\xintDouble</code> (<strong>xintcore</strong>) had forgotten that their argument was allowed to be negative. A regression test suite is now in place and is being slowly expanded to cover more macros.</p></li>
@@ -241,7 +254,7 @@
 <li><p><code>\xintiiSquareRoot{0}</code> now produces <code>{1}{1}</code>, which fits better the general documented behaviour of this macro than <code>11</code>.</p></li>
 </ul>
 <h2 id="j-20161222"><code>1.2j (2016/12/22)</code></h2>
-<h3 id="improvements-and-new-features-5">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-6">Improvements and new features</h3>
 <ul>
 <li><p><strong>xinttools</strong> and <strong>xintexpr</strong>:</p>
 <ol style="list-style-type: decimal">
@@ -250,7 +263,7 @@
 </ol></li>
 <li><p>significant documentations tweaks (inclusive of suppressing things!), and among them two beautiful hyperlinked tables with both horizontal and vertical rules which bring the documentation of the <strong>xintexpr</strong> syntax to a kind of awe-inspiring perfection... except that implementation of some math functions is still lacking.</p></li>
 </ul>
-<h3 id="bug-fixes-4">Bug fixes</h3>
+<h3 id="bug-fixes-5">Bug fixes</h3>
 <ul>
 <li>fix two <code>1.2i</code> regressions caused by undefined macros (<code>\xintNthElt</code> in certain branches and <code>[list][N]</code> item extraction in certain cases.) The test files existed but were not executed prior to release. Automation in progress.</li>
 </ul>
@@ -263,7 +276,7 @@
 <ul>
 <li>deprecated macros <code>\xintifTrue</code>, <code>\xintifTrueFalse</code>, <code>\xintQuo</code>, <code>\xintRem</code>, <code>\xintquo</code>, <code>\xintrem</code>.</li>
 </ul>
-<h3 id="improvements-and-new-features-6">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-7">Improvements and new features</h3>
 <ul>
 <li><p><strong>xintkernel</strong>: <code>\xintLength</code> is faster. New macros:</p>
 <ul>
@@ -282,17 +295,17 @@
 <li><p>the documentation has again been (slightly) re-organized; it has a new sub-section on the Miller-Rabin primality test, to illustrate some use of <code>\xintNewFunction</code> for recursive definitions.</p></li>
 <li><p>the documentation has dropped the LaTeX "command" terminology (which had been used initially in 2013 for some forgotten reasons and should have been removed long ago) and uses only the more apt "macro", as after all, all of <strong>xint</strong> is about expansion of macros (plus the use of <code>\numexpr</code>).</p></li>
 </ul>
-<h3 id="bug-fixes-5">Bug fixes</h3>
+<h3 id="bug-fixes-6">Bug fixes</h3>
 <ul>
 <li><code>\xintDecSplitL</code> and <code>\xintDecSplitR</code> from <strong>xint</strong> produced their output in a spurious brace pair (bug introduced in <code>1.2f</code>).</li>
 </ul>
 <h2 id="h-20161120"><code>1.2h (2016/11/20)</code></h2>
-<h3 id="improvements-and-new-features-7">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-8">Improvements and new features</h3>
 <ul>
 <li><p>new macro <code>\xintNewFunction</code> in <strong>xintexpr</strong> which allows to extend the parser syntax with functions in situations where <code>\xintdeffunc</code> is not usable (typically, because dummy variables are used over a not yet determined range of values because it depends on the variables).</p></li>
 <li><p>after three years of strict obedience to <code>xint</code> prefix, now <code>\thexintexpr</code>, <code>\thexintiexpr</code>, <code>\thexintfloatexpr</code>, and <code>\thexintiiexpr</code> are provided as synonyms to <code>\xinttheexpr</code>, etc...</p></li>
 </ul>
-<h3 id="bug-fixes-6">Bug fixes</h3>
+<h3 id="bug-fixes-7">Bug fixes</h3>
 <ul>
 <li><p>the <code>(cond)?{foo}{bar}</code> operator from <strong>xintexpr</strong> mis-behaved in certain circumstances (such as an empty <code>foo</code>).</p></li>
 <li><p>the <strong>xintexpr</strong> <code>1.2f</code> <code>binomial</code> function (which uses <code>\xintiiBinomial</code> from <strong>xint.sty</strong> or <code>\xintFloatBinomial</code> from <strong>xintfrac.sty</strong>) deliberately raised an error for <code>binomial(x,y)</code> with <code>y<0</code> or <code>x<y</code>. This was unfortunate, and it now simply evaluates to zero in such cases.</p></li>
@@ -305,7 +318,7 @@
 <li><p>inside expressions, list item selector <code>[L][n]</code> counts starting at zero, not at one. This is more coherent with <code>[L][a:b]</code> which was already exactly like in Python since its introduction. A function len(L) replaces earlier <code>[L][0]</code>.</p></li>
 <li><p>former <code>iter</code> keyword now called <code>iterr</code>. Indeed it matched with <code>rrseq</code>, the new <code>iter</code> (which was somehow missing from <code>1.1</code>) is the one matching <code>rseq</code>. Allows to iterate more easily with a "list" variable.</p></li>
 </ul>
-<h3 id="improvements-and-new-features-8">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-9">Improvements and new features</h3>
 <ul>
 <li><p>in <strong>xintexpr.sty</strong>: list selectors <code>[L][n]</code> and <code>[L][a:b]</code> are more efficient: the earlier <code>1.1</code> routines did back and forth conversions from comma separated values to braced tokens, the <code>1.2g</code> routines use macros from <strong>xinttools.sty</strong> handling directly the encountered lists of comma separated values.</p></li>
 <li><p>in <strong>xinttools.sty</strong>: slight improvements in the efficiency of the <code>\xintNthElt</code>, <code>\xintKeep</code>, <code>\xintTrim</code> routines and new routines handling directly comma separated values. The latter are not included in the user manual (they are not <code>\long</code>, they don't make efforts to preserve some braces, do not worry about spaces, all those worries being irrelevant to the use in expressions for list selectors).</p></li>
@@ -318,7 +331,7 @@
 <ul>
 <li>no more <code>\xintFac</code> macro but <code>\xintiFac/\xintiiFac/\xintFloatFac</code>.</li>
 </ul>
-<h3 id="improvements-and-new-features-9">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-10">Improvements and new features</h3>
 <ul>
 <li><p>functions <code>binomial</code>, <code>pfactorial</code> and <code>factorial</code> in both integer and float versions.</p></li>
 <li><p>macros <code>\xintiiBinomial</code>, <code>\xintiiPFactorial</code> (<strong>xint.sty</strong>) and <code>\xintFloatBinomial</code>, <code>\xintFloatPFactorial</code> (<strong>xintfrac.sty</strong>). Improvements to <code>\xintFloatFac</code>.</p></li>
@@ -332,7 +345,7 @@
 <li><p>(TeXperts only) the macros defined (internally) from <code>\xintdeffunc</code> et al. constructs do not incorporate an initial <code>\romannumeral</code> anymore.</p></li>
 <li><p>renewed desperate efforts at improving the documentation by random shuffling of sections and well thought additions; cuts were considered and even performed.</p></li>
 </ul>
-<h3 id="bug-fixes-7">Bug fixes</h3>
+<h3 id="bug-fixes-8">Bug fixes</h3>
 <ul>
 <li><p>squaring macro <code>\xintSqr</code> from <strong>xintfrac.sty</strong> was broken due to a misspelled sub-macro name. Dates back to <code>1.1</code> release of <code>2014/10/28</code> <code>:-((</code>.</p></li>
 <li><p><code>1.2c</code>'s fix to the subtraction bug from <code>1.2</code> introduced another bug, which in some cases could create leading zeroes in the output, or even worse. This could invalidate other routines using subtractions, like <code>\xintiiSquareRoot</code>.</p></li>
@@ -339,7 +352,7 @@
 <li><p>the comparison operators were not recognized by <code>\xintNewIIExpr</code> and <code>\xintdefiifunc</code> constructs.</p></li>
 </ul>
 <h2 id="e-20151122"><code>1.2e (2015/11/22)</code></h2>
-<h3 id="improvements-and-new-features-10">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-11">Improvements and new features</h3>
 <ul>
 <li><p>macro <code>\xintunassignvar</code>.</p></li>
 <li><p>slight modifications of the logged messages in case of <code>\xintverbosetrue</code>.</p></li>
@@ -346,7 +359,7 @@
 <li><p>a space in <code>\xintdeffunc f(x)<space>:= expression ;</code> is now accepted.</p></li>
 <li><p>documentation enhancements: the <em>Quick Sort</em> section with its included code samples has been entirely re-written; the <em>Commands of the xintexpr package</em> section has been extended and reviewed entirely.</p></li>
 </ul>
-<h3 id="bug-fixes-8">Bug fixes</h3>
+<h3 id="bug-fixes-9">Bug fixes</h3>
 <ul>
 <li><p>in <strong>xintfrac</strong>: the <code>\xintFloatFac</code> from release <code>1.2</code> parsed its argument only through <code>\numexpr</code> but it should have used <code>\xintNum</code>.</p></li>
 <li><p>in <strong>xintexpr</strong>: release <code>1.2d</code> had broken the recognition of sub-expressions immediately after variable names (with tacit multiplication).</p></li>
@@ -353,39 +366,39 @@
 <li><p>in <strong>xintexpr</strong>: contrarily to what <code>1.2d</code> documentation said, tacit multiplication was not yet always done with enhanced precedence. Now yes.</p></li>
 </ul>
 <h2 id="d-20151118"><code>1.2d (2015/11/18)</code></h2>
-<h3 id="improvements-and-new-features-11">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-12">Improvements and new features</h3>
 <ul>
 <li><p>the function definitions done by <code>\xintdeffunc</code> et al., as well as the macro declarations by <code>\xintNewExpr</code> et al. now have only local scope.</p></li>
 <li><p>tacit multiplication applies to more cases, for example (x+y)z, and always ties more than standard * infix operator, e.g. x/2y is like x/(2*y).</p></li>
 <li><p>some documentation enhancements, particularly in the chapter on xintexpr.sty, and also in the code source comments.</p></li>
 </ul>
-<h3 id="bug-fixes-9">Bug fixes</h3>
+<h3 id="bug-fixes-10">Bug fixes</h3>
 <ul>
 <li>in <strong>xintcore</strong>: release <code>1.2c</code> had inadvertently broken the <code>\xintiiDivRound</code> macro.</li>
 </ul>
 <h2 id="c-20151116"><code>1.2c (2015/11/16)</code></h2>
-<h3 id="improvements-and-new-features-12">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-13">Improvements and new features</h3>
 <ul>
 <li><p>macros <code>\xintdeffunc</code>, <code>\xintdefiifunc</code>, <code>\xintdeffloatfunc</code> and boolean <code>\ifxintverbose</code>.</p></li>
 <li><p>on-going code improvements and documentation enhancements, but stopped in order to issue this bugfix release.</p></li>
 </ul>
-<h3 id="bug-fixes-10">Bug fixes</h3>
+<h3 id="bug-fixes-11">Bug fixes</h3>
 <ul>
 <li>in <strong>xintcore</strong>: recent release <code>1.2</code> introduced a bug in the subtraction (happened when 00000001 was found under certain circumstances at certain mod 8 locations).</li>
 </ul>
 <h2 id="b-20151029"><code>1.2b (2015/10/29)</code></h2>
-<h3 id="bug-fixes-11">Bug fixes</h3>
+<h3 id="bug-fixes-12">Bug fixes</h3>
 <ul>
 <li>in <strong>xintcore</strong>: recent release <code>1.2</code> introduced a bug in the division macros, causing a crash when the divisor started with 99999999 (it was attempted to use with 1+99999999 a subroutine expecting only 8-digits numbers).</li>
 </ul>
 <h2 id="a-20151019"><code>1.2a (2015/10/19)</code></h2>
-<h3 id="improvements-and-new-features-13">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-14">Improvements and new features</h3>
 <ul>
 <li><p>added <code>\xintKeepUnbraced</code>, <code>\xintTrimUnbraced</code> (<strong>xinttools</strong>) and fixed documentation of <code>\xintKeep</code> and <code>\xintTrim</code> regarding brace stripping.</p></li>
 <li><p>added <code>\xintiiMaxof/\xintiiMinof</code> (<strong>xint</strong>).</p></li>
 <li><p>TeX hackers only: replaced all code uses of <code>\romannumeral-`0</code> by the quicker <code>\romannumeral`&&@</code> (<code>^</code> being used as letter, had to find another character usable with catcode 7).</p></li>
 </ul>
-<h3 id="bug-fixes-12">Bug fixes</h3>
+<h3 id="bug-fixes-13">Bug fixes</h3>
 <ul>
 <li>in <strong>xintexpr</strong>: recent release <code>1.2</code> introduced a bad bug in the parsing of decimal numbers and as a result <code>\xinttheexpr 0.01\relax</code> expanded to <code>0</code> ! (sigh...)</li>
 </ul>
@@ -394,7 +407,7 @@
 <ul>
 <li>the macros <code>\xintAdd</code>, <code>\xintSub</code>, <code>\xintMul</code>, <code>\xintMax</code>, <code>\xintMin</code>, <code>\xintMaxof</code>, <code>\xintMinof</code> are removed from package <strong>xint</strong>, and only exist in the versions from <strong>xintfrac</strong>. With only <strong>xintcore</strong> or <strong>xint</strong> loaded, one <em>must</em> use <code>\xintiiAdd</code>, <code>\xintiiSub</code>, ..., or <code>\xintiAdd</code>, <code>\xintiSub</code>, etc...</li>
 </ul>
-<h3 id="improvements-and-new-features-14">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-15">Improvements and new features</h3>
 <ul>
 <li><p>the basic arithmetic implemented in <strong>xintcore</strong> has been entirely rewritten. The mathematics remains the elementary school one, but the <code>TeX</code> implementation achieves higher speed (except, regarding addition/subtraction, for numbers up to about thirty digits), the gains becoming quite significant for numbers with hundreds of digits.</p></li>
 <li><p>the inputs must have less than 19959 digits. But computations with thousands of digits take time.</p></li>
@@ -448,7 +461,7 @@
 <li><p><code>\xintMax</code>, <code>\xintMin</code>, <code>\xintAdd</code>, <code>\xintSub</code>, <code>\xintMul</code> (<strong>xint</strong>): their usage without <strong>xintfrac</strong> is deprecated; use <code>\xintiMax</code>, <code>\xintiMin</code>, <code>\xintiAdd</code>, <code>\xintiSub</code>, <code>\xintiMul</code>.</p></li>
 <li><p>the <code>&</code> and <code>|</code> as Boolean operators in <code>xintexpr</code>-essions are deprecated in favour of <code>&&</code> and <code>||</code>. The single letter operators might be assigned some other meaning in some later release (bitwise operations, perhaps). Do not use them.</p></li>
 </ul>
-<h3 id="improvements-and-new-features-15">Improvements and new features</h3>
+<h3 id="improvements-and-new-features-16">Improvements and new features</h3>
 <ul>
 <li><p>new package <strong>xintcore</strong> has been split off <strong>xint</strong>. It contains the core arithmetic macros (it is loaded by LaTeX package <strong>bnumexpr</strong>),</p></li>
 <li><p>neither <strong>xint</strong> nor <strong>xintfrac</strong> load <strong>xinttools</strong>. Only <strong>xintexpr</strong> does,</p></li>
@@ -486,7 +499,7 @@
 <li><p><code>\xintthecoords</code> converts a comma separated list of an even number of items to the format expected by the <code>TikZ</code> <code>coordinates</code> syntax,</p></li>
 <li><p>completely new version <code>\xintNewExpr</code>, <code>protect</code> function to handle external macros. The dollar sign <code>$</code> for place holders is not accepted anymore, only the standard macro parameter <code>#</code>. Not all constructs are compatible with <code>\xintNewExpr</code>.</p></li>
 </ul>
-<h3 id="bug-fixes-13">Bug fixes</h3>
+<h3 id="bug-fixes-14">Bug fixes</h3>
 <ul>
 <li><p><code>\xintZapFirstSpaces</code> hence also <code>\xintZapSpaces</code> from package <strong>xinttools</strong> were buggy when used with an argument either empty or containing only space tokens.</p></li>
 <li><p><code>\xintiiexpr</code> did not strip leading zeroes, hence <code>\xinttheiiexpr 001+1\relax</code> did not obtain the expected result ...</p></li>

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

Modified: trunk/Master/texmf-dist/doc/generic/xint/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xint/README	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/doc/generic/xint/README	2018-02-07 22:15:55 UTC (rev 46562)
@@ -1,7 +1,7 @@
-    Source:  xint.dtx 1.2p 2017/12/05 (doc 2017/12/05)
+    Source:  xint.dtx 1.2q 2018/02/06 (doc 2018/02/06)
     Author:  Jean-Francois Burnol
     Info:    Expandable operations on big integers, decimals, fractions
-    License: LPPL 1.3c
+    License: LPPL 1.2qc
 
 This README is also available as README.pdf and README.html.
 
@@ -155,8 +155,8 @@
 xint.tex
     used to generate xint.pdf via "latex xint.tex" (thrice) then
     "dvipdfmx xint.dvi". It is also possible to compile xint.tex with
-    xelatex, or with pdflatex (this latter option produces a
-    bigger pdf).
+    xelatex, or with pdflatex (this latter option produces a bigger
+    pdf).
     For successful compilation, packages newtxtt, newtxmath, etoc,
     mathastext are needed. Inclusion of the source code is off by
     default, but the toggle can be set in xint.tex.

Modified: trunk/Master/texmf-dist/doc/generic/xint/README.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xint/README.html	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/doc/generic/xint/README.html	2018-02-07 22:15:55 UTC (rev 46562)
@@ -4,7 +4,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta http-equiv="Content-Style-Type" content="text/css" />
   <meta name="generator" content="pandoc" />
-  <meta name="author" content="xint 1.2p" />
+  <meta name="author" content="xint 1.2q" />
   <title>README</title>
   <style type="text/css">code{white-space: pre;}</style>
   <style type="text/css">
@@ -17,8 +17,8 @@
 <body>
 <div id="header">
 <h1 class="title">README</h1>
-<h2 class="author">xint 1.2p</h2>
-<h3 class="date">2017/12/05</h3>
+<h2 class="author">xint 1.2q</h2>
+<h3 class="date">2018/02/06</h3>
 </div>
 <div id="TOC">
 <ul>
@@ -36,10 +36,10 @@
 <li><a href="#license">License</a></li>
 </ul>
 </div>
-<pre><code>Source:  xint.dtx 1.2p 2017/12/05 (doc 2017/12/05)
+<pre><code>Source:  xint.dtx 1.2q 2018/02/06 (doc 2018/02/06)
 Author:  Jean-Francois Burnol
 Info:    Expandable operations on big integers, decimals, fractions
-License: LPPL 1.3c</code></pre>
+License: LPPL 1.2qc</code></pre>
 <p>This <code>README</code> is also available as <code>README.pdf</code> and <code>README.html</code>.</p>
 <p>Change log is to be found in <code>CHANGES.pdf</code> or <code>CHANGES.html</code>.</p>
 <p>The user manual is <code>xint.pdf</code>, and the commented source code is available as <code>sourcexint.pdf</code>.</p>

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

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

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

Modified: trunk/Master/texmf-dist/source/generic/xint/xint.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/xint/xint.dtx	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/source/generic/xint/xint.dtx	2018-02-07 22:15:55 UTC (rev 46562)
@@ -3,28 +3,28 @@
 % Extract all files via "etex xint.dtx" and do "make help"
 % or follow instructions from extracted README.md.
 %<*dtx>
-\def\xintdtxtimestamp {Time-stamp: <05-12-2017 at 19:31:43 CET>}
+\def\xintdtxtimestamp {Time-stamp: <06-02-2018 at 21:58:51 CET>}
 %</dtx>
 %<*drv>
 %% ---------------------------------------------------------------
-\def\xintdocdate {2017/12/05}
-\def\xintbndldate{2017/12/05}
-\def\xintbndlversion {1.2p}
+\def\xintdocdate {2018/02/06}
+\def\xintbndldate{2018/02/06}
+\def\xintbndlversion {1.2q}
 %</drv>
 %<readme>% README
 %<changes>% CHANGE LOG
-%<readme|changes>% xint 1.2p
-%<readme|changes>% 2017/12/05
+%<readme|changes>% xint 1.2q
+%<readme|changes>% 2018/02/06
 %<readme|changes>
-%<readme|changes>    Source:  xint.dtx 1.2p 2017/12/05 (doc 2017/12/05)
+%<readme|changes>    Source:  xint.dtx 1.2q 2018/02/06 (doc 2018/02/06)
 %<readme|changes>    Author:  Jean-Francois Burnol
 %<readme|changes>    Info:    Expandable operations on big integers, decimals, fractions
-%<readme|changes>    License: LPPL 1.3c
+%<readme|changes>    License: LPPL 1.2qc
 %<readme|changes>
 %<*!readme&!changes&!dohtmlsh&!dopdfsh&!makefile>
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %<xintkernel>%% xintkernel: Paraphernalia for the xint packages
 %<xinttools>%% xinttools: Expandable and non-expandable utilities
 %<xintcore>%% xintcore: Expandable arithmetic on big integers
@@ -250,6 +250,21 @@
 %</readme>--------------------------------------------------------
 %<*changes>-------------------------------------------------------
 
+`1.2q (2018/02/06)`
+----
+
+### Improvements and new features
+
+ - **xintexpr**: tacit multiplication extended to cases such as `3!4!5!`
+   or `(1+2)3`.
+
+### Bug fixes
+
+ - **xintcore**: sadly, refactoring at `1.2l` of subtraction left an
+   extra character in an inner macro causing breakage in some rare
+   circumstances. This should not have escaped our test suite!
+
+
 `1.2p (2017/12/05)`
 ----
 
@@ -3393,7 +3408,7 @@
 
 \tikzstyle{block} = [rectangle, draw,
     fill=codeboxbg,
-    fill opacity=0.5,% fill opacity Octobre 2014
+%    fill opacity=0.5,% fill opacity Octobre 2014
     draw=codeboxframe,
     line width=2pt,
     text width=6em, text centered, rounded corners, minimum height=4em]
@@ -4130,6 +4145,10 @@
 
 This is release \expandafter|\xintbndlversion| of \expandafter|\xintbndldate|.
 
+|1.2q| fixes a bug introduced by |1.2l| in some cases of subtraction. It also
+extends \hyperref[ssec:tacit multiplication]{Tacit multiplication} to cover
+cases such as |10!20!30!|.
+
 |1.2p| has some breaking changes and improvements (see |CHANGES.html| for bug
 fixes):
 \begin{itemize}[nosep]
@@ -4243,8 +4262,8 @@
     \item In case of equal precedence, the rule is left-associativity: the first
 encountered operation is executed first.
 \hyperref[ssec:tacit multiplication]{Tacit multiplication} has an elevated
-precedence level hence seemingly breaks left-associativity: |(1+2)/(3+4)(5+6)|
-is computed as |(1+2)/((3+4)*(5+6))| and |x/2y| is interpreted as |x/(2*y)|
+precedence level hence seemingly breaks left-associativity: |(1+2)/(3+4)5|
+is computed as |(1+2)/((3+4)*5)| and |x/2y| is interpreted as |x/(2*y)|
 when using variables.
     \item List variants  |^[|, |**[|, |]^|, |]**|,
     |*[|, |/[|, |]*|, |]/|,  |+[|, |-[|, |]+|, |]-|, share the precedence
@@ -5103,11 +5122,16 @@
 Tacit multiplication (insertion of a |*|) applies when the parser is currently
 either scanning the digits of a number (or its decimal part or scientific
 part, or hexadecimal input), or is looking for an infix operator, and:
-(1.)~\emph{encounters a count or dimen or skip register or variable or an
-  \eTeX{} expression}, or (2.)~\emph{encounters a sub-\csa{xintexpr}ession},
-or (3.)~\emph{encounters an opening parenthesis}, or (4.)~\emph{encounters a
+\begin{enumerate}[nosep, label=(\arabic*.)]
+\item \relax\emph{encounters a count or dimen or skip register or variable or an
+  \eTeX{} expression,} or
+\item \emph{encounters a sub-\csa{xintexpr}ession}, or
+\item \emph{encounters an opening parenthesis}, or
+\item \emph{encounters a
   letter (which is interpreted as signaling the start of either a variable or
-  a function name)}.
+  a function name)}, or
+\item (of course, only when in state "looking for an operator") \emph{encounters a digit}.\NewWith{1.2q}
+\end{enumerate}
 
 \begin{framed}
     For example, if |x, y, z| are variables all three of |(x+y)z|, |x(y+z)|,
@@ -5114,7 +5138,7 @@
     |(x+y)(x+z)| will create a tacit multiplication.
 
     Furthermore starting with release
-    |1.2e|,\MyMarginNote[\kern\dimexpr\FrameSep+\FrameRule\relax]{Changed}
+    |1.2e|, %\MyMarginNote[\kern\dimexpr\FrameSep+\FrameRule\relax]{Changed}
     whenever tacit multiplication is applied, in all cases it \emph{always}
     ``ties'' more\IMPORTANT{} than normal multiplication or division, but
     still less than power. Thus |x/2y| is interpreted as |x/(2y)| and
@@ -5126,16 +5150,25 @@
 \xinttheexpr (x+y)x, x/2y, x^2y, x!, 2x!, x/2max(x,y)\relax
 \end{everbatim*}
 
+    Since |1.2q| tacit multiplication is triggered also in cases such as
+    |(1+2)5| or |10!20!30!|.
+
+\begin{everbatim*}
+\xinttheexpr (10+7)5, 4!4!, add(i, i=1..10)10, max(x, y)100\relax
+\end{everbatim*}
+
     The ``tie more'' rule applies to all cases of tacit multiplication. It
     impacts only situations when a division was the last seen operator, as the
     normal rule for the \xintexprname parsers is left-associativity in case of
     equal precedence.
 \begin{everbatim*}
-\xinttheexpr (1+2)/(3+4)(5+6), 2/x(10), 2/10x, 3/y\xintiiexpr 5+6\relax, 1/x(y)\relax
+\xinttheexpr 1/(3)5, (1+2)/(3+4)(5+6), 2/x(10), 2/10x, 3/y\xintiiexpr 5+6\relax, 1/x(y)\relax\
+differ from\newline\xinttheexpr 1/3*5, (1+2)/(3+4)*(5+6), 2/x*(10), 2/10*x,
+                                3/y*\xintiiexpr 5+6\relax, 1/x*(y)\relax\par
 \end{everbatim*}
 \end{framed}
 
-    Note that |y\xinttheiiexpr 5+6\relax| would have tried to use a variable
+    Note that |y|\csbxint{theiiexpr}| 5+6\relax| would have tried to use a variable
     with name |y11| rather than doing |y*11|: tacit multiplication works only
     in front of sub-\csbxint{expr}essions, not in front of
     \csbxint{theexpr}essions which are unlocked into explicit digits.
@@ -5149,21 +5182,25 @@
 \begin{everbatim}
 \xintdeffunc e(z):=1+z(1+z/2(1+z/3(1+z/4)));
 \end{everbatim}
-will be parsed as |1+z*(1+z/(2*(1+z/(3*(1+z/4)))))| which is
-    not at all like the presumably hoped:
+will be parsed as
 \begin{everbatim}
-\xintdeffunc e(z):=1+z(1+z/2*(1+z/3*(1+z/4)));
+\xintdeffunc e(z):=1+z*(1+z/(2*(1+z/(3*(1+z/4)))));
 \end{everbatim}
-This form can also be used, alternatively:
+which is not at all the presumably hoped for:
 \begin{everbatim}
-\xintdeffunc e(z):=(((z/4+1)z/3+1)z/2+1)z+1;
+\xintdeffunc e(z):=1+z*(1+(z/2)*(1+(z/3)*(1+(z/4))));
 \end{everbatim}
+% This case can be handled this way:
+% \begin{everbatim}
+% \xintdeffunc e(z):=(((z/4+1)z/3+1)z/2+1)z+1;
+% \end{everbatim}
 
-     Attention! tacit multiplication before an opening parenthesis applies
-     always, but tacit multiplication after a closing parenthesis \emph{does
-       not} apply in front of digits: |(1+1)5| is not legal. But
-     |subs((1+1)x,x=5)| is, because in that case a variable is following the
-     closing parenthesis.
+% obsolète depuis 1.2q
+     % Attention! tacit multiplication before an opening parenthesis applies
+     % always, but tacit multiplication after a closing parenthesis \emph{does
+     %   not} apply in front of digits: |(1+1)5| is not legal. But
+     % |subs((1+1)x,x=5)| is, because in that case a variable is following the
+     % closing parenthesis.
 
 
 \subsection{More examples with dummy variables}
@@ -15924,7 +15961,7 @@
 \fi
 \XINT_providespackage
 \ProvidesPackage {xintkernel}%
-  [2017/12/05 1.2p Paraphernalia for the xint packages (JFB)]%
+  [2018/02/06 1.2q Paraphernalia for the xint packages (JFB)]%
 %    \end{macrocode}
 % \subsection{Constants}
 %    \begin{macrocode}
@@ -16510,7 +16547,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xinttools}%
-  [2017/12/05 1.2p Expandable and non-expandable utilities (JFB)]%
+  [2018/02/06 1.2q Expandable and non-expandable utilities (JFB)]%
 %    \end{macrocode}
 % \lverb|\XINT_toks is used in macros such as \xintFor. It is not used
 % elsewhere in the xint bundle.|
@@ -18448,7 +18485,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintcore}%
-  [2017/12/05 1.2p Expandable arithmetic on big integers (JFB)]%
+  [2018/02/06 1.2q Expandable arithmetic on big integers (JFB)]%
 %    \end{macrocode}
 % \subsection{(WIP!) Error conditions and exceptions}
 % \lverb|As per the Mike Cowlishaw/IBM's General Decimal Arithmetic Specification
@@ -19696,6 +19733,10 @@
 % one is shorter. I thus but back-tracked my steps but in passing I improved
 % the efficiency (probably) in the worst case branch.
 %
+% Sadly this 1.2l refactoring left an extra ! in macro \XINT_sub_l_Ida. This
+% bug shows only in rare circumstances which escaped out test suite :(
+% Fixed at 1.2q.
+%
 % The other reason for backtracking was in relation with the decimal numbers.
 % Having a core format in base 10^8 but ultimately the radix is actually 10
 % leads to complications. I could use radix 10^8 for \xintiiexpr only, but
@@ -19969,7 +20010,7 @@
     \xint_gob_til_sc #2\XINT_sub_l_Ida;%
     1\relax 00000000!1#2#3!#4;!1\XINT_sub_fix_none!%
 }%
-\def\XINT_sub_l_Ida#1\XINT_sub_fix_none{1;!1\XINT_sub_fix_none!}%
+\def\XINT_sub_l_Ida#1\XINT_sub_fix_none{1;!1\XINT_sub_fix_none}%
 %    \end{macrocode}
 % \lverb|&
 % This is the case where both operands have same 10^8-base length.
@@ -21858,7 +21899,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xint}%
-  [2017/12/05 1.2p Expandable operations on big integers (JFB)]%
+  [2018/02/06 1.2q Expandable operations on big integers (JFB)]%
 %    \end{macrocode}
 % \subsection{More token management}
 %    \begin{macrocode}
@@ -24231,7 +24272,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintbinhex}%
-  [2017/12/05 1.2p Expandable binary and hexadecimal conversions (JFB)]%
+  [2018/02/06 1.2q Expandable binary and hexadecimal conversions (JFB)]%
 %    \end{macrocode}
 % \subsection{Constants, etc...}
 % \lverb|1.2n switches to \csname-governed expansion at various places.|
@@ -24883,7 +24924,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintgcd}%
-  [2017/12/05 1.2p Euclide algorithm with xint package (JFB)]%
+  [2018/02/06 1.2q Euclide algorithm with xint package (JFB)]%
 %    \end{macrocode}
 % \subsection{\csh{xintGCD}, \csh{xintiiGCD}}
 % \lverb|1.09a added \xintnum filtering from \xintiabs. This is a bit overhead
@@ -25588,7 +25629,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintfrac}%
-  [2017/12/05 1.2p Expandable operations on fractions (JFB)]%
+  [2018/02/06 1.2q Expandable operations on fractions (JFB)]%
 %    \end{macrocode}
 % \subsection{Macros now deprecated in \xintcorenameimp or \xintnameimp}
 % \lverb|1.2o|
@@ -30112,7 +30153,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintseries}%
-  [2017/12/05 1.2p Expandable partial sums with xint package (JFB)]%
+  [2018/02/06 1.2q Expandable partial sums with xint package (JFB)]%
 %    \end{macrocode}
 % \subsection{\csh{xintSeries}}
 %    \begin{macrocode}
@@ -30613,7 +30654,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintcfrac}%
-  [2017/12/05 1.2p Expandable continued fractions with xint package (JFB)]%
+  [2018/02/06 1.2q Expandable continued fractions with xint package (JFB)]%
 %    \end{macrocode}
 % \subsection{\csh{xintCFrac}}
 %    \begin{macrocode}
@@ -31864,7 +31905,7 @@
 %    \begin{macrocode}
 \XINT_providespackage
 \ProvidesPackage{xintexpr}%
-  [2017/12/05 1.2p Expandable expression parser (JFB)]%
+  [2018/02/06 1.2q Expandable expression parser (JFB)]%
 \catcode`! 11
 \let\XINT_Cmp \xintiiCmp
 %    \end{macrocode}
@@ -32644,7 +32685,9 @@
 % The ! starting a sub-expression must be distinguished from the post-fix !
 % for factorial, thus we must not do a too early \string. In versions < 1.2c,
 % the catcode 11 ! had to be identified in all branches of the number or
-% function scans. Here it is simply treated as a special case of a letter.|
+% function scans. Here it is simply treated as a special case of a letter.
+%
+% 1.2q adds tacit multiplication in cases such as (1+1)3 or 5!7!|
 %    \begin{macrocode}
 \def\XINT_expr_getop #1#2% this #1 is the current locked computed value
 {%
@@ -32655,6 +32698,7 @@
 {%
     \ifx   \relax #2\xint_dothis\xint_firstofthree\fi
     \ifcat \relax #2\xint_dothis\xint_secondofthree\fi
+    \ifnum\xint_c_ix<1\string#2 \xint_dothis\xint_secondofthree\fi
     \if    _#2\xint_dothis      \xint_secondofthree\fi
     \if    @#2\xint_dothis      \xint_secondofthree\fi
     \if    (#2\xint_dothis      \xint_secondofthree\fi
@@ -35036,7 +35080,7 @@
 {%
     \expandafter #1\expandafter #2\csname .=%
     \expandafter\XINT_expr_totwoargs
-    \romannumeral0\expandafter\xintDivMod
+    \romannumeral0\expandafter\xintdivmod
     \romannumeral`&&@\expandafter\XINT_expr_twoargs
     \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
 }%
@@ -35051,7 +35095,7 @@
 {%
     \expandafter #1\expandafter #2\csname .=%
     \expandafter\XINT_expr_totwoargs
-    \romannumeral0\expandafter\xintiiDivMod
+    \romannumeral0\expandafter\xintiidivmod
     \romannumeral`&&@\expandafter\XINT_expr_twoargs
     \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
 }%
@@ -35985,7 +36029,7 @@
   Right bracket \]     Circumflex    \^     Underscore    \_
   Grave accent  \`     Left brace    \{     Vertical bar  \|
   Right brace   \}     Tilde         \~}
-\CheckSum {30982}
+\CheckSum {30988}% 30982 pour 1.2p
 % 30524 pour 1.2o, 30303 pour 1.2h, 30403 pour 1.2i, 30750 pour 1.2j,
 % 30677 pour 1.2k, 30931 pour 1.2l, 30439 pour 1.2m, 30253 pour 1.2n
 \makeatletter\check at checksum\makeatother

Modified: trunk/Master/texmf-dist/source/generic/xint/xint.ins
===================================================================
--- trunk/Master/texmf-dist/source/generic/xint/xint.ins	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/source/generic/xint/xint.ins	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% ---------------------------------------------------------------
 %%
 %% tex xint.ins extracts all package files from xint.dtx, as well as

Modified: trunk/Master/texmf-dist/tex/generic/xint/xint.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xint.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xint.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xint: Expandable operations on big integers
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty)
 \XINT_providespackage
 \ProvidesPackage{xint}%
-  [2017/12/05 1.2p Expandable operations on big integers (JFB)]%
+  [2018/02/06 1.2q 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}%

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintbinhex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintbinhex.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintbinhex.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintbinhex: Expandable binary and hexadecimal conversions
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xintbinhex}%
-  [2017/12/05 1.2p Expandable binary and hexadecimal conversions (JFB)]%
+  [2018/02/06 1.2q 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

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintcfrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintcfrac.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintcfrac.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintcfrac: Expandable continued fractions with xint package
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xintcfrac}%
-  [2017/12/05 1.2p Expandable continued fractions with xint package (JFB)]%
+  [2018/02/06 1.2q Expandable continued fractions with xint package (JFB)]%
 \def\xintCFrac {\romannumeral0\xintcfrac }%
 \def\xintcfrac #1%
 {%

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintcore.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintcore.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintcore.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintcore: Expandable arithmetic on big integers
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xintcore}%
-  [2017/12/05 1.2p Expandable arithmetic on big integers (JFB)]%
+  [2018/02/06 1.2q Expandable arithmetic on big integers (JFB)]%
 \csname XINT_Clamped_istrapped\endcsname
 \csname XINT_ConversionSyntax_istrapped\endcsname
 \csname XINT_DivisionByZero_istrapped\endcsname
@@ -1009,7 +1009,7 @@
     \xint_gob_til_sc #2\XINT_sub_l_Ida;%
     1\relax 00000000!1#2#3!#4;!1\XINT_sub_fix_none!%
 }%
-\def\XINT_sub_l_Ida#1\XINT_sub_fix_none{1;!1\XINT_sub_fix_none!}%
+\def\XINT_sub_l_Ida#1\XINT_sub_fix_none{1;!1\XINT_sub_fix_none}%
 \def\XINT_sub_p;\XINT_sub_l #1#2\W #3\W
 {%
     \xint_UDzerofork

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintexpr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintexpr.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintexpr.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintexpr: Expandable expression parser
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -81,7 +81,7 @@
 \XINTsetupcatcodes%
 \XINT_providespackage
 \ProvidesPackage{xintexpr}%
-  [2017/12/05 1.2p Expandable expression parser (JFB)]%
+  [2018/02/06 1.2q Expandable expression parser (JFB)]%
 \catcode`! 11
 \let\XINT_Cmp \xintiiCmp
 \def\xint_gob_til_! #1!{}% ! with catcode 11
@@ -553,6 +553,7 @@
 {%
     \ifx   \relax #2\xint_dothis\xint_firstofthree\fi
     \ifcat \relax #2\xint_dothis\xint_secondofthree\fi
+    \ifnum\xint_c_ix<1\string#2 \xint_dothis\xint_secondofthree\fi
     \if    _#2\xint_dothis      \xint_secondofthree\fi
     \if    @#2\xint_dothis      \xint_secondofthree\fi
     \if    (#2\xint_dothis      \xint_secondofthree\fi
@@ -2161,7 +2162,7 @@
 {%
     \expandafter #1\expandafter #2\csname .=%
     \expandafter\XINT_expr_totwoargs
-    \romannumeral0\expandafter\xintDivMod
+    \romannumeral0\expandafter\xintdivmod
     \romannumeral`&&@\expandafter\XINT_expr_twoargs
     \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
 }%
@@ -2176,7 +2177,7 @@
 {%
     \expandafter #1\expandafter #2\csname .=%
     \expandafter\XINT_expr_totwoargs
-    \romannumeral0\expandafter\xintiiDivMod
+    \romannumeral0\expandafter\xintiidivmod
     \romannumeral`&&@\expandafter\XINT_expr_twoargs
     \romannumeral`&&@\XINT_expr_unlock #3,\endcsname
 }%

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintfrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintfrac.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintfrac.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintfrac: Expandable operations on fractions
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xintfrac}%
-  [2017/12/05 1.2p Expandable operations on fractions (JFB)]%
+  [2018/02/06 1.2q Expandable operations on fractions (JFB)]%
 \def\xintSgn {\romannumeral0\xintsgn }% deprecated from xintcore
 \def\xintCmp {\romannumeral0\xintcmp }% deprecated from xintcore
 \def\xintEq  {\romannumeral0\xinteq  }% deprecated from xint

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintgcd.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintgcd.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintgcd.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintgcd: Euclidean algorithm with xint package
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xintgcd}%
-  [2017/12/05 1.2p Euclide algorithm with xint package (JFB)]%
+  [2018/02/06 1.2q Euclide algorithm with xint package (JFB)]%
 \def\xintGCD {\romannumeral0\xintgcd }%
 \def\xintgcd #1#2{\xintiigcd {\xintNum{#1}}{\xintNum{#2}}}%
 \def\xintiiGCD {\romannumeral0\xintiigcd }%

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintkernel.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintkernel.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintkernel.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintkernel: Paraphernalia for the xint packages
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -156,7 +156,7 @@
 \fi
 \XINT_providespackage
 \ProvidesPackage {xintkernel}%
-  [2017/12/05 1.2p Paraphernalia for the xint packages (JFB)]%
+  [2018/02/06 1.2q Paraphernalia for the xint packages (JFB)]%
 \chardef\xint_c_     0
 \chardef\xint_c_i    1
 \chardef\xint_c_ii   2

Modified: trunk/Master/texmf-dist/tex/generic/xint/xintseries.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xintseries.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xintseries.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xintseries: Expandable partial sums with xint package
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xintseries}%
-  [2017/12/05 1.2p Expandable partial sums with xint package (JFB)]%
+  [2018/02/06 1.2q Expandable partial sums with xint package (JFB)]%
 \def\xintSeries {\romannumeral0\xintseries }%
 \def\xintseries #1#2%
 {%

Modified: trunk/Master/texmf-dist/tex/generic/xint/xinttools.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xint/xinttools.sty	2018-02-07 01:23:25 UTC (rev 46561)
+++ trunk/Master/texmf-dist/tex/generic/xint/xinttools.sty	2018-02-07 22:15:55 UTC (rev 46562)
@@ -21,8 +21,8 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
-%% The xint bundle 1.2p 2017/12/05
-%% Copyright (C) 2013-2017 by Jean-Francois Burnol
+%% The xint bundle 1.2q 2018/02/06
+%% Copyright (C) 2013-2018 by Jean-Francois Burnol
 %% xinttools: Expandable and non-expandable utilities
 %% ---------------------------------------------------------------
 \begingroup\catcode61\catcode48\catcode32=10\relax%
@@ -70,7 +70,7 @@
 \XINTsetupcatcodes% defined in xintkernel.sty
 \XINT_providespackage
 \ProvidesPackage{xinttools}%
-  [2017/12/05 1.2p Expandable and non-expandable utilities (JFB)]%
+  [2018/02/06 1.2q Expandable and non-expandable utilities (JFB)]%
 \newtoks\XINT_toks
 \xint_firstofone{\let\XINT_sptoken= } %<- space here!
 \def\xintgodef  {\global\xintodef }%



More information about the tex-live-commits mailing list