[latex3-commits] [git/LaTeX3-latex3-latex3] master: Use module-specific compare error functions (330889a)

Joseph Wright joseph.wright at morningstar2.co.uk
Mon Mar 26 14:45:36 CEST 2018


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/330889ac890004058c91b32235b0f0e63b5731b2

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

commit 330889ac890004058c91b32235b0f0e63b5731b2
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Mon Mar 26 13:45:36 2018 +0100

    Use module-specific compare error functions


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

330889ac890004058c91b32235b0f0e63b5731b2
 l3kernel/l3int.dtx                      |   34 +++++++++++--------------------
 l3kernel/l3skip.dtx                     |   14 ++++++++++---
 l3kernel/testfiles/m3expl001.luatex.tlg |    5 +++--
 l3kernel/testfiles/m3expl001.ptex.tlg   |    5 +++--
 l3kernel/testfiles/m3expl001.tlg        |    5 +++--
 l3kernel/testfiles/m3expl001.uptex.tlg  |    5 +++--
 l3kernel/testfiles/m3expl001.xetex.tlg  |    5 +++--
 l3kernel/testfiles/m3expl003.luatex.tlg |    5 +++--
 l3kernel/testfiles/m3expl003.ptex.tlg   |    5 +++--
 l3kernel/testfiles/m3expl003.tlg        |    5 +++--
 l3kernel/testfiles/m3expl003.uptex.tlg  |    5 +++--
 l3kernel/testfiles/m3expl003.xetex.tlg  |    5 +++--
 12 files changed, 53 insertions(+), 45 deletions(-)

diff --git a/l3kernel/l3int.dtx b/l3kernel/l3int.dtx
index d7af92f..e80694a 100644
--- a/l3kernel/l3int.dtx
+++ b/l3kernel/l3int.dtx
@@ -958,16 +958,6 @@
 %   \end{texnote}
 % \end{function}
 %
-% \begin{function}{\__prg_compare_error:, \__prg_compare_error:Nw}
-%   \begin{syntax}
-%     \cs{__prg_compare_error:}
-%     \cs{__prg_compare_error:Nw} \meta{token}
-%   \end{syntax}
-%   These are used within \cs{int_compare:nTF}, \cs{dim_compare:nTF}
-%   and so on to recover correctly if the \texttt{n}-type argument does not
-%   contain a properly-formed relation.
-% \end{function}
-%
 % \end{documentation}
 %
 % \begin{implementation}
@@ -1428,27 +1418,27 @@
 %
 % \subsection{Integer expression conditionals}
 %
-% \begin{macro}[EXP]{\__prg_compare_error:, \__prg_compare_error:Nw}
+% \begin{macro}[EXP]{\@@_compare_error:, \@@_compare_error:Nw}
 %   Those functions are used for comparison tests which use a simple
 %   syntax where only one set of braces is required and additional
 %   operators such as |!=| and |>=| are supported.  The tests first
 %   evaluate their left-hand side, with a trailing
-%   \cs{__prg_compare_error:}. This marker is normally not expanded,
+%   \cs{@@_compare_error:}. This marker is normally not expanded,
 %   but if the relation symbol is missing from the test's argument, then
 %   the marker inserts |=| (and itself) after triggering the relevant
 %   \TeX{} error.  If the first token which appears after evaluating and
 %   removing the left-hand side is not a known relation symbol, then a
-%   judiciously placed \cs{__prg_compare_error:Nw} gets expanded,
+%   judiciously placed \cs{@@_compare_error:Nw} gets expanded,
 %   cleaning up the end of the test and telling the user what the
 %   problem was.
 %    \begin{macrocode}
-\cs_new_protected:Npn \__prg_compare_error:
+\cs_new_protected:Npn \@@_compare_error:
   {
     \if_int_compare:w \c_zero \c_zero \fi:
     =
-    \__prg_compare_error:
+    \@@_compare_error:
   }
-\cs_new:Npn \__prg_compare_error:Nw
+\cs_new:Npn \@@_compare_error:Nw
     #1#2 \q_stop
   {
     { }
@@ -1500,7 +1490,7 @@
 %   left hand side of the (in)equality using \cs{@@_eval:w}.  Since the
 %   relation symbols |<|, |>|, |=| and |!| are not allowed in integer
 %   expressions, they would terminate the expression.  If the argument contains no
-%   relation symbol, \cs{__prg_compare_error:} is expanded,
+%   relation symbol, \cs{@@_compare_error:} is expanded,
 %   inserting~|=| and itself after an error.  In all cases,
 %   \cs{@@_compare:w} receives as its argument an integer, a relation
 %   symbol, and some more tokens.  We then setup the loop, which is
@@ -1510,9 +1500,9 @@
 \prg_new_conditional:Npnn \int_compare:n #1 { p , T , F , TF }
   {
     \exp_after:wN \@@_compare:w
-    \@@_value:w \@@_eval:w #1 \__prg_compare_error:
+    \@@_value:w \@@_eval:w #1 \@@_compare_error:
   }
-\cs_new:Npn \@@_compare:w #1 \__prg_compare_error:
+\cs_new:Npn \@@_compare:w #1 \@@_compare_error:
   {
     \exp_after:wN \if_false: \@@_value:w
       \@@_compare:Nw #1 e { = nd_ } \q_stop
@@ -1530,7 +1520,7 @@
 %   hence the test for that as a second token.  If the relation symbol
 %   is unknown, then the control sequence is turned by \TeX{} into
 %   \cs{scan_stop:}, ignored thanks to \tn{unexpanded}, and
-%   \cs{__prg_compare_error:Nw} raises an error.
+%   \cs{@@_compare_error:Nw} raises an error.
 %    \begin{macrocode}
 \cs_new:Npn \@@_compare:Nw #1#2 \q_stop
   {
@@ -1547,7 +1537,7 @@
         \if_meaning:w = #2 =  \fi:
         :NNw
       }
-      \__prg_compare_error:Nw #1
+      \@@_compare_error:Nw #1
   }
 %    \end{macrocode}
 %   When the last \meta{operand} is seen, \cs{@@_compare:NNw} receives
@@ -1580,7 +1570,7 @@
 %    \end{macrocode}
 %   The actual comparisons are then simple function calls, using the
 %   relation as delimiter for a delimited argument and discarding
-%   \cs{__prg_compare_error:Nw} \meta{token} responsible for error
+%   \cs{@@_compare_error:Nw} \meta{token} responsible for error
 %   detection.
 %    \begin{macrocode}
 \cs_new:cpn { @@_compare_=:NNw } #1#2#3 =
diff --git a/l3kernel/l3skip.dtx b/l3kernel/l3skip.dtx
index cf65030..a9d6b62 100644
--- a/l3kernel/l3skip.dtx
+++ b/l3kernel/l3skip.dtx
@@ -1370,10 +1370,11 @@
 %     \@@_compare_<:w,
 %     \@@_compare_>:w
 %   }
+% \begin{macro}{\@@_compare_error:}
 %   This code is adapted from the \cs{int_compare:nTF} function.  First
 %   make sure that there is at least one relation operator, by
 %   evaluating a dimension expression with a trailing
-%   \cs{__prg_compare_error:}.  Just like for integers, the looping
+%   \cs{@@_compare_error:}.  Just like for integers, the looping
 %   auxiliary \cs{@@_compare:wNN} closes a primitive conditional and
 %   opens a new one.  It is actually easier to grab a dimension operand
 %   than an integer one, because once evaluated, dimensions all end with
@@ -1384,9 +1385,9 @@
 \prg_new_conditional:Npnn \dim_compare:n #1 { p , T , F , TF }
   {
     \exp_after:wN \@@_compare:w
-    \dim_use:N \@@_eval:w #1 \__prg_compare_error:
+    \dim_use:N \@@_eval:w #1 \@@_compare_error:
   }
-\cs_new:Npn \@@_compare:w #1 \__prg_compare_error:
+\cs_new:Npn \@@_compare:w #1 \@@_compare_error:
   {
     \exp_after:wN \if_false: \exp:w \exp_end_continue_f:w
       \@@_compare:wNN #1 ? { = \@@_compare_end:w \else: } \q_stop
@@ -1415,10 +1416,17 @@
     #1 \reverse_if:N #2 > #3 = { #1 #2 < #3 }
 \cs_new:Npn \@@_compare_end:w #1 \prg_return_false: #2 \q_stop
   { #1 \prg_return_false: \else: \prg_return_true: \fi: }
+\cs_new_protected:Npn \@@_compare_error:
+  {
+    \if_int_compare:w \c_zero \c_zero \fi:
+    =
+    \@@_compare_error:
+  }
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}[EXP, noTF]{\dim_case:nn}
 % \begin{macro}{\@@_case:nnTF}
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index 3650131..d79eed5 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -1694,8 +1694,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3292,6 +3292,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 2ed915c..9deb293 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -1375,8 +1375,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3229,6 +3229,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index a99ca91..9d521c4 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -1375,8 +1375,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3229,6 +3229,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 69716b2..820970d 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -1375,8 +1375,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3229,6 +3229,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index 28daa39..2b52c5b 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -1692,8 +1692,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3290,6 +3290,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 3650131..d79eed5 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -1694,8 +1694,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3292,6 +3292,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 2ed915c..9deb293 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -1375,8 +1375,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3229,6 +3229,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index a99ca91..9d521c4 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -1375,8 +1375,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3229,6 +3229,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index 69716b2..820970d 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -1375,8 +1375,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3229,6 +3229,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 28daa39..2b52c5b 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -1692,8 +1692,8 @@ Defining \int_set:cn on line ...
 Defining \int_gset:cn on line ...
 Defining \int_use:N on line ...
 Defining \int_use:c on line ...
-Defining \__prg_compare_error: on line ...
-Defining \__prg_compare_error:Nw on line ...
+Defining \__int_compare_error: on line ...
+Defining \__int_compare_error:Nw on line ...
 Defining \int_compare_p:n on line ...
 Defining \int_compare:nT on line ...
 Defining \int_compare:nF on line ...
@@ -3290,6 +3290,7 @@ Defining \__dim_compare_=:w on line ...
 Defining \__dim_compare_<:w on line ...
 Defining \__dim_compare_>:w on line ...
 Defining \__dim_compare_end:w on line ...
+Defining \__dim_compare_error: on line ...
 Defining \dim_case:nnTF on line ...
 Defining \dim_case:nnT on line ...
 Defining \dim_case:nnF on line ...





More information about the latex3-commits mailing list