summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2009-07-11 00:46:31 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2009-07-11 00:46:31 +0000
commitaf8f869831d4976ff671f8f0b0ed8de0bb5dc7e8 (patch)
treed5f531a67e24d8b5b16030c5d50750cf8d3fea3e /Master/texmf-dist/source
parent0c5054c55e1f737f4ecea5cde8f2d552a3d7ffd8 (diff)
expl3 update
git-svn-id: svn://tug.org/texlive/trunk@14222 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3basics.dtx12
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3expan.dtx38
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3keyval.dtx5
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3prop.dtx7
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3seq.dtx49
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3tl.dtx37
-rw-r--r--Master/texmf-dist/source/latex/expl3/l3toks.dtx15
7 files changed, 91 insertions, 72 deletions
diff --git a/Master/texmf-dist/source/latex/expl3/l3basics.dtx b/Master/texmf-dist/source/latex/expl3/l3basics.dtx
index ecbafc5d6b9..3604d0f2244 100644
--- a/Master/texmf-dist/source/latex/expl3/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3basics.dtx
@@ -35,7 +35,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3basics.dtx 1365 2009-05-31 17:26:17Z mittelba $
+\GetIdInfo$Id: l3basics.dtx 1414 2009-06-16 07:34:57Z joseph $
{L3 Experimental basic definitions}
%\iffalse
%<*driver>
@@ -1110,7 +1110,10 @@
%
% \subsection{Undefining functions}
%
-% \begin{function}{ \cs_gundefine:N }
+% \begin{function}{
+% \cs_gundefine:N |
+% \cs_gundefine:c
+% }
% \begin{syntax}
% "\cs_gundefine:N" <cs>
% \end{syntax}
@@ -2764,12 +2767,17 @@
% \subsection{Undefining functions}
%
% \begin{macro}{\cs_gundefine:N }
+% \begin{macro}{\cs_gundefine:c }
% The following function is used to free the main memory from the
% definition of some function that isn't in use any longer.
% \begin{macrocode}
\cs_new_nopar:Npn \cs_gundefine:N #1{\cs_gset_eq:NN #1\c_undefined:D}
+\cs_new_nopar:Npn \cs_gundefine:c #1{
+ \cs_gset_eq:cN {#1} \c_undefined:D
+}
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
%
% \subsection{Engine specific definitions}
diff --git a/Master/texmf-dist/source/latex/expl3/l3expan.dtx b/Master/texmf-dist/source/latex/expl3/l3expan.dtx
index 7f2323b2e0c..e0d0da73d38 100644
--- a/Master/texmf-dist/source/latex/expl3/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3expan.dtx
@@ -36,7 +36,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3expan.dtx 1376 2009-06-01 17:01:30Z morten $
+\GetIdInfo$Id: l3expan.dtx 1418 2009-07-04 08:24:17Z joseph $
{L3 Experimental Argument Expansion module}
%\iffalse
%<*driver>
@@ -233,15 +233,6 @@
% more than one argument---all others are passed unchanged.
% \end{function}
%
-% \begin{function}{ \exp_args:Nd / (EXP) }
-% \begin{syntax}
-% " \exp_args:Nd" <funct> <arg1> <arg2> "..."
-% \end{syntax}
-% The first argument of <funct> (i.e., <arg1>) is expanded twice, the
-% result is surrounded by braces and passed to <funct>. <funct> may have
-% more than one argument---all others are passed unchanged.
-% \end{function}
-%
% \begin{function}{ \exp_args:Nc / (EXP) | \exp_args:cc / (EXP) }
% \begin{syntax}
% " \exp_args:Nc" <funct> <arg1> <arg2> "..."
@@ -320,7 +311,6 @@
% \exp_args:NNc / (EXP) |
% \exp_args:NNv / (EXP) |
% \exp_args:NNV / (EXP) |
-% \exp_args:NNd / (EXP) |
% \exp_args:NNf / (EXP) |
% \exp_args:Nno / (EXP) |
% \exp_args:Nnf / (EXP) |
@@ -362,6 +352,7 @@
%
% \begin{function}{%
% \exp_args:NNNo / (EXP) |
+% \exp_args:NNNV / (EXP) |
% \exp_args:NNoo / (EXP) |
% \exp_args:NNno / (EXP) |
% \exp_args:Nnno / (EXP) |
@@ -502,7 +493,7 @@
% or a built-in \TeX\ register such as |\count|.
% \end{function}
%
-% \begin{function}{\::n|\::N|\::c|\::o|\::f|\::x|\::v|\::V|\::d|\:::}
+% \begin{function}{\::n|\::N|\::c|\::o|\::f|\::x|\::v|\::V|\:::}
% \begin{syntax}
% "\cs_set_nopar:Npn \exp_args:Ncof {\::c\::o\::f\:::}"
% \end{syntax}
@@ -789,20 +780,6 @@
% \end{macro}
% \end{macro}
%
-%
-% Here are some that might not stay but let's see.
-%
-% \begin{macro}{\::d}
-% This function is used to expand an argument twice. Mostly useful
-% for |toks| type things. This is likely to vanish with |V| around.
-% \begin{macrocode}
-\cs_new:Npn\::d#1\:::#2#3{
- \exp_after:wN\exp_after:wN\exp_after:wN\exp_arg_next:nnn
- \exp_after:wN\exp_after:wN\exp_after:wN{#3}{#1}{#2}
-}
-% \end{macrocode}
-% \end{macro}
-%
% \subsection{Hand-tuned definitions}
% \label{sec:handtune}
%
@@ -857,9 +834,8 @@
% \subsection{Definitions with the `general' technique}
% \label{sec:gendef}
%
-% \begin{macro}{\exp_args:Nd,\exp_args:Nf,\exp_args:NV,\exp_args:Nv,\exp_args:Nx}
+% \begin{macro}{\exp_args:Nf,\exp_args:NV,\exp_args:Nv,\exp_args:Nx}
% \begin{macrocode}
-\cs_set_nopar:Npn \exp_args:Nd {\::d\:::}
\cs_set_nopar:Npn \exp_args:Nf {\::f\:::}
\cs_set_nopar:Npn \exp_args:Nv {\::v\:::}
\cs_set_nopar:Npn \exp_args:NV {\::V\:::}
@@ -867,7 +843,7 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\exp_args:NNV,\exp_args:NNv,\exp_args:NNd,\exp_args:NNf,\exp_args:NNx,
+% \begin{macro}{\exp_args:NNV,\exp_args:NNv,\exp_args:NNf,\exp_args:NNx,
% \exp_args:NVV,
% \exp_args:Ncx,
% \exp_args:Nfo,\exp_args:Nff,
@@ -878,7 +854,6 @@
% Here are the actual function definitions, using the helper functions
% above.
% \begin{macrocode}
-\cs_set_nopar:Npn \exp_args:NNd {\::N\::d\:::}
\cs_set_nopar:Npn \exp_args:NNf {\::N\::f\:::}
\cs_set_nopar:Npn \exp_args:NNv {\::N\::v\:::}
\cs_set_nopar:Npn \exp_args:NNV {\::N\::V\:::}
@@ -909,6 +884,7 @@
% \exp_args:NcNc,
% \exp_args:NcNo,
% \exp_args:NNno,
+% \exp_args:NNNV,
% \exp_args:Nnno,
% \exp_args:Nnnx,
% \exp_args:Nnox,
@@ -919,6 +895,8 @@
% \exp_args:NNoo,
% \exp_args:NNox}
% \begin{macrocode}
+\cs_set_nopar:Npn \exp_args:NNNV {\::N\::N\::V\:::}
+
\cs_set_nopar:Npn \exp_args:NNno {\::N\::n\::o\:::}
\cs_set_nopar:Npn \exp_args:NNnx {\::N\::n\::x\:::}
\cs_set_nopar:Npn \exp_args:NNoo {\::N\::o\::o\:::}
diff --git a/Master/texmf-dist/source/latex/expl3/l3keyval.dtx b/Master/texmf-dist/source/latex/expl3/l3keyval.dtx
index 8ac747e5d0a..6af4faab0bc 100644
--- a/Master/texmf-dist/source/latex/expl3/l3keyval.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3keyval.dtx
@@ -35,7 +35,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3keyval.dtx 1362 2009-05-28 20:19:21Z joseph $
+\GetIdInfo$Id: l3keyval.dtx 1412 2009-06-14 17:55:48Z joseph $
{L3 Experimental keyval processing}
%\iffalse
%<*driver>
@@ -394,8 +394,7 @@
}
% \end{macrocode}
% Afterwards we gobble an extra level of braces if that's what we are
-% asked to do. The next part can be done using \cs{toks_set:Nd}, but
-% this might not be around for long.
+% asked to do.
% \begin{macrocode}
\bool_if:NT \l_KV_remove_one_level_of_braces_bool
{
diff --git a/Master/texmf-dist/source/latex/expl3/l3prop.dtx b/Master/texmf-dist/source/latex/expl3/l3prop.dtx
index ec76aa7fa6b..f136108719d 100644
--- a/Master/texmf-dist/source/latex/expl3/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3prop.dtx
@@ -36,7 +36,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3prop.dtx 1365 2009-05-31 17:26:17Z mittelba $
+\GetIdInfo$Id: l3prop.dtx 1420 2009-07-08 19:07:14Z joseph $
{L3 Experimental Property Lists}
%\iffalse
%<*driver>
@@ -99,6 +99,7 @@
%
% \begin{function}{%
% \prop_put:Nnn |
+% \prop_put:NnV |
% \prop_put:cnn |
% \prop_gput:Nnn |
% \prop_gput:Nno |
@@ -540,6 +541,7 @@
% \end{macro}
%
% \begin{macro}{\prop_put:Nnn}
+% \begin{macro}{\prop_put:NnV}
% \begin{macro}{\prop_put:cnn}
% \begin{macro}{\prop_gput:Nnn}
% \begin{macro}{\prop_gput:NnV}
@@ -580,7 +582,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\cs_generate_variant:Nn \prop_put:Nnn {cnn}
+\cs_generate_variant:Nn \prop_put:Nnn { NnV, cnn }
% \end{macrocode}
%
% \begin{macrocode}
@@ -595,6 +597,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\prop_del:Nn}
% \begin{macro}{\prop_gdel:Nn}
diff --git a/Master/texmf-dist/source/latex/expl3/l3seq.dtx b/Master/texmf-dist/source/latex/expl3/l3seq.dtx
index 139e5038579..4c06643d19b 100644
--- a/Master/texmf-dist/source/latex/expl3/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3seq.dtx
@@ -36,7 +36,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3seq.dtx 1362 2009-05-28 20:19:21Z joseph $
+\GetIdInfo$Id: l3seq.dtx 1415 2009-06-17 19:37:24Z will $
{L3 Experimental sequences and stacks}
%\iffalse
%<*driver>
@@ -301,6 +301,14 @@
% As with "\seq_show:N" but pretty prints the output one line per element.
% \end{function}
%
+% \begin{function}{ \seq_remove_duplicates:N |
+% \seq_gremove_duplicates:N }
+% \begin{syntax}
+% "\seq_gremove_duplicates:N" <seq>
+% \end{syntax}
+% Function that removes any duplicate entries in <seq>.
+% \end{function}
+%
% \section{Predicates and conditionals}
%
% \begin{function}{ \seq_if_empty_p:N / (EXP) |
@@ -865,6 +873,45 @@
% \end{macro}
% \end{macro}
%
+% \subsection{Manipulation}
+%
+% \begin{macro}[aux]{\l_clist_remove_clist}
+% A common scratch space for the removal routines.
+% \begin{macrocode}
+\seq_new:N \l_seq_remove_seq
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[aux]{\seq_remove_duplicates_aux:NN}
+% \begin{macro}[aux]{\seq_remove_duplicates_aux:n}
+% \begin{macro}{\seq_remove_duplicates:N}
+% \begin{macro}{\seq_gremove_duplicates:N}
+% Copied from "\clist_remove_duplicates".
+% \begin{macrocode}
+\cs_new:Nn \seq_remove_duplicates_aux:NN {
+ \seq_clear:N \l_seq_remove_seq
+ \seq_map_function:NN #2 \seq_remove_duplicates_aux:n
+ #1 #2 \l_seq_remove_seq
+}
+\cs_new:Nn \seq_remove_duplicates_aux:n {
+ \seq_if_in:NnF \l_seq_remove_seq {#1} {
+ \seq_put_right:Nn \l_seq_remove_seq {#1}
+ }
+}
+% \end{macrocode}
+% \begin{macrocode}
+\cs_new_nopar:Npn \seq_remove_duplicates:N {
+ \seq_remove_duplicates_aux:NN \seq_set_eq:NN
+}
+\cs_new_nopar:Npn \seq_gremove_duplicates:N {
+ \seq_remove_duplicates_aux:NN \seq_gset_eq:NN
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Sequence stacks}
%
% \begin{macro}{\seq_push:Nn}
diff --git a/Master/texmf-dist/source/latex/expl3/l3tl.dtx b/Master/texmf-dist/source/latex/expl3/l3tl.dtx
index e63646016e8..011f99fc26a 100644
--- a/Master/texmf-dist/source/latex/expl3/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3tl.dtx
@@ -36,7 +36,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3tl.dtx 1365 2009-05-31 17:26:17Z mittelba $
+\GetIdInfo$Id: l3tl.dtx 1421 2009-07-10 21:10:59Z joseph $
{L3 Experimental Token Lists}
%\iffalse
%<*driver>
@@ -123,7 +123,6 @@
% \tl_set:NV |
% \tl_set:No |
% \tl_set:Nv |
-% \tl_set:Nd |
% \tl_set:Nf |
% \tl_set:Nx |
% \tl_set:cn |
@@ -134,7 +133,6 @@
% \tl_gset:Nc |
% \tl_gset:No |
% \tl_gset:NV |
-% \tl_gset:Nd |
% \tl_gset:Nv |
% \tl_gset:Nx |
% \tl_gset:cn |
@@ -869,7 +867,6 @@
% \begin{macro}{\tl_set:NV}
% \begin{macro}{\tl_set:No}
% \begin{macro}{\tl_set:Nv}
-% \begin{macro}{\tl_set:Nd}
% \begin{macro}{\tl_set:Nf}
% \begin{macro}{\tl_set:Nx}
% \begin{macro}{\tl_set:cn}
@@ -880,7 +877,6 @@
% \begin{macro}{\tl_gset:NV}
% \begin{macro}{\tl_gset:No}
% \begin{macro}{\tl_gset:Nv}
-% \begin{macro}{\tl_gset:Nd}
% \begin{macro}{\tl_gset:Nx}
% \begin{macro}{\tl_gset:cn}
% \begin{macro}{\tl_gset:cx}
@@ -934,8 +930,8 @@
% The remaining functions can just be defined with help from the
% expansion module.
% \begin{macrocode}
-\cs_generate_variant:Nn \tl_set:Nn {NV,No,Nv,Nd,Nf,cn,cV,co,cx}
-\cs_generate_variant:Nn \tl_gset:Nn {NV,No,Nv,Nd,cn,cx}
+\cs_generate_variant:Nn \tl_set:Nn {NV,No,Nv,Nf,cn,cV,co,cx}
+\cs_generate_variant:Nn \tl_gset:Nn {NV,No,Nv,cn,cx}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -954,8 +950,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}{\tl_set_eq:NN}
% \begin{macro}{\tl_set_eq:Nc}
@@ -1123,8 +1117,7 @@
\tl_gset:Nx #1 { #2 \exp_not:V #1 }
%<check> \chk_local_or_pref_global:N #1
}
-\cs_generate_variant:Nn \tl_put_left:Nn {cn,co}
-\cs_generate_variant:Nn \tl_put_left:NV {cV}
+\cs_generate_variant:Nn \tl_put_left:Nn {cn,co,cV}
% \end{macrocode}
%
% \begin{macrocode}
@@ -1202,8 +1195,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\cs_generate_variant:Nn \tl_gput_right:Nn {cn,co}
-\cs_generate_variant:Nn \tl_gput_right:NV {cV}
+\cs_generate_variant:Nn \tl_gput_right:Nn {cn,co,cV}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1869,13 +1861,13 @@
% \begin{macrocode}
\cs_new:Npn \tl_set_rescan_aux:NNnn #1#2#3#4 {
\group_begin:
- \toks_set:No \etex_everyeof:D { \c_two_ats_with_two_catcodes_tl }
+ \toks_set:NV \etex_everyeof:D \c_two_ats_with_two_catcodes_tl
\tex_endlinechar:D = \c_minus_one
#3
\exp_after:wN \tl_rescan_aux:w \etex_scantokens:D {#4}
- \exp_args:NNNo
+ \exp_args:NNNV
\group_end:
- #1 #2 { \l_tmpa_tl }
+ #1 #2 \l_tmpa_toks
}
% \end{macrocode}
%
@@ -1885,7 +1877,7 @@
\exp_after:wN \tl_rescan_aux:w
\exp_after:wN #
\exp_after:wN 1 \c_two_ats_with_two_catcodes_tl {
- \tl_set:Nn \l_tmpa_tl {#1}
+ \tl_set:Nn \l_tmpa_toks {#1}
}
% \end{macrocode}
%
@@ -1910,9 +1902,9 @@
\tex_endlinechar:D = \c_minus_one
#2
\tl_set:Nx \l_tmpa_tl { \etex_scantokens:D {#3} }
- \exp_args:NNNo
+ \exp_args:NNNV
\group_end:
- \tl_set:Nn #1 { \l_tmpa_tl }
+ \tl_set:Nn #1 \l_tmpa_tl
}
% \end{macrocode}
% Globally is easier again:
@@ -1937,11 +1929,12 @@
% \begin{macrocode}
\cs_new:Npn \tl_rescan:nn #1#2 {
\group_begin:
- \etex_everyeof:D { \exp_not:N }
+ \toks_set:NV \etex_everyeof:D \c_two_ats_with_two_catcodes_tl
\tex_endlinechar:D = \c_minus_one
#1
- \toks_set:Nx \l_tmpa_toks { \etex_scantokens:D {#2} }
- \exp_args:NV \group_end: \l_tmpa_toks
+ \exp_after:wN \tl_rescan_aux:w \etex_scantokens:D {#2}
+ \exp_args:NV \group_end:
+ \l_tmpa_toks
}
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/expl3/l3toks.dtx b/Master/texmf-dist/source/latex/expl3/l3toks.dtx
index e5575678f27..80c9305ffb6 100644
--- a/Master/texmf-dist/source/latex/expl3/l3toks.dtx
+++ b/Master/texmf-dist/source/latex/expl3/l3toks.dtx
@@ -36,7 +36,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3toks.dtx 1362 2009-05-28 20:19:21Z joseph $
+\GetIdInfo$Id: l3toks.dtx 1412 2009-06-14 17:55:48Z joseph $
{L3 Experimental Token Registers}
%\iffalse
%<*driver>
@@ -125,14 +125,12 @@
% \toks_set:Nv |
% \toks_set:No |
% \toks_set:Nx |
-% \toks_set:Nd |
% \toks_set:Nf |
% \toks_set:cn |
% \toks_set:co |
% \toks_set:cV |
% \toks_set:cv |
% \toks_set:cx |
-% \toks_set:cd |
% \toks_set:cf }
% \begin{syntax}
% "\toks_set:Nn" <toks> \Arg{token list}
@@ -386,14 +384,12 @@
% \begin{macro}{\toks_set:Nv}
% \begin{macro}{\toks_set:No}
% \begin{macro}{\toks_set:Nx}
-% \begin{macro}{\toks_set:Nd}
% \begin{macro}{\toks_set:Nf}
% \begin{macro}{\toks_set:cn}
% \begin{macro}{\toks_set:co}
% \begin{macro}{\toks_set:cV}
% \begin{macro}{\toks_set:cv}
% \begin{macro}{\toks_set:cx}
-% \begin{macro}{\toks_set:cd}
% \begin{macro}{\toks_set:cf}
% |\toks_set:Nn|\m{toks}\m{stuff} stores \m{stuff} without expansion
% in \m{toks}. |\toks_set:No| and |\toks_set:Nx| expand \m{stuff} once
@@ -401,7 +397,7 @@
% \begin{macrocode}
%<*check>
\cs_new_nopar:Npn \toks_set:Nn #1 { \chk_local:N #1 #1 }
-\cs_generate_variant:Nn \toks_set:Nn {No,Nd,Nf}
+\cs_generate_variant:Nn \toks_set:Nn {No,Nf}
%</check>
% \end{macrocode}
% If we don't check if \m{toks} is a local register then the
@@ -420,9 +416,6 @@
#1 \exp_after:wN { \int_to_roman:w -`0 \exp_eval_register:c {#2} }
}
\cs_new:Npn \toks_set:No #1#2 { #1 \exp_after:wN {#2} }
-\cs_new:Npn \toks_set:Nd #1#2 {
- #1 \exp_after:wN \exp_after:wN \exp_after:wN {#2}
-}
\cs_new:Npn \toks_set:Nf #1#2 {
#1 \exp_after:wN { \int_to_roman:w -`0#2 }
}
@@ -430,7 +423,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\cs_generate_variant:Nn \toks_set:Nn {Nx,cn,cV,cv,co,cx,cd,cf}
+\cs_generate_variant:Nn \toks_set:Nn {Nx,cn,cV,cv,co,cx,cf}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -444,8 +437,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \begin{macro}{\toks_gset:Nn}
% \begin{macro}{\toks_gset:NV}