summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2012-10-06 09:34:54 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2012-10-06 09:34:54 +0000
commit11eb9a3891b7dd3261bf06e2421e6ae87aba4153 (patch)
tree0a1ec8718e0c0ac641c4e7630e2278a438d9b11a /Master/texmf-dist/tex/latex/l3kernel
parenta9a23194b1cababcf9c24e48937a726cb465813a (diff)
l3kernel update
git-svn-id: svn://tug.org/texlive/trunk@27898 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty24
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty17
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3clist.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls53
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3file.sty11
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty10
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty60
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3keys.sty26
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3msg.sty36
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3seq.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3skip.sty63
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3tl.sty51
17 files changed, 253 insertions, 126 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index d18bfd8148c..0991128f880 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -60,8 +60,8 @@
}
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 Experimental code bundle wrapper}
-\def\ExplFileDate{2012/09/05}
-\def\ExplFileVersion{4205}
+\def\ExplFileDate{2012/09/29}
+\def\ExplFileVersion{4249}
\RequirePackage{etex}
\reserveinserts{32}
\ProvidesExplPackage
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
index d9dfc41083c..e9dc558a962 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3basics.dtx 4144 2012-08-27 19:37:16Z bruno $
+\GetIdInfo$Id: l3basics.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Basic definitions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -75,7 +75,6 @@
\tex_let:D \token_to_meaning:N \tex_meaning:D
\tex_let:D \token_to_str:N \tex_string:D
\tex_let:D \cs_meaning:N \tex_meaning:D
-\tex_let:D \cs_show:N \tex_show:D
\tex_let:D \scan_stop: \tex_relax:D
\tex_let:D \group_begin: \tex_begingroup:D
\tex_let:D \group_end: \tex_endgroup:D
@@ -98,8 +97,6 @@
{ \tl_to_str:n {undefined} }
}
\tex_let:D \token_to_meaning:c = \cs_meaning:c
-\etex_protected:D \tex_def:D \cs_show:c
- { \group_begin: \exp_args:NNc \group_end: \cs_show:N }
\tex_let:D \c_minus_one \m@ne
\tex_chardef:D \c_sixteen = 16 ~
\tex_chardef:D \c_zero = 0 ~
@@ -739,6 +736,25 @@
}
\cs_new_protected_nopar:Npn \__kernel_register_show:c
{ \exp_args:Nc \__kernel_register_show:N }
+\group_begin:
+ \tex_lccode:D `? = `: \scan_stop:
+ \tex_catcode:D `? = 12 \scan_stop:
+\tex_lowercase:D
+ {
+ \group_end:
+ \cs_new_protected:Npn \cs_show:N #1
+ {
+ \__msg_show_variable:n
+ {
+ > ~ \token_to_str:N #1 =
+ \exp_after:wN \__cs_show:www \cs_meaning:N #1
+ \use_none:nn ? \prg_do_nothing:
+ }
+ }
+ \cs_new:Npn \__cs_show:www #1 ? { #1 ? \\ }
+ }
+\cs_new_protected_nopar:Npn \cs_show:c
+ { \group_begin: \exp_args:NNc \group_end: \cs_show:N }
\cs_new_eq:NN \luatex_if_engine:T \use_none:n
\cs_new_eq:NN \luatex_if_engine:F \use:n
\cs_new_eq:NN \luatex_if_engine:TF \use_ii:nn
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
index 6ee3e3a018b..433ff506d60 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
@@ -578,10 +578,14 @@
}
\cs_new_protected:Npn \__coffin_find_corner_maxima_aux:nn #1#2
{
- \dim_set_min:Nn \l__coffin_left_corner_dim {#1}
- \dim_set_max:Nn \l__coffin_right_corner_dim {#1}
- \dim_set_min:Nn \l__coffin_bottom_corner_dim {#2}
- \dim_set_max:Nn \l__coffin_top_corner_dim {#2}
+ \dim_set:Nn \l__coffin_left_corner_dim
+ { \dim_min:nn { \l__coffin_left_corner_dim } {#1} }
+ \dim_set:Nn \l__coffin_right_corner_dim
+ { \dim_max:nn { \l__coffin_right_corner_dim } {#1} }
+ \dim_set:Nn \l__coffin_bottom_corner_dim
+ { \dim_min:nn { \l__coffin_bottom_corner_dim } {#2} }
+ \dim_set:Nn \l__coffin_top_corner_dim
+ { \dim_max:nn { \l__coffin_top_corner_dim } {#2} }
}
\cs_new_protected_nopar:Npn \__coffin_find_bounding_shift:
{
@@ -590,7 +594,10 @@
{ \__coffin_find_bounding_shift_aux:nn ##2 }
}
\cs_new_protected:Npn \__coffin_find_bounding_shift_aux:nn #1#2
- { \dim_set_min:Nn \l__coffin_bounding_shift_dim {#1} }
+ {
+ \dim_set:Nn \l__coffin_bounding_shift_dim
+ { \dim_min:nn { \l__coffin_bounding_shift_dim } {#1} }
+ }
\cs_new_protected:Npn \__coffin_shift_corner:Nnnn #1#2#3#4
{
\prop_put:cnx { l__coffin_corners_ \__int_value:w #1 _ prop } {#2}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
index 18cee384adc..284830694db 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3clist.dtx 4102 2012-08-15 16:08:27Z bruno $
+\GetIdInfo$Id: l3clist.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Comma separated lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -419,7 +419,7 @@
}
\cs_new_protected:Npn \clist_show:N #1
{
- \__msg_show_variable:Nnx #1 { clist }
+ \__msg_show_variable:Nnn #1 { clist }
{ \clist_map_function:NN #1 \__msg_show_item:n }
}
\cs_new_protected:Npn \clist_show:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
index 1b8d88d4761..a3743a477ad 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
@@ -47,7 +47,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3coffins.dtx 4092 2012-08-14 14:04:41Z bruno $
+\GetIdInfo$Id: l3coffins.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Coffin code layer}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -807,7 +807,7 @@
{
\__coffin_if_exist:NT #1
{
- \__msg_show_variable:Nnx #1 { coffins }
+ \__msg_show_variable:Nnn #1 { coffins }
{
\prop_map_function:cN
{ l__coffin_poles_ \__int_value:w #1 _prop }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 81daef1452a..b75f0c5779c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -4,7 +4,8 @@
%%
%% The original source files were:
%%
-%% l3doc.dtx (with options: `class')
+%% l3doc.dtx (with options: `class,cfg')
+%%
%%
%% EXPERIMENTAL CODE
%%
@@ -13,6 +14,7 @@
%%
%% Do not distribute a modified version of this file.
%%
+%%
%% File: l3doc.dtx Copyright (C) 1990-2012 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
@@ -50,7 +52,7 @@
\let \fileversionOld \ExplFileVersion
\let \filedescriptionOld \ExplFileDescription
\RequirePackage{expl3,xparse,calc}
-\GetIdInfo$Id: l3doc.dtx 4130 2012-08-20 21:30:22Z joseph $
+\GetIdInfo$Id: l3doc.dtx 4230 2012-09-24 21:44:28Z joseph $
{L3 Experimental documentation class}
\ProvidesExplClass
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -1173,6 +1175,7 @@
\clist_map_inline:nn {#1}
{
\clist_put_right:Nn \g_docinput_clist {##1}
+ \tl_gclear:N \g__codedoc_module_name_tl
\MakePercentIgnore
\input{##1}
\MakePercentComment
@@ -1183,6 +1186,7 @@
\clist_map_inline:Nn \g_docinput_clist
{
\MakePercentIgnore
+ \tl_gclear:N \g__codedoc_module_name_tl
\input{##1}
\MakePercentComment
}
@@ -1446,6 +1450,51 @@
\DisableCrossrefs
\OnlyDescription
}
+\tl_new:N \Team
+\tl_set:Nn \Team
+ {
+ The~\LaTeX3~Project\thanks
+ {
+ Frank~Mittelbach,~Denys~Duchier,~Chris~Rowley,~
+ Rainer~Sch\"opf,~Johannes~Braams,~Michael~Downes,~
+ David~Carlisle,~Alan~Jeffrey,~Morten~H\o{}gholm,~Thomas~Lotze,~
+ Javier~Bezos,~Will~Robertson,~Joseph~Wright,~Bruno~Le~Floch
+ }
+ }
+\NewDocumentCommand{\ExplMakeTitle}{mm}
+ {
+ \title
+ {
+ The~\pkg{#1}~package \\ #2
+ \thanks
+ {
+ This~file~describes~v\ExplFileVersion,~
+ last~revised~\ExplFileDate.
+ }
+ }
+ \author
+ {
+ The~\LaTeX3~Project\thanks{E-mail:~
+ \href{mailto:latex-l@listserv.uni-heidelberg.de}
+ {latex-l@listserv.uni-heidelberg.de}}
+ }
+ \date{Released~\ExplFileDate}
+ \maketitle
+ }
+\DeclareDocumentCommand\ie{}{\emph{i.e.}}
+\DeclareDocumentCommand\eg{}{\emph{e.g.}}
+\DeclareDocumentCommand\Ie{}{\emph{I.e.}}
+\DeclareDocumentCommand\Eg{}{\emph{E.g.}}
+\AtBeginDocument
+ {
+ \clist_map_inline:nn
+ {
+ asin, acos, atan, acot,
+ asinh, acosh, atanh, acoth, round, floor, ceil
+ }
+ { \exp_args:Nc \DeclareMathOperator{#1}{#1} }
+ }
+\NewDocumentCommand { \nan } { } { \text { \texttt { nan } } }
%%
%%
%% End of file `l3doc.cls'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
index 44e02bdff7c..b3c04f68873 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3file.dtx 4101 2012-08-15 16:05:33Z bruno $
+\GetIdInfo$Id: l3file.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 File and I/O operations}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -307,7 +307,7 @@
\__msg_term:nnn { LaTeX / kernel }
{ \prop_if_empty:NTF #1 { show-no-stream } { show-open-streams } }
{#2}
- \__msg_show_variable:x
+ \__msg_show_variable:n
{ \prop_map_function:NN #1 \__msg_show_item_unbraced:nn }
}
\cs_new_eq:NN \if_eof:w \tex_ifeof:D
@@ -420,13 +420,14 @@
\cs_new_protected_nopar:Npn \iow_list_streams:
{ \__iow_list_streams:Nn \g__iow_streams_prop { output } }
\cs_new_eq:NN \__iow_list_streams:Nn \__ior_list_streams:Nn
-\cs_new_eq:NN \iow_shipout_x:Nn \tex_write:D
+\cs_new_protected:Npn \iow_shipout_x:Nn #1#2
+ { \tex_write:D #1 {#2} }
\cs_generate_variant:Nn \iow_shipout_x:Nn { Nx }
\cs_new_protected:Npn \iow_shipout:Nn #1#2
- { \iow_shipout_x:Nn #1 { \exp_not:n {#2} } }
+ { \tex_write:D #1 { \exp_not:n {#2} } }
\cs_generate_variant:Nn \iow_shipout:Nn { Nx }
\cs_new_protected:Npn \iow_now:Nn #1#2
- { \tex_immediate:D \iow_shipout_x:Nn #1 { \exp_not:n {#2} } }
+ { \tex_immediate:D \tex_write:D #1 { \exp_not:n {#2} } }
\cs_generate_variant:Nn \iow_now:Nn { Nx }
\cs_set_protected_nopar:Npn \iow_log:x { \iow_now:Nx \c_log_iow }
\cs_new_protected_nopar:Npn \iow_log:n { \iow_now:Nn \c_log_iow }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
index eac513e519c..6c9d3b3bc2e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
@@ -59,7 +59,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3fp.dtx 4151 2012-08-28 11:51:52Z bruno $
+\GetIdInfo$Id: l3fp.dtx 4234 2012-09-26 09:43:31Z bruno $
{L3 Floating points}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -4419,6 +4419,10 @@
\cs_new_eq:NN \fp_eval:n \fp_to_decimal:n
\cs_new:Npn \fp_abs:n #1
{ \fp_to_decimal:n { abs \__fp_parse:n {#1} } }
+\cs_new:Npn \fp_max:nn #1#2
+ { \fp_to_decimal:n { max ( \__fp_parse:n {#1} , \__fp_parse:n {#2} ) } }
+\cs_new:Npn \fp_min:nn #1#2
+ { \fp_to_decimal:n { min ( \__fp_parse:n {#1} , \__fp_parse:n {#2} ) } }
\cs_new:Npn \__fp_array_to_clist:n #1
{
\tl_if_empty:nF {#1}
@@ -4516,14 +4520,14 @@
\cs_new_protected:Npn \fp_show:N #1
{
\fp_if_exist:NTF #1
- { \__msg_show_variable:x { > \fp_to_tl:N #1 } }
+ { \__msg_show_variable:n { > ~ \fp_to_tl:N #1 } }
{
\__msg_kernel_error:nnx { kernel } { variable-not-defined }
{ \token_to_str:N #1 }
}
}
\cs_new_protected:Npn \fp_show:n #1
- { \__msg_show_variable:x { > \fp_to_tl:n {#1} } }
+ { \__msg_show_variable:n { > ~ \fp_to_tl:n {#1} } }
\cs_generate_variant:Nn \fp_show:N { c }
\fp_const:Nn \c_e_fp { 2.718 2818 2845 9045 }
\fp_const:Nn \c_one_fp { 1 }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
index 25667fc8c75..cd2ab964888 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3int.dtx 4121 2012-08-17 01:36:30Z bruno $
+\GetIdInfo$Id: l3int.dtx 4237 2012-09-26 10:18:58Z bruno $
{L3 Integers}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -59,33 +59,35 @@
\cs_new:Npn \int_eval:n #1 { \__int_value:w \__int_eval:w #1 \__int_eval_end: }
\cs_new:Npn \int_abs:n #1
{
- \__int_value:w
- \if_int_compare:w \__int_eval:w #1 < \c_zero
- -
- \fi:
- \__int_eval:w #1 \__int_eval_end:
+ \__int_value:w \exp_after:wN \__int_abs:N
+ \int_use:N \__int_eval:w #1 \__int_eval_end:
+ \exp_stop_f:
}
-\cs_new:Npn \int_max:nn #1#2
+\cs_new:Npn \__int_abs:N #1
+ { \if_meaning:w - #1 \else: \exp_after:wN #1 \fi: }
+\cs_set:Npn \int_max:nn #1#2
{
- \__int_value:w \__int_eval:w
- \if_int_compare:w
- \__int_eval:w #1 > \__int_eval:w #2 \__int_eval_end:
- #1
- \else:
- #2
- \fi:
- \__int_eval_end:
+ \__int_value:w \exp_after:wN \__int_maxmin:wwN
+ \int_use:N \__int_eval:w #1 \exp_after:wN ;
+ \int_use:N \__int_eval:w #2 ;
+ >
+ \exp_stop_f:
}
-\cs_new:Npn \int_min:nn #1#2
+\cs_set:Npn \int_min:nn #1#2
{
- \__int_value:w \__int_eval:w
- \if_int_compare:w
- \__int_eval:w #1 < \__int_eval:w #2 \__int_eval_end:
- #1
- \else:
- #2
- \fi:
- \__int_eval_end:
+ \__int_value:w \exp_after:wN \__int_maxmin:wwN
+ \int_use:N \__int_eval:w #1 \exp_after:wN ;
+ \int_use:N \__int_eval:w #2 ;
+ <
+ \exp_stop_f:
+ }
+\cs_new:Npn \__int_maxmin:wwN #1 ; #2 ; #3
+ {
+ \if_int_compare:w #1 #3 #2 ~
+ #1
+ \else:
+ #2
+ \fi:
}
\cs_new:Npn \int_div_truncate:nn #1#2
{
@@ -108,13 +110,17 @@
\fi:
/ #3#4
}
-\cs_new:Npn \int_div_round:nn #1#2 { \int_eval:n { ( #1 ) / ( #2 ) } }
+\cs_new:Npn \int_div_round:nn #1#2
+ { \__int_value:w \__int_eval:w ( #1 ) / ( #2 ) \__int_eval_end: }
\cs_new:Npn \int_mod:nn #1#2
{
- \__int_value:w \__int_eval:w
- #1 - \int_div_truncate:nn {#1} {#2} * ( #2 )
+ \__int_value:w \__int_eval:w \exp_after:wN \__int_mod:ww
+ \__int_value:w \__int_eval:w #1 \exp_after:wN ;
+ \__int_value:w \__int_eval:w #2 ;
\__int_eval_end:
}
+\cs_new:Npn \__int_mod:ww #1; #2;
+ { #1 - ( \__int_div_truncate:NwNw #1 ; #2 ; ) * #2 }
\cs_new_protected:Npn \int_new:N #1
{
\__chk_if_free_cs:N #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
index 673001477d5..82dc4a656f7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3keys.dtx 3991 2012-07-16 19:00:35Z joseph $
+\GetIdInfo$Id: l3keys.dtx 4248 2012-09-29 19:55:27Z joseph $
{L3 Experimental key-value interfaces}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -73,7 +73,7 @@
\tl_replace_all:Nnn \l__keyval_sanitise_tl { , } { 9 }
\tl_clear:N \l__keyval_parse_tl
\exp_after:wN \__keyval_parse_elt:w \exp_after:wN
- \q_no_value \l__keyval_sanitise_tl 9 \q_nil 9
+ \q_nil \l__keyval_sanitise_tl 9 \q_recursion_tail 9 \q_recursion_stop
\exp_after:wN \group_end:
\l__keyval_parse_tl
}
@@ -81,18 +81,16 @@
\cs_new_protected:Npn \__keyval_parse_elt:w #1 ,
{
\tl_if_blank:oTF { \use_none:n #1 }
- { \__keyval_parse_elt:w \q_no_value }
+ { \__keyval_parse_elt:w \q_nil }
{
- \quark_if_nil:oF { \use_ii:nn #1 }
- {
- \__keyval_split_key_value:w #1 = = \q_stop
- \__keyval_parse_elt:w \q_no_value
- }
+ \quark_if_recursion_tail_stop:o { \use_ii:nn #1 }
+ \__keyval_split_key_value:w #1 = = \q_stop
+ \__keyval_parse_elt:w \q_nil
}
}
\cs_new_protected:Npn \__keyval_split_key_value:w #1 = #2 \q_stop
{
- \__keyval_split_key:w #1 \q_stop
+ \__keyval_split_key:n {#1}
\str_if_eq:nnTF {#2} { = }
{
\tl_put_right:Nx \l__keyval_parse_tl
@@ -110,11 +108,15 @@
}
\cs_new:Npn \__keyval_split_key_value:wTF #1 = #2#3 \q_stop
{ \tl_if_head_eq_meaning:nNTF {#3} \q_no_value }
-\cs_new_protected:Npn \__keyval_split_key:w #1 \q_stop
+\cs_new_protected:Npn \__keyval_split_key:n #1
{
- \tl_set:Nx \l__keyval_key_tl
- { \exp_after:wN \tl_trim_spaces:n \exp_after:wN { \use_none:n #1 } }
+ \str_if_eq_x:nnTF
+ { \exp_not:N \q_nil } { \exp_not:o { \use_none:nnn #1 \q_nil \q_nil } }
+ { \tl_set:Nx \l__keyval_key_tl { \exp_not:o { \use_ii:nnn #1 \q_nil } } }
+ { \__keyval_split_key:w #1 \q_stop }
}
+\cs_new_protected:Npn \__keyval_split_key:w \q_nil #1 \q_stop
+ { \tl_set:Nx \l__keyval_key_tl { \tl_trim_spaces:n {#1} } }
\cs_new_protected:Npn \__keyval_split_value:w #1 = =
{
\tl_put_right:Nx \l__keyval_parse_tl
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
index 0d717006172..584b54ac427 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3msg.dtx 4147 2012-08-28 10:27:33Z bruno $
+\GetIdInfo$Id: l3msg.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Messages}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -744,43 +744,37 @@
\cs_if_exist:NTF #1
{
\__msg_term:nnn { LaTeX / kernel } { show- #2 } {#1}
- \__msg_show_variable:x { \tl_to_str:n {#3} }
+ \__msg_show_variable:n {#3}
}
{
\__msg_kernel_error:nnx { kernel } { variable-not-defined }
{ \token_to_str:N #1 }
}
}
-\cs_generate_variant:Nn \__msg_show_variable:Nnn { Nnx }
\cs_new_protected:Npn \__msg_show_variable:n #1
+ { \iow_wrap:nnnN {#1} { } { } \__msg_show_variable_aux:n }
+\cs_new_protected:Npn \__msg_show_variable_aux:n #1
{
- \tl_set:Nn \l__msg_internal_tl {#1}
- \tl_if_empty:NTF \l__msg_internal_tl
- { \etex_showtokens:D \exp_after:wN { } }
- {
- \exp_args:Nf \etex_showtokens:D
- {
- \exp_after:wN \exp_after:wN
- \exp_after:wN \__msg_show_variable:w
- \exp_after:wN \l__msg_internal_tl
- }
- }
+ \tl_if_empty:nTF {#1}
+ { \tl_clear:N \l__msg_internal_tl }
+ { \tl_set:Nf \l__msg_internal_tl { \__msg_show_variable_aux:w #1 } }
+ \etex_showtokens:D \exp_after:wN \exp_after:wN \exp_after:wN
+ { \exp_after:wN \l__msg_internal_tl }
}
-\cs_generate_variant:Nn \__msg_show_variable:n { x }
-\cs_new:Npn \__msg_show_variable:w #1 > { }
+\cs_new:Npn \__msg_show_variable_aux:w #1 > { }
\cs_new:Npn \__msg_show_item:n #1
{
- \iow_newline: > \c_space_tl \c_space_tl { \exp_not:n {#1} }
+ \\ > \ \ \{ \tl_to_str:n {#1} \}
}
\cs_new:Npn \__msg_show_item:nn #1#2
{
- \iow_newline: > \c_space_tl \c_space_tl { \exp_not:n {#1} }
- \c_space_tl \c_space_tl => \c_space_tl \c_space_tl { \exp_not:n {#2} }
+ \\ > \ \ \{ \tl_to_str:n {#1} \}
+ \ \ => \ \ \{ \tl_to_str:n {#2} \}
}
\cs_new:Npn \__msg_show_item_unbraced:nn #1#2
{
- \iow_newline: > \c_space_tl \c_space_tl \exp_not:n {#1}
- \c_space_tl \c_space_tl => \c_space_tl \c_space_tl \exp_not:n {#2}
+ \\ > \ \ \tl_to_str:n {#1}
+ \ \ => \ \ \tl_to_str:n {#2}
}
\cs_new_nopar:Npn \msg_newline: { ^^J }
\cs_new_nopar:Npn \msg_two_newlines: { ^^J ^^J }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
index 660aa9e659b..7c12c601af2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}[2012/07/15]
-\GetIdInfo$Id: l3names.dtx 3990 2012-07-16 07:46:03Z joseph $
+\GetIdInfo$Id: l3names.dtx 4230 2012-09-24 21:44:28Z joseph $
{L3 Namespace for primitives}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
index 93ef25ee4b6..0b719688663 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3prg.dtx 4114 2012-08-16 01:57:02Z bruno $
+\GetIdInfo$Id: l3prg.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Control structures}
%%
\ProvidesExplPackage
@@ -106,8 +106,8 @@
\cs_new_protected:Npn \bool_show:n #1
{
\bool_if:nTF {#1}
- { \__msg_show_variable:n { > true } }
- { \__msg_show_variable:n { > false } }
+ { \__msg_show_variable:n { > ~ true } }
+ { \__msg_show_variable:n { > ~ false } }
}
\cs_generate_variant:Nn \bool_show:N { c }
\bool_new:N \l_tmpa_bool
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
index e9ecb340822..916ff713332 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3prop.dtx 4190 2012-09-03 00:23:31Z bruno $
+\GetIdInfo$Id: l3prop.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Property lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -295,7 +295,7 @@
{ \__prg_map_break:Nn \prop_map_break: }
\cs_new_protected:Npn \prop_show:N #1
{
- \__msg_show_variable:Nnx #1 { prop }
+ \__msg_show_variable:Nnn #1 { prop }
{ \prop_map_function:NN #1 \__msg_show_item:nn }
}
\cs_generate_variant:Nn \prop_show:N { c }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
index 58e3b205359..1a59d7c4911 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3seq.dtx 4092 2012-08-14 14:04:41Z bruno $
+\GetIdInfo$Id: l3seq.dtx 4212 2012-09-09 12:24:04Z bruno $
{L3 Sequences and stacks}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -433,7 +433,7 @@
\prg_new_eq_conditional:NNn \seq_gpop:cN \seq_gpop_left:cN { T , F , TF }
\cs_new_protected:Npn \seq_show:N #1
{
- \__msg_show_variable:Nnx #1 { seq }
+ \__msg_show_variable:Nnn #1 { seq }
{ \seq_map_function:NN #1 \__msg_show_item:n }
}
\cs_generate_variant:Nn \seq_show:N { c }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
index adbdbc68d8c..4e7c82c333a 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
@@ -47,7 +47,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3skip.dtx 4121 2012-08-17 01:36:30Z bruno $
+\GetIdInfo$Id: l3skip.dtx 4235 2012-09-26 09:48:18Z bruno $
{L3 Dimensions and skips}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -96,20 +96,6 @@
\cs_new_protected:Npn \dim_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
\cs_generate_variant:Nn \dim_gset_eq:NN { c }
\cs_generate_variant:Nn \dim_gset_eq:NN { Nc , cc }
-\cs_new_protected_nopar:Npn \dim_set_max:Nn
- { \__dim_set_max:NNNn < \dim_set:Nn }
-\cs_new_protected_nopar:Npn \dim_gset_max:Nn
- { \__dim_set_max:NNNn < \dim_gset:Nn }
-\cs_new_protected_nopar:Npn \dim_set_min:Nn
- { \__dim_set_max:NNNn > \dim_set:Nn }
-\cs_new_protected_nopar:Npn \dim_gset_min:Nn
- { \__dim_set_max:NNNn > \dim_gset:Nn }
-\cs_new_protected:Npn \__dim_set_max:NNNn #1#2#3#4
- { \dim_compare:nNnT {#3} #1 {#4} { #2 #3 {#4} } }
-\cs_generate_variant:Nn \dim_set_max:Nn { c }
-\cs_generate_variant:Nn \dim_gset_max:Nn { c }
-\cs_generate_variant:Nn \dim_set_min:Nn { c }
-\cs_generate_variant:Nn \dim_gset_min:Nn { c }
\cs_new_protected:Npn \dim_add:Nn #1#2
{ \tex_advance:D #1 by \__dim_eval:w #2 \__dim_eval_end: }
\cs_new_protected:Npn \dim_gadd:Nn { \tex_global:D \dim_add:Nn }
@@ -122,14 +108,35 @@
\cs_generate_variant:Nn \dim_gsub:Nn { c }
\cs_new:Npn \dim_abs:n #1
{
- \dim_use:N
- \__dim_eval:w
- \if_dim:w \__dim_eval:w #1 < \c_zero_dim
- -
- \fi:
- \__dim_eval:w #1 \__dim_eval_end:
+ \exp_after:wN \__dim_abs:N
+ \dim_use:N \__dim_eval:w #1 \__dim_eval_end:
+ }
+\cs_new:Npn \__dim_abs:N #1
+ { \if_meaning:w - #1 \else: \exp_after:wN #1 \fi: }
+\cs_set:Npn \dim_max:nn #1#2
+ {
+ \dim_use:N \__dim_eval:w \exp_after:wN \__dim_maxmin:wwN
+ \dim_use:N \__dim_eval:w #1 \exp_after:wN ;
+ \dim_use:N \__dim_eval:w #2 ;
+ >
+ \__dim_eval_end:
+ }
+\cs_set:Npn \dim_min:nn #1#2
+ {
+ \dim_use:N \__dim_eval:w \exp_after:wN \__dim_maxmin:wwN
+ \dim_use:N \__dim_eval:w #1 \exp_after:wN ;
+ \dim_use:N \__dim_eval:w #2 ;
+ <
\__dim_eval_end:
}
+\cs_new:Npn \__dim_maxmin:wwN #1 ; #2 ; #3
+ {
+ \if_dim:w #1 #3 #2 ~
+ #1
+ \else:
+ #2
+ \fi:
+ }
\cs_new:Npn \dim_ratio:nn #1#2
{ \__dim_ratio:n {#1} / \__dim_ratio:n {#2} }
\cs_new:Npn \__dim_ratio:n #1
@@ -441,6 +448,20 @@
\cs_new_eq:NN \prg_case_dim:nnn \dim_case:nnn
\cs_new_eq:NN \dim_eval:w \__dim_eval:w
\cs_new_eq:NN \dim_eval_end: \__dim_eval_end:
+\cs_new_protected_nopar:Npn \dim_set_max:Nn
+ { \__dim_set_max:NNNn < \dim_set:Nn }
+\cs_new_protected_nopar:Npn \dim_gset_max:Nn
+ { \__dim_set_max:NNNn < \dim_gset:Nn }
+\cs_new_protected_nopar:Npn \dim_set_min:Nn
+ { \__dim_set_max:NNNn > \dim_set:Nn }
+\cs_new_protected_nopar:Npn \dim_gset_min:Nn
+ { \__dim_set_max:NNNn > \dim_gset:Nn }
+\cs_new_protected:Npn \__dim_set_max:NNNn #1#2#3#4
+ { \dim_compare:nNnT {#3} #1 {#4} { #2 #3 {#4} } }
+\cs_generate_variant:Nn \dim_set_max:Nn { c }
+\cs_generate_variant:Nn \dim_gset_max:Nn { c }
+\cs_generate_variant:Nn \dim_set_min:Nn { c }
+\cs_generate_variant:Nn \dim_gset_min:Nn { c }
%%
%%
%% End of file `l3skip.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
index 8a8d89bb904..ef644d3dfd6 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3tl.dtx 4201 2012-09-05 08:00:54Z joseph $
+\GetIdInfo$Id: l3tl.dtx 4244 2012-09-28 22:46:36Z bruno $
{L3 Token lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -216,8 +216,10 @@
\cs_generate_variant:Nn \tl_set_rescan:Nnn { c , cno , cnx }
\cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nno , Nnx }
\cs_generate_variant:Nn \tl_gset_rescan:Nnn { c , cno }
-\cs_new_eq:NN \tl_to_lowercase:n \tex_lowercase:D
-\cs_new_eq:NN \tl_to_uppercase:n \tex_uppercase:D
+\cs_new_protected:Npn \tl_to_lowercase:n #1
+ { \tex_lowercase:D {#1} }
+\cs_new_protected:Npn \tl_to_uppercase:n #1
+ { \tex_uppercase:D {#1} }
\cs_new_protected_nopar:Npn \tl_replace_once:Nnn
{ \__tl_replace:NNNnn \__tl_replace_once: \tl_set:Nx }
\cs_new_protected_nopar:Npn \tl_greplace_once:Nnn
@@ -340,9 +342,9 @@
\prg_new_protected_conditional:Npnn \tl_if_eq:nn #1#2 { T , F , TF }
{
\group_begin:
- \tl_set:Nn \l_tl_internal_a_tl {#1}
- \tl_set:Nn \l_tl_internal_b_tl {#2}
- \if_meaning:w \l_tl_internal_a_tl \l_tl_internal_b_tl
+ \tl_set:Nn \l__tl_internal_a_tl {#1}
+ \tl_set:Nn \l__tl_internal_b_tl {#2}
+ \if_meaning:w \l__tl_internal_a_tl \l__tl_internal_b_tl
\group_end:
\prg_return_true:
\else:
@@ -350,8 +352,8 @@
\prg_return_false:
\fi:
}
-\tl_new:N \l_tl_internal_a_tl
-\tl_new:N \l_tl_internal_b_tl
+\tl_new:N \l__tl_internal_a_tl
+\tl_new:N \l__tl_internal_b_tl
\cs_new_protected_nopar:Npn \tl_if_in:NnT { \exp_args:No \tl_if_in:nnT }
\cs_new_protected_nopar:Npn \tl_if_in:NnF { \exp_args:No \tl_if_in:nnF }
\cs_new_protected_nopar:Npn \tl_if_in:NnTF { \exp_args:No \tl_if_in:nnTF }
@@ -588,10 +590,26 @@
{ \tl_gset:Nx #1 { \exp_args:No \tl_reverse:n { #1 } } }
\cs_generate_variant:Nn \tl_reverse:N { c }
\cs_generate_variant:Nn \tl_greverse:N { c }
-\cs_new:Npn \tl_head:w #1#2 \q_stop {#1}
\cs_new:Npn \tl_head:n #1
- { \etex_unexpanded:D \exp_after:wN { \tl_head:w #1 { } \q_stop } }
+ {
+ \etex_unexpanded:D
+ \if_false: { \fi: \__tl_head_i:nw #1 { } \q_stop }
+ }
+\cs_new:Npn \__tl_head_i:nw #1#2 \q_stop
+ { \exp_after:wN \__tl_head_ii:nw \exp_after:wN { \if_false: } \fi: {#1} }
+\cs_new:Npn \__tl_head_ii:nw #1
+ {
+ \exp_after:wN \if_meaning:w \exp_after:wN \q_nil
+ \tl_to_str:n \exp_after:wN { \use_none:n #1 } \q_nil
+ \exp_after:wN \use_i:nn
+ \else:
+ \exp_after:wN \use_ii:nn
+ \fi:
+ {#1}
+ { \if_false: { \fi: \__tl_head_i:nw #1 } }
+ }
\cs_generate_variant:Nn \tl_head:n { V , v , f }
+\cs_new:Npn \tl_head:w #1#2 \q_stop {#1}
\cs_new_nopar:Npn \tl_head:N { \exp_args:No \tl_head:n }
\cs_new:Npn \tl_tail:n #1
{
@@ -723,9 +741,18 @@
{ \exp_after:wN \c_zero \exp_after:wN \prg_return_false: }
\exp_after:wN \use_none:n \exp_after:wN { \if_false: } \fi:
}
-\cs_new_protected:Npn \tl_show:N #1 { \cs_show:N #1 }
+\cs_new_protected:Npn \tl_show:N #1
+ {
+ \cs_if_exist:NTF #1
+ { \cs_show:N #1 }
+ {
+ \__msg_kernel_error:nnx { kernel } { variable-not-defined }
+ { \token_to_str:N #1 }
+ }
+ }
\cs_generate_variant:Nn \tl_show:N { c }
-\cs_new_eq:NN \tl_show:n \etex_showtokens:D
+\cs_new_protected:Npn \tl_show:n #1
+ { \__msg_show_variable:n { > ~ \tl_to_str:n {#1} } }
\tl_new:N \g_tmpa_tl
\tl_new:N \g_tmpb_tl
\tl_new:N \l_tmpa_tl