summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
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.sty109
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3box.sty24
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3clist.sty10
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty13
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3file.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty14
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty117
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3keys.sty29
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3msg.sty237
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty12
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty14
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3seq.sty10
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3skip.sty140
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3tl.sty16
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3token.sty4
18 files changed, 469 insertions, 342 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 28dfab3ab00..f264342f725 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -59,8 +59,8 @@
}
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 Experimental code bundle wrapper}
-\def\ExplFileDate{2012/02/26}
-\def\ExplFileVersion{3471}
+\def\ExplFileDate{2012/04/23}
+\def\ExplFileVersion{3570}
\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 2193b30348f..182505d931f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3basics.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3basics.dtx 3491 2012-03-04 06:13:18Z bruno $
{L3 Experimental basic definitions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -67,13 +67,13 @@
\tex_let:D \if_mode_inner: \tex_ifinner:D
\tex_let:D \if_cs_exist:N \etex_ifdefined:D
\tex_let:D \if_cs_exist:w \etex_ifcsname:D
+\tex_let:D \cs:w \tex_csname:D
+\tex_let:D \cs_end: \tex_endcsname:D
\tex_let:D \exp_after:wN \tex_expandafter:D
\tex_let:D \exp_not:N \tex_noexpand:D
\tex_let:D \exp_not:n \etex_unexpanded:D
\tex_let:D \token_to_meaning:N \tex_meaning:D
\tex_let:D \token_to_str:N \tex_string:D
-\tex_let:D \cs:w \tex_csname:D
-\tex_let:D \cs_end: \tex_endcsname: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
@@ -398,11 +398,11 @@
{ \prg_return_true: }
}
\cs_set:Npn \cs_if_exist_use:NTF #1#2
- { \cs_if_exist:NTF #1 { #1 #2} }
+ { \cs_if_exist:NTF #1 { #1 #2 } }
\cs_set:Npn \cs_if_exist_use:NF #1
{ \cs_if_exist:NTF #1 { #1 } }
\cs_set:Npn \cs_if_exist_use:NT #1 #2
- { \cs_if_exist:NTF #1 { #1#2 } { } }
+ { \cs_if_exist:NTF #1 { #1 #2 } { } }
\cs_set:Npn \cs_if_exist_use:N #1
{ \cs_if_exist:NTF #1 { #1 } { } }
\cs_set:Npn \cs_if_exist_use:cTF #1#2
@@ -512,6 +512,10 @@
\cs_new_protected_nopar:Npn \cs_set_eq:cN { \exp_args:Nc \cs_set_eq:NN }
\cs_new_protected_nopar:Npn \cs_set_eq:Nc { \exp_args:NNc \cs_set_eq:NN }
\cs_new_protected_nopar:Npn \cs_set_eq:cc { \exp_args:Ncc \cs_set_eq:NN }
+\cs_new_protected_nopar:Npn \cs_gset_eq:NN { \tex_global:D \cs_set_eq:NN }
+\cs_new_protected_nopar:Npn \cs_gset_eq:Nc { \exp_args:NNc \cs_gset_eq:NN }
+\cs_new_protected_nopar:Npn \cs_gset_eq:cN { \exp_args:Nc \cs_gset_eq:NN }
+\cs_new_protected_nopar:Npn \cs_gset_eq:cc { \exp_args:Ncc \cs_gset_eq:NN }
\cs_new_protected:Npn \cs_new_eq:NN #1
{
\chk_if_free_cs:N #1
@@ -520,10 +524,6 @@
\cs_new_protected_nopar:Npn \cs_new_eq:cN { \exp_args:Nc \cs_new_eq:NN }
\cs_new_protected_nopar:Npn \cs_new_eq:Nc { \exp_args:NNc \cs_new_eq:NN }
\cs_new_protected_nopar:Npn \cs_new_eq:cc { \exp_args:Ncc \cs_new_eq:NN }
-\cs_new_protected_nopar:Npn \cs_gset_eq:NN { \tex_global:D \cs_set_eq:NN }
-\cs_new_protected_nopar:Npn \cs_gset_eq:Nc { \exp_args:NNc \cs_gset_eq:NN }
-\cs_new_protected_nopar:Npn \cs_gset_eq:cN { \exp_args:Nc \cs_gset_eq:NN }
-\cs_new_protected_nopar:Npn \cs_gset_eq:cc { \exp_args:Ncc \cs_gset_eq:NN }
\cs_new_protected:Npn \cs_undefine:N #1
{ \cs_gset_eq:NN #1 \c_undefined:D }
\cs_new_protected:Npn \cs_undefine:c #1
@@ -587,11 +587,11 @@
}
\cs_set:Npn \cs_tmp:w #1#2#3
{
- \cs_set_protected:cpx { cs_ #1 : #2 } ##1##2
+ \cs_new_protected:cpx { cs_ #1 : #2 } ##1##2
{
\exp_not:N \cs_generate_from_arg_count:NNnn ##1
\exp_after:wN \exp_not:N \cs:w cs_#1 : #3 \cs_end:
- { \exp_not:N\cs_get_arg_count_from_signature:N ##1 }{##2}
+ { \exp_not:N \cs_get_arg_count_from_signature:N ##1 }{##2}
}
}
\cs_tmp:w { set } { Nn } { Npn }
@@ -610,21 +610,22 @@
\cs_tmp:w { gset_protected } { Nx } { Npx }
\cs_tmp:w { gset_protected_nopar } { Nn } { Npn }
\cs_tmp:w { gset_protected_nopar } { Nx } { Npx }
-\cs_tmp:w { new } { Nn } { Npn }
-\cs_tmp:w { new } { Nx } { Npx }
-\cs_tmp:w { new_nopar } { Nn } { Npn }
-\cs_tmp:w { new_nopar } { Nx } { Npx }
-\cs_tmp:w { new_protected } { Nn } { Npn }
-\cs_tmp:w { new_protected } { Nx } { Npx }
-\cs_tmp:w { new_protected_nopar } { Nn } { Npn }
-\cs_tmp:w { new_protected_nopar } { Nx } { Npx }
+\cs_tmp:w { new } { Nn } { Npn }
+\cs_tmp:w { new } { Nx } { Npx }
+\cs_tmp:w { new_nopar } { Nn } { Npn }
+\cs_tmp:w { new_nopar } { Nx } { Npx }
+\cs_tmp:w { new_protected } { Nn } { Npn }
+\cs_tmp:w { new_protected } { Nx } { Npx }
+\cs_tmp:w { new_protected_nopar } { Nn } { Npn }
+\cs_tmp:w { new_protected_nopar } { Nx } { Npx }
\cs_set:Npn \cs_tmp:w #1#2#3
{
- \cs_set_protected:cpx {cs_#1:#2}##1##2{
- \exp_not:N\cs_generate_from_arg_count:cNnn {##1}
- \exp_after:wN \exp_not:N \cs:w cs_#1:#3 \cs_end:
- { \exp_not:N \cs_get_arg_count_from_signature:c {##1} } {##2}
- }
+ \cs_new_protected:cpx {cs_#1:#2} ##1##2
+ {
+ \exp_not:N \cs_generate_from_arg_count:cNnn {##1}
+ \exp_after:wN \exp_not:N \cs:w cs_#1:#3 \cs_end:
+ { \exp_not:N \cs_get_arg_count_from_signature:c {##1} } {##2}
+ }
}
\cs_tmp:w { set } { cn } { Npn }
\cs_tmp:w { set } { cx } { Npx }
@@ -642,14 +643,14 @@
\cs_tmp:w { gset_protected } { cx } { Npx }
\cs_tmp:w { gset_protected_nopar } { cn } { Npn }
\cs_tmp:w { gset_protected_nopar } { cx } { Npx }
-\cs_tmp:w { new } { cn } { Npn }
-\cs_tmp:w { new } { cx } { Npx }
-\cs_tmp:w { new_nopar } { cn } { Npn }
-\cs_tmp:w { new_nopar } { cx } { Npx }
-\cs_tmp:w { new_protected } { cn } { Npn }
-\cs_tmp:w { new_protected } { cx } { Npx }
-\cs_tmp:w { new_protected_nopar } { cn } { Npn }
-\cs_tmp:w { new_protected_nopar } { cx } { Npx }
+\cs_tmp:w { new } { cn } { Npn }
+\cs_tmp:w { new } { cx } { Npx }
+\cs_tmp:w { new_nopar } { cn } { Npn }
+\cs_tmp:w { new_nopar } { cx } { Npx }
+\cs_tmp:w { new_protected } { cn } { Npn }
+\cs_tmp:w { new_protected } { cx } { Npx }
+\cs_tmp:w { new_protected_nopar } { cn } { Npn }
+\cs_tmp:w { new_protected_nopar } { cx } { Npx }
\prg_new_conditional:Npnn \cs_if_eq:NN #1#2 { p , T , F , TF }
{
\if_meaning:w #1#2
@@ -670,11 +671,11 @@
\cs_new:Npn \kernel_register_show:N #1
{
\cs_if_exist:NTF #1
- { \tex_showthe:D \use:n #1 }
- {
- \msg_kernel_error:nnx { kernel } { variable-not-defined }
- { \token_to_str:N #1 }
- }
+ { \tex_showthe:D \use:n {#1} }
+ {
+ \msg_kernel_error:nnx { kernel } { variable-not-defined }
+ { \token_to_str:N #1 }
+ }
}
\cs_new_nopar:Npn \kernel_register_show:c
{ \exp_args:Nc \kernel_register_show:N }
@@ -692,32 +693,32 @@
\cs_new_eq:NN \xetex_if_engine_p: \c_false_bool
\cs_if_exist:NT \xetex_XeTeXversion:D
{
- \cs_set_eq:NN \pdftex_if_engine:T \use_none:n
- \cs_set_eq:NN \pdftex_if_engine:F \use:n
- \cs_set_eq:NN \pdftex_if_engine:TF \use_ii:nn
- \cs_set_eq:NN \xetex_if_engine:T \use:n
- \cs_set_eq:NN \xetex_if_engine:F \use_none:n
- \cs_set_eq:NN \xetex_if_engine:TF \use_i:nn
- \cs_set_eq:NN \pdftex_if_engine_p: \c_false_bool
- \cs_set_eq:NN \xetex_if_engine_p: \c_true_bool
+ \cs_gset_eq:NN \pdftex_if_engine:T \use_none:n
+ \cs_gset_eq:NN \pdftex_if_engine:F \use:n
+ \cs_gset_eq:NN \pdftex_if_engine:TF \use_ii:nn
+ \cs_gset_eq:NN \xetex_if_engine:T \use:n
+ \cs_gset_eq:NN \xetex_if_engine:F \use_none:n
+ \cs_gset_eq:NN \xetex_if_engine:TF \use_i:nn
+ \cs_gset_eq:NN \pdftex_if_engine_p: \c_false_bool
+ \cs_gset_eq:NN \xetex_if_engine_p: \c_true_bool
}
\cs_if_exist:NT \luatex_directlua:D
{
- \cs_set_eq:NN \luatex_if_engine:T \use:n
- \cs_set_eq:NN \luatex_if_engine:F \use_none:n
- \cs_set_eq:NN \luatex_if_engine:TF \use_i:nn
- \cs_set_eq:NN \pdftex_if_engine:T \use_none:n
- \cs_set_eq:NN \pdftex_if_engine:F \use:n
- \cs_set_eq:NN \pdftex_if_engine:TF \use_ii:nn
- \cs_set_eq:NN \luatex_if_engine_p: \c_true_bool
- \cs_set_eq:NN \pdftex_if_engine_p: \c_false_bool
+ \cs_gset_eq:NN \luatex_if_engine:T \use:n
+ \cs_gset_eq:NN \luatex_if_engine:F \use_none:n
+ \cs_gset_eq:NN \luatex_if_engine:TF \use_i:nn
+ \cs_gset_eq:NN \pdftex_if_engine:T \use_none:n
+ \cs_gset_eq:NN \pdftex_if_engine:F \use:n
+ \cs_gset_eq:NN \pdftex_if_engine:TF \use_ii:nn
+ \cs_gset_eq:NN \luatex_if_engine_p: \c_true_bool
+ \cs_gset_eq:NN \pdftex_if_engine_p: \c_false_bool
}
\cs_new_nopar:Npn \prg_do_nothing: { }
\prg_new_conditional:Npnn \str_if_eq:nn #1#2 { p , T , F , TF }
{
\if_int_compare:w \pdftex_strcmp:D { \exp_not:n {#1} } { \exp_not:n {#2} }
= \c_zero
- \prg_return_true: \else: \prg_return_false: \fi:
+ \prg_return_true: \else: \prg_return_false: \fi:
}
\prg_new_conditional:Npnn \str_if_eq:xx #1#2 { p , T , F , TF }
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
index 1fe36dc7ca3..c78a4f2122e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3box.dtx 3432 2012-02-18 12:16:20Z joseph $
+\GetIdInfo$Id: l3box.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental boxes}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -64,17 +64,9 @@
\cs_generate_variant:Nn \box_clear:N { c }
\cs_generate_variant:Nn \box_gclear:N { c }
\cs_new_protected:Npn \box_clear_new:N #1
- {
- \cs_if_exist:NTF #1
- { \box_set_eq:NN #1 \c_empty_box }
- { \box_new:N #1 }
- }
+ { \box_if_exist:NTF #1 { \box_clear:N #1 } { \box_new:N #1 } }
\cs_new_protected:Npn \box_gclear_new:N #1
- {
- \cs_if_exist:NTF #1
- { \box_gset_eq:NN #1 \c_empty_box }
- { \box_new:N #1 }
- }
+ { \box_if_exist:NTF #1 { \box_gclear:N #1 } { \box_new:N #1 } }
\cs_generate_variant:Nn \box_clear_new:N { c }
\cs_generate_variant:Nn \box_gclear_new:N { c }
\cs_new_protected:Npn \box_set_eq:NN #1#2
@@ -89,6 +81,14 @@
{ \tex_global:D \box_set_eq_clear:NN }
\cs_generate_variant:Nn \box_set_eq_clear:NN { cN , Nc , cc }
\cs_generate_variant:Nn \box_gset_eq_clear:NN { cN , Nc , cc }
+\cs_new_eq:NN \box_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \box_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \box_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \box_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \box_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \box_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \box_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \box_if_exist_p:c \cs_if_exist_p:c
\cs_new_eq:NN \box_ht:N \tex_ht:D
\cs_new_eq:NN \box_dp:N \tex_dp:D
\cs_new_eq:NN \box_wd:N \tex_wd:D
@@ -148,7 +148,7 @@
\box_new:N \l_tmpb_box
\cs_new_protected:Npn \box_show:N #1
{
- \cs_if_exist:NTF #1
+ \box_if_exist:NTF #1
{ \tex_showbox:D \use:n {#1} }
{
\msg_kernel_error:nnx { kernel } { variable-not-defined }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
index 7fc71a96c04..75ef38900cc 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3clist.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3clist.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental comma separated lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -88,6 +88,14 @@
}
\cs_generate_variant:Nn \clist_concat:NNN { ccc }
\cs_generate_variant:Nn \clist_gconcat:NNN { ccc }
+\cs_new_eq:NN \clist_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \clist_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \clist_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \clist_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \clist_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \clist_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \clist_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \clist_if_exist_p:c \cs_if_exist_p:c
\cs_set:Npn \clist_tmp:w #1
{
\cs_new:Npn \clist_trim_spaces_generic:nw ##1 ##2 ,
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
index 5c5ea863483..cd84ef63e8e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
@@ -47,7 +47,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3names}
-\GetIdInfo$Id: l3coffins.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3coffins.dtx 3482 2012-03-03 18:48:06Z bruno $
{L3 Experimental coffin code layer}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -1068,7 +1068,7 @@
}
\cs_new_protected:Npn \coffin_show_structure:N #1
{
- \cs_if_exist:cTF { l_coffin_poles_ \int_value:w #1 _prop }
+ \coffin_if_exist:NT #1
{
\msg_aux_show:Nnx #1 { coffins }
{
@@ -1077,10 +1077,6 @@
\msg_aux_show_unbraced:nn
}
}
- {
- \msg_aux_use:nn { LaTeX / coffins } { no-pole }
- \msg_aux_show:x { }
- }
}
\cs_generate_variant:Nn \coffin_show_structure:N { c }
\msg_kernel_new:nnnn { coffins } { no-pole-intersection }
@@ -1109,11 +1105,6 @@
> ~ wd~=~\dim_use:N \box_wd:N #1 \\
Poles~of~coffin~\token_to_str:N #1 :
}
-\msg_kernel_new:nnn { coffins } { no-pole }
- {
- ---~No~poles~found~--- \\
- Is~this~really~a~coffin?
- }
%%
%%
%% End of file `l3coffins.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index e01b5752fd5..b79ca0bb135 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -52,7 +52,7 @@
\let \filedateOld \ExplFileDate
\let \fileversionOld \ExplFileVersion
\let \filedescriptionOld \ExplFileDescription
-\GetIdInfo$Id: l3doc.dtx 3464 2012-02-26 15:30:29Z bruno $
+\GetIdInfo$Id: l3doc.dtx 3491 2012-03-04 06:13:18Z bruno $
{L3 Experimental documentation class}
\ProvidesExplClass
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -395,7 +395,7 @@
\vcoffin_set:Nnw \l_doc_descr_coffin {\textwidth}
\noindent\ignorespaces
}
-\cs_gset_nopar:Npn \function_typeset:n #1
+\cs_gset_nopar:Npn \function_typeset:n #1 %^^A todo: use "\cs_new:Npn" here
{
\tl_gclear:N \g_doc_macro_tl
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
index 25eda0dc609..a86de65f88f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3file.dtx 3464 2012-02-26 15:30:29Z bruno $
+\GetIdInfo$Id: l3file.dtx 3520 2012-03-09 19:34:07Z joseph $
{L3 Experimental file and I/O operations}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -205,20 +205,20 @@
\cs_generate_variant:Nn \iow_open:Nn { c }
\cs_new_protected:Npn \ior_open_aux:Nn #1#2
{
- \file_add_path:nN {#2} \l_file_name_internal_tl
+ \file_add_path:nN {#2} \l_file_internal_name_tl
\quark_if_no_value:NTF \l_file_internal_name_tl
{ \file_input_error:n {#2} }
- { \ior_open_unsafe:No #1 \l_file_name_internal_tl }
+ { \ior_open_unsafe:No #1 \l_file_internal_name_tl }
}
\prg_new_protected_conditional:Npnn \ior_open:Nn #1#2 { T , F , TF }
{ \file_name_sanitize:nn {#2} { \ior_open_aux:NnTF #1 } }
\cs_new_protected:Npn \ior_open_aux:NnTF #1#2
{
- \file_add_path:nN {#2} \l_file_name_internal_tl
+ \file_add_path:nN {#2} \l_file_internal_name_tl
\quark_if_no_value:NTF \l_file_internal_name_tl
{ \prg_return_false: }
{
- \ior_open_unsafe:No #1 \l_file_name_internal_tl
+ \ior_open_unsafe:No #1 \l_file_internal_name_tl
\prg_return_true:
}
}
@@ -272,8 +272,7 @@
\ior_new:N \g_ior_internal_ior
\cs_new_protected:Npn \iow_stream_alloc:N #1
{
- \cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _iow }
- { \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _iow } }
+ \cs_if_exist:cF { g_iow_ \int_use:N \l_iow_stream_int _iow }
{
\iow_stream_alloc_aux:
\int_compare:nNnT \l_iow_stream_int = \c_sixteen
@@ -283,26 +282,25 @@
\cs_gset_eq:cN
{ g_iow_ \int_use:N \l_iow_stream_int _iow } \g_iow_internal_iow
}
- \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _iow }
}
+ \cs_gset_eq:Nc #1 { g_iow_ \int_use:N \l_iow_stream_int _iow }
}
\cs_new_protected_nopar:Npn \iow_stream_alloc_aux:
{
\int_incr:N \l_iow_stream_int
\int_compare:nNnT \l_iow_stream_int < \c_sixteen
{
- \cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _iow }
- {
- \prop_if_in:NVT \g_iow_streams_prop \l_iow_stream_int
- { \iow_stream_alloc_aux: }
- }
- { \iow_stream_alloc_aux: }
+ \cs_if_exist:cTF { g_iow_ \int_use:N \l_iow_stream_int _iow }
+ {
+ \prop_if_in:NVT \g_iow_streams_prop \l_iow_stream_int
+ { \iow_stream_alloc_aux: }
+ }
+ { \iow_stream_alloc_aux: }
}
}
\cs_new_protected:Npn \ior_stream_alloc:N #1
{
- \cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _ior }
- { \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _ior } }
+ \cs_if_exist:cF { g_ior_ \int_use:N \l_ior_stream_int _ior }
{
\ior_stream_alloc_aux:
\int_compare:nNnT \l_ior_stream_int = \c_sixteen
@@ -312,20 +310,20 @@
\cs_gset_eq:cN
{ g_ior_ \int_use:N \l_iow_stream_int _ior } \g_ior_internal_ior
}
- \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _ior }
}
+ \cs_gset_eq:Nc #1 { g_ior_ \int_use:N \l_ior_stream_int _ior }
}
\cs_new_protected_nopar:Npn \ior_stream_alloc_aux:
{
\int_incr:N \l_ior_stream_int
\int_compare:nNnT \l_ior_stream_int < \c_sixteen
{
- \cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _ior }
- {
- \prop_if_in:NVT \g_ior_streams_prop \l_ior_stream_int
- { \ior_stream_alloc_aux: }
- }
- { \ior_stream_alloc_aux: }
+ \cs_if_exist:cTF { g_ior_ \int_use:N \l_ior_stream_int _ior }
+ {
+ \prop_if_in:NVT \g_ior_streams_prop \l_ior_stream_int
+ { \ior_stream_alloc_aux: }
+ }
+ { \ior_stream_alloc_aux: }
}
}
\cs_new_protected:Npn \ior_close:N #1
@@ -621,10 +619,10 @@
}
\tl_new:N \l_ior_internal_tl
\msg_kernel_new:nnnn { file } { file-not-found }
- { Space~in~file~name~'#1'. }
+ { File~'#1'~not~found. }
{
- Spaces~are~not~permitted~in~files~loaded~by~LaTeX: \\
- Further~errors~may~follow!
+ The~requested~file~could~not~be~found~in~the~current~directory,~
+ in~the~TeX~search~path~or~in~the~LaTeX~search~path.
}
\msg_kernel_new:nnnn { file } { space-in-file-name }
{ Space~in~file~name~'#1'. }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
index df321de33c9..bb38caa64f6 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3fp.dtx 3315 2012-02-06 11:17:04Z bruno $
+\GetIdInfo$Id: l3fp.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental floating-point operations}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -353,9 +353,9 @@
\cs_generate_variant:Nn \fp_zero:N { c }
\cs_generate_variant:Nn \fp_gzero:N { c }
\cs_new_protected:Npn \fp_zero_new:N #1
- { \cs_if_exist:NTF #1 { \fp_zero:N #1 } { \fp_new:N #1 } }
+ { \fp_if_exist:NTF #1 { \fp_zero:N #1 } { \fp_new:N #1 } }
\cs_new_protected:Npn \fp_gzero_new:N #1
- { \cs_if_exist:NTF #1 { \fp_gzero:N #1 } { \fp_new:N #1 } }
+ { \fp_if_exist:NTF #1 { \fp_gzero:N #1 } { \fp_new:N #1 } }
\cs_generate_variant:Nn \fp_zero_new:N { c }
\cs_generate_variant:Nn \fp_gzero_new:N { c }
\cs_new_protected_nopar:Npn \fp_set:Nn { \fp_set_aux:NNn \tl_set:Nn }
@@ -515,6 +515,14 @@
\prg_replicate:nn { #2 - 9 } { 0 }
.
}
+\cs_new_eq:NN \fp_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \fp_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \fp_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \fp_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \fp_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \fp_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \fp_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \fp_if_exist_p:c \cs_if_exist_p:c
\cs_new:Npn \fp_to_dim:N #1 { \fp_use:N #1 pt }
\cs_generate_variant:Nn \fp_to_dim:N { c }
\cs_new:Npn \fp_to_int:N #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
index f12cda36783..76b61a861c6 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3int.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3int.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental integers}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -157,9 +157,9 @@
\cs_generate_variant:Nn \int_zero:N { c }
\cs_generate_variant:Nn \int_gzero:N { c }
\cs_new_protected:Npn \int_zero_new:N #1
- { \cs_if_exist:NTF #1 { \int_zero:N #1 } { \int_new:N #1 } }
+ { \int_if_exist:NTF #1 { \int_zero:N #1 } { \int_new:N #1 } }
\cs_new_protected:Npn \int_gzero_new:N #1
- { \cs_if_exist:NTF #1 { \int_gzero:N #1 } { \int_new:N #1 } }
+ { \int_if_exist:NTF #1 { \int_gzero:N #1 } { \int_new:N #1 } }
\cs_generate_variant:Nn \int_zero_new:N { c }
\cs_generate_variant:Nn \int_gzero_new:N { c }
\cs_new_protected:Npn \int_set_eq:NN #1#2 { #1 = #2 }
@@ -168,6 +168,14 @@
\cs_new_protected:Npn \int_gset_eq:NN #1#2 { \tex_global:D #1 = #2 }
\cs_generate_variant:Nn \int_gset_eq:NN { c }
\cs_generate_variant:Nn \int_gset_eq:NN { Nc , cc }
+\cs_new_eq:NN \int_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \int_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \int_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \int_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \int_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \int_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \int_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \int_if_exist_p:c \cs_if_exist_p:c
\cs_new_protected:Npn \int_add:Nn #1#2
{ \tex_advance:D #1 by \int_eval:w #2 \int_eval_end: }
\cs_new_protected:Npn \int_sub:Nn #1#2
@@ -199,76 +207,53 @@
\cs_generate_variant:Nn \int_gset:Nn { c }
\cs_new_eq:NN \int_use:N \tex_the:D
\cs_new:Npn \int_use:c #1 { \int_use:N \cs:w #1 \cs_end: }
-\prg_new_conditional:Npnn \int_compare:n #1 { p , T , F , TF }
- { \exp_after:wN \int_compare_aux:nw \int_value:w \int_eval:w #1 \q_stop }
-\cs_new:Npn \int_compare_aux:nw #1#2 \q_stop
- {
- \exp_after:wN \int_compare_aux:Nw
- \int_to_roman:w
- \if:w #1 -
- \else:
- -
- \fi:
- #1#2 \q_mark #1#2 \q_stop
- }
-\cs_new:Npn \int_compare_aux:Nw #1#2#3 \q_mark
- { \use:c { int_compare_ #1 \if_meaning:w = #2 = \fi: :w } }
-\cs_new:cpn { int_compare_=:w } #1 = #2 \q_stop
- {
- \if_int_compare:w #1 = \int_eval:w #2 \int_eval_end:
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
- }
-\cs_new:cpn { int_compare_==:w } #1 == #2 \q_stop
+\cs_new_protected_nopar:Npn \kernel_compare_error:
{
- \if_int_compare:w #1 = \int_eval:w #2 \int_eval_end:
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
+ \if_num:w \c_zero \c_zero \fi:
+ =
+ \kernel_compare_error:
}
-\cs_new:cpn { int_compare_!=:w } #1 != #2 \q_stop
+\cs_new:Npn \kernel_compare_error:Nw
+ #1#2 \prg_return_true: \else: \prg_return_false: \fi:
{
- \if_int_compare:w #1 = \int_eval:w #2 \int_eval_end:
- \prg_return_false:
- \else:
- \prg_return_true:
- \fi:
+ \msg_expandable_kernel_error:nnn
+ { kernel } { unknown-comparison } {#1}
+ \prg_return_false:
}
-\cs_new:cpn { int_compare_<:w } #1 < #2 \q_stop
- {
- \if_int_compare:w #1 < \int_eval:w #2 \int_eval_end:
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
- }
-\cs_new:cpn { int_compare_>:w } #1 > #2 \q_stop
+\prg_new_conditional:Npnn \int_compare:n #1 { p , T , F , TF }
{
- \if_int_compare:w #1 > \int_eval:w #2 \int_eval_end:
+ \exp_after:wN \int_compare_aux:Nw \int_use:N \int_eval:w #1
+ \kernel_compare_error: \int_eval_end:
\prg_return_true:
\else:
\prg_return_false:
\fi:
}
-\cs_new:cpn { int_compare_<=:w } #1 <= #2 \q_stop
- {
- \if_int_compare:w #1 > \int_eval:w #2 \int_eval_end:
- \prg_return_false:
- \else:
- \prg_return_true:
- \fi:
- }
-\cs_new:cpn { int_compare_>=:w } #1 >= #2 \q_stop
- {
- \if_int_compare:w #1 < \int_eval:w #2 \int_eval_end:
- \prg_return_false:
- \else:
- \prg_return_true:
- \fi:
- }
+\cs_new:Npn \int_compare_aux:Nw #1#2 \kernel_compare_error:
+ {
+ \exp_after:wN \int_compare_aux:NNw
+ \int_to_roman:w - 0 #2 ?? \q_mark
+ #1#2
+ }
+\cs_new:Npn \int_compare_aux:NNw #1#2#3 \q_mark
+ {
+ \use:c { int_compare_ #1 \if_meaning:w = #2 = \fi: :NNw }
+ \kernel_compare_error:Nw #1
+ }
+\cs_new:cpn { int_compare_=:NNw } #1#2#3 =
+ { \if_int_compare:w #3 = \int_eval:w }
+\cs_new:cpn { int_compare_<:NNw } #1#2#3 <
+ { \if_int_compare:w #3 < \int_eval:w }
+\cs_new:cpn { int_compare_>:NNw } #1#2#3 >
+ { \if_int_compare:w #3 > \int_eval:w }
+\cs_new:cpn { int_compare_==:NNw } #1#2#3 ==
+ { \if_int_compare:w #3 = \int_eval:w }
+\cs_new:cpn { int_compare_!=:NNw } #1#2#3 !=
+ { \reverse_if:N \if_int_compare:w #3 = \int_eval:w }
+\cs_new:cpn { int_compare_<=:NNw } #1#2#3 <=
+ { \reverse_if:N \if_int_compare:w #3 > \int_eval:w }
+\cs_new:cpn { int_compare_>=:NNw } #1#2#3 >=
+ { \reverse_if:N \if_int_compare:w #3 < \int_eval:w }
\prg_new_conditional:Npnn \int_compare:nNn #1#2#3 { p , T , F , TF}
{
\if_int_compare:w \int_eval:w #1 #2 \int_eval:w #3 \int_eval_end:
@@ -658,16 +643,16 @@
{
\str_if_eq:nnTF {#2} { Q }
{
- \cs_if_exist:cF { c_int_from_roman_ #1 _int }
+ \int_if_exist:cF { c_int_from_roman_ #1 _int }
{ \int_from_roman_clean_up:w }
+
\use:c { c_int_from_roman_ #1 _int }
#2
}
{
- \cs_if_exist:cF { c_int_from_roman_ #1 _int }
+ \int_if_exist:cF { c_int_from_roman_ #1 _int }
{ \int_from_roman_clean_up:w }
- \cs_if_exist:cF { c_int_from_roman_ #2 _int }
+ \int_if_exist:cF { c_int_from_roman_ #2 _int }
{ \int_from_roman_clean_up:w }
\int_compare:nNnTF
{ \use:c { c_int_from_roman_ #1 _int } }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
index aab64765fa0..a0ae5751eb3 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3keys.dtx 3086 2011-12-22 17:55:46Z bruno $
+\GetIdInfo$Id: l3keys.dtx 3487 2012-03-03 19:36:51Z bruno $
{L3 Experimental key-value interfaces}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -191,15 +191,16 @@
\bool_set_false:N \l_keys_no_value_bool
\keys_define_elt_aux:nn {#1} {#2}
}
-\cs_new_protected:Npn \keys_define_elt_aux:nn #1#2 {
- \keys_property_find:n {#1}
- \cs_if_exist:cTF { \c_keys_props_root_tl \l_keys_property_tl }
- { \keys_define_key:n {#2} }
- {
- \msg_kernel_error:nnxx { keys } { property-unknown }
- { \l_keys_property_tl } { \l_keys_path_tl }
- }
-}
+\cs_new_protected:Npn \keys_define_elt_aux:nn #1#2
+ {
+ \keys_property_find:n {#1}
+ \cs_if_exist:cTF { \c_keys_props_root_tl \l_keys_property_tl }
+ { \keys_define_key:n {#2} }
+ {
+ \msg_kernel_error:nnxx { keys } { property-unknown }
+ { \l_keys_property_tl } { \l_keys_path_tl }
+ }
+ }
\cs_new_protected:Npn \keys_property_find:n #1
{
\tl_set:Nx \l_keys_path_tl { \l_keys_module_tl / }
@@ -236,7 +237,7 @@
{ \tl_if_empty:nTF {#2} }
\cs_new:Npn \keys_bool_set:NN #1#2
{
- \cs_if_exist:NF #1 { \bool_new:N #1 }
+ \bool_if_exist:NF #1 { \bool_new:N #1 }
\keys_choice_make:
\keys_cmd_set:nx { \l_keys_path_tl / true }
{ \exp_not:c { bool_ #2 set_true:N } \exp_not:N #1 }
@@ -251,7 +252,7 @@
}
\cs_new:Npn \keys_bool_set_inverse:NN #1#2
{
- \cs_if_exist:NF #1 { \bool_new:N #1 }
+ \bool_if_exist:NF #1 { \bool_new:N #1 }
\keys_choice_make:
\keys_cmd_set:nx { \l_keys_path_tl / true }
{ \exp_not:c { bool_ #2 set_false:N } \exp_not:N #1 }
@@ -392,7 +393,7 @@
}
\cs_new_protected:Npn \keys_variable_set:NnNN #1#2#3#4
{
- \cs_if_exist:NF #1 { \use:c { #2 _new:N } #1 }
+ \use:c { #2_if_exist:NF } #1 { \use:c { #2 _new:N } #1 }
\keys_cmd_set:nx { \l_keys_path_tl }
{ \exp_not:c { #2 _ #3 set:N #4 } \exp_not:N #1 {##1} }
}
@@ -601,7 +602,7 @@
{
\cs_if_exist:cTF { \c_keys_code_root_tl #1 }
{
- \exp_args:Nno \use:c { \c_keys_code_root_tl #1 }
+ \exp_args:Nc \exp_args:No { \c_keys_code_root_tl #1 }
\l_keys_value_tl
}
{#2}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
index af40a84ac92..2e5ae99d6a4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3msg.dtx 3470 2012-02-26 19:10:24Z bruno $
+\GetIdInfo$Id: l3msg.dtx 3568 2012-04-23 13:23:58Z joseph $
{L3 Experimental messages}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -54,9 +54,14 @@
\tl_new:N \l_msg_internal_tl
\tl_const:Nn \c_msg_text_prefix_tl { msg~text~>~ }
\tl_const:Nn \c_msg_more_text_prefix_tl { msg~extra~text~>~ }
+\prg_new_conditional:Npnn \msg_if_exist:nn #1#2 { p , T , F , TF }
+ {
+ \cs_if_exist:cTF { \c_msg_text_prefix_tl #1 / #2 }
+ { \prg_return_true: } { \prg_return_false: }
+ }
\cs_new_protected:Npn \chk_if_free_msg:nn #1#2
{
- \cs_if_free:cF { \c_msg_text_prefix_tl #1 / #2 }
+ \msg_if_exist:nnT {#1} {#2}
{
\msg_kernel_error:nnxx { msg } { message-already-defined }
{#1} {#2}
@@ -65,7 +70,7 @@
\tex_ifodd:D \l@expl@log@functions@bool
\cs_gset_protected:Npn \chk_if_free_msg:nn #1#2
{
- \cs_if_free:cF { \c_msg_text_prefix_tl #1 / #2 }
+ \msg_if_exist:nnT {#1} {#2}
{
\msg_kernel_error:nnxx { msg } { message-already-defined }
{#1} {#2}
@@ -133,65 +138,50 @@
\cs_new_nopar:Npn \msg_newline: { ^^J }
\cs_new_nopar:Npn \msg_two_newlines: { ^^J ^^J }
\cs_new_nopar:Npn \msg_line_number: { \int_use:N \tex_inputlineno:D }
-\cs_set_nopar:Npn \msg_line_context:
+\cs_gset_nopar:Npn \msg_line_context:
{
\c_msg_on_line_text_tl
\c_space_tl
\msg_line_number:
}
-\char_set_catcode_letter:N \.
-\tl_new:N
- \c_msg_hide_tl..........................................................
-\tl_const:Nn \c_msg_hide_tl
- { \c_msg_hide_tl.......................................................... }
-\char_set_catcode_other:N \.
-\tl_new:N \l_msg_text_tl
\cs_new_protected:Npn \msg_interrupt:xxx #1#2#3
{
- \group_begin:
- \tl_if_empty:nTF {#3}
- { \msg_interrupt_no_details:xx {#1} {#2} }
- { \msg_interrupt_details:xxx {#1} {#2} {#3} }
- \msg_interrupt_aux:
- \group_end:
- }
-\cs_new_protected:Npn \msg_interrupt_no_details:xx #1#2
- {
- \iow_wrap:xnnnN
- { \\ \c_msg_no_info_text_tl }
- { |~ } { 2 } { } \msg_interrupt_more_text:n
- \iow_wrap:xnnnN { #1 \\ \\ #2 \\ \\ \c_msg_continue_text_tl }
- { ! ~ } { 2 } {} \msg_interrupt_text:n
+ \tl_if_empty:nTF {#3}
+ {
+ \msg_interrupt_wrap:xx { \\ \c_msg_no_info_text_tl }
+ {#1 \\\\ #2 \\\\ \c_msg_continue_text_tl }
+ }
+ {
+ \msg_interrupt_wrap:xx { \\ #3 }
+ {#1 \\\\ #2 \\\\ \c_msg_help_text_tl }
+ }
}
-\cs_new_protected:Npn \msg_interrupt_details:xxx #1#2#3
+\cs_new_protected:Npn \msg_interrupt_wrap:xx #1#2
{
- \iow_wrap:xnnnN
- { \\ #3 }
- { |~ } { 2 } { } \msg_interrupt_more_text:n
- \iow_wrap:xnnnN { #1 \\ \\ #2 \\ \\ \c_msg_help_text_tl }
- { ! ~ } { 2 } { } \msg_interrupt_text:n
+ \iow_wrap:xnnnN {#1} { | ~ } { 2 } { } \msg_interrupt_more_text:n
+ \iow_wrap:xnnnN {#2} { ! ~ } { 2 } { } \msg_interrupt_text:n
}
-\cs_new_protected:Npn \msg_interrupt_text:n #1
- { \tl_set:Nn \l_msg_text_tl {#1} }
\cs_new_protected:Npn \msg_interrupt_more_text:n #1
{
- \protected@edef \l_msg_internal_tl
- {
- |'''''''''''''''''''''''''''''''''''''''''''''''
- #1
- \msg_newline:
- |...............................................
- }
- \tex_errhelp:D \exp_after:wN { \l_msg_internal_tl }
+ \exp_args:Nx \tex_errhelp:D
+ {
+ |'''''''''''''''''''''''''''''''''''''''''''''''
+ #1 \iow_newline:
+ |...............................................
+ }
}
-\group_begin: % {
+\group_begin:
+ \char_set_lccode:nn {`\{} {`\ }
\char_set_lccode:nn {`\}} {`\ }
\char_set_lccode:nn {`\&} {`\!}
\char_set_catcode_active:N \&
+ \char_set_catcode_letter:N \.
+ \tl_new:N
+ \c_msg_hide_tl............................................
\tl_to_lowercase:n
{
\group_end:
- \cs_new_protected:Npn \msg_interrupt_aux:
+ \cs_new_protected:Npn \msg_interrupt_text:n #1
{
\iow_term:x
{
@@ -200,9 +190,17 @@
\iow_newline:
!
}
- \tl_put_right:No \l_msg_text_tl { \c_msg_hide_tl }
- \cs_set_protected_nopar:Npx &
- { \tex_errmessage:D { \exp_not:o { \l_msg_text_tl } } }
+ \group_begin:
+ \cs_set_protected_nopar:Npn &
+ {
+ \tex_errmessage:D
+ {
+ #1
+ \c_msg_hide_tl............................................
+ }
+ }
+ \exp_after:wN
+ \group_end:
&
}
}
@@ -220,7 +218,7 @@
\iow_term:x
\iow_term:x { ************************************************* }
}
-\int_set:Nn \tex_errorcontextlines:D { -1 }
+\int_gset:Nn \tex_errorcontextlines:D { -1 }
\cs_new:Npn \msg_fatal_text:n #1 { Fatal~#1~error }
\cs_new:Npn \msg_critical_text:n #1 { Critical~#1~error }
\cs_new:Npn \msg_error_text:n #1 { #1~error }
@@ -228,8 +226,6 @@
\cs_new:Npn \msg_info_text:n #1 { #1~info }
\cs_new:Npn \msg_see_documentation_text:n #1
{ \\ \\ See~the~#1~documentation~for~further~information. }
-\prop_new:N \l_msg_redirect_classes_prop
-\prop_new:N \l_msg_redirect_names_prop
\cs_new_protected:Npn \msg_class_set:nn #1#2
{
\prop_clear_new:c { l_msg_redirect_ #1 _prop }
@@ -321,73 +317,126 @@
{ \use:c { \c_msg_text_prefix_tl #1 / #2 } {#3} {#4} {#5} {#6} }
}
\msg_class_set:nn { none } { }
-\seq_new:N \l_msg_redirect_classes_seq
\tl_new:N \l_msg_class_tl
\tl_new:N \l_msg_current_class_tl
-\tl_new:N \l_msg_current_module_tl
+\prop_new:N \l_msg_redirect_classes_prop
+\prop_new:N \l_msg_redirect_names_prop
+\prop_new:N \l_msg_redirect_prop
+\bool_new:N \l_msg_use_direct_bool
\cs_new_protected:Npn \msg_use:nnnnxxxx #1#2#3#4#5#6#7#8
{
- \cs_set_protected_nopar:Npx \msg_use_code:
- {
- \seq_clear:N \exp_not:N \l_msg_redirect_classes_seq
- \exp_not:n {#2}
- }
- \cs_set_protected:Npx \msg_use_loop:n ##1
+ \msg_if_exist:nnTF {#3} {#4}
{
- \seq_if_in:NnTF \exp_not:n \l_msg_redirect_classes_seq {#1}
- { \msg_kernel_error:nn { msg } { message-loop } {#1} }
+ \cs_if_exist:cTF { msg_ #1 :nnxxxx }
{
- \seq_put_right:Nn \exp_not:N \l_msg_redirect_classes_seq {#1}
- \exp_not:N \cs_if_exist:cTF { msg_ ##1 :nnxxxx }
+ \tl_set:Nn \l_msg_current_class_tl {#1}
+ \cs_set_protected_nopar:Npx \msg_use_code: { \exp_not:n {#2} }
+ \cs_set_protected_nopar:Npn \msg_use_or_change_class:
{
- \exp_not:N \use:c { msg_ ##1 :nnxxxx }
- \exp_not:n { {#3} {#4} {#5} {#6} {#7} {#8} }
+ \tl_if_eq:NNTF \l_msg_current_class_tl \l_msg_class_tl
+ { \msg_use_code: }
+ {
+ \use:c { msg_ \l_msg_class_tl :nnxxxx }
+ {#3} {#4} {#5} {#6} {#7} {#8}
+ }
}
+ \bool_if:NTF \l_msg_use_direct_bool
{
- \msg_kernel_error:nnx { msg } { message-class-unknown } {##1}
+ \bool_set_false:N \l_msg_use_direct_bool
+ \msg_use_code:
}
+ { \msg_use_aux_i:nn {#3} {#4} }
}
+ { \msg_kernel_error:nnx { msg } { message-class-unknown } {#1} }
}
- \cs_if_exist:cTF { \c_msg_text_prefix_tl #3 / #4 }
- { \msg_use_aux:nnn {#1} {#3} {#4} }
{ \msg_kernel_error:nnxx { msg } { message-unknown } {#3} {#4} }
}
-\cs_new_protected:Npn \msg_use_aux:nnn #1#2#3
+\cs_new_protected_nopar:Npn \msg_use_code: { }
+\cs_new_protected_nopar:Npn \msg_use_or_change_class: { }
+\cs_new_protected:Npn \msg_use_aux_i:nn #1#2
+ {
+ \prop_get:NnNTF \l_msg_redirect_prop { #1 / #2 } \l_msg_class_tl
+ {
+ \bool_set_true:N \l_msg_use_direct_bool
+ \msg_use_or_change_class:
+ }
+ { \msg_use_aux_ii:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \msg_use_aux_ii:nn #1#2
+ {
+ \prop_get:coNTF { l_msg_redirect_ \l_msg_current_class_tl _ prop }
+ { \msg_use_aux_iii:w #1 / #2 / \q_stop } \l_msg_class_tl
+ { \msg_use_or_change_class: }
+ {
+ \prop_get:coNTF { l_msg_redirect_ \l_msg_current_class_tl _ prop }
+ { \msg_use_aux_iv:w #1 / #2 \q_stop } \l_msg_class_tl
+ { \msg_use_or_change_class: }
+ { \msg_use_aux_v: }
+ }
+ }
+\cs_new:Npn \msg_use_aux_iii:w #1 / #2 / #3 \q_stop { #1 / #2 }
+\cs_new:Npn \msg_use_aux_iv:w #1 / #2 \q_stop { #1 }
+\cs_new_protected:Npn \msg_use_aux_v:
{
- \tl_set:Nn \l_msg_current_class_tl {#1}
- \tl_set:Nn \l_msg_current_module_tl {#2}
- \prop_if_in:NnTF \l_msg_redirect_names_prop { // #2 / #3 / }
- { \msg_use_loop_check:nn { names } { // #2 / #3 / } }
- { \msg_use_aux:nn {#1} {#2} }
+ \prop_get:cnNF { l_msg_redirect_ \l_msg_current_class_tl _ prop }
+ { * } \l_msg_class_tl
+ { \tl_set_eq:NN \l_msg_class_tl \l_msg_current_class_tl }
+ \msg_use_or_change_class:
}
-\cs_new_protected:Npn \msg_use_aux:nn #1#2
+\cs_new_protected:Npn \msg_redirect_class:nn #1#2
{
- \prop_if_in:cnTF { l_msg_redirect_ #1 _prop } {#2}
- { \msg_use_loop_check:nn {#1} {#2} }
+ \cs_if_exist:cTF { msg_ #1 :nnxxxx }
{
- \prop_if_in:cnTF { l_msg_redirect_ #1 _prop } { * }
- { \msg_use_loop_check:nn {#1} { * } }
- { \msg_use_code: }
+ \cs_if_exist:cTF { msg_ #2 :nnxxxx }
+ {
+ \tl_set:Nn \l_msg_current_class_tl {#1}
+ \msg_redirect_class_aux:nnn {#1} {#2} {#2}
+ }
+ { \msg_kernel_error:nnx { msg } { message-class-unknown } {#2} }
}
+ { \msg_kernel_error:nnx { msg } { message-class-unknown } {#1} }
}
-\cs_new_protected:Npn \msg_use_loop_check:nn #1#2
+\cs_new_protected:Npn \msg_redirect_class_aux:nnn #1#2#3
{
- \prop_get:cnN { l_msg_redirect_ #1 _prop } {#2} \l_msg_class_tl
- \tl_if_eq:NNTF \l_msg_current_class_tl \l_msg_class_tl
+ \prop_get:cnNTF { l_msg_redirect_ #2 _prop } { * } \l_msg_class_tl
{
- { \msg_use_code: }
- { \msg_use_loop:o \l_msg_class_tl }
+ \tl_if_eq:NNTF \l_msg_class_tl \l_msg_current_class_tl
+ { \msg_kernel_error:nnxx { msg } { message-loop } {#1} {#3} }
+ { \msg_redirect_class_aux:nVn {#1} \l_msg_class_tl {#3} }
}
+ { \prop_put:cnn { l_msg_redirect_ #1 _prop } { * } {#3} }
}
-\cs_new_protected_nopar:Npn \msg_use_code: { }
-\cs_new_protected:Npn \msg_use_loop:n #1 { }
-\cs_generate_variant:Nn \msg_use_loop:n { o }
-\cs_new_protected:Npn \msg_redirect_class:nn #1#2
- { \prop_put:cnn { l_msg_redirect_ #1 _prop } { * } {#2} }
+\cs_generate_variant:Nn \msg_redirect_class_aux:nnn { nV }
\cs_new_protected:Npn \msg_redirect_module:nnn #1#2#3
- { \prop_put:cnn { l_msg_redirect_ #2 _prop } {#1} {#3} }
+ {
+ \cs_if_exist:cTF { msg_ #2 :nnxxxx }
+ {
+ \cs_if_exist:cTF { msg_ #3 :nnxxxx }
+ {
+ \tl_set:Nn \l_msg_current_class_tl {#1}
+ \msg_redirect_module_aux:nnnn {#1} {#2} {#3} {#3}
+ }
+ { \msg_kernel_error:nnx { msg } { message-class-unknown } {#3} }
+ }
+ { \msg_kernel_error:nnx { msg } { message-class-unknown } {#2} }
+ }
+\cs_new_protected:Npn \msg_redirect_module_aux:nnnn #1#2#3#4
+ {
+ \prop_get:cnNTF { l_msg_redirect_ #3 _prop } {#1} \l_msg_class_tl
+ {
+ \tl_if_eq:NNTF \l_msg_class_tl \l_msg_current_class_tl
+ { \msg_kernel_error:nnxx { msg } { message-loop } {#2} {#4} }
+ { \msg_redirect_moduel_aux:nVn {#1} {#2} \l_msg_class_tl {#4} }
+ }
+ { \prop_put:cnn { l_msg_redirect_ #2 _prop } {#1} {#4} }
+ }
+\cs_generate_variant:Nn \msg_redirect_module_aux:nnnn { nnV }
\cs_new_protected:Npn \msg_redirect_name:nnn #1#2#3
- { \prop_put:Nnn \l_msg_redirect_names_prop { // #1 / #2 / } {#3} }
+ {
+ \cs_if_exist:cTF { msg_ #3 :nnxxxx }
+ { \prop_put:Nnn \l_msg_redirect_prop { #1 / #2 } {#3} }
+ { \msg_kernel_error:nnx { msg } { message-class-unknown } {#3} }
+ }
\cs_new_protected:Npn \msg_kernel_new:nnnn #1#2
{ \msg_new:nnnn { LaTeX } { #1 / #2 } }
\cs_new_protected:Npn \msg_kernel_new:nnn #1#2
@@ -445,11 +494,11 @@
}
\cs_new_protected:Npn \msg_kernel_error:nnxxx #1#2#3#4#5
{\msg_kernel_error:nnxxxx {#1} {#2} {#3} {#4} {#5} { } }
-\cs_set_protected:Npn \msg_kernel_error:nnxx #1#2#3#4
+\cs_gset_protected:Npn \msg_kernel_error:nnxx #1#2#3#4
{ \msg_kernel_error:nnxxxx {#1} {#2} {#3} {#4} { } { } }
-\cs_set_protected:Npn \msg_kernel_error:nnx #1#2#3
+\cs_gset_protected:Npn \msg_kernel_error:nnx #1#2#3
{ \msg_kernel_error:nnxxxx {#1} {#2} {#3} { } { } { } }
-\cs_set_protected:Npn \msg_kernel_error:nn #1#2
+\cs_gset_protected:Npn \msg_kernel_error:nn #1#2
{ \msg_kernel_error:nnxxxx {#1} {#2} { } { } { } { } }
\prop_new:N \l_msg_redirect_kernel_warning_prop
\cs_new_protected:Npn \msg_kernel_warning:nnxxxx #1#2#3#4#5#6
@@ -592,6 +641,8 @@
{ Zero~step~size~for~stepwise~function~#1. }
\msg_kernel_new:nnn { prg } { replicate-neg }
{ Negative~argument~for~\prg_replicate:nn. }
+\msg_kernel_new:nnn { kernel } { unknown-comparison }
+ { Relation~symbol~'#1'~unknown:~use~=,~<,~>,~==,~!=,~<=,~>=. }
\msg_kernel_new:nnn { seq } { show }
{
The~sequence~\token_to_str:N #1~
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
index 6532d0d0c7d..fee26c9e876 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}[2011-12-29]
-\GetIdInfo$Id: l3names.dtx 3113 2011-12-30 09:05:11Z joseph $
+\GetIdInfo$Id: l3names.dtx 3494 2012-03-04 09:58:29Z joseph $
{L3 Experimental namespace for primitives}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -440,7 +440,7 @@
\name_primitive:NN \savingvdiscards \etex_savingvdiscards:D
\name_primitive:NN \pagediscards \etex_pagediscards:D
\name_primitive:NN \splitdiscards \etex_splitdiscards:D
- \name_primitive:NN \TeXXETstate \etex_TeXXETstate:D
+ \name_primitive:NN \TeXXeTstate \etex_TeXXeTstate:D
\name_primitive:NN \beginL \etex_beginL:D
\name_primitive:NN \endL \etex_endL:D
\name_primitive:NN \beginR \etex_beginR:D
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
index 4fc7acdcdbb..51b98fabb03 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3prg.dtx 3464 2012-02-26 15:30:29Z bruno $
+\GetIdInfo$Id: l3prg.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental control structures}
%%
\ProvidesExplPackage
@@ -96,7 +96,7 @@
\cs_generate_variant:Nn \bool_if:NTF { c }
\cs_new_protected:Npn \bool_show:N #1
{
- \cs_if_exist:NTF #1
+ \bool_if_exist:NTF #1
{ \bool_show:n {#1} }
{
\msg_kernel_error:nnx { kernel } { variable-not-defined }
@@ -112,6 +112,14 @@
\cs_generate_variant:Nn \bool_show:N { c }
\bool_new:N \l_tmpa_bool
\bool_new:N \g_tmpa_bool
+\cs_new_eq:NN \bool_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \bool_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \bool_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \bool_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \bool_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \bool_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \bool_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \bool_if_exist_p:c \cs_if_exist_p:c
\prg_new_conditional:Npnn \bool_if:n #1 { T , F , TF }
{
\if_predicate:w \bool_if_p:n {#1}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
index 169d5ffe5d6..539f1539352 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3prop.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3prop.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental property lists}
%%
\ProvidesExplPackage
@@ -61,10 +61,10 @@
\cs_new_protected:Npn \prop_gclear:N #1 { \cs_gset_eq:NN #1 \c_empty_prop }
\cs_new_protected:Npn \prop_gclear:c #1 { \cs_gset_eq:cN {#1} \c_empty_prop }
\cs_new_protected:Npn \prop_clear_new:N #1
- { \cs_if_exist:NTF #1 { \prop_clear:N #1 } { \prop_new:N #1 } }
+ { \prop_if_exist:NTF #1 { \prop_clear:N #1 } { \prop_new:N #1 } }
\cs_generate_variant:Nn \prop_clear_new:N { c }
\cs_new_protected:Npn \prop_gclear_new:N #1
- { \cs_if_exist:NTF #1 { \prop_gclear:N #1 } { \prop_new:N #1 } }
+ { \prop_if_exist:NTF #1 { \prop_gclear:N #1 } { \prop_new:N #1 } }
\cs_generate_variant:Nn \prop_gclear_new:N { c }
\cs_new_eq:NN \prop_set_eq:NN \tl_set_eq:NN
\cs_new_eq:NN \prop_set_eq:Nc \tl_set_eq:Nc
@@ -170,6 +170,14 @@
}
\cs_generate_variant:Nn \prop_put_if_new:Nnn { c }
\cs_generate_variant:Nn \prop_gput_if_new:Nnn { c }
+\cs_new_eq:NN \prop_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \prop_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \prop_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \prop_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \prop_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \prop_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \prop_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \prop_if_exist_p:c \cs_if_exist_p:c
\prg_new_conditional:Npnn \prop_if_empty:N #1 { p, T , F , TF }
{
\if_meaning:w #1 \c_empty_prop
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
index 2b47a5c01d8..6de7e2ea1ed 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3seq.dtx 3158 2012-01-09 00:47:42Z bruno $
+\GetIdInfo$Id: l3seq.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental sequences and stacks}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -114,6 +114,14 @@
{ \tl_gset:Nx #1 { \exp_not:o {#2} \exp_not:o {#3} } }
\cs_generate_variant:Nn \seq_concat:NNN { ccc }
\cs_generate_variant:Nn \seq_gconcat:NNN { ccc }
+\cs_new_eq:NN \seq_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \seq_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \seq_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \seq_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \seq_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \seq_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \seq_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \seq_if_exist_p:c \cs_if_exist_p:c
\cs_new_protected:Npn \seq_put_left:Nn #1#2
{ \tl_put_left:Nn #1 { \seq_item:n {#2} } }
\cs_new_protected:Npn \seq_put_right:Nn #1#2
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
index 5ba6dec68d7..671ce242540 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
@@ -47,7 +47,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3skip.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3skip.dtx 3499 2012-03-05 16:08:55Z bruno $
{L3 Experimental dimensions and skips}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -61,16 +61,30 @@
\newdimen #1
}
\cs_generate_variant:Nn \dim_new:N { c }
+\cs_new_protected:Npn \dim_const:Nn #1
+ {
+ \dim_new:N #1
+ \dim_gset:Nn #1
+ }
+\cs_generate_variant:Nn \dim_const:Nn { c }
\cs_new_protected:Npn \dim_zero:N #1 { #1 \c_zero_dim }
\cs_new_protected:Npn \dim_gzero:N { \tex_global:D \dim_zero:N }
\cs_generate_variant:Nn \dim_zero:N { c }
\cs_generate_variant:Nn \dim_gzero:N { c }
\cs_new_protected:Npn \dim_zero_new:N #1
- { \cs_if_exist:NTF #1 { \dim_zero:N #1 } { \dim_new:N #1 } }
+ { \dim_if_exist:NTF #1 { \dim_zero:N #1 } { \dim_new:N #1 } }
\cs_new_protected:Npn \dim_gzero_new:N #1
- { \cs_if_exist:NTF #1 { \dim_gzero:N #1 } { \dim_new:N #1 } }
+ { \dim_if_exist:NTF #1 { \dim_gzero:N #1 } { \dim_new:N #1 } }
\cs_generate_variant:Nn \dim_zero_new:N { c }
\cs_generate_variant:Nn \dim_gzero_new:N { c }
+\cs_new_eq:NN \dim_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \dim_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \dim_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \dim_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \dim_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \dim_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \dim_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \dim_if_exist_p:c \cs_if_exist_p:c
\cs_new_protected:Npn \dim_set:Nn #1#2
{ #1 ~ \dim_eval:w #2 \dim_eval_end: }
\cs_new_protected:Npn \dim_gset:Nn { \tex_global:D \dim_set:Nn }
@@ -127,33 +141,40 @@
}
\prg_new_conditional:Npnn \dim_compare:n #1 { p , T , F , TF }
{
- \exp_after:wN \dim_compare_aux:wNN \dim_use:N \dim_eval:w #1
- \dim_eval_end:
+ \exp_after:wN \dim_compare_aux:w \dim_use:N \dim_eval:w #1
+ \kernel_compare_error: \dim_eval_end:
\prg_return_true:
\else:
\prg_return_false:
\fi:
}
\exp_args:Nno \use:nn
- { \cs_new:Npn \dim_compare_aux:wNN #1 }
+ { \cs_new:Npn \dim_compare_aux:w #1 }
{ \tl_to_str:n { pt } }
- #2 #3
- {
- \use:c
- {
- dim_compare_ #2
- \if_meaning:w = #3 = \fi:
- :nw
- }
- { #1 pt } #3
- }
-\cs_new:cpn { dim_compare_<:nw } #1 { \if_dim:w #1 < \dim_eval:w }
-\cs_new:cpn { dim_compare_=:nw } #1 { \if_dim:w #1 = \dim_eval:w }
-\cs_new:cpn { dim_compare_>:nw } #1 { \if_dim:w #1 > \dim_eval:w }
-\cs_new:cpn {dim_compare_==:nw} #1#2 { \if_dim:w #1 = \dim_eval:w }
-\cs_new:cpn {dim_compare_<=:nw} #1#2 {\reverse_if:N \if_dim:w #1 > \dim_eval:w}
-\cs_new:cpn {dim_compare_!=:nw} #1#2 {\reverse_if:N \if_dim:w #1 = \dim_eval:w}
-\cs_new:cpn {dim_compare_>=:nw} #1#2 {\reverse_if:N \if_dim:w #1 < \dim_eval:w}
+ #2 \kernel_compare_error:
+ {
+ \exp_after:wN \dim_compare_aux:NNw #2 ?? \q_mark
+ #1 pt #2
+ }
+\cs_new:Npn \dim_compare_aux:NNw #1#2#3 \q_mark
+ {
+ \use:c { dim_compare_ #1 \if_meaning:w = #2 = \fi: :NNw }
+ \kernel_compare_error:Nw #1
+ }
+\cs_new:cpn { dim_compare_=:NNw } #1#2#3 =
+ { \if_dim:w #3 = \dim_eval:w }
+\cs_new:cpn { dim_compare_<:NNw } #1#2#3 <
+ { \if_dim:w #3 < \dim_eval:w }
+\cs_new:cpn { dim_compare_>:NNw } #1#2#3 >
+ { \if_dim:w #3 > \dim_eval:w }
+\cs_new:cpn { dim_compare_==:NNw } #1#2#3 ==
+ { \if_dim:w #3 = \dim_eval:w }
+\cs_new:cpn { dim_compare_!=:NNw } #1#2#3 !=
+ { \reverse_if:N \if_dim:w #3 = \dim_eval:w }
+\cs_new:cpn { dim_compare_<=:NNw } #1#2#3 <=
+ { \reverse_if:N \if_dim:w #3 > \dim_eval:w }
+\cs_new:cpn { dim_compare_>=:NNw } #1#2#3 >=
+ { \reverse_if:N \if_dim:w #3 < \dim_eval:w }
\cs_set:Npn \dim_while_do:nn #1#2
{
\dim_compare:nT {#1}
@@ -248,16 +269,30 @@
\newskip #1
}
\cs_generate_variant:Nn \skip_new:N { c }
+\cs_new_protected:Npn \skip_const:Nn #1
+ {
+ \skip_new:N #1
+ \skip_gset:Nn #1
+ }
+\cs_generate_variant:Nn \skip_const:Nn { c }
\cs_new_protected:Npn \skip_zero:N #1 { #1 \c_zero_skip }
\cs_new_protected:Npn \skip_gzero:N { \tex_global:D \skip_zero:N }
\cs_generate_variant:Nn \skip_zero:N { c }
\cs_generate_variant:Nn \skip_gzero:N { c }
\cs_new_protected:Npn \skip_zero_new:N #1
- { \cs_if_exist:NTF #1 { \skip_zero:N #1 } { \skip_new:N #1 } }
+ { \skip_if_exist:NTF #1 { \skip_zero:N #1 } { \skip_new:N #1 } }
\cs_new_protected:Npn \skip_gzero_new:N #1
- { \cs_if_exist:NTF #1 { \skip_gzero:N #1 } { \skip_new:N #1 } }
+ { \skip_if_exist:NTF #1 { \skip_gzero:N #1 } { \skip_new:N #1 } }
\cs_generate_variant:Nn \skip_zero_new:N { c }
\cs_generate_variant:Nn \skip_gzero_new:N { c }
+\cs_new_eq:NN \skip_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \skip_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \skip_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \skip_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \skip_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \skip_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \skip_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \skip_if_exist_p:c \cs_if_exist_p:c
\cs_new_protected:Npn \skip_set:Nn #1#2
{ #1 ~ \etex_glueexpr:D #2 \scan_stop: }
\cs_new_protected:Npn \skip_gset:Nn { \tex_global:D \skip_set:Nn }
@@ -289,16 +324,19 @@
\prg_return_false:
\fi:
}
-\prg_new_conditional:Npnn \skip_if_infinite_glue:n #1 { p , T , F , TF }
+\cs_set_protected:Npn \cs_tmp:w #1
{
- \bool_if:nTF
+ \prg_new_conditional:Npnn \skip_if_finite:n ##1 { p , T , F , TF }
{
- \int_compare_p:nNn { \etex_gluestretchorder:D #1 } > \c_zero ||
- \int_compare_p:nNn { \etex_glueshrinkorder:D #1 } > \c_zero
+ \exp_after:wN \skip_if_finite_aux:wwNw
+ \skip_use:N \etex_glueexpr:D ##1 ; \prg_return_false:
+ #1 ; \prg_return_true: \q_stop
}
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ \cs_new:Npn \skip_if_finite_aux:wwNw ##1 #1 ##2 ; ##3 ##4 \q_stop {##3}
+ }
+\exp_args:No \cs_tmp:w { \tl_to_str:n { fil } }
+\prg_new_conditional:Npnn \skip_if_infinite_glue:n #1 { p , T , F , TF }
+ { \skip_if_finite:nTF {#1} \prg_return_false: \prg_return_true: }
\cs_new:Npn \skip_eval:n #1
{ \skip_use:N \etex_glueexpr:D #1 \scan_stop: }
\cs_new_eq:NN \skip_use:N \tex_the:D
@@ -328,17 +366,31 @@
\newmuskip #1
}
\cs_generate_variant:Nn \muskip_new:N { c }
+\cs_new_protected:Npn \muskip_const:Nn #1
+ {
+ \muskip_new:N #1
+ \muskip_gset:Nn #1
+ }
+\cs_generate_variant:Nn \muskip_const:Nn { c }
\cs_new_protected:Npn \muskip_zero:N #1
{ #1 \c_zero_muskip }
\cs_new_protected:Npn \muskip_gzero:N { \tex_global:D \muskip_zero:N }
\cs_generate_variant:Nn \muskip_zero:N { c }
\cs_generate_variant:Nn \muskip_gzero:N { c }
\cs_new_protected:Npn \muskip_zero_new:N #1
- { \cs_if_exist:NTF #1 { \muskip_zero:N #1 } { \muskip_new:N #1 } }
+ { \muskip_if_exist:NTF #1 { \muskip_zero:N #1 } { \muskip_new:N #1 } }
\cs_new_protected:Npn \muskip_gzero_new:N #1
- { \cs_if_exist:NTF #1 { \muskip_gzero:N #1 } { \muskip_new:N #1 } }
+ { \muskip_if_exist:NTF #1 { \muskip_gzero:N #1 } { \muskip_new:N #1 } }
\cs_generate_variant:Nn \muskip_zero_new:N { c }
\cs_generate_variant:Nn \muskip_gzero_new:N { c }
+\cs_new_eq:NN \muskip_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \muskip_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \muskip_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \muskip_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \muskip_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \muskip_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \muskip_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \muskip_if_exist_p:c \cs_if_exist_p:c
\cs_new_protected:Npn \muskip_set:Nn #1#2
{ #1 ~ \etex_muexpr:D #2 \scan_stop: }
\cs_new_protected:Npn \muskip_gset:Nn { \tex_global:D \muskip_set:Nn }
@@ -370,16 +422,16 @@
{ \tex_showthe:D \etex_muexpr:D #1 \scan_stop: }
\cs_new:Npn \skip_split_finite_else_action:nnNN #1#2#3#4
{
- \skip_if_infinite_glue:nTF {#1}
- {
- #3 = \c_zero_skip
- #4 = \c_zero_skip
- #2
- }
- {
- #3 = \etex_gluestretch:D #1 \scan_stop:
- #4 = \etex_glueshrink:D #1 \scan_stop:
- }
+ \skip_if_finite:nTF {#1}
+ {
+ #3 = \etex_gluestretch:D #1 \scan_stop:
+ #4 = \etex_glueshrink:D #1 \scan_stop:
+ }
+ {
+ #3 = \c_zero_skip
+ #4 = \c_zero_skip
+ #2
+ }
}
%%
%%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
index 59e810e8aa5..763eba4d8a7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3tl.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3tl.dtx 3490 2012-03-04 01:00:53Z bruno $
{L3 Experimental token lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -77,9 +77,9 @@
\cs_generate_variant:Nn \tl_clear:N { c }
\cs_generate_variant:Nn \tl_gclear:N { c }
\cs_new_protected:Npn \tl_clear_new:N #1
- { \cs_if_exist:NTF #1 { \tl_clear:N #1 } { \tl_new:N #1 } }
+ { \tl_if_exist:NTF #1 { \tl_clear:N #1 } { \tl_new:N #1 } }
\cs_new_protected:Npn \tl_gclear_new:N #1
- { \cs_if_exist:NTF #1 { \tl_gclear:N #1 } { \tl_new:N #1 } }
+ { \tl_if_exist:NTF #1 { \tl_gclear:N #1 } { \tl_new:N #1 } }
\cs_generate_variant:Nn \tl_clear_new:N { c }
\cs_generate_variant:Nn \tl_gclear_new:N { c }
\cs_new_eq:NN \tl_set_eq:NN \cs_set_eq:NN
@@ -90,6 +90,14 @@
\cs_new_eq:NN \tl_gset_eq:cN \cs_gset_eq:cN
\cs_new_eq:NN \tl_gset_eq:Nc \cs_gset_eq:Nc
\cs_new_eq:NN \tl_gset_eq:cc \cs_gset_eq:cc
+\cs_new_eq:NN \tl_if_exist:NTF \cs_if_exist:NTF
+\cs_new_eq:NN \tl_if_exist:NT \cs_if_exist:NT
+\cs_new_eq:NN \tl_if_exist:NF \cs_if_exist:NF
+\cs_new_eq:NN \tl_if_exist_p:N \cs_if_exist_p:N
+\cs_new_eq:NN \tl_if_exist:cTF \cs_if_exist:cTF
+\cs_new_eq:NN \tl_if_exist:cT \cs_if_exist:cT
+\cs_new_eq:NN \tl_if_exist:cF \cs_if_exist:cF
+\cs_new_eq:NN \tl_if_exist_p:c \cs_if_exist_p:c
\cs_new_protected:Npn \tl_set:Nn #1#2
{ \cs_set_nopar:Npx #1 { \exp_not:n {#2} } }
\cs_new_protected:Npn \tl_set:No #1#2
@@ -401,7 +409,7 @@
\cs_generate_variant:Nn \tl_to_str:N { c }
\cs_new:Npn \tl_use:N #1
{
- \cs_if_exist:NTF #1 {#1}
+ \tl_if_exist:NTF #1 {#1}
{ \msg_expandable_kernel_error:nnn { kernel } { bad-var } {#1} }
}
\cs_generate_variant:Nn \tl_use:N { c }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
index 04531db0274..cd05ac7b262 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3token.dtx 3460 2012-02-26 12:16:41Z will $
+\GetIdInfo$Id: l3token.dtx 3491 2012-03-04 06:13:18Z bruno $
{L3 Experimental token manipulation}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -630,7 +630,7 @@
}
\cs_set:Npn \peek_def_aux:nnnnn #1#2#3#4#5
{
- \cs_gset_nopar:cpx { #1 #5 }
+ \cs_new_nopar:cpx { #1 #5 }
{
\tl_if_empty:nF {#2}
{ \exp_not:n { \cs_set_eq:NN \peek_execute_branches: #2 } }