summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/expl3/l3basics.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/expl3/l3basics.sty')
-rw-r--r--Master/texmf-dist/tex/latex/expl3/l3basics.sty56
1 files changed, 21 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/latex/expl3/l3basics.sty b/Master/texmf-dist/tex/latex/expl3/l3basics.sty
index 785b120b2dc..d128e2fa1f3 100644
--- a/Master/texmf-dist/tex/latex/expl3/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/expl3/l3basics.sty
@@ -15,7 +15,7 @@
%% Do not distribute a modified version of this file.
%%
%%
-%% File: l3basics.dtx Copyright (C) 1990-2008 LaTeX3 project
+%% File: l3basics.dtx Copyright (C) 1990-2008,2010 LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -48,7 +48,7 @@
%%
%% -----------------------------------------------------------------------
\RequirePackage{l3names}
-\GetIdInfo$Id: l3basics.dtx 1992 2010-08-04 20:41:40Z joseph $
+\GetIdInfo$Id: l3basics.dtx 2037 2010-09-20 21:22:45Z joseph $
{L3 Experimental basic definitions}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -307,13 +307,13 @@
\tex_chardef:D \c_true_bool = 1~
\tex_chardef:D \c_false_bool = 0~
\cs_set_nopar:Npn \cs_to_str:N {
- \if:w \exp_after:wN \cs_str_aux:w\token_to_str:N \a ax\q_nil
+ \if:w \exp_after:wN \cs_str_aux:w\token_to_str:N \a ax\q_stop
\else:
\exp_after:wN \exp_after:wN\exp_after:wN \use_ii:nn
\fi:
\exp_after:wN \use_none:n \token_to_str:N
}
-\cs_set:Npn \cs_str_aux:w #1#2#3#4\q_nil{#2#3}
+\cs_set:Npn \cs_str_aux:w #1#2#3#4\q_stop{#2#3}
\group_begin:
\tex_lccode:D `\@ = `\: \scan_stop:
\tex_catcode:D `\@ = 12~
@@ -321,18 +321,18 @@
\group_end:
\cs_set:Npn \cs_split_function:NN #1#2{
\exp_after:wN \cs_split_function_aux:w
- \tex_romannumeral:D -`\q \cs_to_str:N #1 @a \q_nil #2
+ \tex_romannumeral:D -`\q \cs_to_str:N #1 @a \q_stop #2
}
-\cs_set:Npn \cs_split_function_aux:w #1@#2#3\q_nil#4{
+\cs_set:Npn \cs_split_function_aux:w #1@#2#3\q_stop#4{
\if_meaning:w a#2
\exp_after:wN \use_i:nn
\else:
\exp_after:wN\use_ii:nn
\fi:
{#4{#1}{}\c_false_bool}
- {\cs_split_function_auxii:w#2#3\q_nil #4{#1}}
+ {\cs_split_function_auxii:w#2#3\q_stop #4{#1}}
}
-\cs_set:Npn \cs_split_function_auxii:w #1@a\q_nil#2#3{
+\cs_set:Npn \cs_split_function_auxii:w #1@a\q_stop#2#3{
#2{#3}{#1}\c_true_bool
}
}
@@ -372,7 +372,7 @@
\cs_split_function:NN #1 \cs_if_do_not_use_aux:nnN
}
\cs_set:Npn \cs_if_do_not_use_aux:nnN #1#2#3{
- \exp_after:wN\str_if_eq_p:nn \token_to_str:N D {#2}
+ \str_if_eq_p:nn { D } {#2}
}
\prg_set_conditional:Npnn \cs_if_free:N #1{p,TF,T,F}{
\tex_ifnum:D \cs_if_exist_p:N #1 =\c_zero
@@ -445,32 +445,18 @@
\cs_set_protected_nopar:Npn \chk_if_exist_cs:c {
\exp_args:Nc \chk_if_exist_cs:N
}
-\prg_set_conditional:Npnn \str_if_eq:nn #1#2{p}{
- \str_if_eq_p_aux:w #1\scan_stop:\\#2\scan_stop:\\
+\prg_set_conditional:Npnn \str_if_eq:nn #1#2 { p , T , F , TF } {
+ \tex_ifnum:D \pdf_strcmp:D
+ { \etex_unexpanded:D {#1} } { \etex_unexpanded:D {#2} }
+ = \c_zero
+ \prg_return_true: \else: \prg_return_false: \fi:
+}
+\prg_set_conditional:Npnn \str_if_eq:xx #1#2 { p , T , F , TF } {
+ \tex_ifnum:D \pdf_strcmp:D {#1} {#2} = \c_zero
+ \prg_return_true: \else: \prg_return_false: \fi:
}
-\cs_set_nopar:Npn \str_if_eq_p_aux:w #1#2\\#3#4\\{
- \if_meaning:w#1#3
- \if_meaning:w#1\scan_stop:\prg_return_true: \else:
- \if_meaning:w#3\scan_stop:\prg_return_false: \else:
- \str_if_eq_p_aux:w #2\\#4\\\fi:\fi:
- \else:\prg_return_false: \fi:}
\prg_set_conditional:Npnn \cs_if_eq_name:NN #1#2{p}{
- \exp_after:wN\exp_after:wN
- \exp_after:wN\str_if_eq_p_aux:w
- \exp_after:wN\token_to_str:N
- \exp_after:wN#1
- \exp_after:wN\scan_stop:
- \exp_after:wN\\
- \token_to_str:N#2\scan_stop:\\}
-\prg_set_conditional:Npnn \str_if_eq_var:nf #1#2 {p} {
- \if:w \tex_number:D\str_if_eq_var_start:nnN{}{}#1\scan_stop:{#2}
-}
-\cs_set_nopar:Npn\str_if_eq_var_start:nnN#1#2#3{
- \if:w#3\scan_stop:\exp_after:wN\str_if_eq_var_stop:w\fi:
- \str_if_eq_var_start:nnN{\if:w#3#1}{#2\fi:}
-}
-\cs_set:Npn\str_if_eq_var_stop:w\str_if_eq_var_start:nnN#1#2#3{
- #1#3\scan_stop:'#213~\prg_return_true:\else:\prg_return_false:\fi:
+ \str_if_eq_p:nn {#1} {#2}
}
\cs_set:Npn \cs_tmp:w #1#2 {
\cs_set_protected_nopar:Npn #1 ##1
@@ -613,11 +599,11 @@
\fi:
{
\exp_after:wN \cs_get_arg_count_from_signature_auxii:w
- \use_none:nnnnnnnnn #2 9876543210\q_nil
+ \use_none:nnnnnnnnn #2 9876543210\q_stop
}
{-1}
}
-\cs_set:Npn \cs_get_arg_count_from_signature_auxii:w #1#2\q_nil{#1}
+\cs_set:Npn \cs_get_arg_count_from_signature_auxii:w #1#2\q_stop{#1}
\cs_set_nopar:Npn \cs_get_arg_count_from_signature:c {
\exp_args:Nc \cs_get_arg_count_from_signature:N
}