[latex3-commits] [git/LaTeX3-latex3-latex3] peek-regex: Refactor an auxiliary (cd7d2acc0)
Joseph Wright
joseph.wright at morningstar2.co.uk
Thu Dec 3 16:03:05 CET 2020
Repository : https://github.com/latex3/latex3
On branch : peek-regex
Link : https://github.com/latex3/latex3/commit/cd7d2acc0f05e5447f6380be344d8a7be54aab4a
>---------------------------------------------------------------
commit cd7d2acc0f05e5447f6380be344d8a7be54aab4a
Author: Bruno Le Floch <bruno at le-floch.fr>
Date: Mon Jul 13 00:42:16 2020 +0200
Refactor an auxiliary
>---------------------------------------------------------------
cd7d2acc0f05e5447f6380be344d8a7be54aab4a
l3kernel/l3regex.dtx | 64 ++++++++++++++++++++++++++--------------------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/l3kernel/l3regex.dtx b/l3kernel/l3regex.dtx
index 8b77be659..f81206439 100644
--- a/l3kernel/l3regex.dtx
+++ b/l3kernel/l3regex.dtx
@@ -1007,6 +1007,23 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_intarray_item:NnF, \@@_intarray_item_aux:nNF}
+% Item of intarray, with a default value.
+% \begin{macrocode}
+\cs_new:Npn \@@_intarray_item:NnF #1#2
+ { \exp_args:Nf \@@_intarray_item_aux:nNF { \int_eval:n {#2} } #1 }
+\cs_new:Npn \@@_intarray_item_aux:nNF #1#2
+ {
+ \if_int_compare:w #1 > \c_zero_int
+ \exp_after:wN \use_i:nn
+ \else:
+ \exp_after:wN \use_ii:nn
+ \fi:
+ { \__kernel_intarray_item:Nn #2 {#1} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{Constants and variables}
%
% \begin{macro}{\@@_tmp:w}
@@ -5209,42 +5226,25 @@
% range is the difference between the brace balances at the
% \meta{max~pos} and \meta{min~pos}. These two positions are found in
% the corresponding \enquote{submatch} arrays.
-%^^A todo: understand when these int_compare are needed
% \begin{macrocode}
\cs_new_protected:Npn \@@_submatch_balance:n #1
{
\int_eval:n
- {
- \int_compare:nNnTF
- {
- \__kernel_intarray_item:Nn
- \g_@@_submatch_end_intarray {#1}
- }
- = 0
- { 0 }
- {
- \__kernel_intarray_item:Nn \g_@@_balance_intarray
- {
- \__kernel_intarray_item:Nn
- \g_@@_submatch_end_intarray {#1}
- }
- }
- -
- \int_compare:nNnTF
- {
- \__kernel_intarray_item:Nn
- \g_@@_submatch_begin_intarray {#1}
- }
- = 0
- { 0 }
- {
- \__kernel_intarray_item:Nn \g_@@_balance_intarray
- {
- \__kernel_intarray_item:Nn
- \g_@@_submatch_begin_intarray {#1}
- }
- }
- }
+ {
+ \@@_intarray_item:NnF \g_@@_balance_intarray
+ {
+ \__kernel_intarray_item:Nn
+ \g_@@_submatch_end_intarray {#1}
+ }
+ { 0 }
+ -
+ \@@_intarray_item:NnF \g_@@_balance_intarray
+ {
+ \__kernel_intarray_item:Nn
+ \g_@@_submatch_begin_intarray {#1}
+ }
+ { 0 }
+ }
}
% \end{macrocode}
% \end{macro}
More information about the latex3-commits
mailing list.