summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/l3kernel
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-10-10 21:52:54 +0000
committerKarl Berry <karl@freefriends.org>2011-10-10 21:52:54 +0000
commit26a0070af35fa5652128c74fa1f126ec51def209 (patch)
treec3cb194fd4cc2dc13141e39c561dc5bc5d0b7a83 /Master/texmf-dist/tex/latex/l3kernel
parent4d055293335b5b39f55edeff0c28700ebc2486eb (diff)
l3kernel 2900 (10oct11)
git-svn-id: svn://tug.org/texlive/trunk@24256 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel')
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty79
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty13
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3box.sty32
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3clist.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls39
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3expan.sty57
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3file.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty20
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty26
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3io.sty133
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3msg.sty3
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty29
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty47
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3quark.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3seq.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3skip.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3tl.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3token.sty2
19 files changed, 337 insertions, 159 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 507e7decc28..74a65cddb61 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -48,23 +48,29 @@
\RequirePackage{l3names}
\def\ExplFileName{expl3}
\def\ExplFileDescription{L3 Experimental code bundle wrapper}
-\def\ExplFileDate{2011/09/15}
-\def\ExplFileVersion{2828}
+\def\ExplFileDate{2011/10/09}
+\def\ExplFileVersion{2900}
\RequirePackage{etex}
\reserveinserts{32}
\RequirePackage{calc}
-\RequirePackage{color,graphics}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
-\newcommand* \@l@expl@check@declarations@bool { 0 }
-\newcommand*\@l@expl@log@functions@bool { 0 }
+\newcommand* \l@expl@check@declarations@bool { 0 }
+\newcommand* \l@expl@log@functions@bool { 0 }
+\newcommand* \l@expl@native@drivers@bool { 0 }
\DeclareOption { check-declarations }
- { \def \@l@expl@check@declarations@bool { 1 } }
+ { \def \l@expl@check@declarations@bool { 1 } }
\DeclareOption { log-functions }
- {\def \@l@expl@log@functions@bool { 1 } }
+ { \def \l@expl@log@functions@bool { 1 } }
+\DeclareOption { native-drivers }
+ { \def \l@expl@native@drivers@bool { 1 } }
\ProcessOptions \relax
+\ifodd \l@expl@native@drivers@bool \relax
+\else
+ \RequirePackage { color , graphics }
+\fi
\RequirePackage{ l3basics, l3expan, l3tl }
-\ifodd \@l@expl@check@declarations@bool \relax
+\ifodd \l@expl@check@declarations@bool \relax
\cs_new_protected:Npn \tl_check_exists:N #1
{
\cs_if_exist:NF #1
@@ -125,20 +131,69 @@
l3color,
l3luatex
}
-\bool_if:nT { \@l@expl@check@declarations@bool }
+\bool_if:nT { \l@expl@check@declarations@bool }
{
\msg_kernel_new:nnnn { check } { non-declared-variable }
{ The~variable~#1~has~not~been~declared~\msg_line_context:. }
{
Checking~is~active,~and~you~have~tried~do~so~something~like: \\
- \ \ \tl_set:Nn #1 ~
- \iow_char:N \{ ~ ... ~ \iow_char:N \} \\
+ \ \ \tl_set:Nn ~ #1 ~ \iow_char:N \{ ~ ... ~ \iow_char:N \} \\
without~first~having: \\
- \ \ \tl_new:N #1 \\
+ \ \ \tl_new:N ~ #1 \\
\\
LaTeX~will~create~the~variable~and~continue.
}
}
+\bool_if:nTF { \l@expl@native@drivers@bool }
+ {
+ \xetex_if_engine:TF
+ { \file_input:n { l3xdvipdfmx.def } }
+ {
+ \RequirePackage { ifpdf }
+ \ifpdf
+ \file_input:n { l3pdfmode.def }
+ \else
+ \file_input:n { l3dvips.def }
+ \fi
+ }
+ \AtBeginDocument
+ {
+ \cs_if_free:NT \color
+ { \DeclareRobustCommand \color [2] [ ] { } }
+ }
+ }
+ {
+ \cs_set_protected_nopar:Npn \box_rotate:Nn #1#2
+ { \hbox_set:Nn #1 { \rotatebox {#2} { \box_use:N #1 } } }
+ \cs_set_protected_nopar:Npn \box_resize:Nnn #1#2#3
+ {
+ \hbox_set:Nn #1
+ {
+ \resizebox *
+ { \etex_dimexpr:D #2 \scan_stop: }
+ { \etex_dimexpr:D #3 \scan_stop: }
+ { \box_use:N #1 }
+ }
+ }
+ \cs_set_protected_nopar:Npn \box_resize_to_ht_plus_dp:Nn #1#2
+ {
+ \hbox_set:Nn #1
+ {
+ \resizebox * { ! } { \etex_dimexpr:D #2 \scan_stop: }
+ { \box_use:N #1 }
+ }
+ }
+ \cs_set_protected_nopar:Npn \box_resize_to_wd:Nn #1#2
+ {
+ \hbox_set:Nn #1
+ {
+ \resizebox * { \etex_dimexpr:D #2 \scan_stop: } { ! }
+ { \box_use:N #1 }
+ }
+ }
+ \cs_set_protected_nopar:Npn \box_scale:Nnn #1#2#3
+ { \hbox_set:Nn #1 { \scalebox {#2} [#3] { \box_use:N #1 } } }
+ }
\cs_set_protected_nopar:Npn \ExplSyntaxOn
{
\bool_if:NF \l_expl_status_bool
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
index ea2bafefc9e..2a432c83b9e 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 2817 2011-09-12 14:16:56Z joseph $
+\GetIdInfo$Id: l3basics.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental basic definitions}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -457,7 +457,7 @@
{ \token_to_str:N #1 } { \token_to_meaning:N #1 }
}
}
-\tex_ifodd:D \@l@expl@log@functions@bool
+\tex_ifodd:D \l@expl@log@functions@bool
\cs_set_protected_nopar:Npn \chk_if_free_cs:N #1
{
\cs_if_free:NF #1
@@ -541,7 +541,14 @@
\cs_new_protected_nopar:Npn \cs_undefine:N #1
{ \cs_gset_eq:NN #1 \c_undefined:D }
\cs_new_protected_nopar:Npn \cs_undefine:c #1
- { \cs_gset_eq:cN {#1} \c_undefined:D }
+ {
+ \if_cs_exist:w #1 \cs_end:
+ \exp_after:wN \use:n
+ \else:
+ \exp_after:wN \use_none:n
+ \fi:
+ { \cs_gset_eq:cN {#1} \c_undefined:D }
+ }
\cs_new:Npn \cs_get_arg_count_from_signature:N #1
{ \cs_split_function:NN #1 \cs_get_arg_count_from_signature_aux:nnN }
\cs_new:Npn \cs_get_arg_count_from_signature_aux:nnN #1#2#3
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
index c0e5ce553b8..1e25d4ea93d 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 2799 2011-09-10 15:46:33Z will $
+\GetIdInfo$Id: l3box.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental boxes}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -159,7 +159,7 @@
\cs_new_protected_nopar:Npn \hbox_gset_to_wd:Nnn
{ \tex_global:D \hbox_set_to_wd:Nnn }
\cs_generate_variant:Nn \hbox_set_to_wd:Nnn { c }
-\cs_generate_variant:Nn \hbox_gset_to_wd:Nnn {cnn}
+\cs_generate_variant:Nn \hbox_gset_to_wd:Nnn { c }
\cs_new_protected_nopar:Npn \hbox_set:Nw #1
{ \tex_setbox:D #1 \tex_hbox:D \c_group_begin_token }
\cs_new_protected_nopar:Npn \hbox_gset:Nw
@@ -294,8 +294,6 @@
{ \l_box_right_new_dim - \l_box_left_new_dim }
\box_use:N \l_box_tmp_box
}
-\cs_set_protected_nopar:Npn \box_rotate:Nn #1#2
- { \hbox_set:Nn #1 { \rotatebox {#2} { \box_use:N #1 } } }
\cs_new_protected_nopar:Npn \box_rotate_set_sin_cos:
{
\fp_set_eq:NN \l_box_tmp_fp \l_box_angle_fp
@@ -419,16 +417,6 @@
}
\box_resize_common:N #1
}
-\cs_set_protected_nopar:Npn \box_resize:Nnn #1#2#3
- {
- \hbox_set:Nn #1
- {
- \resizebox *
- { \etex_dimexpr:D #2 \scan_stop: }
- { \etex_dimexpr:D #3 \scan_stop: }
- { \box_use:N #1 }
- }
- }
\cs_new_protected_nopar:Npn \box_resize_to_ht_plus_dp:Nn #1#2
{
\hbox_set:Nn #1
@@ -470,20 +458,6 @@
}
}
\cs_generate_variant:Nn \box_resize_to_wd:Nn { c }
-\cs_set_protected_nopar:Npn \box_resize_to_ht_plus_dp:Nn #1#2
- {
- \hbox_set:Nn #1
- {
- \resizebox * { ! } { \etex_dimexpr:D #2 \scan_stop: } { \box_use:N #1 }
- }
- }
-\cs_set_protected_nopar:Npn \box_resize_to_wd:Nn #1#2
- {
- \hbox_set:Nn #1
- {
- \resizebox * { \etex_dimexpr:D #2 \scan_stop: } { ! } { \box_use:N #1 }
- }
- }
\cs_new_protected_nopar:Npn \box_scale:Nnn #1#2#3
{
\hbox_set:Nn #1
@@ -522,8 +496,6 @@
{ \l_box_right_new_dim -#2 \l_box_right_dim }
\box_resize_common:N #1
}
-\cs_set_protected_nopar:Npn \box_scale:Nnn #1#2#3
- { \hbox_set:Nn #1 { \scalebox {#2} [#3] { \box_use:N #1 } } }
\cs_new_protected_nopar:Npn \box_resize_common:N #1
{
\hbox_set:Nn \l_box_tmp_box
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
index 5f6330b6b77..ded66383b4a 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
@@ -47,7 +47,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3clist.dtx 2798 2011-09-10 15:42:13Z will $
+\GetIdInfo$Id: l3clist.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental comma separated lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index b4d84b0f52a..d86ed4560e9 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 2819 2011-09-12 17:26:47Z will $
+\GetIdInfo$Id: l3doc.dtx 2866 2011-10-01 05:16:55Z bruno $
{L3 Experimental documentation class}
\ProvidesExplClass
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -501,7 +501,9 @@
\tl_gset:Nx \g_doc_macro_tl { \l_doc_function_name_prefix_tl \l_doc_function_name_tl }
\g_doc_macro_tl
- \tl_if_empty:NF \l_doc_function_sig_tl { : \l_doc_function_sig_tl }
+ \int_compare:nT { \cs_get_arg_count_from_signature:N #1 >= 0 }
+ { : \l_doc_function_sig_tl }
+
\bool_if:NT \l_doc_meta_TF_bool { \doc_typeset_TF: }
&
@@ -634,32 +636,43 @@
\cs_set_eq:NN \testfile \doc_print_testfile:n
- \group_begin:
- \MakePrivateLetters
- \char_set_catcode_letter:N \\
- \char_set_catcode_ignore:N \ % space
- \char_set_catcode_ignore:N \^^M
- \char_set_catcode_ignore:N \^^I
- \doc_macro_aux:n
+ \peek_meaning_ignore_spaces:NTF \c_group_begin_token
+ {
+ \group_begin:
+ \MakePrivateLetters
+ \char_set_catcode_letter:N \\
+ \char_set_catcode_ignore:N \ % space
+ \char_set_catcode_ignore:N \^^M
+ \char_set_catcode_ignore:N \^^I
+ \doc_macro_aux:n
+ }
+ {
+ \doc_macro_verbatim:w
+ }
}
+\NewDocumentCommand {\doc_macro_verbatim:w} {v}
+ {
+ \group_begin: % pretty useless
+ \doc_macro_aux:n {#1}
+ }
\keys_define:nn { l3doc/macro }
{
unknown .code:n = { \use:c{doc_macro_opt_#1:} }
}
\cs_new_nopar:Npn \doc_macro_aux:n #1 {
\group_end:
- \cs_set:Npn \l_doc_macro_input_clist {#1}
+ \clist_set:Nn \l_doc_macro_input_clist {#1}
\bool_if:NTF \l_doc_macro_pTF_bool
{
- \clist_map_inline:nn {#1}
+ \clist_map_inline:Nn \l_doc_macro_input_clist
{
\exp_args:Nf \doc_macro_single { \doc_predicate_from_base:w ##1 }
}
\bool_set_true:N \l_doc_macro_TF_bool
- \clist_map_function:nN {#1} \doc_macro_single
+ \clist_map_function:NN \l_doc_macro_input_clist \doc_macro_single
\bool_set_false:N \l_doc_macro_TF_bool
}
- { \clist_map_function:nN {#1} \doc_macro_single }
+ { \clist_map_function:NN \l_doc_macro_input_clist \doc_macro_single }
}
\cs_set_nopar:Npn \doc_macro_opt_aux: { \bool_set_true:N \l_doc_macro_aux_bool }
\cs_set_nopar:Npn \doc_macro_opt_internal: { \bool_set_true:N \l_doc_macro_internal_bool }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
index 9e513253e40..def2204767c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3expan.dtx 2812 2011-09-12 09:19:26Z bruno $
+\GetIdInfo$Id: l3expan.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental argument expansion}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -279,8 +279,8 @@
\cs_new:Npn \exp_last_unbraced:NNNo #1#2#3#4
{ \exp_after:wN #1 \exp_after:wN #2 \exp_after:wN #3 #4 }
\cs_new:Npn \exp_last_two_unbraced:Noo #1#2#3
- { \exp_after:wN \exp_last_two_unbraced_aux:nnN \exp_after:wN {#3} {#2} #1 }
-\cs_new:Npn \exp_last_two_unbraced_aux:nnN #1#2#3
+ { \exp_after:wN \exp_last_two_unbraced_aux:noN \exp_after:wN {#3} {#2} #1 }
+\cs_new:Npn \exp_last_two_unbraced_aux:noN #1#2#3
{ \exp_after:wN #3 #2 #1 }
\cs_new:Npn \exp_not:o #1 { \etex_unexpanded:D \exp_after:wN {#1} }
\cs_new:Npn \exp_not:f #1
@@ -299,6 +299,7 @@
\cs_new_protected:Npn \cs_generate_variant:Nn #1
{
\chk_if_exist_cs:N #1
+ \cs_generate_variant_aux:N #1
\cs_split_function:NN #1 \cs_generate_variant_aux:nnNNn
#1
}
@@ -311,7 +312,23 @@
\fi:
\exp_args:NNc \cs_generate_variant_aux:NNn
#1
- { #2 : #4 \use:c { use_none: \cs_generate_variant_aux:N #4 ? } #3 }
+ {
+ #2 : #4
+ \exp_after:wN \use_i_delimit_by_q_stop:nw
+ \use_none:nnnnnnnnn #4
+ \use_none:nnnnnnnnn
+ \use_none:nnnnnnnn
+ \use_none:nnnnnnn
+ \use_none:nnnnnn
+ \use_none:nnnnn
+ \use_none:nnnn
+ \use_none:nnn
+ \use_none:nn
+ \use_none:n
+ { }
+ \q_stop
+ #3
+ }
{#4}
\cs_generate_variant_aux:Nnnw #1 {#2} {#3}
}
@@ -319,8 +336,7 @@
{
\cs_if_free:NTF #2
{
- \cs_generate_variant_aux:NNpx #1 #2
- { \exp_not:c { exp_args:N #3 } \exp_not:N #1 }
+ \cs_tmp:w #2 { \exp_not:c { exp_args:N #3 } \exp_not:N #1 }
\cs_generate_internal_variant:n {#3}
}
{
@@ -332,14 +348,6 @@
}
}
}
-\cs_new:Npn \cs_generate_variant_aux:N #1
- {
- \if:w ? #1
- \exp_after:wN \use_none:nn
- \fi:
- n
- \cs_generate_variant_aux:N
- }
\group_begin:
\tex_lccode:D `\Z = `\d \scan_stop:
\tex_lccode:D `\? =`\\ \scan_stop:
@@ -353,18 +361,19 @@
\tex_lowercase:D
{
\group_end:
- \cs_new_nopar:Npn \cs_generate_variant_aux:NNpx #1
+ \cs_new_nopar:Npn \cs_generate_variant_aux:N #1
{
\exp_after:wN \cs_generate_variant_aux:w
- \token_to_meaning:N #1 ? PROTECTEZ \q_stop
+ \token_to_meaning:N #1
+ \q_mark \cs_new_protected_nopar:Npx
+ ? PROTECTEZ
+ \q_mark \cs_new_nopar:Npx
+ \q_stop
}
- \cs_new:Npn \cs_generate_variant_aux:w #1 ? PROTECTEZ #2 \q_stop
+ \cs_new:Npn \cs_generate_variant_aux:w
+ #1 ? PROTECTEZ #2 \q_mark #3 #4 \q_stop
{
- \if_catcode:w a \etex_detokenize:D \exp_after:wN {#1} a
- \exp_after:wN \cs_new_protected_nopar:Npx
- \else:
- \exp_after:wN \cs_new_nopar:Npx
- \fi:
+ \cs_set_eq:NN \cs_tmp:w #3
}
}
\cs_new_protected:Npn \cs_generate_internal_variant:n #1
@@ -373,12 +382,12 @@
{
\cs_new:cpx { exp_args:N #1 }
{ \cs_generate_internal_variant_aux:N #1 : }
- }
+ }
}
\cs_new:Npn \cs_generate_internal_variant_aux:N #1
{
\exp_not:c { :: #1 }
- \if_meaning:w #1 :
+ \if_meaning:w : #1
\exp_after:wN \use_none:n
\fi:
\cs_generate_internal_variant_aux:N
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
index 6019110f675..1437c74f4da 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 2776 2011-09-07 18:33:19Z joseph $
+\GetIdInfo$Id: l3file.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental file operations}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
index 9d3f1943a09..6304b6d449c 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 2812 2011-09-12 09:19:26Z bruno $
+\GetIdInfo$Id: l3fp.dtx 2857 2011-09-26 19:46:31Z joseph $
{L3 Experimental floating-point operations}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -1707,7 +1707,7 @@
\cs_new_protected_nopar:Npn \fp_trig_octant:
{
\l_fp_trig_octant_int \c_one
- \fp_trig_octant_aux:
+ \fp_trig_octant_aux_i:
\if_int_compare:w \l_fp_input_a_decimal_int < \c_ten
\l_fp_input_a_decimal_int \c_zero
\l_fp_input_a_extended_int \c_zero
@@ -1722,7 +1722,17 @@
\l_fp_input_a_extended_int
\fi:
}
-\cs_new_protected_nopar:Npn \fp_trig_octant_aux:
+\cs_new_protected_nopar:Npn \fp_trig_octant_aux_i:
+ {
+ \if_int_compare:w \l_fp_trig_octant_int > \c_four
+ \l_fp_trig_octant_int \c_four
+ \l_fp_input_a_decimal_int \c_fp_pi_by_four_decimal_int
+ \l_fp_input_a_extended_int \c_fp_pi_by_four_extended_int
+ \else:
+ \exp_after:wN \fp_trig_octant_aux_ii:
+ \fi:
+ }
+\cs_new_protected_nopar:Npn \fp_trig_octant_aux_ii:
{
\if_int_compare:w \l_fp_input_a_integer_int > \c_zero
\fp_sub:NNNNNNNNN
@@ -1732,7 +1742,7 @@
\l_fp_input_a_integer_int \l_fp_input_a_decimal_int
\l_fp_input_a_extended_int
\tex_advance:D \l_fp_trig_octant_int \c_one
- \exp_after:wN \fp_trig_octant_aux:
+ \exp_after:wN \fp_trig_octant_aux_i:
\else:
\if_int_compare:w
\l_fp_input_a_decimal_int > \c_fp_pi_by_four_decimal_int
@@ -1745,7 +1755,7 @@
\l_fp_input_a_extended_int
\tex_advance:D \l_fp_trig_octant_int \c_one
\exp_after:wN \exp_after:wN \exp_after:wN
- \fp_trig_octant_aux:
+ \fp_trig_octant_aux_i:
\fi:
\fi:
}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
index af6b2abb1a8..8196f23e1eb 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 2812 2011-09-12 09:19:26Z bruno $
+\GetIdInfo$Id: l3int.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental integers}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -339,17 +339,25 @@
{ \int_do_until:nNnn {#1} #2 {#3} {#4} }
}
\cs_new_nopar:Npn \int_to_arabic:n #1 { \int_eval:n {#1} }
-\cs_new_nopar:Npn \int_to_symbols:nnn #1#2#3
+\cs_new:Npn \int_to_symbols:nnn #1#2#3
{
\int_compare:nNnTF {#1} > {#2}
{
- \exp_args:Nf \int_to_symbols:nnn
- { \int_div_truncate:nn { #1 - 1 } {#2} } {#2} {#3}
- \exp_args:Nf \prg_case_int:nnn
- { \int_eval:n { 1 + \int_mod:nn { #1 - 1 } {#2} } }
- {#3} { }
+ \exp_args:NNo \exp_args:No \int_to_symbols_aux:nnnn
+ {
+ \prg_case_int:nnn
+ { 1 + \int_mod:nn { #1 - 1 } {#2} }
+ {#3} { }
+ }
+ {#1} {#2} {#3}
}
- { \exp_args:Nf \prg_case_int:nnn { \int_eval:n {#1} } {#3} { } }
+ { \prg_case_int:nnn {#1} {#3} { } }
+ }
+\cs_new:Npn \int_to_symbols_aux:nnnn #1#2#3#4
+ {
+ \exp_args:Nf \int_to_symbols:nnn
+ { \int_div_truncate:nn { #2 - 1 } {#3} } {#3} {#4}
+ #1
}
\cs_new:Npn \int_to_alph:n #1
{
@@ -473,7 +481,7 @@
\or: X
\or: Y
\or: Z
- \else: #1
+ \else: \int_value:w \int_eval:w #1 \exp_after:wN \int_eval_end:
\fi:
}
\cs_new:Npn \int_to_binary:n #1
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3io.sty b/Master/texmf-dist/tex/latex/l3kernel/l3io.sty
index 971e8944ca7..4073a35bfa8 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3io.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3io.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3io.dtx 2799 2011-09-10 15:46:33Z will $
+\GetIdInfo$Id: l3io.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental input-output operations}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -88,6 +88,14 @@
\cs_set_eq:NN \ior_raw_new:N \newread
\cs_generate_variant:Nn \ior_raw_new:N { c }
\cs_generate_variant:Nn \iow_raw_new:N { c }
+\cs_new_protected_nopar:Npn \ior_new:N #1
+ {
+ \chk_if_free_cs:N #1
+ \tex_global:D \tex_chardef:D #1 16 ~
+ }
+\cs_new_eq:NN \iow_new:N \ior_new:N
+\cs_generate_variant:Nn \ior_new:N { c }
+\cs_generate_variant:Nn \iow_new:N { c }
\cs_new_protected_nopar:Npn \ior_open:Nn #1#2
{
\ior_close:N #1
@@ -198,9 +206,10 @@
{
\int_compare:nNnF #1 = \c_minus_one
{
- \tex_closein:D #1
+ \int_compare:nNnF #1 = \c_sixteen
+ { \tex_closein:D #1 }
\prop_gdel:NV \g_ior_streams_prop #1
- \cs_undefine:N #1
+ \tex_global:D \tex_chardef:D #1 16 ~
}
}
}
@@ -210,9 +219,10 @@
{
\int_compare:nNnF #1 = \c_minus_one
{
- \tex_immediate:D \tex_closeout:D #1
+ \int_compare:nNnF #1 = \c_sixteen
+ { \tex_closein:D #1 }
\prop_gdel:NV \g_iow_streams_prop #1
- \cs_undefine:N #1
+ \tex_global:D \tex_chardef:D #1 16 ~
}
}
}
@@ -284,41 +294,82 @@
{ \cs_if_free:NTF #1 { \use_none:n } { \iow_now:Nn #1 } }
\cs_new_protected_nopar:Npn \iow_now_when_avail:Nx #1
{ \cs_if_free:NTF #1 { \use_none:n } { \iow_now:Nx #1 } }
+\cs_new_nopar:Npn \iow_newline: { ^^J }
+\cs_new_eq:NN \iow_char:N \cs_to_str:N
\int_new:N \l_iow_line_length_int
\int_set:Nn \l_iow_line_length_int { 78 }
\int_new:N \l_iow_target_length_int
\int_new:N \l_iow_current_line_int
\int_new:N \l_iow_current_word_int
+\int_new:N \l_iow_current_indentation_int
\tl_new:N \l_iow_current_line_tl
\tl_new:N \l_iow_current_word_tl
+\tl_new:N \l_iow_current_indentation_tl
\tl_new:N \l_iow_wrap_tl
\tl_new:N \l_iow_wrapped_tl
-\quark_new:N \q_iow_stop
\bool_new:N \l_iow_line_start_bool
\group_begin:
\char_set_catcode_other:N \*
\char_set_lccode:nn {`\*} {`\ }
\tl_to_lowercase:n { \tl_const:Nn \c_catcode_other_space_tl { * } }
\group_end:
+\group_begin:
+ \int_set_eq:NN \tex_escapechar:D \c_minus_one
+ \tl_const:Nx \c_iow_wrap_marker_tl
+ { \tl_to_str:n { \^^I \^^O \^^W \^^_ \^^W \^^R \^^A \^^P } }
+ \cs_set:Npn \iow_wrap_new_marker:n #1
+ {
+ \tl_const:cx { c_iow_wrap_ #1 _marker_tl }
+ {
+ \c_catcode_other_space_tl
+ \c_iow_wrap_marker_tl
+ \c_catcode_other_space_tl
+ #1
+ \c_catcode_other_space_tl
+ }
+ }
+ \iow_wrap_new_marker:n { end }
+ \iow_wrap_new_marker:n { newline }
+ \iow_wrap_new_marker:n { indent }
+ \iow_wrap_new_marker:n { unindent }
+\group_end:
+\cs_new_protected:Npn \iow_indent:n #1 { }
+\cs_new:Npx \iow_indent_expandable:n #1
+ {
+ \c_iow_wrap_indent_marker_tl
+ #1
+ \c_iow_wrap_unindent_marker_tl
+ }
\cs_new_protected:Npn \iow_wrap:xnnnN #1#2#3#4#5
{
\group_begin:
\int_set:Nn \l_iow_target_length_int { \l_iow_line_length_int - ( #3 ) }
+ \int_zero:N \l_iow_current_indentation_int
+ \tl_clear:N \l_iow_current_indentation_tl
\int_zero:N \l_iow_current_line_int
\tl_clear:N \l_iow_current_line_tl
\tl_clear:N \l_iow_wrap_tl
\bool_set_true:N \l_iow_line_start_bool
- \cs_set:Npx \\
- { \c_catcode_other_space_tl \iow_newline: \c_catcode_other_space_tl }
+ \int_set_eq:NN \tex_escapechar:D \c_minus_one
+ \cs_set_nopar:Npx \{ { \token_to_str:N \{ }
+ \cs_set_nopar:Npx \# { \token_to_str:N \# }
+ \cs_set_nopar:Npx \} { \token_to_str:N \} }
+ \cs_set_nopar:Npx \% { \token_to_str:N \% }
+ \cs_set_nopar:Npx \~ { \token_to_str:N \~ }
+ \int_set:Nn \tex_escapechar:D { 92 }
+ \cs_set_eq:NN \\ \c_iow_wrap_newline_marker_tl
\cs_set_eq:NN \ \c_catcode_other_space_tl
+ \cs_set_eq:NN \iow_indent:n \iow_indent_expandable:n
#4
\protected@edef \l_iow_wrap_tl {#1}
\cs_set:Npn \\ { \iow_newline: #2 }
\use:x
{
- \exp_not:N \iow_wrap_loop:w
- \tl_to_str:N \l_iow_wrap_tl \c_space_tl
- \exp_not:N \q_iow_stop \c_space_tl
+ \iow_wrap_loop:w
+ \tl_to_str:N \l_iow_wrap_tl
+ \tl_to_str:N \c_iow_wrap_end_marker_tl
+ \c_space_tl \c_space_tl
+ \exp_not:N \q_stop
}
\exp_args:NNo \group_end:
#5 \l_iow_wrapped_tl
@@ -326,21 +377,16 @@
\cs_new_protected:Npn \iow_wrap_loop:w #1 ~ %
{
\tl_set:Nn \l_iow_current_word_tl {#1}
- \tl_if_eq:NNTF \l_iow_current_word_tl \iow_newline:
- { \iow_wrap_newline: }
- {
- \tl_if_eq:NNTF \l_iow_current_word_tl \q_iow_stop
- { \iow_wrap_end: }
- { \iow_wrap_word: }
- }
+ \tl_if_eq:NNTF \l_iow_current_word_tl \c_iow_wrap_marker_tl
+ { \iow_wrap_special:w }
+ { \iow_wrap_word: }
}
\cs_new_protected_nopar:Npn \iow_wrap_word:
{
\int_set:Nn \l_iow_current_word_int
{ \str_length_skip_spaces:N \l_iow_current_word_tl }
\int_add:Nn \l_iow_current_line_int { \l_iow_current_word_int }
- \int_compare:nNnTF \l_iow_current_line_int
- < \l_iow_target_length_int
+ \int_compare:nNnTF \l_iow_current_line_int < \l_iow_target_length_int
{ \iow_wrap_word_fits: }
{ \iow_wrap_word_newline: }
\iow_wrap_loop:w
@@ -350,7 +396,10 @@
\bool_if:NTF \l_iow_line_start_bool
{
\bool_set_false:N \l_iow_line_start_bool
- \tl_set_eq:NN \l_iow_current_line_tl \l_iow_current_word_tl
+ \tl_put_right:Nx \l_iow_current_line_tl
+ { \l_iow_current_indentation_tl \l_iow_current_word_tl }
+ \int_add:Nn \l_iow_current_line_int
+ { \l_iow_current_indentation_int }
}
{
\tl_put_right:Nx \l_iow_current_line_tl
@@ -362,8 +411,22 @@
{
\tl_put_right:Nx \l_iow_wrapped_tl
{ \l_iow_current_line_tl \\ }
- \int_set_eq:NN \l_iow_current_line_int \l_iow_current_word_int
- \tl_set_eq:NN \l_iow_current_line_tl \l_iow_current_word_tl
+ \int_set:Nn \l_iow_current_line_int
+ {
+ \l_iow_current_word_int
+ + \l_iow_current_indentation_int
+ }
+ \tl_set:Nx \l_iow_current_line_tl
+ { \l_iow_current_indentation_tl \l_iow_current_word_tl }
+ }
+\cs_new_protected_nopar:Npn \iow_wrap_special:w #1 ~ #2 ~ #3 ~ %
+ {
+ \cs_if_exist:cTF { iow_wrap_#1: }
+ { \use:c { iow_wrap_#1: } }
+ { \msg_expandable_error:n {#1} }
+ \str_if_eq:xxTF { #2~#3 } { ~ \c_iow_wrap_marker_tl }
+ { \iow_wrap_special:w }
+ { \iow_wrap_loop:w #2 ~ #3 ~ }
}
\cs_new_protected_nopar:Npn \iow_wrap_newline:
{
@@ -372,12 +435,24 @@
\int_zero:N \l_iow_current_line_int
\tl_clear:N \l_iow_current_line_tl
\bool_set_true:N \l_iow_line_start_bool
- \iow_wrap_loop:w
+ }
+\cs_new_protected_nopar:Npx \iow_wrap_indent:
+ {
+ \int_add:Nn \l_iow_current_indentation_int \c_four
+ \tl_put_right:Nx \exp_not:N \l_iow_current_indentation_tl
+ { \c_space_tl \c_space_tl \c_space_tl \c_space_tl }
+ }
+\cs_new_protected_nopar:Npn \iow_wrap_unindent:
+ {
+ \int_sub:Nn \l_iow_current_indentation_int \c_four
+ \tl_set:Nx \l_iow_current_indentation_tl
+ { \prg_replicate:nn \l_iow_current_indentation_int { ~ } }
}
\cs_new_protected_nopar:Npn \iow_wrap_end:
{
\tl_put_right:Nx \l_iow_wrapped_tl
{ \l_iow_current_line_tl }
+ \use_none_delimit_by_q_stop:w
}
\cs_new_nopar:Npn \str_length_skip_spaces:N
{ \exp_args:No \str_length_skip_spaces:n }
@@ -397,16 +472,18 @@
\exp_after:wN \str_length_loop:NNNNNNNNN
\fi:
}
-\cs_new_nopar:Npn \iow_newline: { ^^J }
-\cs_new_eq:NN \iow_char:N \cs_to_str:N
\prg_new_conditional:Nnn \ior_if_eof:N { p , T , F , TF }
{
\cs_if_exist:NTF #1
{
- \if_eof:w #1
+ \if_int_compare:w #1 = \c_sixteen
\prg_return_true:
\else:
- \prg_return_false:
+ \if_eof:w #1
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
\fi:
}
{ \prg_return_true: }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
index d9e55670d4b..f524af018c6 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 2812 2011-09-12 09:19:26Z bruno $
+\GetIdInfo$Id: l3msg.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental messages}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -130,6 +130,7 @@
\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:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
index 1c7d9568557..c93aa0bf179 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}
-\GetIdInfo$Id: l3names.dtx 2776 2011-09-07 18:33:19Z joseph $
+\GetIdInfo$Id: l3names.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental 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 250d46a77af..9fdb0cb4006 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 2827 2011-09-15 19:37:32Z joseph $
+\GetIdInfo$Id: l3prg.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental control structures}
%%
\ProvidesExplPackage
@@ -271,9 +271,12 @@
#2
\bool_if:nF {#1} { \bool_do_until:nn {#1} {#2} }
}
-\cs_new_eq:NN \prg_case_end:nw \use_i_delimit_by_q_recursion_stop:nw
+\cs_new:Npn \prg_case_end:nw #1 #2 \q_recursion_stop { \c_zero #1 }
\cs_new:Npn \prg_case_int:nnn #1
- { \exp_args:Nf \prg_case_int_aux:nnn { \int_eval:n {#1} } }
+ {
+ \tex_romannumeral:D
+ \exp_args:Nf \prg_case_int_aux:nnn { \int_eval:n {#1} }
+ }
\cs_new:Npn \prg_case_int_aux:nnn #1 #2 #3
{ \prg_case_int_aux:nw {#1} #2 {#1} {#3} \q_recursion_stop }
\cs_new:Npn \prg_case_int_aux:nw #1#2#3
@@ -283,7 +286,10 @@
{ \prg_case_int_aux:nw {#1} }
}
\cs_new:Npn \prg_case_dim:nnn #1
- { \exp_args:Nf \prg_case_dim_aux:nnn { \dim_eval:n {#1} } }
+ {
+ \tex_romannumeral:D
+ \exp_args:Nf \prg_case_dim_aux:nnn { \dim_eval:n {#1} }
+ }
\cs_new:Npn \prg_case_dim_aux:nnn #1 #2 #3
{ \prg_case_dim_aux:nw {#1} #2 {#1} {#3} \q_recursion_stop }
\cs_new:Npn \prg_case_dim_aux:nw #1#2#3
@@ -293,7 +299,10 @@
{ \prg_case_dim_aux:nw {#1} }
}
\cs_new:Npn \prg_case_str:nnn #1#2#3
- { \prg_case_str_aux:nw {#1} #2 {#1} {#3} \q_recursion_stop }
+ {
+ \tex_romannumeral:D
+ \prg_case_str_aux:nw {#1} #2 {#1} {#3} \q_recursion_stop
+ }
\cs_new:Npn \prg_case_str_aux:nw #1#2#3
{
\str_if_eq:nnTF {#1} {#2}
@@ -302,7 +311,10 @@
}
\cs_generate_variant:Nn \prg_case_str:nnn { o }
\cs_new:Npn \prg_case_str:xxn #1#2#3
- { \prg_case_str_x_aux:nw {#1} #2 {#1} {#3} \q_recursion_stop }
+ {
+ \tex_romannumeral:D
+ \prg_case_str_x_aux:nw {#1} #2 {#1} {#3} \q_recursion_stop
+ }
\cs_new:Npn \prg_case_str_x_aux:nw #1#2#3
{
\str_if_eq:xxTF {#1} {#2}
@@ -310,7 +322,10 @@
{ \prg_case_str_x_aux:nw {#1} }
}
\cs_new:Npn \prg_case_tl:Nnn #1#2#3
- { \prg_case_tl_aux:Nw #1 #2 #1 {#3} \q_recursion_stop }
+ {
+ \tex_romannumeral:D
+ \prg_case_tl_aux:Nw #1 #2 #1 {#3} \q_recursion_stop
+ }
\cs_new:Npn \prg_case_tl_aux:Nw #1#2#3
{
\tl_if_eq:NNTF #1 #2
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
index b7941873865..eebc40c2520 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 2820 2011-09-12 18:56:29Z bruno $
+\GetIdInfo$Id: l3prop.dtx 2839 2011-09-17 20:18:23Z bruno $
{L3 Experimental property lists}
%%
\ProvidesExplPackage
@@ -186,20 +186,22 @@
{
\exp_last_unbraced:Noo \prop_if_in_aux:nwn
{ \tl_to_str:n {#2} } #1
- A \q_prop { } \q_stop
+ \tl_to_str:n {#2} \q_prop { }
+ \q_recursion_tail \q_recursion_stop
}
\cs_new:Npn \prop_if_in_aux:nwn #1 \q_prop #2 \q_prop #3
{
- \if_meaning:w A #2
- \prg_return_false:
- \exp_after:wN \use_none_delimit_by_q_stop:w
+ \str_if_eq:xxTF {#1} {#2}
+ { \prop_if_in_aux:Nw }
+ { \prop_if_in_aux:nwn {#1} }
+ }
+\cs_new:Npn \prop_if_in_aux:Nw #1 #2 \q_recursion_stop
+ {
+ \if_meaning:w \q_prop #1
+ \prg_return_true:
+ \else:
+ \prg_return_false:
\fi:
- \str_if_eq:nnT {#1} {#2}
- {
- \prg_return_true:
- \use_none_delimit_by_q_stop:w
- }
- \prop_if_in_aux:nwn {#1}
}
\cs_generate_variant:Nn \prop_if_in_p:Nn { NV , No }
\cs_generate_variant:Nn \prop_if_in_p:Nn { c , cV , co }
@@ -229,11 +231,11 @@
\cs_new_nopar:Npn \prop_map_function:NN #1#2
{
\exp_last_unbraced:NNo \prop_map_function_aux:Nwn #2
- #1 A \q_prop { } \q_recursion_stop
+ #1 \q_recursion_tail \q_prop { } \q_recursion_stop
}
\cs_new:Npn \prop_map_function_aux:Nwn #1 \q_prop #2 \q_prop #3
{
- \if_meaning:w A #2
+ \if_meaning:w \q_recursion_tail #2
\exp_after:wN \prop_map_break:
\fi:
#1 {#2} {#3}
@@ -310,11 +312,11 @@
\cs_new:Npn \prop_map_tokens:Nn #1#2
{
\exp_last_unbraced:Nno \prop_map_tokens_aux:nwn {#2} #1
- A \q_prop { } \q_recursion_stop
+ \q_recursion_tail \q_prop { } \q_recursion_stop
}
\cs_new:Npn \prop_map_tokens_aux:nwn #1 \q_prop #2 \q_prop #3
{
- \if_meaning:w A #2
+ \if_meaning:w \q_recursion_tail #2
\exp_after:wN \prop_map_break:
\fi:
\use:n {#1} {#2} {#3}
@@ -322,9 +324,18 @@
}
\cs_generate_variant:Nn \prop_map_tokens:Nn { c }
\cs_new:Npn \prop_get:Nn #1#2
- { \prop_map_tokens:Nn #1 { \prop_get_aux:nnn {#2} } }
-\cs_new:Npn \prop_get_aux:nnn #1#2#3
- { \str_if_eq:nnT {#1} {#2} { \prop_map_break:n {#3} } }
+ {
+ \exp_last_unbraced:Noo \prop_get_Nn_aux:nwn
+ { \tl_to_str:n {#2} } #1
+ \tl_to_str:n {#2} \q_prop { }
+ \q_recursion_stop
+ }
+\cs_new:Npn \prop_get_Nn_aux:nwn #1 \q_prop #2 \q_prop #3
+ {
+ \str_if_eq:xxTF {#1} {#2}
+ { \use_i_delimit_by_q_recursion_stop:nw {#3} }
+ { \prop_get_Nn_aux:nwn {#1} }
+ }
\cs_generate_variant:Nn \prop_get:Nn { c }
%%
%%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
index 8cc8cbc1a73..3ff98eab3dc 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3quark.dtx 2798 2011-09-10 15:42:13Z will $
+\GetIdInfo$Id: l3quark.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental quarks}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
index 5231aea2d2e..0489e8e2378 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 2812 2011-09-12 09:19:26Z bruno $
+\GetIdInfo$Id: l3seq.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental sequences and stacks}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
index 8a0dc60614f..4a086cf2270 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
@@ -46,7 +46,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3skip.dtx 2818 2011-09-12 14:47:38Z will $
+\GetIdInfo$Id: l3skip.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental dimensions and skips}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -100,7 +100,7 @@
\cs_new_nopar:Npn \dim_ratio:nn #1#2
{ \dim_ratio_aux:n {#1} / \dim_ratio_aux:n {#2} }
\cs_new_nopar:Npn \dim_ratio_aux:n #1
- { \exp_after:wN \int_value:w \dim_eval:w #1 \dim_eval_end: }
+ { \int_value:w \dim_eval:w #1 \dim_eval_end: }
\prg_new_conditional:Npnn \dim_compare:nNn #1#2#3 { p , T , F , TF }
{
\if_dim:w \dim_eval:w #1 #2 \dim_eval:w #3 \dim_eval_end:
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
index 8d4798c1306..a66439d732d 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 2812 2011-09-12 09:19:26Z bruno $
+\GetIdInfo$Id: l3tl.dtx 2831 2011-09-16 03:47:54Z bruno $
{L3 Experimental token lists}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
index 57140f31380..052ccc0ce83 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 2819 2011-09-12 17:26:47Z will $
+\GetIdInfo$Id: l3token.dtx 2896 2011-10-09 20:36:50Z joseph $
{L3 Experimental token manipulation}
%% \begin{function}[EXP,pTF]{\token_if_protected_long_macro:N}
\ProvidesExplPackage