[latex3-commits] [l3svn] 02/02: Share an auxiliary in \char_generate:nn

noreply at latex-project.org noreply at latex-project.org
Fri Sep 11 08:17:56 CEST 2015


This is an automated email from the git hooks/post-receive script.

joseph pushed a commit to branch master
in repository l3svn.

commit 138d918c145a49454b88b7e2d473228b06d89576
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Sep 11 07:15:01 2015 +0100

    Share an auxiliary in \char_generate:nn
---
 l3kernel/l3candidates.dtx               |   46 ++++++++++++-------------------
 l3kernel/testfiles/m3char001.tlg        |    9 ++++++
 l3kernel/testfiles/m3expl001.luatex.tlg |    6 ++--
 l3kernel/testfiles/m3expl001.ptex.tlg   |    6 ++--
 l3kernel/testfiles/m3expl001.tlg        |    6 ++--
 l3kernel/testfiles/m3expl001.uptex.tlg  |    6 ++--
 l3kernel/testfiles/m3expl001.xetex.tlg  |    6 ++--
 l3kernel/testfiles/m3expl003.luatex.tlg |    6 ++--
 l3kernel/testfiles/m3expl003.ptex.tlg   |    6 ++--
 l3kernel/testfiles/m3expl003.tlg        |    6 ++--
 l3kernel/testfiles/m3expl003.uptex.tlg  |    6 ++--
 l3kernel/testfiles/m3expl003.xetex.tlg  |    6 ++--
 12 files changed, 57 insertions(+), 58 deletions(-)

diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index 7a37186..5ae3d21 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -4366,9 +4366,10 @@
 % \end{macro}
 %
 % \begin{macro}[EXP]{\char_generate:nn}
-% \begin{macro}[EXP, aux]^^A
-%   {\@@_generate_auxi:nn, \@@_generate_auxii:nn, \@@_generate_auxii:nnn}
+% \begin{macro}[EXP, aux]{\@@_generate_aux:nn}
+% \begin{macro}[EXP, aux]{\@@_generate_aux:nnw}
 % \begin{variable}{\l_@@_tmp_tl}
+% \begin{variable}{\c_@@_max_int}
 % \begin{macro}[EXP, aux]{\@@_generate_invalid_catcode:}
 %   The aim here is to generate characters of (broadly) arbitrary category
 %   code. Where possible, that is done using engine support (\XeTeX{},
@@ -4378,7 +4379,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \char_generate:nn #1#2
   {
-    \exp:w \exp_after:wN \@@_generate_auxi:w
+    \exp:w \exp_after:wN \@@_generate_aux:w
       \int_use:N \__int_eval:w #1 \exp_after:wN ;
       \int_use:N \__int_eval:w #2 ;
   }
@@ -4392,7 +4393,7 @@
 %   done with macro emulation either, so is flagged up separately. That
 %   done, hand off to the engine-dependent part.
 %    \begin{macrocode}
-\cs_new:Npn \@@_generate_auxi:w #1 ; #2 ;
+\cs_new:Npn \@@_generate_aux:w #1 ; #2 ;
   {
     \if_int_compare:w #2 = \c_thirteen
       \__msg_kernel_expandable_error:nn { kernel } { char-active }
@@ -4412,7 +4413,14 @@
           \__msg_kernel_expandable_error:nn { kernel }
             { char-invalid-catcode }
         \else:
-          \@@_generate_auxii:nn {#1} {#2}
+          \if_int_odd:w 0
+            \if_int_compare:w #1 < \c_zero       1 \fi:
+            \if_int_compare:w #1 > \c_@@_max_int 1 \fi: \exp_stop_f:
+            \__msg_kernel_expandable_error:nn { kernel }
+            { char-out-of-range }
+          \else:
+            \@@_generate_aux:nnw {#1} {#2}
+          \fi:
         \fi:
       \fi:
     \fi:
@@ -4435,20 +4443,10 @@
   \if_int_odd:w 0
       \cs_if_exist:NT \luatex_directlua:D { 1 }
       \cs_if_exist:NT \utex_charcat:D     { 1 } \exp_stop_f:
-    \cs_new:Npn \@@_generate_auxii:nn #1#2
-      {
-        \if_int_odd:w 0
-            \if_int_compare:w #1 < \c_zero   1 \fi:
-            \if_int_compare:w #1 > 1114111 ~ 1 \fi: \exp_stop_f:
-          \__msg_kernel_expandable_error:nn { kernel }
-            { char-out-of-range }
-        \else:
-          \@@_generate_auxiii:nnw {#1} {#2}
-        \fi:
-      }
+    \int_const:Nn \c_@@_max_int { 1114111 }
     \cs_if_exist:NTF \luatex_directlua:D
       {
-        \cs_new:Npn \@@_generate_auxiii:nnw #1#2#3 \exp_end:
+        \cs_new:Npn \@@_generate_aux:nnw #1#2#3 \exp_end:
           {
             #3
             \exp_after:wN \exp_end:
@@ -4456,7 +4454,7 @@
           }
       }
       {
-        \cs_new:Npn \@@_generate_auxiii:nnw #1#2#3 \exp_end:
+        \cs_new:Npn \@@_generate_aux:nnw #1#2#3 \exp_end:
           {
             #3
             \exp_after:wN \exp_end:
@@ -4479,6 +4477,7 @@
 %   set up active tokens although they are (currently) filtered out by the
 %   interface layer (\tn{Ucharcat} cannot make active tokens).
 %    \begin{macrocode}
+      \int_const:Nn \c_@@_max_int { 255 }
       \tl_set:Nn \l_@@_tmp_tl { \exp_not:N \or: }
       \char_set_catcode_group_begin:n { 0 } % {
       \tl_put_right:Nn \l_@@_tmp_tl { ^^@ \if_false: } }
@@ -4534,16 +4533,7 @@
 %<*initex>
       \int_step_function:nnnN { 0 }  { 1 } { 255 }  \@@_tmp:n
 %</initex>
-      \cs_new:Npn \@@_generate_auxii:nn #1#2
-        {
-          \tl_if_exist:cTF { c_@@_ \__int_to_roman:w #1 _tl }
-            { \@@_generate_auxiii:nnw {#1} {#2} }
-            {
-              \__msg_kernel_expandable_error:nn { kernel }
-                { char-out-of-range }
-            }
-        }
-      \cs_new:Npn \@@_generate_auxiii:nnw #1#2#3 \exp_end:
+      \cs_new:Npn \@@_generate_aux:nnw #1#2#3 \exp_end:
         {
           #3
           \exp_after:wN \exp_after:wN
diff --git a/l3kernel/testfiles/m3char001.tlg b/l3kernel/testfiles/m3char001.tlg
index 83ed432..44481ff 100644
--- a/l3kernel/testfiles/m3char001.tlg
+++ b/l3kernel/testfiles/m3char001.tlg
@@ -328,6 +328,15 @@ TEST 4: Errors
 ============================================================
 ! Undefined control sequence.
 <argument> \LaTeX3 error: 
+Charcode requested out of engine range.
+l. ...  }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \LaTeX3 error: 
 Invalid catcode for char generation.
 l. ...  }
 The control sequence at the end of the top line
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index fbc5a11..45b78e8 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -4198,10 +4198,10 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \c__char_max_int on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 5bb7de1..9b0b1d1 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -4197,8 +4197,9 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
+Defining \c__char_max_int on line ...
 Defining \c__char__tl on line ...
 Defining \c__char_i_tl on line ...
 Defining \c__char_ii_tl on line ...
@@ -4455,8 +4456,7 @@ Defining \c__char_cclii_tl on line ...
 Defining \c__char_ccliii_tl on line ...
 Defining \c__char_ccliv_tl on line ...
 Defining \c__char_cclv_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 1e6df9e..274ce20 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -4197,8 +4197,9 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
+Defining \c__char_max_int on line ...
 Defining \c__char__tl on line ...
 Defining \c__char_i_tl on line ...
 Defining \c__char_ii_tl on line ...
@@ -4455,8 +4456,7 @@ Defining \c__char_cclii_tl on line ...
 Defining \c__char_ccliii_tl on line ...
 Defining \c__char_ccliv_tl on line ...
 Defining \c__char_cclv_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index 5bb7de1..9b0b1d1 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -4197,8 +4197,9 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
+Defining \c__char_max_int on line ...
 Defining \c__char__tl on line ...
 Defining \c__char_i_tl on line ...
 Defining \c__char_ii_tl on line ...
@@ -4455,8 +4456,7 @@ Defining \c__char_cclii_tl on line ...
 Defining \c__char_ccliii_tl on line ...
 Defining \c__char_ccliv_tl on line ...
 Defining \c__char_cclv_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index c15cf89..b08c015 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -4197,10 +4197,10 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \c__char_max_int on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index 6f1632a..b15d077 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -4199,10 +4199,10 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \c__char_max_int on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index c5a0677..44aa817 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -4198,8 +4198,9 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
+Defining \c__char_max_int on line ...
 Defining \c__char__tl on line ...
 Defining \c__char_i_tl on line ...
 Defining \c__char_ii_tl on line ...
@@ -4456,8 +4457,7 @@ Defining \c__char_cclii_tl on line ...
 Defining \c__char_ccliii_tl on line ...
 Defining \c__char_ccliv_tl on line ...
 Defining \c__char_cclv_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 6707e03..03aba44 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -4198,8 +4198,9 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
+Defining \c__char_max_int on line ...
 Defining \c__char__tl on line ...
 Defining \c__char_i_tl on line ...
 Defining \c__char_ii_tl on line ...
@@ -4456,8 +4457,7 @@ Defining \c__char_cclii_tl on line ...
 Defining \c__char_ccliii_tl on line ...
 Defining \c__char_ccliv_tl on line ...
 Defining \c__char_cclv_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index c5a0677..44aa817 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -4198,8 +4198,9 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
+Defining \c__char_max_int on line ...
 Defining \c__char__tl on line ...
 Defining \c__char_i_tl on line ...
 Defining \c__char_ii_tl on line ...
@@ -4456,8 +4457,7 @@ Defining \c__char_cclii_tl on line ...
 Defining \c__char_ccliii_tl on line ...
 Defining \c__char_ccliv_tl on line ...
 Defining \c__char_cclv_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index 084a974..bc3b4aa 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -4198,10 +4198,10 @@ Defining \char_set_active_eq:NN on line ...
 Defining \char_gset_active_eq:nN on line ...
 Defining \char_gset_active_eq:NN on line ...
 Defining \char_generate:nn on line ...
-Defining \__char_generate_auxi:w on line ...
+Defining \__char_generate_aux:w on line ...
 Defining \l__char_tmp_tl on line ...
-Defining \__char_generate_auxii:nn on line ...
-Defining \__char_generate_auxiii:nnw on line ...
+Defining \c__char_max_int on line ...
+Defining \__char_generate_aux:nnw on line ...
 Defining message LaTeX/kernel/char-active on line ...
 Defining message LaTeX/kernel/char-invalid-catcode on line ...
 Defining message LaTeX/kernel/char-null-space on line ...

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the latex3-commits mailing list