[latex3-commits] [git/LaTeX3-latex3-latex3] master: Final \__int removals (3e73c2f)

Joseph Wright joseph.wright at morningstar2.co.uk
Fri Mar 30 18:38:41 CEST 2018


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/3e73c2fe07d36ca680d2103c80ccc5816e4dee08

>---------------------------------------------------------------

commit 3e73c2fe07d36ca680d2103c80ccc5816e4dee08
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Mar 30 09:34:05 2018 +0100

    Final \__int removals
    
    We have enough 'open ended' int expression usage that we do need
    \int_eval:w I think. That allows us to reduce the number of
    \@@_int_eval:w cases to those which are *really* needed (FPU).


>---------------------------------------------------------------

3e73c2fe07d36ca680d2103c80ccc5816e4dee08
 l3experimental/l3str/l3str-convert.dtx      |   30 +++++++---------
 l3experimental/xgalley/l3galley.dtx         |    8 ++---
 l3kernel/l3candidates.dtx                   |    8 ++---
 l3kernel/l3file.dtx                         |    8 ++---
 l3kernel/l3flag.dtx                         |    4 +--
 l3kernel/l3int.dtx                          |   49 ++++++++-------------------
 l3kernel/l3str.dtx                          |   25 +++++---------
 l3kernel/l3tl-analysis.dtx                  |   21 ++++--------
 l3kernel/testfiles/m3expl001.luatex.tlg     |    3 +-
 l3kernel/testfiles/m3expl001.ptex.tlg       |    3 +-
 l3kernel/testfiles/m3expl001.tlg            |    3 +-
 l3kernel/testfiles/m3expl001.uptex.tlg      |    3 +-
 l3kernel/testfiles/m3expl001.xetex.tlg      |    3 +-
 l3kernel/testfiles/m3expl003.luatex.tlg     |    3 +-
 l3kernel/testfiles/m3expl003.ptex.tlg       |    3 +-
 l3kernel/testfiles/m3expl003.tlg            |    3 +-
 l3kernel/testfiles/m3expl003.uptex.tlg      |    3 +-
 l3kernel/testfiles/m3expl003.xetex.tlg      |    3 +-
 l3trial/l3fp-extras/l3fp-functions.dtx      |    2 +-
 l3trial/l3htoks/l3htoks.dtx                 |    4 +--
 l3trial/l3kernel-extras/l3kernel-extras.dtx |    2 +-
 l3trial/l3ldb/l3precom.dtx                  |    2 +-
 l3trial/l3tree/l3tree.dtx                   |   10 +++---
 l3trial/xfont/xfss.dtx                      |    2 +-
 24 files changed, 77 insertions(+), 128 deletions(-)

diff --git a/l3experimental/l3str/l3str-convert.dtx b/l3experimental/l3str/l3str-convert.dtx
index 42ac19c..64e6d1d 100644
--- a/l3experimental/l3str/l3str-convert.dtx
+++ b/l3experimental/l3str/l3str-convert.dtx
@@ -434,9 +434,7 @@
     \if_int_compare:w 1 < "1 \token_to_str:N #1 \exp_stop_f:
       #1 \prg_return_true:
     \else:
-      \if_case:w \__int_eval:w
-          \exp_after:wN ` \token_to_str:N #1 - `a
-        \__int_eval_end:
+      \if_case:w \int_eval:n { \exp_after:wN ` \token_to_str:N #1 - `a }
            A
       \or: B
       \or: C
@@ -501,7 +499,7 @@
   {
     \exp_after:wN \exp_after:wN
     \exp_after:wN \use_i:nnn
-    \cs:w c_@@_byte_ \__int_value:w \__int_eval:w
+    \cs:w c_@@_byte_ \int_value:w \int_eval:w
   }
 \cs_new:Npn \@@_output_hexadecimal:n #1
   { \@@_output_hexadecimal:w #1 \@@_output_end: }
@@ -509,10 +507,10 @@
   {
     \exp_after:wN \exp_after:wN
     \exp_after:wN \use_none:n
-    \cs:w c_@@_byte_ \__int_value:w \__int_eval:w
+    \cs:w c_@@_byte_ \int_value:w \int_eval:w
   }
 \cs_new:Npn \@@_output_end:
-  { \__int_eval_end: _tl \cs_end: }
+  { \scan_stop: _tl \cs_end: }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -996,7 +994,7 @@
 \cs_new_protected:Npn \@@_convert_decode_:
   { \@@_convert_gmap:N \@@_decode_native_char:N }
 \cs_new:Npn \@@_decode_native_char:N #1
-  { #1 \s__tl \__int_value:w `#1 \s__tl }
+  { #1 \s__tl \int_value:w `#1 \s__tl }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -1211,7 +1209,7 @@
     \use_none_delimit_by_q_stop:w #1 \q_stop
     \tex_dimen:D "#1 = \l_@@_internal_int sp \scan_stop:
     \tex_skip:D \l_@@_internal_int = "#1 sp \scan_stop:
-    \tex_toks:D \l_@@_internal_int \exp_after:wN { \__int_value:w "#2 }
+    \tex_toks:D \l_@@_internal_int \exp_after:wN { \int_value:w "#2 }
     \int_incr:N \l_@@_internal_int
     \@@_decode_eight_bit_load:nn
   }
@@ -1233,7 +1231,7 @@
         \tex_the:D \tex_toks:D \tex_dimen:D
       \fi:
     \fi:
-    \__int_value:w `#1 \s__tl
+    \int_value:w `#1 \s__tl
   }
 %    \end{macrocode}
 % \end{macro}
@@ -1877,7 +1875,7 @@
       \exp_after:wN \use_none_delimit_by_q_stop:w
     \fi:
     \exp_after:wN \@@_encode_utf_viii_loop:wwnnw
-      \__int_value:w \int_div_truncate:nn {#1} {64} ; #1 ;
+      \int_value:w \int_div_truncate:nn {#1} {64} ; #1 ;
       #5 \q_stop
     \@@_output_byte:n { #2 - 64 * ( #1 - 2 ) }
   }
@@ -2054,7 +2052,7 @@
     \if_int_compare:w `#1 < "C0 \exp_stop_f:
       \s__tl
       \if_int_compare:w `#1 < "80 \exp_stop_f:
-        \__int_value:w `#1
+        \int_value:w `#1
       \else:
         \flag_raise:n { str_extra }
         \flag_raise:n { str_error }
@@ -2062,7 +2060,7 @@
       \fi:
     \else:
       \exp_after:wN \@@_decode_utf_viii_continuation:wwN
-      \__int_value:w \__int_eval:w `#1 - "C0 \exp_after:wN \__int_eval_end:
+      \int_value:w \int_eval:n { `#1 - "C0 } \exp_after:wN
     \fi:
     \s__tl
     \use_none_delimit_by_q_stop:w {"80} {"800} {"10000} {"110000} \q_stop
@@ -2077,9 +2075,7 @@
           "C0 \exp_stop_f:
       #3
       \exp_after:wN \@@_decode_utf_viii_aux:wNnnwN
-      \__int_value:w \__int_eval:w
-        #1 * "40 + `#3 - "80
-      \exp_after:wN \__int_eval_end:
+      \int_value:w \int_eval:n { #1 * "40 + `#3 - "80 } \exp_after:wN
     \else:
       \s__tl
       \flag_raise:n { str_missing }
@@ -2107,7 +2103,7 @@
         \@@_decode_utf_viii_overflow:w #1
       \fi:
       \exp_after:wN \@@_decode_utf_viii_continuation:wwN
-      \__int_value:w \__int_eval:w #1 - #4 \exp_after:wN \__int_eval_end:
+      \int_value:w \int_eval:n { #1 - #4 } \exp_after:wN
     \fi:
     \s__tl
     #2 {#4} #5
@@ -2398,7 +2394,7 @@
         \@@_decode_utf_xvi_pair_end:Nw #1
       \fi:
       \if_case:w
-        \__int_eval:w ( \@@_tmp:w #1#2 - "D6 ) / 4 \__int_eval_end:
+        \int_eval:n { ( \@@_tmp:w #1#2 - "D6 ) / 4 } \scan_stop:
       \or: \exp_after:wN \@@_decode_utf_xvi_quad:NNwNN
       \or: \exp_after:wN \@@_decode_utf_xvi_extra:NNw
       \fi:
diff --git a/l3experimental/xgalley/l3galley.dtx b/l3experimental/xgalley/l3galley.dtx
index 427e08d..699fc11 100644
--- a/l3experimental/xgalley/l3galley.dtx
+++ b/l3experimental/xgalley/l3galley.dtx
@@ -2452,7 +2452,7 @@
       }
   }
 \cs_new:Npn \@@_save_display_club_penalties:n #1
-  { \__int_value:w \etex_clubpenalties:D \int_eval:n {#1} , }
+  { \int_value:w \etex_clubpenalties:D \int_eval:n {#1} , }
 \cs_new_protected:Npn \galley_save_display_widow_penalties:N #1
   {
     \clist_set:Nx #1
@@ -2464,7 +2464,7 @@
   }
 \cs_new:Npn \@@_save_display_widow_penalties:n #1
   {
-    \__int_value:w \etex_displaywidowpenalties:D
+    \int_value:w \etex_displaywidowpenalties:D
       \int_eval:n {#1} ,
   }
 \cs_new_protected:Npn \galley_save_widow_penalties:N #1
@@ -2477,14 +2477,14 @@
       }
   }
 \cs_new:Npn \@@_save_widow_penalties:n #1
-  { \__int_value:w \etex_widowpenalties:D \int_eval:n {#1} , }
+  { \int_value:w \etex_widowpenalties:D \int_eval:n {#1} , }
 %    \end{macrocode}
 %   This one is not an array, but is stored in a primitive, so there is
 %   a simple conversion. The general interline penalty is always the
 %   last value in the primitive array.
 %    \begin{macrocode}
 \cs_new_protected:Npn \galley_interline_penalty:
-  { \__int_value:w \etex_interlinepenalties:D \etex_interlinepenalties:D 0 \exp_stop_f: }
+  { \int_value:w \etex_interlinepenalties:D \etex_interlinepenalties:D 0 \exp_stop_f: }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index d0aaeab..355bf44 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -4147,14 +4147,14 @@
       \exp_after:wN { \exp_after:wN }
     \fi:
     \exp_after:wN #3
-    \int_value:w \__int_eval:w #2 - #1 \exp_after:wN ;
+    \int_value:w \int_eval:n { #2 - #1 } \exp_after:wN ;
     \exp_after:wN { \exp:w \@@_range_skip:w #1 ; { } #4 }
   }
 \cs_new:Npn \@@_range_skip:w #1 ; #2
   {
     \if_int_compare:w #1 > 0 \exp_stop_f:
       \exp_after:wN \@@_range_skip:w
-      \int_value:w \__int_eval:w #1 - 1 \exp_after:wN ;
+      \int_value:w \int_eval:n { #1 - 1 } \exp_after:wN ;
     \else:
       \exp_after:wN \exp_end:
     \fi:
@@ -4167,7 +4167,7 @@
   {
     \if_int_compare:w #1 > 1 \exp_stop_f:
       \exp_after:wN \@@_range_collect_braced:w
-      \int_value:w \__int_eval:w #1 - 1 \exp_after:wN ;
+      \int_value:w \int_eval:n { #1 - 1 } \exp_after:wN ;
     \fi:
     { #2 {#3} }
   }
@@ -4175,7 +4175,7 @@
   {
     \if_int_compare:w #1 > 1 \exp_stop_f:
       \exp_after:wN \@@_range_collect_unbraced:w
-      \int_value:w \__int_eval:w #1 - 1 \exp_after:wN ;
+      \int_value:w \int_eval:n { #1 - 1 } \exp_after:wN ;
     \fi:
     { #2 #3 }
   }
diff --git a/l3kernel/l3file.dtx b/l3kernel/l3file.dtx
index 2e79eb5..af55abf 100644
--- a/l3kernel/l3file.dtx
+++ b/l3kernel/l3file.dtx
@@ -2115,7 +2115,7 @@
     \tex_edef:D \l_@@_line_part_tl { \if_false: } \fi:
     #1
     \exp_after:wN \@@_wrap_line_loop:w
-    \int_value:w \__int_eval:w
+    \int_value:w \int_eval:w
   }
 \cs_new:Npn \@@_wrap_line_loop:w #1 ; #2#3#4#5#6#7#8#9
   {
@@ -2124,7 +2124,7 @@
     \fi:
     #2 #3 #4 #5 #6 #7 #8 #9
     \exp_after:wN \@@_wrap_line_loop:w
-    \int_value:w \__int_eval:w #1 - 8 ;
+    \int_value:w \int_eval:w #1 - 8 ;
   }
 \cs_new:Npn \@@_wrap_line_aux:Nw #1#2#3 \exp_after:wN #4 ;
   {
@@ -2148,7 +2148,7 @@
 \cs_new:Npn \@@_wrap_line_end:NnnnnnnnN #1#2#3#4#5#6#7#8#9
   {
     #2 #3 #4 #5 #6 #7 #8
-    \use_none:nnnnn \__int_eval:w 8 - ; #9
+    \use_none:nnnnn \int_eval:w 8 - ; #9
     \token_if_eq_charcode:NNTF \c_space_token #9
       { \@@_wrap_line_end:nw { } }
       { \if_false: { \fi: } \@@_wrap_break:w #9 }
@@ -2160,7 +2160,7 @@
     \@@_wrap_next_line:w
   }
 \cs_new:Npn \@@_wrap_end_chunk:w
-    #1 \__int_eval:w #2 - #3 ; #4#5 \q_stop
+    #1 \int_eval:w #2 - #3 ; #4#5 \q_stop
   {
     \if_false: { \fi: }
     \exp_args:Nf \@@_wrap_next:nw { \int_eval:n { #2 - #4 } }
diff --git a/l3kernel/l3flag.dtx b/l3kernel/l3flag.dtx
index 1dee89a..eff65b6 100644
--- a/l3kernel/l3flag.dtx
+++ b/l3kernel/l3flag.dtx
@@ -204,7 +204,7 @@
     \if_cs_exist:w flag~#2~#1 \cs_end:
       \cs_set_eq:cN { flag~#2~#1 } \tex_undefined:D
       \exp_after:wN \@@_clear:wn
-      \int_value:w \__int_eval:w 1 + #1
+      \int_value:w \int_eval:w 1 + #1
     \else:
       \use_i:nnn
     \fi:
@@ -300,7 +300,7 @@
 \cs_new:Npn \@@_height_loop:wn #1 ; #2
   {
     \if_cs_exist:w flag~#2~#1 \cs_end:
-      \exp_after:wN \@@_height_loop:wn \int_value:w \__int_eval:w 1 +
+      \exp_after:wN \@@_height_loop:wn \int_value:w \int_eval:w 1 +
     \else:
       \exp_after:wN \@@_height_end:wn
     \fi:
diff --git a/l3kernel/l3int.dtx b/l3kernel/l3int.dtx
index 4660093..95ccfc8 100644
--- a/l3kernel/l3int.dtx
+++ b/l3kernel/l3int.dtx
@@ -92,6 +92,17 @@
 %   \end{texnote}
 % \end{function}
 %
+% \begin{function}[EXP, added = 2018-03-30]{\int_eval:w}
+%   \begin{syntax}
+%     \cs{int_eval:w} \Arg{integer expression}
+%   \end{syntax}
+%   Evaluates the \meta{integer expression} as described for
+%   \cs{int_eval:n}. The end of the expression is the first token
+%   encountered that cannot form part of such an expression. In particular,
+%   spaces do \emph{not} terminate the expression but \cs{scan_stop}:
+%   does.
+% \end{function}
+%
 % \begin{function}[EXP, updated = 2012-09-26]{\int_abs:n}
 %   \begin{syntax}
 %     \cs{int_abs:n} \Arg{integer expression}
@@ -932,41 +943,6 @@
 %   \end{texnote}
 % \end{function}
 %
-% \section{Internal functions}
-%
-% \begin{function}[EXP]{\__int_to_roman:w}
-%   \begin{syntax}
-%     \cs{__int_to_roman:w} \meta{integer}
-%     \cs{__int_to_roman:w} \meta{integer denotation} \meta{optional space}
-%   \end{syntax}
-%   Converts an \meta{integer} to lower case Roman representation.  The
-%   \meta{integer} is found as in \cs{int_value:w} by expanding what
-%   follows exhaustively.  One (optional) space is lost if the
-%   \meta{integer} is given by explicit digits.  Note that this function
-%   produces a string of letters with category code~$12$. Negative
-%   \meta{integer} values result in no output, although the function
-%   does not terminate expansion until a suitable endpoint is found in
-%   the same way as for positive numbers.
-%   \begin{texnote}
-%     This is the \TeX{} primitive \tn{romannumeral} renamed.
-%   \end{texnote}
-% \end{function}
-%
-% \begin{function}[EXP]{\__int_eval:w, \__int_eval_end:}
-%   \begin{syntax}
-%     \cs{__int_eval:w} \meta{intexpr} \cs{__int_eval_end:}
-%   \end{syntax}
-%   Evaluates \meta{integer expression} as described for \cs{int_eval:n}.
-%   The evaluation stops when an unexpandable token which is not a valid
-%   part of an integer is read or when \cs{__int_eval_end:} is
-%   reached. The latter is gobbled by the scanner mechanism:
-%   \cs{__int_eval_end:} itself is unexpandable but used correctly
-%   the entire construct is expandable.
-%   \begin{texnote}
-%     This is the \eTeX{} primitive \tn{numexpr}.
-%   \end{texnote}
-% \end{function}
-%
 % \end{documentation}
 %
 % \begin{implementation}
@@ -1020,6 +996,7 @@
 % \subsection{Integer expressions}
 %
 % \begin{macro}{\int_eval:n}
+% \begin{macro}{\int_eval:w}
 %   Wrapper for \cs{@@_eval:w}: can be used in an integer expression
 %   or directly in the input stream.
 %   When debugging, use parentheses to catch early termination.
@@ -1028,8 +1005,10 @@
   { { \__kernel_chk_expr:nNnN {#1} \@@_eval:w { } \int_eval:n } }
 \cs_new:Npn \int_eval:n #1
   { \int_value:w \@@_eval:w #1 \@@_eval_end: }
+\cs_new:Npn \int_eval:w { \int_value:w \@@_eval:w }
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}[EXP]{\int_abs:n}
 % \begin{macro}[EXP]{\@@_abs:N}
diff --git a/l3kernel/l3str.dtx b/l3kernel/l3str.dtx
index e24b676..e3ecc31 100644
--- a/l3kernel/l3str.dtx
+++ b/l3kernel/l3str.dtx
@@ -856,15 +856,6 @@
 %<@@=str>
 %    \end{macrocode}
 %
-% \begin{macro}{\@@_int_eval:w}
-%   Access to primitive: there are a few uses where we cannot grab the
-%   expression as an argument, so need the \texttt{w} signature. Other cases
-%   are retained (no using \cs{int_eval:n}) as there is a performance gain.
-%    \begin{macrocode}
-\cs_new_eq:NN \@@_int_eval:w \etex_numexpr:D
-%    \end{macrocode}
-% \end{macro}
-%
 % \subsection{Creating and setting string variables}
 %
 % \begin{macro}
@@ -1470,7 +1461,7 @@
 \cs_new:Npn \@@_item:nn #1#2
   {
     \exp_after:wN \@@_item:w
-    \int_value:w \@@_int_eval:w #2 \exp_after:wN ;
+    \int_value:w \int_eval:w #2 \exp_after:wN ;
     \int_value:w \@@_count:n {#1} ;
     #1 \q_stop
   }
@@ -1483,7 +1474,7 @@
           {
             \exp_after:wN \use_i_delimit_by_q_stop:nw
             \exp:w \exp_after:wN \@@_skip_exp_end:w
-              \int_value:w \@@_int_eval:w #1 + #2 ;
+              \int_value:w \int_eval:n { #1 + #2 } ;
           }
       }
       {
@@ -1522,12 +1513,12 @@
       \exp_after:wN \@@_skip_loop:wNNNNNNNN
     \else:
       \exp_after:wN \@@_skip_end:w
-      \int_value:w \@@_int_eval:w
+      \int_value:w \int_eval:w
     \fi:
     #1 ;
   }
 \cs_new:Npn \@@_skip_loop:wNNNNNNNN #1; #2#3#4#5#6#7#8#9
-  { \exp_after:wN \@@_skip_exp_end:w \int_value:w \@@_int_eval:w #1 - 8 ; }
+  { \exp_after:wN \@@_skip_exp_end:w \int_value:w \int_eval:n { #1 - 8 } ; }
 \cs_new:Npn \@@_skip_end:w #1 ;
   {
     \exp_after:wN \@@_skip_end:NNNNNNNN
@@ -1569,8 +1560,8 @@
   {
     \exp_after:wN \@@_range:w
     \int_value:w \@@_count:n {#1} \exp_after:wN ;
-    \int_value:w \@@_int_eval:w #2 - 1 \exp_after:wN ;
-    \int_value:w \@@_int_eval:w #3 ;
+    \int_value:w \int_eval:n { #2 - 1 } \exp_after:wN ;
+    \int_value:w \int_eval:n {#3} ;
     #1 \q_stop
   }
 \cs_new:Npn \@@_range:w #1; #2; #3;
@@ -1582,7 +1573,7 @@
 \cs_new:Npn \@@_range:nnw #1#2
   {
     \exp_after:wN \@@_collect_delimit_by_q_stop:w
-    \int_value:w \@@_int_eval:w #2 - #1 \exp_after:wN ;
+    \int_value:w \int_eval:n { #2 - #1 } \exp_after:wN ;
     \exp:w \@@_skip_exp_end:w #1 ;
   }
 %    \end{macrocode}
@@ -1648,7 +1639,7 @@
 \cs_new:Npn \@@_collect_loop:wnNNNNNNN #1; #2 #3#4#5#6#7#8#9
   {
     \exp_after:wN \@@_collect_loop:wn
-    \int_value:w \@@_int_eval:w #1 - 7 ;
+    \int_value:w \int_eval:n { #1 - 7 } ;
     { #2 #3#4#5#6#7#8#9 }
   }
 \cs_new:Npn \@@_collect_end:wn #1 ;
diff --git a/l3kernel/l3tl-analysis.dtx b/l3kernel/l3tl-analysis.dtx
index ab523dd..7188ad8 100644
--- a/l3kernel/l3tl-analysis.dtx
+++ b/l3kernel/l3tl-analysis.dtx
@@ -168,13 +168,6 @@
 %
 % \subsection{Variables and helper functions}
 %
-% \begin{macro}{\@@_int_eval:w}
-%   Access to primitive: we need the efficiency here.
-%    \begin{macrocode}
-\cs_new_eq:NN \@@_int_eval:w \etex_numexpr:D
-%    \end{macrocode}
-% \end{macro}
-%
 % \begin{variable}{\s_@@}
 %   The scan mark \cs{s_@@} is used as a delimiter in the internal
 %   format. This is more practical than using a quark, because we would
@@ -275,7 +268,7 @@
 \cs_new:Npn \@@_analysis_cs_space_count:NN #1 #2
   {
     \exp_after:wN #1
-    \int_value:w \@@_int_eval:w 0
+    \int_value:w \int_eval:w 0
       \exp_after:wN \@@_analysis_cs_space_count:w
         \token_to_str:N #2
         \fi: \@@_analysis_cs_space_count_end:w ; ~ !
@@ -697,7 +690,7 @@
   {
     \if_int_compare:w #1 > 0 \exp_stop_f:
       \tex_skip:D \l_@@_analysis_index_int
-        = \@@_int_eval:w \l_@@_analysis_normal_int + 1 sp \scan_stop:
+        = \int_eval:n { \l_@@_analysis_normal_int + 1 sp } \exp_stop_f:
       \tex_advance:D \l_@@_analysis_index_int #1 \exp_stop_f:
     \else:
       \tex_advance:D
@@ -800,7 +793,7 @@
     \exp_not:n { \fi: \fi: \fi: \fi: \fi: \fi: \fi: \fi: }
     \exp_not:N \int_value:w `#1 \s_@@
    \exp_not:N \exp_after:wN \exp_not:N \@@_analysis_b_normals:ww
-     \exp_not:N \int_value:w \exp_not:N \@@_int_eval:w - 1 +
+     \exp_not:N \int_value:w \exp_not:N \int_eval:w - 1 +
   }
 %    \end{macrocode}
 % \end{macro}
@@ -820,15 +813,15 @@
 \cs_new:Npn \@@_analysis_b_cs_test:ww #1 ; #2 ; #3 ; #4 ;
   {
     \exp_after:wN \@@_analysis_b_normals:ww
-    \int_value:w \@@_int_eval:w
+    \int_value:w \int_eval:w
     \if_int_compare:w #1 = 0 \exp_stop_f:
       #3
     \else:
-      \tex_skip:D \@@_int_eval:w #4 + #1 \scan_stop:
+      \tex_skip:D \int_eval:n { #4 + #1 } \exp_stop_f:
     \fi:
     - #2
     \exp_after:wN ;
-    \int_value:w \@@_int_eval:w #4 + #1 ;
+    \int_value:w \int_eval:n { #4 + #1 } ;
   }
 %    \end{macrocode}
 % \end{macro}
@@ -867,7 +860,7 @@
       \else:
         \exp_after:wN \@@_analysis_b_special_space:w \int_value:w
       \fi:
-      \@@_int_eval:w 1 + #1 \exp_after:wN ;
+      \int_eval:n { 1 + #1 } \exp_after:wN ;
       \token_to_str:N
     }
 \group_end:
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index eaacd0c..9258629 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -624,7 +624,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1637,6 +1636,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4718,7 +4718,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index bc03d42..9943a64 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1318,6 +1317,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4655,7 +4655,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 58ff752..9f27464 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1318,6 +1317,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4655,7 +4655,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 14ec4dd..71afe5e 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1318,6 +1317,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4655,7 +4655,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index faf2018..2126288 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1635,6 +1634,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4695,7 +4695,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index eaacd0c..9258629 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -624,7 +624,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1637,6 +1636,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4718,7 +4718,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index bc03d42..9943a64 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1318,6 +1317,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4655,7 +4655,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 58ff752..9f27464 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1318,6 +1317,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4655,7 +4655,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 14ec4dd..71afe5e 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1318,6 +1317,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4655,7 +4655,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index faf2018..2126288 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -623,7 +623,6 @@ Defining \g_tmpa_tl on line ...
 Defining \g_tmpb_tl on line ...
 Defining \l_tmpa_tl on line ...
 Defining \l_tmpb_tl on line ...
-Defining \__str_int_eval:w on line ...
 Defining \str_new:N on line ...
 Defining \str_new:c on line ...
 Defining \str_use:N on line ...
@@ -1635,6 +1634,7 @@ Defining \__int_eval_end: on line ...
 Defining \if_int_odd:w on line ...
 Defining \if_case:w on line ...
 Defining \int_eval:n on line ...
+Defining \int_eval:w on line ...
 Defining \int_abs:n on line ...
 Defining \__int_abs:N on line ...
 Defining \__int_maxmin:wwN on line ...
@@ -4695,7 +4695,6 @@ Defining \__tl_build_end_assignment:n on line ...
 Defining \tl_build_add:n on line ...
 Defining \tl_build_add:o on line ...
 Defining \tl_build_add:x on line ...
-Defining \__tl_int_eval:w on line ...
 Defining \s__tl on line ...
 Defining \l__tl_analysis_token on line ...
 Defining \l__tl_analysis_char_token on line ...
diff --git a/l3trial/l3fp-extras/l3fp-functions.dtx b/l3trial/l3fp-extras/l3fp-functions.dtx
index f5630ce..471a846 100644
--- a/l3trial/l3fp-extras/l3fp-functions.dtx
+++ b/l3trial/l3fp-extras/l3fp-functions.dtx
@@ -246,7 +246,7 @@
     \@@_use_i_until_s:nw
       {
         \exp_after:wN \@@_function_arg_o:w
-        \__int_value:w \__int_eval:w #1 - 1 .
+        \int_value:w \int_eval:n { #1 - 1 } .
       }
       #2
   }
diff --git a/l3trial/l3htoks/l3htoks.dtx b/l3trial/l3htoks/l3htoks.dtx
index 4f1a1bb..324ec1e 100644
--- a/l3trial/l3htoks/l3htoks.dtx
+++ b/l3trial/l3htoks/l3htoks.dtx
@@ -348,7 +348,7 @@
   }
 \cs_new:Npn \@@_strip_escape_aux:N #1 { \c_zero }
 \cs_new:Npn \@@_strip_escape_aux:w #1#2
-  { - \__int_value:w #1 \c_zero }
+  { - \int_value:w #1 \c_zero }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -503,7 +503,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_token_to_charcode:N
   {
-    \__int_value:w
+    \int_value:w
       \exp_after:wN \@@_token_to_charcode_auxi:w
       \token_to_meaning:N
   }
diff --git a/l3trial/l3kernel-extras/l3kernel-extras.dtx b/l3trial/l3kernel-extras/l3kernel-extras.dtx
index 2b3f55f..15453ce 100644
--- a/l3trial/l3kernel-extras/l3kernel-extras.dtx
+++ b/l3trial/l3kernel-extras/l3kernel-extras.dtx
@@ -934,7 +934,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \int_mul_truncate:nn #1 #2
   {
-    \__int_value:w
+    \int_value:w
       \__dim_eval:n
         { #2 \__dim_eval:n { \int_eval:n {#1} sp } }
   }
diff --git a/l3trial/l3ldb/l3precom.dtx b/l3trial/l3ldb/l3precom.dtx
index dd40317..d386c02 100644
--- a/l3trial/l3ldb/l3precom.dtx
+++ b/l3trial/l3ldb/l3precom.dtx
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-%% File: l3precom.dtx Copyright (C) 2012,2013,2015-2017 The LaTeX3 Project
+%% File: l3precom.dtx Copyright (C) 2012,2013,2015-2018 The LaTeX3 Project
 %%
 %% It may be distributed and/or modified under the conditions of the
 %% LaTeX Project Public License (LPPL), either version 1.3c of this
diff --git a/l3trial/l3tree/l3tree.dtx b/l3trial/l3tree/l3tree.dtx
index ba63938..0f16d2d 100644
--- a/l3trial/l3tree/l3tree.dtx
+++ b/l3trial/l3tree/l3tree.dtx
@@ -333,9 +333,9 @@
     \if_int_compare:w #1 = 0 \exp_stop_f:
       \exp_after:wN \prg_break:
     \fi:
-    \exp_not:N \__seq_item:n { \__int_value:w \tex_dimen:D #1 }
+    \exp_not:N \__seq_item:n { \int_value:w \tex_dimen:D #1 }
     \exp_after:wN \tree_extract_loop:w
-      \__int_value:w \__int_eval:w #1 - 1 ;
+      \int_value:w \int_eval:n { #1 - 1 } ;
   }
 %    \end{macrocode}
 % \end{macro}
@@ -371,7 +371,7 @@
     \tex_setbox:D \l_tree_left_box  \tex_box:D \c_empty_box
     \tex_setbox:D \l_tree_right_box \tex_box:D \c_empty_box
     \tex_setbox:D \l_tree_item_box
-      \tex_vbox:D to \__int_eval:w #3 \__int_eval_end: \c_one_sp_dim {#4}
+      \tex_vbox:D to \int_eval:n {#3} \c_one_sp_dim {#4}
     \exp_after:wN #1 \exp_after:wN #2
       \if_tree_empty:N #2
       \else:
@@ -446,8 +446,8 @@
     \tex_setbox:D \l_tree_second_box  \tex_lastbox:D
     \cs:w
       tree_splay
-      _\__int_value:w \l_tree_parent_dim
-      _\__int_value:w \l_tree_grandpa_dim
+      _\int_value:w \l_tree_parent_dim
+      _\int_value:w \l_tree_grandpa_dim
       :
     \cs_end:
   }
diff --git a/l3trial/xfont/xfss.dtx b/l3trial/xfont/xfss.dtx
index e07500d..031bf8f 100644
--- a/l3trial/xfont/xfss.dtx
+++ b/l3trial/xfont/xfss.dtx
@@ -1831,7 +1831,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \xfss_gen_aux:w #1.#2.#3 \q_nil
   {
-    \int_compare:nNnT {#1} < {10} {0} \__int_value:w #1 % LaTeX2e's "\two at digits"
+    \int_compare:nNnT {#1} < {10} {0} \int_value:w #1 % LaTeX2e's "\two at digits"
     \xfss_gen_auxii:w #2 00 \q_nil
   }
 \cs_new:Npn \xfss_gen_auxii:w #1 #2 #3 \q_nil { #1#2 }





More information about the latex3-commits mailing list