texlive[52539] Master: scontents (26oct19)

commits+karl at tug.org commits+karl at tug.org
Sat Oct 26 22:38:49 CEST 2019


Revision: 52539
          http://tug.org/svn/texlive?view=revision&revision=52539
Author:   karl
Date:     2019-10-26 22:38:48 +0200 (Sat, 26 Oct 2019)
Log Message:
-----------
scontents (26oct19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/scontents/README.md
    trunk/Master/texmf-dist/doc/latex/scontents/scontents.pdf
    trunk/Master/texmf-dist/source/latex/scontents/scontents.dtx
    trunk/Master/texmf-dist/source/latex/scontents/scontents.ins
    trunk/Master/texmf-dist/tex/generic/scontents/scontents-code.tex
    trunk/Master/texmf-dist/tex/generic/scontents/scontents.tex
    trunk/Master/texmf-dist/tex/latex/scontents/scontents.sty
    trunk/Master/tlpkg/libexec/ctan2tds

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkvi

Modified: trunk/Master/texmf-dist/doc/latex/scontents/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/scontents/README.md	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/doc/latex/scontents/README.md	2019-10-26 20:38:48 UTC (rev 52539)
@@ -1,6 +1,6 @@
 ## scontents — Stores LaTeX contents in memory or files
-- Version: 1.5
-- Date: 2019-10-24
+- Version: 1.6
+- Date: 2019-10-26
 - Author: Pablo González
 
 ## Description
@@ -26,7 +26,7 @@
   scontents.tex      -> TDS:tex/generic/scontents/
   scontents-code.tex -> TDS:tex/generic/scontents/
   scontents.sty      -> TDS:tex/latex/scontents/
-  t-scontents.mkvi   -> TDS:tex/context/third/scontents/
+  t-scontents.mkiv   -> TDS:tex/context/third/scontents/
   scontents.pdf      -> TDS:doc/latex/scontents/
   README.md          -> TDS:doc/latex/scontents/
   scontents.dtx      -> TDS:source/latex/scontents/

Modified: trunk/Master/texmf-dist/doc/latex/scontents/scontents.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/scontents/scontents.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/scontents/scontents.dtx	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/source/latex/scontents/scontents.dtx	2019-10-26 20:38:48 UTC (rev 52539)
@@ -18,7 +18,7 @@
 %                                 scontents.ins,
 % and the derived files           scontents.sty,
 %                                 scontents.tex,
-%                                 t-scontents.mkvi and
+%                                 t-scontents.mkiv and
 %                                 scontents-code.tex.
 %
 %<*driver>
@@ -32,16 +32,37 @@
 % so that entries written to both streams end up in the same file.
 \usepackage[top=0.5in,bottom=0.5in,left=2in,right=0.7in,footskip=0.2in,headsep=10pt]{geometry}
 \usepackage[osf,mono=false,scale=0.95,llscaled=0.95]{libertine}
+\setmonofont[
+    Ligatures      = TeX,
+    Numbers        = OldStyle,
+    Scale          = 0.80,
+    UprightFont    = *-Regular,
+    ItalicFont     = *-RegularIt,
+    BoldFont       = *-Semibold,
+    BoldItalicFont = *-SemiboldIt,
+    RawFeature     = {+zero,+ss06},
+    FontFace       = {m}{sc}{*-ExtraLight},
+    Extension      = .otf]{SourceCodePro}
+\newfontfamily\sourcecodeprolight{SourceCodePro-Regular.otf}[Scale = 0.80,FakeStretch =0.75]
+\RenewDocumentCommand{\MacroLongFont}{}
+  { \sourcecodeprolight\small }
 \usepackage{unicode-math}
+
+% Unicode-math changes the position of the glyphs, so the position 26A is now
+% a letter `j'. The doc package ensures that mathcode and the | actually prints
+% a j inside docstrip guards. This changes the mathcode of | to 07C:
+\makeatletter
+\def\mod at math@codes{\mathcode`\|="207C \mathcode`\&="2026
+                    \mathcode`\-="702D \mathcode`\+="702B
+                    \mathcode`\:="703A \mathcode`\=="703D }
+\makeatother
+
 \setmathfont[Scale = 0.95]{latinmodern-math.otf}
-\usepackage[osf,scale=0.80,semibold]{sourcecodepro}
 \usepackage{fontawesome5}
 \newfontfamily\lmmitalic{lmmono10-italic.otf}[
    Scale             = 0.95,%
    Extension         = .otf,%
    ItalicFont        = lmmono10-italic,%
-   SmallCapsFont     = lmmonocaps10-oblique,%
-   SlantedFont       = lmmonoslant10-regular,
    ]
 \newfontfamily\fetamontotf{ffmw10.otf}[
    Scale             = 0.95,%
@@ -52,7 +73,6 @@
 \usepackage{hyperxmp,lastpage,imakeidx,microtype,attachfile2}
 \usepackage{adjustbox,multicol,listings,accsupp,titletoc}
 \usepackage{scontents} % main
-\usepackage[osf,scale=0.80,semibold]{sourcecodepro}
 \usepackage[contents]{colordoc}
 
 % Patching colordoc.sty to work with l3doc.cls
@@ -92,7 +112,7 @@
 % Now, after imakeidx opens the write stream for the index file, we copy
 % the reference to \@indexfile:
 \makeatletter
-\let\@indexfile\scontents at idxfile
+\expandafter\let\expandafter\@indexfile\csname \jobname @idxfile\endcsname
 \makeatother
 
 \setlength{\parindent}{0pt}
@@ -1579,11 +1599,17 @@
 %
 % \setlist[itemize,1]{label=\textendash,wide=0.5em,nosep,noitemsep,leftmargin=10pt}
 % \newlength\descrwidth
-% \settowidth{\descrwidth}{\textsf{v1.0, (ctan), 2019/07/30} }
+% \settowidth{\descrwidth}{\textsf{v1.0, (ctan), 2019-07-30} }
 %
 % \begin{description}[font=\small\sffamily,wide=0pt,style=multiline,leftmargin=\descrwidth,nosep,noitemsep]
 % \item [\fileversion{} (ctan), \filedate]
 %    \begin{itemize}
+%    \item The internal behavior of |\getstored| has been modified.
+%    \item The internal behavior of |\foreachsc| has been modified.
+%    \item Corrected file extension for \hologo{ConTeXt}.
+%    \end{itemize}
+% \item [v1.5 (ctan), 2019-10-24]
+%    \begin{itemize}
 %        \item Add support for \hologo{plainTeX} and \hologo{ConTeXt}.
 %        \item Split internal code for optimization.
 %        \item Add support for vertical spaces in |key=val|.
@@ -1596,27 +1622,27 @@
 %        \item Messages and keys were separated.
 %        \item Restructuring of documentation.
 %        \item Now the version of |expl3| is checked instead of |xparse|.
-%        \item The internal behavior of \verb+force-eol+ has been modified.
+%        \item The internal behavior of |force-eol| has been modified.
 %    \end{itemize}
 % \item [v1.3 (ctan), 2019-09-24]
 %    \begin{itemize}
 %        \item The environment can now nest.
-%        \item Added \verb+force-eol+, \verb+verb-font+ and \verb+width-tab+ keys.
-%        \item The extra space has been removed when you run \verb+\getstored+.
+%        \item Added |force-eol|, |verb-font| and |width-tab| keys.
+%        \item The extra space has been removed when you run |\getstored|.
 %        \item Internal code has been rewritten more efficiently.
-%        \item Remove \verb+\typestored*+.
-%        \item Remove \verb+filecontentsdef+ dependency.
-%        \item Changing \verb+\regex_replace_all:+ for \verb+\tl_replace_all:+.
+%        \item Remove |\typestored|.
+%        \item Remove |filecontentsdef| dependency.
+%        \item Changing |\regex_replace_all:| for |\tl_replace_all:|.
 %    \end{itemize}
 % \item [v1.2 (ctan), 2019-08-28]
 %    \begin{itemize}
 %        \item Restructuring of documentation.
-%        \item Added copy of \verb+\tex_scantokens:D+.
+%        \item Added copy of |\tex_scantokens:|.
 %    \end{itemize}
 % \item [v1.1 (ctan), 2019-08-12]
 %    \begin{itemize}
 %        \item Extension of documentation.
-%        \item Replace \verb+\tex_endinput:D+ by \verb+\file_input_stop:+.
+%        \item Replace |\tex_endinput:D| by |\file_input_stop:|.
 %    \end{itemize}
 % \item [v1.0 (ctan), 2019-07-30]
 %    \begin{itemize}
@@ -1651,10 +1677,10 @@
 %
 % Now we define some common macros to hold the package date and version:
 %    \begin{macrocode}
-%<loader>\def\ScontentsFileDate{2019-10-24}%
-%<core>\def\ScontentsCoreFileDate{2019-10-24}%
+%<loader>\def\ScontentsFileDate{2019-10-26}%
+%<core>\def\ScontentsCoreFileDate{2019-10-26}%
 %<*loader>
-\def\ScontentsFileVersion{1.5}%
+\def\ScontentsFileVersion{1.6}%
 \def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
 %    \end{macrocode}
 %
@@ -2394,8 +2420,7 @@
 %
 % We define the environment \env{scontents}, next to the system
 % \myoarg{key \textnormal{\textcolor{gray}{=}} val}. The environment
-% is divided into three parts. This implementation is taken from answer
-% by Enrico Gregorio in \url{https://tex.stackexchange.com/a/487746/7832}.
+% is divided into two parts.
 %
 % \begin{macro}{
 %     scontents,
@@ -2622,7 +2647,8 @@
                       { \tl_if_blank_p:n {#2} }
                       { \str_if_eq_p:ee {#2} { \c_percent_str } }
                       {
-                        \msg_warning:nnn { scontents } { rescanning-text } {#2}
+                        \str_if_eq:VnF \c_@@_hidden_space_str {#2}
+                          { \msg_warning:nnn { scontents } { rescanning-text } {#2} }
                         \@@_rescan_tokens:n {#2}
                       }
                   }
@@ -2834,7 +2860,6 @@
 %     \Scontents,
 %     \@@_norm_arg:n,
 %     \@@_Scontents_auxi:N,
-%     \Scontents code,
 %     \@@_Scontents_internal:nn,
 %     \@@_verb_arg:w,
 %     \@@_verb_arg_internal:n,
@@ -2912,8 +2937,10 @@
     \group_begin:
       \int_set:Nn \tex_newlinechar:D { `\^^J }
       \@@_rescan_tokens:x
-        { \@@_getfrom_seq:nn {#1} {#2} }
-    \group_end:
+        {
+    \endgroup % This assumes \catcode`\\=0... Things might go off otherwise.
+    \@@_getfrom_seq:nn {#1} {#2}
+        }
   }
 %    \end{macrocode}
 % \end{macro}
@@ -2946,8 +2973,12 @@
         { \l_@@_foreach_step_int }
         { \l_@@_foreach_stop_int }
         \@@_foreach_add_body:n
-      \seq_use:Nn \l_@@_foreach_print_seq { \tl_use:N \l_@@_foreach_sep_tl }
+      \tl_gset:Nx \g_@@_temp_tl
+        { \seq_use:Nn \l_@@_foreach_print_seq { \tl_use:N \l_@@_foreach_sep_tl } }
     \group_end:
+    \exp_after:wN \tl_gclear:N
+    \exp_after:wN \g_@@_temp_tl
+      \g_@@_temp_tl
   }
 \cs_new_protected:Npn \@@_foreach_add_body:n #1
   {

Modified: trunk/Master/texmf-dist/source/latex/scontents/scontents.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/scontents/scontents.ins	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/source/latex/scontents/scontents.ins	2019-10-26 20:38:48 UTC (rev 52539)
@@ -21,7 +21,7 @@
                                 scontents.ins,
 and the derived files           scontents.sty,
                                 scontents.tex,
-                                t-scontents.mkvi and
+                                t-scontents.mkiv and
                                 scontents-code.tex.
 
 \endpreamble
@@ -33,11 +33,11 @@
 \declarepreamble\context
  \string\module
    [     file=t-scontents,
-      version=1.5,
+      version=1.6,
         title=\string\CONTEXT\ User Module,
      subtitle=Storing Contents,
        author=Pablo González,
-         date=2019-10-24,
+         date=2019-10-26,
     copyright=Pablo González,
         email=pablgonz at educarchile.cl,
       license=LPPL]
@@ -52,7 +52,7 @@
   \file{scontents.tex}     {\from{scontents.dtx}{loader,plain}}%
   \file{scontents-code.tex}{\from{scontents.dtx}{core}}%
   \edef\tmpa{\standard^^J\context}\usepreamble\tmpa
-  \file{t-scontents.mkvi}  {\from{scontents.dtx}{loader,context}}%
+  \file{t-scontents.mkiv}  {\from{scontents.dtx}{loader,context}}%
 }%
 
 \Msg{*****************************************************************}%

Added: trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkiv	2019-10-26 20:38:48 UTC (rev 52539)
@@ -0,0 +1,194 @@
+%%
+%% This is file `t-scontents.mkiv',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% scontents.dtx  (with options: `loader,context')
+%% 
+%% Copyright (C) 2019 by Pablo González L <pablgonz at 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
+%% your option) any later version. The latest version of this license is in
+%% 
+%%  http://www.latex-project.org/lppl.txt
+%% 
+%% and version 1.3c or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%% 
+%% This work is "maintained" (as per the LPPL maintenance status)
+%% by Pablo González Luengo.
+%% 
+%% This work consists of the files scontents.dtx and
+%%                                 scontents.ins,
+%% and the derived files           scontents.sty,
+%%                                 scontents.tex,
+%%                                 t-scontents.mkiv and
+%%                                 scontents-code.tex.
+%% 
+%%
+%% The original source files were:
+%%
+%% scontents.dtx  (with options: `loader,context')
+%D  \module
+%D    [     file=t-scontents,
+%D       version=1.6,
+%D         title=\CONTEXT\ User Module,
+%D      subtitle=Storing Contents,
+%D        author=Pablo González,
+%D          date=2019-10-26,
+%D     copyright=Pablo González,
+%D         email=pablgonz at educarchile.cl,
+%D       license=LPPL]
+\def\ScontentsFileDate{2019-10-26}%
+\def\ScontentsFileVersion{1.6}%
+\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
+\writestatus{loading}{User Module scontents v\ScontentsFileVersion}
+\unprotect
+\input expl3-generic.tex
+\ExplSyntaxOn
+\tl_gset:cx { ver @ scontents . sty } { \ScontentsFileDate\space
+  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
+  {
+    \char_set_catcode_other:N \\
+  }
+  { \stopverbatimsc }
+\tl_const:Nx \c__scontents_end_env_tl
+  {
+    \c_backslash_str
+    stop
+      scontents
+  }
+\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 \ifx\relax#3\relax\else v#3\space\fi #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
+\char_set_catcode:nn { `\@ } { \l__scontents_tmpa_int }
+\__scontents_compat_restore:
+\cs_new_protected:Npn \startscontents
+  {
+    \group_begin:
+    \__scontents_scontents_env_begin:
+  }
+\cs_new_protected:Npn \stopscontents
+  {
+    \__scontents_scontents_env_end:
+    \group_end:
+  }
+\NewDocumentCommand \__scontents_grab_optional:w { r[] }
+  { \__scontents_grab_optional:n {#1} }
+\cs_if_exist:NF \dospecials
+  {
+    \cs_new:Npn \dospecials
+      { \seq_map_function:NN \l_char_special_seq \do }
+  }
+\NewDocumentCommand { \Scontents }{ !s !O{} }
+  { \__scontents_Scontents_internal:nn {#1} {#2} }
+\NewDocumentCommand { \__scontents_verb_arg:w } { +v }
+  { \__scontents_verb_arg_internal:n {#1} }
+\NewDocumentCommand { \getstored } { O{1} m }
+  { \__scontents_getstored_internal:nn {#1} {#2} }
+\NewDocumentCommand { \foreachsc } { o m }
+  { \__scontents_foreachsc_internal:nn {#1} {#2} }
+\NewDocumentCommand { \typestored } { o m }
+  { \__scontents_typestored_internal:nn {#1} {#2} }
+\use:x
+  {
+    \cs_new_protected:Npn \exp_not:N \__scontents_xverb:w
+      ##1 \g__scontents_end_verbatimsc_tl
+      { ##1 \exp_not:N \stopverbatimsc }
+  }
+\definetyping[verbatimsc]
+\group_begin:
+  \cs_new_protected:Npn \__scontents_plain_disable_outer_par:
+    { }
+\group_end:
+\NewDocumentCommand { \setupsc } { +m }
+  { \keys_set:nn { scontents } {#1} }
+\NewDocumentCommand { \meaningsc } { o m }
+  { \__scontents_meaningsc_internal:nn {#1} {#2} }
+\NewExpandableDocumentCommand { \countsc } { m }
+  { \seq_count:c { g__scontents_name_#1_seq } }
+\NewDocumentCommand { \cleanseqsc } { m }
+  { \seq_clear_new:c { g__scontents_name_#1_seq } }
+\ExplSyntaxOff
+\endinput
+%%
+%% End of file `t-scontents.mkiv'.

Deleted: trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkvi
===================================================================
--- trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkvi	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/tex/context/third/scontents/t-scontents.mkvi	2019-10-26 20:38:48 UTC (rev 52539)
@@ -1,194 +0,0 @@
-%%
-%% This is file `t-scontents.mkvi',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% scontents.dtx  (with options: `loader,context')
-%% 
-%% Copyright (C) 2019 by Pablo González L <pablgonz at 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
-%% your option) any later version. The latest version of this license is in
-%% 
-%%  http://www.latex-project.org/lppl.txt
-%% 
-%% and version 1.3c or later is part of all distributions of LaTeX version
-%% 2005/12/01 or later.
-%% 
-%% This work is "maintained" (as per the LPPL maintenance status)
-%% by Pablo González Luengo.
-%% 
-%% This work consists of the files scontents.dtx and
-%%                                 scontents.ins,
-%% and the derived files           scontents.sty,
-%%                                 scontents.tex,
-%%                                 t-scontents.mkvi and
-%%                                 scontents-code.tex.
-%% 
-%%
-%% The original source files were:
-%%
-%% scontents.dtx  (with options: `loader,context')
-%D  \module
-%D    [     file=t-scontents,
-%D       version=1.5,
-%D         title=\CONTEXT\ User Module,
-%D      subtitle=Storing Contents,
-%D        author=Pablo González,
-%D          date=2019-10-24,
-%D     copyright=Pablo González,
-%D         email=pablgonz at educarchile.cl,
-%D       license=LPPL]
-\def\ScontentsFileDate{2019-10-24}%
-\def\ScontentsFileVersion{1.5}%
-\def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
-\writestatus{loading}{User Module scontents v\ScontentsFileVersion}
-\unprotect
-\input expl3-generic.tex
-\ExplSyntaxOn
-\tl_gset:cx { ver @ scontents . sty } { \ScontentsFileDate\space
-  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
-  {
-    \char_set_catcode_other:N \\
-  }
-  { \stopverbatimsc }
-\tl_const:Nx \c__scontents_end_env_tl
-  {
-    \c_backslash_str
-    stop
-      scontents
-  }
-\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 \ifx\relax#3\relax\else v#3\space\fi #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
-\char_set_catcode:nn { `\@ } { \l__scontents_tmpa_int }
-\__scontents_compat_restore:
-\cs_new_protected:Npn \startscontents
-  {
-    \group_begin:
-    \__scontents_scontents_env_begin:
-  }
-\cs_new_protected:Npn \stopscontents
-  {
-    \__scontents_scontents_env_end:
-    \group_end:
-  }
-\NewDocumentCommand \__scontents_grab_optional:w { r[] }
-  { \__scontents_grab_optional:n {#1} }
-\cs_if_exist:NF \dospecials
-  {
-    \cs_new:Npn \dospecials
-      { \seq_map_function:NN \l_char_special_seq \do }
-  }
-\NewDocumentCommand { \Scontents }{ !s !O{} }
-  { \__scontents_Scontents_internal:nn {#1} {#2} }
-\NewDocumentCommand { \__scontents_verb_arg:w } { +v }
-  { \__scontents_verb_arg_internal:n {#1} }
-\NewDocumentCommand { \getstored } { O{1} m }
-  { \__scontents_getstored_internal:nn {#1} {#2} }
-\NewDocumentCommand { \foreachsc } { o m }
-  { \__scontents_foreachsc_internal:nn {#1} {#2} }
-\NewDocumentCommand { \typestored } { o m }
-  { \__scontents_typestored_internal:nn {#1} {#2} }
-\use:x
-  {
-    \cs_new_protected:Npn \exp_not:N \__scontents_xverb:w
-      ##1 \g__scontents_end_verbatimsc_tl
-      { ##1 \exp_not:N \stopverbatimsc }
-  }
-\definetyping[verbatimsc]
-\group_begin:
-  \cs_new_protected:Npn \__scontents_plain_disable_outer_par:
-    { }
-\group_end:
-\NewDocumentCommand { \setupsc } { +m }
-  { \keys_set:nn { scontents } {#1} }
-\NewDocumentCommand { \meaningsc } { o m }
-  { \__scontents_meaningsc_internal:nn {#1} {#2} }
-\NewExpandableDocumentCommand { \countsc } { m }
-  { \seq_count:c { g__scontents_name_#1_seq } }
-\NewDocumentCommand { \cleanseqsc } { m }
-  { \seq_clear_new:c { g__scontents_name_#1_seq } }
-\ExplSyntaxOff
-\endinput
-%%
-%% End of file `t-scontents.mkvi'.

Modified: trunk/Master/texmf-dist/tex/generic/scontents/scontents-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/scontents/scontents-code.tex	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/tex/generic/scontents/scontents-code.tex	2019-10-26 20:38:48 UTC (rev 52539)
@@ -24,10 +24,10 @@
 %%                                 scontents.ins,
 %% and the derived files           scontents.sty,
 %%                                 scontents.tex,
-%%                                 t-scontents.mkvi and
+%%                                 t-scontents.mkiv and
 %%                                 scontents-code.tex.
 %% 
-\def\ScontentsCoreFileDate{2019-10-24}%
+\def\ScontentsCoreFileDate{2019-10-26}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -393,7 +393,8 @@
                       { \tl_if_blank_p:n {#2} }
                       { \str_if_eq_p:ee {#2} { \c_percent_str } }
                       {
-                        \msg_warning:nnn { scontents } { rescanning-text } {#2}
+                        \str_if_eq:VnF \c__scontents_hidden_space_str {#2}
+                          { \msg_warning:nnn { scontents } { rescanning-text } {#2} }
                         \__scontents_rescan_tokens:n {#2}
                       }
                   }
@@ -534,8 +535,10 @@
     \group_begin:
       \int_set:Nn \tex_newlinechar:D { `\^^J }
       \__scontents_rescan_tokens:x
-        { \__scontents_getfrom_seq:nn {#1} {#2} }
-    \group_end:
+        {
+    \endgroup % This assumes \catcode`\\=0... Things might go off otherwise.
+    \__scontents_getfrom_seq:nn {#1} {#2}
+        }
   }
 \cs_new_protected:Npn \__scontents_foreachsc_internal:nn #1 #2
   {
@@ -553,8 +556,12 @@
         { \l__scontents_foreach_step_int }
         { \l__scontents_foreach_stop_int }
         \__scontents_foreach_add_body:n
-      \seq_use:Nn \l__scontents_foreach_print_seq { \tl_use:N \l__scontents_foreach_sep_tl }
+      \tl_gset:Nx \g__scontents_temp_tl
+        { \seq_use:Nn \l__scontents_foreach_print_seq { \tl_use:N \l__scontents_foreach_sep_tl } }
     \group_end:
+    \exp_after:wN \tl_gclear:N
+    \exp_after:wN \g__scontents_temp_tl
+      \g__scontents_temp_tl
   }
 \cs_new_protected:Npn \__scontents_foreach_add_body:n #1
   {

Modified: trunk/Master/texmf-dist/tex/generic/scontents/scontents.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/scontents/scontents.tex	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/tex/generic/scontents/scontents.tex	2019-10-26 20:38:48 UTC (rev 52539)
@@ -24,11 +24,11 @@
 %%                                 scontents.ins,
 %% and the derived files           scontents.sty,
 %%                                 scontents.tex,
-%%                                 t-scontents.mkvi and
+%%                                 t-scontents.mkiv and
 %%                                 scontents-code.tex.
 %% 
-\def\ScontentsFileDate{2019-10-24}%
-\def\ScontentsFileVersion{1.5}%
+\def\ScontentsFileDate{2019-10-26}%
+\def\ScontentsFileVersion{1.6}%
 \def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
 \input expl3-generic.tex
 \ExplSyntaxOn

Modified: trunk/Master/texmf-dist/tex/latex/scontents/scontents.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/scontents/scontents.sty	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/texmf-dist/tex/latex/scontents/scontents.sty	2019-10-26 20:38:48 UTC (rev 52539)
@@ -24,11 +24,11 @@
 %%                                 scontents.ins,
 %% and the derived files           scontents.sty,
 %%                                 scontents.tex,
-%%                                 t-scontents.mkvi and
+%%                                 t-scontents.mkiv and
 %%                                 scontents-code.tex.
 %% 
-\def\ScontentsFileDate{2019-10-24}%
-\def\ScontentsFileVersion{1.5}%
+\def\ScontentsFileDate{2019-10-26}%
+\def\ScontentsFileVersion{1.6}%
 \def\ScontentsFileDescription{Stores LaTeX contents in memory or files}%
 \RequirePackage{expl3,xparse,l3keys2e}[2019/05/28]
 \ProvidesExplPackage

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2019-10-26 20:33:39 UTC (rev 52538)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2019-10-26 20:38:48 UTC (rev 52539)
@@ -1518,6 +1518,7 @@
  'pxchfon'              => '&POSTpxchfon',
  'recipebook'		=> '&POST_rmsymlink',
  'schule'		=> '&POSTschule',
+ 'scontents'		=> '&POSTscontents',
  'shipunov'		=> '&POSTshipunov',
  'simple-resume-cv'	=> '&POST_simple_rmFonts',
  'simple-thesis-dissertation' => '&POST_simple_rmFonts',
@@ -6605,11 +6606,18 @@
 }
 
 sub POSTschule {
-  print "POST$package - move additional packages\n";
+  print "POST$package - move additional files\n";
   &mv_with_mkdir ("latex/* data/*", "$DEST/tex/latex/$package");
   &SYSTEM ("$MV doc/* . && rmdir doc");
 }
 
+sub POSTscontents {
+  print "POST$package - move files to assorted runtime directories\n";
+  &mv_with_mkdir ("t-scontents.mk*", "$DEST/tex/context/third/$package");
+  &mv_with_mkdir ("scontents.tex", "scontents-code.tex",
+                  "$DEST/tex/generic/$package");
+}
+
 sub POSTshipunov {
   print "POST$package - rename new style files per agreement with author\n";
   #



More information about the tex-live-commits mailing list