[latex3-commits] [git/LaTeX3-latex3-latex3] cctab: l3cctab: refactor the chk_if_valid check (8b93a78b4)
Bruno Le Floch
bruno at le-floch.fr
Fri Jun 26 23:29:57 CEST 2020
Repository : https://github.com/latex3/latex3
On branch : cctab
Link : https://github.com/latex3/latex3/commit/8b93a78b45586fc68dfd87053e38fcfd721021fc
>---------------------------------------------------------------
commit 8b93a78b45586fc68dfd87053e38fcfd721021fc
Author: Bruno Le Floch <bruno at le-floch.fr>
Date: Fri Jun 26 23:29:57 2020 +0200
l3cctab: refactor the chk_if_valid check
>---------------------------------------------------------------
8b93a78b45586fc68dfd87053e38fcfd721021fc
l3kernel/l3cctab.dtx | 73 ++++++++++++++++++++++++----------------------------
1 file changed, 33 insertions(+), 40 deletions(-)
diff --git a/l3kernel/l3cctab.dtx b/l3kernel/l3cctab.dtx
index 9683d7969..66141d311 100644
--- a/l3kernel/l3cctab.dtx
+++ b/l3kernel/l3cctab.dtx
@@ -419,7 +419,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_chk_if_valid:N}
+% \begin{macro}[TF]{\@@_chk_if_valid:N}
+% \begin{macro}{\@@_chk_if_valid_aux:NTF}
% Checks whether the argument is defined and whether it is a valid
% \meta{cctab~var}. In \LuaTeX{} the validity of the \meta{cctab~var}
% is checked by the engine, which complains if the argument is not a
@@ -427,60 +428,52 @@
% command is an intarray variable (the underlying definition is a copy
% of the \texttt{cmr10} font).
% \begin{macrocode}
-\sys_if_engine_luatex:TF
+\prg_new_protected_conditional:Npnn \@@_chk_if_valid:N #1
+ { TF , T , F }
{
- \prg_new_protected_conditional:Npnn \@@_chk_if_valid:N #1
- { TF , T , F }
+ \cctab_if_exist:NTF #1
{
- \cctab_if_exist:NTF #1
+ \@@_chk_if_valid_aux:NTF #1
+ { \prg_return_true: }
{
+ \__kernel_msg_error:nnx { kernel } { invalid-cctab }
+ { \token_to_str:N #1 }
+ \prg_return_false:
+ }
+ }
+ {
+ \__kernel_msg_error:nnx { kernel } { command-not-defined }
+ { \token_to_str:N #1 }
+ \prg_return_false:
+ }
+ }
+\sys_if_engine_luatex:TF
+ {
+ \cs_new_protected:Npn \@@_chk_if_valid_aux:NTF #1
+ {
%<*initex>
- \bool_lazy_and:nnTF
- { \int_if_odd_p:n {#1} }
- { \int_compare_p:nNn {#1-1} < { \g_@@_allocate_int } }
+ \bool_lazy_and:nnTF
+ { \int_if_odd_p:n {#1} }
+ { \int_compare_p:nNn {#1-1} < { \g_@@_allocate_int } }
%</initex>
%<*package>
- \int_compare:nNnTF {#1-1} < { \e at alloc@ccodetable at count }
+ \int_compare:nNnTF {#1-1} < { \e at alloc@ccodetable at count }
%</package>
- { \prg_return_true: }
- {
- \__kernel_msg_error:nnx { kernel } { invalid-cctab }
- { \token_to_str:N #1 }
- \prg_return_false:
- }
- }
- {
- \__kernel_msg_error:nnx { kernel } { command-not-defined }
- { \token_to_str:N #1 }
- \prg_return_false:
- }
}
}
{
- \prg_new_protected_conditional:Npnn \@@_chk_if_valid:N #1
- { TF , T , F }
+ \cs_new_protected:Npn \@@_chk_if_valid_aux:NTF #1
{
- \cctab_if_exist:NTF #1
- {
- \exp_args:Nf \str_if_in:nnTF
- { \cs_meaning:N #1 }
- { select~font~cmr10~at~ }
- { \prg_return_true: }
- {
- \__kernel_msg_error:nnx { kernel } { invalid-cctab }
- { \token_to_str:N #1 }
- \prg_return_false:
- }
- }
- {
- \__kernel_msg_error:nnx { kernel } { command-not-defined }
- { \token_to_str:N #1 }
- \prg_return_false:
- }
+ \exp_args:Nf \str_if_in:nnTF
+ { \cs_meaning:N #1 }
+ { select~font~cmr10~at~ }
}
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
+% \subsection{Constant category code tables}
%
% \begin{macro}{\cctab_const:Nn,\cctab_const:cn}
% Creates a new \meta{cctab~var} then sets it with the current and
More information about the latex3-commits
mailing list.