[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