summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3basics.dtx')
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx54
1 files changed, 38 insertions, 16 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index 9acc07c63da..54fcf80009b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -33,13 +33,14 @@
%%
%% -----------------------------------------------------------------------
%
+%<*driver>
+\documentclass[full]{l3doc}
+%</driver>
%<*driver|package>
-\RequirePackage{l3bootstrap}
-\GetIdInfo$Id: l3basics.dtx 4642 2014-01-04 17:28:32Z joseph $
+\GetIdInfo$Id: l3basics.dtx 4728 2014-05-04 13:25:37Z joseph $
{L3 Basic definitions}
%</driver|package>
%<*driver>
-\documentclass[full]{l3doc}
\begin{document}
\DocInput{\jobname.dtx}
\end{document}
@@ -183,7 +184,7 @@
% \cs{par} tokens but the function will not expand within an
% \texttt{x}-type expansion.
% \end{description}
-%
+%
% Finally, the functions in
% Subsections~\ref{sec:l3basics:defining-new-function-1}~and
% \ref{sec:l3basics:defining-new-function-2} are primarily meant to define
@@ -196,7 +197,7 @@
% described in Section~\ref{sec:l3prg:new-conditional-functions}).
% \item[|p| and |w|] These are special cases.
% \end{description}
-%
+%
% The |\cs_new:| functions below (and friends) do not stop you from using
% other argument specifiers in your function names, but they do not handle
% expansion for you. You should define the base function and then use
@@ -741,7 +742,7 @@
% \abc
% \end{verbatim}
% after two expansions of \cs{use:c}.
-%
+%
% \begin{function}[TF, added = 2012-11-10]
% {\cs_if_exist_use:N,\cs_if_exist_use:c}
% \begin{syntax}
@@ -751,7 +752,7 @@
% (whether as a function or another control sequence type), and if it
% does inserts the \meta{control sequence} into the input stream.
% \end{function}
-%
+%
% \begin{function}[TF,EXP, added = 2012-11-10]
% {\cs_if_exist_use:N,\cs_if_exist_use:c}
% \begin{syntax}
@@ -1294,6 +1295,16 @@
% error.
% \end{function}
%
+% \begin{function}{\__chk_if_exist_var:N}
+% \begin{syntax}
+% \cs{__chk_if_exist_var:N} \meta{var}
+% \end{syntax}
+% This function checks that \meta{var} is defined according to the
+% criteria for \cs{cs_if_free_p:N}, and if not raises a kernel-level
+% error. This function is only created if the package option
+% \texttt{check-declarations} is active.
+% \end{function}
+%
% \begin{function}[EXP]{\__cs_count_signature:N, \__cs_count_signature:c}
% \begin{syntax}
% \cs{__cs_count_signature:N} \meta{function}
@@ -1388,14 +1399,6 @@
%<*initex|package>
% \end{macrocode}
%
-% \begin{macrocode}
-%<*package>
-\ProvidesExplPackage
- {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
-\__expl_package_check:
-%</package>
-% \end{macrocode}
-%
% \subsection{Renaming some \TeX{} primitives (again)}
%
% Having given all the \TeX{} primitives a consistent name, we need to
@@ -2458,6 +2461,25 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[int]{\__chk_if_exist_var:N}
+% Create the checking function for variable definitions when the option
+% is set.
+% \begin{macrocode}
+%<*package>
+\tex_ifodd:D \l@expl@check@declarations@bool
+ \cs_set_protected:Npn \__chk_if_exist_var:N #1
+ {
+ \cs_if_exist:NF #1
+ {
+ \__msg_kernel_error:nnx { check } { non-declared-variable }
+ { \token_to_str:N #1 }
+ }
+ }
+\fi:
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[int]{\__chk_if_exist_cs:N, \__chk_if_exist_cs:c}
% This function issues an error message when the control sequence
% in its argument does not exist.
@@ -3195,7 +3217,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\__prg_break_point:}
% \begin{macro}{\__prg_break:, \__prg_break:n}
% Very simple analogues of \cs{__prg_break_point:Nn} and