summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-02-01 21:06:20 +0000
committerKarl Berry <karl@freefriends.org>2023-02-01 21:06:20 +0000
commitf107ccbadf07d9670a13c7c796e9d46a1f317337 (patch)
treeeb5be6c04a3efc855a8dc13a1bd99cf1daae5353
parent49d4e39b18807acf59f3dc7350a3344c857ec8da (diff)
l3packages (1feb23)
git-svn-id: svn://tug.org/texlive/trunk@65709 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md11
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdfbin412658 -> 412281 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdfbin332357 -> 331993 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdfbin482935 -> 482562 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdfbin534579 -> 534213 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdfbin450100 -> 450311 bytes
-rw-r--r--Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx44
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty24
17 files changed, 82 insertions, 23 deletions
diff --git a/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
index 6ad508a7f33..6af289ef1e4 100644
--- a/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3packages/CHANGELOG.md
@@ -7,6 +7,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2023-02-01]
+
+### Added
+- `\DeclareInstanceCopy`
+
+### Changes
+- Set only known keys in `\SetTemplateKeys`
+
## [2023-01-16]
### Fixed
@@ -214,7 +222,8 @@ this project uses date-based 'snapshot' version identifiers.
- 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
diff --git a/Master/texmf-dist/doc/latex/l3packages/README.md b/Master/texmf-dist/doc/latex/l3packages/README.md
index bd73e2a0be7..95e8deca215 100644
--- a/Master/texmf-dist/doc/latex/l3packages/README.md
+++ b/Master/texmf-dist/doc/latex/l3packages/README.md
@@ -1,7 +1,7 @@
LaTeX3 High-Level Concepts
==========================
-Release 2023-01-16
+Release 2023-02-01
Overview
--------
diff --git a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
index 94554101904..2b68217a40d 100644
--- a/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/l3keys2e/l3keys2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
index f33457d2d9c..7c90dbe0a8d 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xfp/xfp.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
index b61304d37e0..d1995a4d6ab 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xfrac/xfrac.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
index f0cf92604cb..16140647f90 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xparse/xparse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
index ce2f8a62272..eee72874431 100644
--- a/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
+++ b/Master/texmf-dist/doc/latex/l3packages/xtemplate/xtemplate.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
index e72854c2f1c..599f68f54f0 100644
--- a/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/l3keys2e/l3keys2e.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx b/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
index 836c5e3b55f..16c975e0493 100644
--- a/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xfp/xfp.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx b/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
index 596d639f4c2..f09029f9ef7 100644
--- a/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xfrac/xfrac.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
index 97dd2f8fd9e..15981e52104 100644
--- a/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xparse/xparse.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
index eb9ae86e940..42d00c8657d 100644
--- a/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
+++ b/Master/texmf-dist/source/latex/l3packages/xtemplate/xtemplate.dtx
@@ -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}
%
diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
index 6ea77e80273..6c8ff76aeef 100644
--- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
@@ -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: }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
index 1794c3b0331..f0be352e741 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty
@@ -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} }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
index dfe754be795..b19a5913553 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty
@@ -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 }
{
diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
index ab903b316cd..b80b57fa6bc 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
@@ -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 }
diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
index 519f8af04a4..62bd5832c9c 100644
--- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
+++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty
@@ -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,7 +766,21 @@
}
}
}
-\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}
{
@@ -774,7 +788,7 @@
\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
%%
%%