diff options
author | Karl Berry <karl@freefriends.org> | 2022-04-04 20:56:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-04-04 20:56:14 +0000 |
commit | 342938e12546357fa049dadca5957de15e1b5d1a (patch) | |
tree | 852afa269eea12fac7dd70e818a838d53cb665a4 /Master/texmf-dist/tex/context | |
parent | 405e7f6b1c67baf6929d09ef5a8655fb5365b5dd (diff) |
scontents (4apr22)
git-svn-id: svn://tug.org/texlive/trunk@62902 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context')
-rw-r--r-- | Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv | 114 |
1 files changed, 21 insertions, 93 deletions
diff --git a/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv b/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv index 907c9b63b69..d87d8eda772 100644 --- a/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv +++ b/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv @@ -6,7 +6,7 @@ %% %% scontents.dtx (with options: `loader,context') %% -%% Copyright (C) 2019-2020 by Pablo González L <pablgonz@educarchile.cl> +%% Copyright (C) 2019-2022 by Pablo González L <pablgonz@educarchile.cl> %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License, either version 1.3c of this license or (at @@ -33,16 +33,16 @@ %% scontents.dtx (with options: `loader,context') %D \module %D [ file=t-scontents, -%D version=1.9, +%D version=2.0, %D title=\CONTEXT\ User Module, %D subtitle=Storing Contents, %D author=Pablo González, -%D date=2020-01-21, +%D date=2022-04-04, %D copyright=Pablo González, %D email=pablgonz@educarchile.cl, %D license=LPPL] -\def\ScontentsFileDate{2020-01-21}% -\def\ScontentsFileVersion{1.9}% +\def\ScontentsFileDate{2022-04-04}% +\def\ScontentsFileVersion{2.0}% \def\ScontentsFileDescription{Stores LaTeX contents in memory or files}% \writestatus{loading}{User Module scontents v\ScontentsFileVersion} \unprotect @@ -52,12 +52,12 @@ v\ScontentsFileVersion\space \ScontentsFileDescription } \iow_log:x { Package: ~ scontents ~ \use:c { ver @ scontents . sty } } \tl_new:N \g__scontents_end_verbatimsc_tl -\tl_gset_rescan:Nnn - \g__scontents_end_verbatimsc_tl +\tl_gset_rescan:Nnn \g__scontents_end_verbatimsc_tl { \char_set_catcode_other:N \\ } { \stopverbatimsc } +\tl_new:N \l__scontents_env_name_tl \tl_const:Nx \c__scontents_end_env_tl { \c_backslash_str @@ -67,89 +67,17 @@ \file_input:n { scontents-code.tex } \cs_new:Npn \__scontents_format_case:nnn #1 #2 #3 {#3} % ConTeXt -\keys_define:nn { scontents } - { verb-font .initial:n = \tt } -\seq_new:N \l__scontents_compat_seq -\cs_new_protected:Npn \__scontents_compat_redefine:Npn #1 - { - \seq_put_right:Nn \l__scontents_compat_seq {#1} - \cs_set_eq:cN { __scontents_saved_\cs_to_str:N #1: } #1 - \cs_new_protected:Npn #1 - } -\cs_new_protected:Npn \__scontents_compat_restore: - { \seq_map_function:NN \l__scontents_compat_seq \__scontents_compat_restore:N } -\cs_new_protected:Npn \__scontents_compat_restore:N #1 - { - \cs_set_eq:Nc #1 { __scontents_saved_\cs_to_str:N #1: } - \cs_undefine:c { __scontents_saved_\cs_to_str:N #1: } - } -\cs_generate_variant:Nn \__scontents_compat_redefine:Npn { c } -\cs_new_protected:Npn \__scontents_optarg:nn #1 #2 - { \peek_charcode_ignore_spaces:NTF [ {#1} {#1[#2]} } -\cs_new_protected:Npn \__scontents_stararg:nn #1 #2 - { \peek_charcode_remove_ignore_spaces:NTF * {#1} {#2} } -\__scontents_compat_redefine:Npn \RequirePackage - { \__scontents_optarg:nn { \__scontents_require_auxi:wn } { } } -\cs_new_protected:Npn \__scontents_require_auxi:wn [#1] #2 - { \__scontents_optarg:nn { \__scontents_require_auxii:wnw [{#1}]{#2} } { } } -\cs_new:Npn \__scontents_zap_space:ww #1~#2 - { - #1 \if_meaning:w #2 \q_mark - \exp_after:wN \use_none:n - \else: - \exp_after:wN \__scontents_zap_space:ww - \fi: #2 - } -\cs_new_protected:Npn \__scontents_require_auxii:wnw [#1] #2 [#3] - { - \tl_set:Nx \l__scontents_temp_tl { \__scontents_zap_space:ww #2 ~ \q_mark } - \clist_map_function:NN \l__scontents_temp_tl \__scontents_require_auxiii:n - } -\cs_new_protected:Npn \__scontents_require_auxiii:n #1 - { - \str_if_eq:eeF {expl3} {#1} - { \msg_error:nnn { scontents } { invalid-package } {#1} } - } -\msg_new:nnn { scontents } { invalid-package } - { Package~'#1'~invalid~in~scontents.~This~is~an~error~in~scontents. } -\__scontents_compat_redefine:cpn { @ifpackagelater } #1 - { \exp_args:Nc \__scontents_package_later_aux:Nn { ver@#1.sty } } -\cs_new_protected:Npn \__scontents_package_later_aux:Nn #1 #2 - { - \int_compare:nNnTF - { \exp_after:wN \__scontents_parse_version:w #1 //00 \q_mark } < - { \exp_after:wN \__scontents_parse_version:w #2 //00 \q_mark } - } -\cs_new:Npn \__scontents_parse_version:w #1 { \__scontents_parse_version_auxi:w 0#1 } -\cs_new:Npn \__scontents_parse_version_auxi:w #1/#2/#3#4#5 \q_mark - { \__scontents_parse_version_auxii:w #1-#2-#3#4 \q_mark } -\cs_new:Npn \__scontents_parse_version_auxii:w #1-#2-#3#4#5 \q_mark - { \tl_if_blank:nF {#2} {#1} #2 #3 #4 } -\__scontents_compat_redefine:Npn \ProvidesExplPackage #1 #2 #3 #4 - { \__scontents_provides_aux:nn {#1} { #2 \tl_if_empty:nF {#3} {#3~} #4 } } -\cs_new_protected:Npn \__scontents_provides_aux:nn #1 #2 - { - \tl_gset:cx { ver@#1.sty } {#2} - \iow_log:n { Package~#1:~#2 } - \ExplSyntaxOn - } -\__scontents_compat_redefine:Npn \DeclareOption - { \__scontents_stararg:nn { \use_none:n } { \use_none:nn } } -\__scontents_compat_redefine:Npn \ProcessOptions - { \__scontents_stararg:nn { } { } } \int_set:Nn \l__scontents_tmpa_int { \char_value_catcode:n { `\@ } } \char_set_catcode_letter:N \@ -\exp_after:wN -\ExplSyntaxOff -\file_input:n { xparse.sty } -\ExplSyntaxOn +\file_input:n { xparse-generic.tex } \char_set_catcode:nn { `\@ } { \l__scontents_tmpa_int } -\__scontents_compat_restore: -\NewDocumentCommand { \newenvsc } { m O{} } +\keys_define:nn { scontents } + { verb-font .initial:n = \tt } +\NewDocumentCommand \newenvsc { m O{} } { \cs_if_exist:cTF { start #1 } { \msg_error:nnn { scontents } { env-already-defined } {#1} } - { \__scontents_scontents_setenv:nn {#1} {#2} } + { \__scontents_env_setting:nn {#1} {#2} } } \cs_new_protected:Npn \__scontents_env_define:nnn #1 #2 #3 { @@ -174,28 +102,28 @@ \cs_new:Npn \dospecials { \seq_map_function:NN \l_char_special_seq \do } } -\NewDocumentCommand { \Scontents }{ !s !O{} } +\NewDocumentCommand \Scontents { !s !O{} } { \__scontents_Scontents_internal:nn {#1} {#2} } -\NewDocumentCommand { \__scontents_verb_arg:w } { +v } +\NewDocumentCommand \__scontents_verb_arg:w { +v } { \__scontents_verb_arg_internal:n {#1} } -\NewDocumentCommand { \getstored } { O{-1} m } +\NewDocumentCommand \getstored { O{-1} m } { \__scontents_getstored_internal:nn {#1} {#2} } -\NewDocumentCommand { \foreachsc } { o m } +\NewDocumentCommand \foreachsc { o m } { \__scontents_foreachsc_internal:nn {#1} {#2} } -\NewDocumentCommand { \typestored } { o m } +\NewDocumentCommand \typestored { o m } { \__scontents_typestored_internal:nn {#1} {#2} } \definetyping[verbatimsc] \group_begin: \cs_new_protected:Npn \__scontents_plain_disable_outer_par: { } \group_end: -\NewDocumentCommand { \setupsc } { +m } +\NewDocumentCommand \setupsc { +m } { \keys_set:nn { scontents } {#1} } -\NewDocumentCommand { \meaningsc } { o m } +\NewDocumentCommand \meaningsc { o m } { \__scontents_meaningsc_internal:nn {#1} {#2} } -\NewExpandableDocumentCommand { \countsc } { m } +\NewExpandableDocumentCommand \countsc { m } { \seq_count:c { g__scontents_name_#1_seq } } -\NewDocumentCommand { \cleanseqsc } { m } +\NewDocumentCommand \cleanseqsc { m } { \seq_clear_new:c { g__scontents_name_#1_seq } } \ExplSyntaxOff \endinput |