texlive[65709] Master/texmf-dist: l3packages (1feb23)

commits+karl at tug.org commits+karl at tug.org
Wed Feb 1 22:06:20 CET 2023


Revision: 65709
          http://tug.org/svn/texlive?view=revision&revision=65709
Author:   karl
Date:     2023-02-01 22:06:20 +0100 (Wed, 01 Feb 2023)
Log Message:
-----------
l3packages (1feb23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3packages/README.md
    trunk/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
    trunk/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
    trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
    trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
    trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
    trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty

Modified: trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md	2023-02-01 21:06:20 UTC (rev 65709)
@@ -7,6 +7,14 @@
 
 ## [Unreleased]
 
+## [2023-02-01]
+
+### Added
+- `\DeclareInstanceCopy`
+
+### Changes
+- Set only known keys in `\SetTemplateKeys`
+
 ## [2023-01-16]
 
 ### Fixed
@@ -214,7 +222,8 @@
 - Switch to ISO date format
 - Improve cross-module use of internal functions
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-01-16...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-02-01...HEAD
+[2023-02-01]: https://github.com/latex3/latex3/compare/2023-01-16...2023-02-01
 [2023-01-16]: https://github.com/latex3/latex3/compare/2022-12-17...2023-01-16
 [2022-12-17]: https://github.com/latex3/latex3/compare/2022-06-22...2022-12-17
 [2022-06-22]: https://github.com/latex3/latex3/compare/2022-06-16...2022-06-22

Modified: trunk/Master/texmf-dist/doc/latex/l3packages/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3packages/README.md	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/doc/latex/l3packages/README.md	2023-02-01 21:06:20 UTC (rev 65709)
@@ -1,7 +1,7 @@
 LaTeX3 High-Level Concepts
 ==========================
 
-Release 2023-01-16
+Release 2023-02-01
 
 Overview
 --------

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

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

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

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

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

Modified: trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx	2023-02-01 21:06:20 UTC (rev 65709)
@@ -62,7 +62,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-01-16}
+% \date{Released 2023-02-01}
 %
 % \maketitle
 %
@@ -154,7 +154,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{l3keys2e}{2023-01-16}{}
+\ProvidesExplPackage{l3keys2e}{2023-02-01}{}
   {LaTeX2e option processing using LaTeX3 keys}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx	2023-02-01 21:06:20 UTC (rev 65709)
@@ -63,7 +63,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-01-16}
+% \date{Released 2023-02-01}
 %
 % \maketitle
 %
@@ -171,7 +171,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xfp}{2023-01-16}{}
+\ProvidesExplPackage{xfp}{2023-02-01}{}
   {L3 Floating point unit}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx	2023-02-01 21:06:20 UTC (rev 65709)
@@ -65,7 +65,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-01-16}
+% \date{Released 2023-02-01}
 %
 % \maketitle
 %
@@ -535,7 +535,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xfrac}{2023-01-16}{}
+\ProvidesExplPackage{xfrac}{2023-02-01}{}
   {L3 Experimental split-level fractions}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx	2023-02-01 21:06:20 UTC (rev 65709)
@@ -67,7 +67,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-01-16}
+% \date{Released 2023-02-01}
 %
 % \maketitle
 %
@@ -1064,7 +1064,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xparse}{2023-01-16}{}
+\ProvidesExplPackage{xparse}{2023-02-01}{}
   {L3 Experimental document command parser}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx	2023-02-01 21:06:20 UTC (rev 65709)
@@ -63,7 +63,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-01-16}
+% \date{Released 2023-02-01}
 %
 % \maketitle
 %
@@ -475,6 +475,15 @@
 %   then inserts the appropriate code into the input stream.
 % \end{function}
 %
+% \begin{function}{\DeclareInstanceCopy}
+%   \begin{syntax}
+%     \cs{DeclareInstanceCopy}
+%     ~~\Arg{object type} \Arg{instance1} \Arg{instance2}
+%   \end{syntax}
+%   Copies the \meta{values} for \meta{instance1} for an
+%   \meta{object type} to \meta{instance2}.
+% \end{function}
+%
 % \section{Document interface}
 %
 % After the instances have been chosen, document commands must be
@@ -702,7 +711,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplPackage{xtemplate}{2023-01-16}{}
+\ProvidesExplPackage{xtemplate}{2023-02-01}{}
   {L3 Experimental prototype document functions}
 %    \end{macrocode}
 %
@@ -1987,6 +1996,27 @@
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}{\@@_copy_instance:nnnn}
+%   Copy--paste an instance
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_copy_instance:nnnn #1#2#3#4
+  {
+    \@@_if_instance_exist:nnnTF {#1} {#2} {#3}
+      {
+        \@@_recover_values:n { #1 / #2 / #3 }
+        \@@_store_values:n { #1 / #2 / #4 }
+        \cs_set_eq:cc { \c_@@_instances_root_tl #1 / #2 / #4 }
+          { \c_@@_instances_root_tl #1 / #2 / #3 }
+      }
+      {
+        \msg_error:nnxx { xtemplate } { unknown-instance }
+          {#1} {#3}
+      }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
+%
 % \begin{macro}{\@@_edit_instance:nnnn}
 % \begin{macro}{\@@_edit_instance_aux:nnnnn}
 % \begin{macro}{\@@_edit_instance_aux:nonnn}
@@ -1994,7 +2024,7 @@
 %   variation is the source of the values to use. When editing, they are
 %   recovered from the previous instance run.
 %    \begin{macrocode}
-\cs_new_protected:Npn \@@_edit_instance:nnnn #1#2#3
+\cs_new_protected:Npn \@@_edit_instance:nnnn #1#2#3#4
   {
     \@@_if_instance_exist:nnnTF {#1} {#2} {#3}
       {
@@ -2002,7 +2032,7 @@
         \prop_get:NnN \l_@@_values_prop { from~template }
           \l_@@_tmp_tl
         \@@_edit_instance_aux:nonnn {#1} \l_@@_tmp_tl
-          {#2} {#3}
+          {#2} {#3} {#4}
       }
       {
         \msg_error:nnxx { xtemplate } { unknown-instance }
@@ -2783,6 +2813,7 @@
 % \begin{macro}{\EditTemplateDefaults}
 % \begin{macro}{\DeclareInstance}
 % \begin{macro}{\DeclareCollectionInstance}
+% \begin{macro}{\DeclareInstanceCopy}
 % \begin{macro}{\EditInstance}
 % \begin{macro}{\EditCollectionInstance}
 % \begin{macro}{\UseTemplate}
@@ -2803,6 +2834,8 @@
   { \@@_declare_instance:nnnnn {#1} {#3} { } {#2} {#4} }
 \cs_new_protected:Npn \DeclareCollectionInstance #1#2#3#4#5
   { \@@_declare_instance:nnnnn {#2} {#4} {#1} {#3} {#5} }
+\cs_new_protected:Npn \DeclareInstanceCopy #1#2#3
+  { \@@_copy_instance:nnnn {#1} { } {#2} {#3} }
 \cs_new_protected:Npn \EditTemplateDefaults #1#2#3
   { \@@_edit_defaults:nnn {#1} {#2} {#3} }
 \cs_new_protected:Npn \EditInstance #1#2#3
@@ -2828,6 +2861,7 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\ShowTemplateCode}
 % \begin{macro}{\ShowTemplateDefaults}
@@ -2888,7 +2922,7 @@
 %   A friendly wrapper
 %    \begin{macrocode}
 \cs_new_protected:Npn \SetTemplateKeys #1#2#3
-  { \keys_set:nn { template / #1 / #2 } {#3} }
+  { \keys_set_known:nnN { template / #1 / #2 } {#3} \l_@@_tmp_clist }
 %    \end{macrocode}
 % \end{macro}
 %

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty	2023-02-01 21:06:20 UTC (rev 65709)
@@ -32,7 +32,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{l3keys2e}{2023-01-16}{}
+\ProvidesExplPackage{l3keys2e}{2023-02-01}{}
   {LaTeX2e option processing using LaTeX3 keys}
 \cs_if_exist:NT \ProcessKeysOptions
   { \file_input_stop: }

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty	2023-02-01 21:06:20 UTC (rev 65709)
@@ -32,7 +32,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{xfp}{2023-01-16}{}
+\ProvidesExplPackage{xfp}{2023-02-01}{}
   {L3 Floating point unit}
 \ProvideExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} }
 \ProvideExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} }

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty	2023-02-01 21:06:20 UTC (rev 65709)
@@ -34,7 +34,7 @@
     \endinput
   }
 \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate}
-\ProvidesExplPackage{xfrac}{2023-01-16}{}
+\ProvidesExplPackage{xfrac}{2023-02-01}{}
   {L3 Experimental split-level fractions}
 \keys_define:nn { xfrac }
   {

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty	2023-02-01 21:06:20 UTC (rev 65709)
@@ -60,7 +60,7 @@
       }
   }
 \ExplSyntaxOff
-\ProvidesExplPackage{xparse}{2023-01-16}{}
+\ProvidesExplPackage{xparse}{2023-02-01}{}
   {L3 Experimental document command parser}
 \clist_new:N \l__cmd_options_clist
 \DeclareOption* { \clist_put_right:NV \l__cmd_options_clist \CurrentOption }

Modified: trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty	2023-02-01 21:06:02 UTC (rev 65708)
+++ trunk/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty	2023-02-01 21:06:20 UTC (rev 65709)
@@ -32,7 +32,7 @@
       }%
     \endinput
   }
-\ProvidesExplPackage{xtemplate}{2023-01-16}{}
+\ProvidesExplPackage{xtemplate}{2023-02-01}{}
   {L3 Experimental prototype document functions}
 \cs_generate_variant:Nn \keys_define:nn { nx }
 \cs_generate_variant:Nn \tl_trim_spaces:n { e }
@@ -766,15 +766,29 @@
           }
       }
   }
-\cs_new_protected:Npn \__xtemplate_edit_instance:nnnn #1#2#3
+\cs_new_protected:Npn \__xtemplate_copy_instance:nnnn #1#2#3#4
   {
     \__xtemplate_if_instance_exist:nnnTF {#1} {#2} {#3}
       {
         \__xtemplate_recover_values:n { #1 / #2 / #3 }
+        \__xtemplate_store_values:n { #1 / #2 / #4 }
+        \cs_set_eq:cc { \c__xtemplate_instances_root_tl #1 / #2 / #4 }
+          { \c__xtemplate_instances_root_tl #1 / #2 / #3 }
+      }
+      {
+        \msg_error:nnxx { xtemplate } { unknown-instance }
+          {#1} {#3}
+      }
+  }
+\cs_new_protected:Npn \__xtemplate_edit_instance:nnnn #1#2#3#4
+  {
+    \__xtemplate_if_instance_exist:nnnTF {#1} {#2} {#3}
+      {
+        \__xtemplate_recover_values:n { #1 / #2 / #3 }
         \prop_get:NnN \l__xtemplate_values_prop { from~template }
           \l__xtemplate_tmp_tl
         \__xtemplate_edit_instance_aux:nonnn {#1} \l__xtemplate_tmp_tl
-          {#2} {#3}
+          {#2} {#3} {#4}
       }
       {
         \msg_error:nnxx { xtemplate } { unknown-instance }
@@ -1318,6 +1332,8 @@
   { \__xtemplate_declare_instance:nnnnn {#1} {#3} { } {#2} {#4} }
 \cs_new_protected:Npn \DeclareCollectionInstance #1#2#3#4#5
   { \__xtemplate_declare_instance:nnnnn {#2} {#4} {#1} {#3} {#5} }
+\cs_new_protected:Npn \DeclareInstanceCopy #1#2#3
+  { \__xtemplate_copy_instance:nnnn {#1} { } {#2} {#3} }
 \cs_new_protected:Npn \EditTemplateDefaults #1#2#3
   { \__xtemplate_edit_defaults:nnn {#1} {#2} {#3} }
 \cs_new_protected:Npn \EditInstance #1#2#3
@@ -1352,7 +1368,7 @@
 \cs_new_protected:Npn \AssignTemplateKeys
   { \__xtemplate_assignments_pop: }
 \cs_new_protected:Npn \SetTemplateKeys #1#2#3
-  { \keys_set:nn { template / #1 / #2 } {#3} }
+  { \keys_set_known:nnN { template / #1 / #2 } {#3} \l__xtemplate_tmp_clist }
 \cs_new_eq:NN \ShowTemplateKeytypes \ShowTemplateInterface
 %% 
 %%



More information about the tex-live-commits mailing list.