summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-07-23 17:14:27 +0000
committerKarl Berry <karl@freefriends.org>2012-07-23 17:14:27 +0000
commitf7855c12c18bb97b7b9e49ab685ee558d8c0b47b (patch)
tree9196e768b98b68b7ea8eb5fbdf45508d766f4056 /Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
parentc47bc266846cc8bf776d79f1f54140443a8269a3 (diff)
l3 3990
git-svn-id: svn://tug.org/texlive/trunk@27107 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx58
1 files changed, 32 insertions, 26 deletions
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
index 717065d7d27..d3b17183671 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3flag.dtx
@@ -36,7 +36,7 @@
%<*driver|package>
\RequirePackage{expl3}
\GetIdInfo$Id: l3flag.dtx 3039 2011-12-08 09:22:35Z bruno $
- {L3 Experimental Flags}
+ {L3 Experimental flags}
%</driver|package>
%<*driver>
\documentclass[full]{l3doc}
@@ -175,6 +175,10 @@
% \end{macrocode}
%
% \begin{macrocode}
+%<@@=flag>
+% \end{macrocode}
+%
+% \begin{macrocode}
\ProvidesExplPackage
{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
% \end{macrocode}
@@ -187,28 +191,28 @@
% \begin{macrocode}
\cs_new_protected:Npn \flag_new:n #1
{
- \cs_new:cpn { flag_trap_#1:w } ##1 ;
- { \exp_after:wN \use_none:n \cs:w l_#1_##1_flag \cs_end: }
+ \cs_new:cpn { @@_trap_#1:w } ##1 ;
+ { \exp_after:wN \use_none:n \cs:w @@_#1_##1: \cs_end: }
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flag_clear:n}
-% \begin{macro}[aux]{\flag_clear_aux:ww}
+% \begin{macro}[aux]{\@@_clear:ww}
% Undefine control sequences, starting from the |_0| flag, upwards,
% until reaching an undefined control sequence.
% \begin{macrocode}
\cs_new_protected:Npn \flag_clear:n #1
- { \flag_clear_aux:ww 0 ; #1 \q_stop }
-\cs_new_protected:Npn \flag_clear_aux:ww #1 ; #2 \q_stop
+ { \@@_clear:ww 0 ; #1 \q_stop }
+\cs_new_protected:Npn \@@_clear:ww #1 ; #2 \q_stop
{
- \if_cs_exist:w l_#2_#1_flag \cs_end:
+ \if_cs_exist:w @@_#2_#1: \cs_end:
\else:
\exp_after:wN \use_none_delimit_by_q_stop:w
\fi:
- \cs_set_eq:cN { l_#2_#1_flag } \c_undefined:D
- \exp_after:wN \flag_clear_aux:ww
- \int_use:N \int_eval:w \c_one + #1 ;
+ \cs_set_eq:cN { @@_#2_#1: } \c_undefined:D
+ \exp_after:wN \@@_clear:ww
+ \int_use:N \__int_eval:w \c_one + #1 ;
#2 \q_stop
}
% \end{macrocode}
@@ -216,7 +220,8 @@
% \end{macro}
%
% \begin{macro}{\flag_clear_new:n}
-% A flag exist if \cs{flag_trap_\meta{flag name}:n} exists.
+% As for other datatypes, clear the \meta{flag} or create a new one,
+% as appropriate.
% \begin{macrocode}
\cs_new_protected:Npn \flag_clear_new:n #1
{ \flag_if_exist:nTF {#1} { \flag_clear:n } { \flag_new:n } {#1} }
@@ -224,22 +229,23 @@
% \end{macro}
%
% \begin{macro}{\flag_set_trap:nn}
-% Should that \pkg{l3flag} function check whether the flag exists?
+% ^^A todo: check that the flag exists.
+% Redefine the trap.
% \begin{macrocode}
\cs_new_protected:Npn \flag_set_trap:nn #1#2
- { \cs_set:cpn { flag_trap_#1:w } ##1 ; {#2} }
+ { \cs_set:cpn { @@_trap_#1:w } ##1 ; {#2} }
% \end{macrocode}
% \end{macro}
%
% \subsection{Expandable flag commands}
%
% \begin{macro}[EXP, pTF]{\flag_if_exist:n}
-% A \meta{flag} is defined if the corresponding \enquote{trap} is
-% defined.
+% A flag exist if the corresponding trap \cs{@@_trap_\meta{flag
+% name}:n} is defined.
% \begin{macrocode}
\prg_new_conditional:Npnn \flag_if_exist:n #1 { p , T , F , TF }
{
- \cs_if_exist:cTF { flag_trap_#1:w }
+ \cs_if_exist:cTF { @@_trap_#1:w }
{ \prg_return_true: } { \prg_return_false: }
}
% \end{macrocode}
@@ -250,7 +256,7 @@
% \begin{macrocode}
\prg_new_conditional:Npnn \flag_if_raised:n #1 { p , T , F , TF }
{
- \if_cs_exist:w l_#1_0_flag \cs_end:
+ \if_cs_exist:w @@_#1_0: \cs_end:
\prg_return_true:
\else:
\prg_return_false:
@@ -260,21 +266,21 @@
% \end{macro}
%
% \begin{macro}[EXP]{\flag_height:n}
-% \begin{macro}[EXP, aux]{\flag_height_loop:ww, \flag_height_end:ww}
+% \begin{macro}[EXP, aux]{\@@_height_loop:ww, \@@_height_end:ww}
% Extract the value of the flag by going through all of the
% |_|\meta{integer} control sequences starting from $0$.
% \begin{macrocode}
-\cs_new:Npn \flag_height:n #1 { \flag_height_loop:ww 0; #1 \q_stop }
-\cs_new:Npn \flag_height_loop:ww #1 ; #2 \q_stop
+\cs_new:Npn \flag_height:n #1 { \@@_height_loop:ww 0; #1 \q_stop }
+\cs_new:Npn \@@_height_loop:ww #1 ; #2 \q_stop
{
- \if_cs_exist:w l_#2_#1_flag \cs_end:
- \exp_after:wN \flag_height_loop:ww \int_use:N \int_eval:w \c_one +
+ \if_cs_exist:w @@_#2_#1: \cs_end:
+ \exp_after:wN \@@_height_loop:ww \int_use:N \__int_eval:w \c_one +
\else:
- \exp_after:wN \flag_height_end:ww
+ \exp_after:wN \@@_height_end:ww
\fi:
#1 ; #2 \q_stop
}
-\cs_new:Npn \flag_height_end:ww #1 ; #2 \q_stop { #1 }
+\cs_new:Npn \@@_height_end:ww #1 ; #2 \q_stop { #1 }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -284,8 +290,8 @@
% \begin{macrocode}
\cs_new:Npn \flag_raise:n #1
{
- \cs:w flag_trap_#1:w \exp_after:wN \cs_end:
- \int_value:w \flag_height:n {#1} ;
+ \cs:w @@_trap_#1:w \exp_after:wN \cs_end:
+ \__int_value:w \flag_height:n {#1} ;
}
% \end{macrocode}
% \end{macro}