diff options
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.sty | 35 |
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: } |