summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty35
1 files changed, 27 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty
index 6f82415d186..545d7ce7069 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3tl-analysis.sty
@@ -52,6 +52,7 @@
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
\RequirePackage{l3str}
\scan_new:N \s_tl
+\tl_new:N \l_tl_analysis_internal_tl
\cs_new_eq:NN \l_tl_analysis_token ?
\cs_new_eq:NN \l_tl_analysis_char_token ?
\int_new:N \l_tl_analysis_normal_int
@@ -370,8 +371,8 @@
}
\cs_new_protected:Npn \tl_show_analysis:n #1
{
- \tl_set:Nn \l_tl_tmpa_tl {#1}
- \tl_show_analysis:N \l_tl_tmpa_tl
+ \tl_set:Nn \l_tl_analysis_internal_tl {#1}
+ \tl_show_analysis:N \l_tl_analysis_internal_tl
}
\cs_new:Npn \tl_show_analysis_loop:wNw #1 \s_tl #2 #3 \s_tl
{
@@ -396,37 +397,55 @@
\exp_after:wN \token_to_str:N #1 ~
( \exp_after:wN \token_to_meaning:N #1 )
}
+\cs_new:Npn \tl_show_analysis_value:N #1
+ {
+ \token_if_expandable:NF #1
+ {
+ \token_if_chardef:NTF #1 \prg_map_break: { }
+ \token_if_mathchardef:NTF #1 \prg_map_break: { }
+ \token_if_dim_register:NTF #1 \prg_map_break: { }
+ \token_if_int_register:NTF #1 \prg_map_break: { }
+ \token_if_skip_register:NTF #1 \prg_map_break: { }
+ \token_if_toks_register:NTF #1 \prg_map_break: { }
+ \use_none:nnnn
+ \prg_break_point:n { }
+ \use:n { = \tex_the:D #1 }
+ }
+ }
\cs_new:Npn \tl_show_analysis_cs:n #1
{ \exp_args:No \tl_show_analysis_long:nn {#1} { control~sequence= } }
\cs_new:Npn \tl_show_analysis_active:n #1
{ \exp_args:No \tl_show_analysis_long:nn {#1} { active~character= } }
\cs_new:Npn \tl_show_analysis_long:nn #1
{
- \exp_args:Noo \tl_show_analysis_long_aux:nnn
+ \tl_show_analysis_long_aux:oofn
{ \token_to_str:N #1 }
{ \token_to_meaning:N #1 }
+ { \tl_show_analysis_value:N #1 }
}
-\cs_new:Npn \tl_show_analysis_long_aux:nnn #1#2#3
+\cs_new:Npn \tl_show_analysis_long_aux:nnnn #1#2#3#4
{
\int_compare:nNnTF
- { \str_length:n { #1 ~ ( #3 #2 ) } }
+ { \str_length:n { #1 ~ ( #4 #2 #3 ) } }
> { \l_iow_line_length_int - \c_three }
{
- \str_substr:nnn { #1 ~ ( #3 #2 ) } \c_zero
+ \str_substr:nnn { #1 ~ ( #4 #2 #3 ) } \c_zero
{
\l_iow_line_length_int - \c_three
- \str_length:N \c_tl_show_analysis_etc_str
}
\c_tl_show_analysis_etc_str
}
- { #1 ~ ( #3 #2 ) }
+ { #1 ~ ( #4 #2 #3 ) }
}
+\cs_generate_variant:Nn \tl_show_analysis_long_aux:nnnn { oof }
\tl_const:Nx \c_tl_show_analysis_etc_str % (
{ \token_to_str:N \ETC.) }
\msg_kernel_new:nnn { tl-analysis } { show }
{
The~token~list~
- \str_if_eq:nnF {#1} { \l_tl_tmpa_tl } { \token_to_str:N #1 ~ }
+ \str_if_eq:nnF {#1} { \l_tl_analysis_internal_tl }
+ { \token_to_str:N #1 ~ }
\tl_if_empty:NTF #1
{ is~empty }
{ contains~the~tokens: }