summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/expl3/l3tl.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3tl.sty')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3tl.sty127
1 files changed, 126 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3tl.sty b/Master/texmf-dist/tex/latex/expl3/l3tl.sty
index 00dcc85798c..121cdb68c7f 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3tl.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3tl.sty
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3tl.dtx 1873 2010-03-24 08:32:54Z joseph $
+\GetIdInfo$Id: l3tl.dtx 1905 2010-05-19 07:45:31Z joseph $
{L3 Experimental Token Lists}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -64,6 +64,17 @@
}
\cs_new_protected_nopar:Npn \tl_new:N #1{\tl_new:Nn #1{}}
\cs_new_protected_nopar:Npn \tl_new:c #1{\tl_new:cn {#1}{}}
+\cs_new_protected:Npn \tl_new_local:Nn #1#2{
+ \chk_if_free_cs:N #1
+ \cs_set_nopar:Npn #1{#2}
+}
+\cs_generate_variant:Nn \tl_new_local:Nn {cn}
+\cs_new_protected:Npn \tl_new_local:Nx #1#2{
+ \chk_if_free_cs:N #1
+ \cs_set_nopar:Npx #1{#2}
+}
+\cs_new_protected_nopar:Npn \tl_new_local:N #1{\tl_new_local:Nn #1{}}
+\cs_new_protected_nopar:Npn \tl_new_local:c #1{\tl_new_local:cn {#1}{}}
\cs_new_protected:Npn \tl_const:Nn #1#2 {
\tl_new:N #1
\tl_gset:Nn #1 {#2}
@@ -690,6 +701,120 @@
\tl_head:w #1 \q_nil \exp_not:N #2
\prg_return_true: \else: \prg_return_false: \fi:
}
+\tex_ifodd:D \@l@expl@check@declarations@bool \scan_stop:
+ \cs_set_protected:Npn \_tl_check_exists:N #1
+ {
+ \cs_if_exist:NF #1
+ {
+ \msg_kernel_error:nnx { check } { non-declared-variable }
+ { \token_to_str:N #1 }
+ }
+ }
+ \cs_set_protected:Npn \tl_set:Nn #1#2
+ {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:n {#2} }
+ }
+ \cs_set_protected:Npn \tl_set:Nx #1#2
+ {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 {#2}
+ }
+ \cs_set_protected:Npn \tl_gset:Nn #1#2
+ {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:n {#2} }
+ }
+ \cs_set_protected:Npn \tl_gset:Nx #1#2
+ {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 {#2}
+ }
+ \cs_set_protected:Npn \tl_set_eq:NN #1#2
+ {
+ \_tl_check_exists:N #1
+ \_tl_check_exists:N #2
+ \cs_set_eq:NN #1 #2
+ }
+ \cs_set_protected:Npn \tl_gset_eq:NN #1#2
+ {
+ \_tl_check_exists:N #1
+ \_tl_check_exists:N #2
+ \cs_gset_eq:NN #1 #2
+ }
+ \cs_set_protected:Npn \tl_put_right:Nn #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:V #1 \exp_not:n {#2} }
+ }
+ \cs_set_protected:Npn \tl_put_right:NV #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:V #1 \exp_not:V #2 }
+ }
+ \cs_set_protected:Npn \tl_put_right:Nv #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:V #1 \exp_not:v {#2} }
+ }
+ \cs_set_protected:Npn \tl_put_right:No #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:V #1 \exp_not:o {#2} }
+ }
+ \cs_set_protected:Npn \tl_put_right:Nx #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:V #1 #2 }
+ }
+ \cs_set_protected:Npn \tl_gput_right:Nn #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:V #1 \exp_not:n {#2} }
+ }
+ \cs_set_protected:Npn \tl_gput_right:NV #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:V #1 \exp_not:V #2 }
+ }
+ \cs_set_protected:Npn \tl_gput_right:Nv #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:V #1 \exp_not:v {#2} }
+ }
+ \cs_set_protected:Npn \tl_gput_right:Nx #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:V #1 #2 }
+ }
+ \cs_set_protected:Npn \tl_put_left:Nn #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:n {#2} \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_put_left:NV #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:V #2 \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_put_left:Nv #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:v {#2} \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_put_left:No #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { \exp_not:o {#2} \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_put_left:Nx #1#2 {
+ \_tl_check_exists:N #1
+ \cs_set_nopar:Npx #1 { #2 \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_gput_left:Nn #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:n {#2} \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_gput_left:NV #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:V #2 \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_gput_left:Nv #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { \exp_not:v {#2} \exp_not:V #1 }
+ }
+ \cs_set_protected:Npn \tl_gput_left:Nx #1#2 {
+ \_tl_check_exists:N #1
+ \cs_gset_nopar:Npx #1 { #2 \exp_not:V #1 }
+ }
+\tex_fi:D
%%
%%
%% End of file `l3tl.sty'.