summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex47
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex218
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdfbin508436 -> 508364 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdfbin327725 -> 327130 bytes
-rw-r--r--Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx26
-rw-r--r--Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx5
-rw-r--r--Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty20
-rw-r--r--Master/texmf-dist/tex/latex/xpackages/xtras/l3keys2e.sty2
8 files changed, 288 insertions, 30 deletions
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex
new file mode 100644
index 00000000000..0d79e690945
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/commands-check.tex
@@ -0,0 +1,47 @@
+%
+% Execute this TeX file with
+% latex -interaction=batchmode commands-check
+%
+% The package loaded and the commands checked can be customised:
+\providecommand\PKG{expl3}
+\providecommand\CMDS{commands-check.cmds}
+
+\documentclass{minimal}
+\usepackage{\PKG}
+\makeatletter
+
+% "loop...if...then...repeat" from TeX by Topic:
+\def\cmdchk@loop#1\cmdchk@repeat{\def\cmdchk@body{#1}\cmdchk@iterate}
+\def\cmdchk@iterate{%
+ \let\cmdchk@next\relax
+ \cmdchk@body \let\cmdchk@next\cmdchk@iterate \fi \cmdchk@next}
+
+\let \@tempb \@empty
+\newread \cmdchk@read
+\openin \cmdchk@read \CMDS \relax
+
+\def\checkcmds{%
+ \begingroup
+ \catcode`\\=12
+ \endlinechar=-1
+ \loop
+ \read \cmdchk@read to \@tempa \relax
+ \ifx \@tempa \@empty
+ \closein \cmdchk@read
+ \else
+ \ifcsname \expandafter \@gobble \@tempa \endcsname
+ \else
+ \xdef \@tempb {\@tempb ^^J!>\space\space\space\space\@tempa}
+ \fi
+ \repeat
+ \endgroup
+ \ifx\@tempb\@empty\else
+ \nonstopmode
+ \errmessage{\@tempb^^J}
+ \batchmode
+ \fi
+}
+\makeatother
+\begin{document}
+\checkcmds
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex b/Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex
new file mode 100644
index 00000000000..c7abb659a98
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/regression-test.tex
@@ -0,0 +1,218 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1992-1994 by David Carlisle, Frank Mittelbach.
+% Copyright (C) 2008 LaTeX3 project
+% All rights reserved.
+%
+% This file is part of the validate package.
+%
+% IMPORTANT NOTICE:
+%
+% You are not allowed to change this file. In case of error
+% write to the email address mentioned in the file readme.val.
+%
+% \fi
+% regression-test.tex
+ %%%%%%%%%%%%%%%%%%%
+
+% This file should not be used as a package or class file,
+% it should be \input.
+
+% The scope of this \makeatletter will then be the rest of the
+% document. Put TeX into scroll mode, and stop it showing the
+% implementation details of macros in error messages.
+\makeatletter
+\scrollmode
+\errorcontextlines=-1
+
+% Use the same \showbox settings as 2.09, unless they are changed in
+% the test file. (2e sets these to -1)
+\showboxbreadth=5
+\showboxdepth=3
+
+% Start the test, after the optional \documentclass (or \documentstyle)
+% \begin{document} commands with \START. All lines in the .log file
+% before this will be ignored. It also prints a docstrip-style
+% character table in the .tlg file so the .tlg file can easily be
+% checked for email translations.
+%
+\def\START{\typeout{START-TEST-LOG^^J^^J%
+ This is a generated file for the LaTeX (2e + expl3) validation system.%
+^^J^^JDon't change this file in any respect.%
+^^J^^J\CTable^^J}}
+
+\begingroup
+\catcode`\^^\=0
+\catcode`\^^A=\catcode`\%
+^^\catcode`^^\ =11
+^^\catcode`^^\%=11
+^^\catcode`^^\#=11
+^^\catcode`^^\~=11
+^^\endlinechar=`^^\^^J
+^^\catcode`^^\\=11^^A
+^^\gdef^^\CTable{
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+}^^A
+^^\endgroup{}%
+
+% The test should end with
+% \END or \end{document}
+%
+\let\@@@end\@@end
+%\let\@ED=\enddocument
+\def\END{\typeout{END-TEST-LOG}\@@@end}
+\let\@@end\END
+
+
+% After the \START should come declarations of the format and style
+% options being used.
+%
+\def\FORMAT#1{\typeout{Format: #1}%
+ \def\@tempa{#1}\ifx\@tempa\@EJ\else
+ \OMIT\@warning{Declared format #1,^^JActual format \@EJ}\TIMO\fi}
+
+% The old version got this information from everyjob,
+% but that does not work with LaTeX2e as \everyjob is cleared.
+\edef\@EJ{\fmtname <\fmtversion>}
+
+% Some author info:
+\def\AUTHOR#1{\typeout{Author: #1}}
+\def\ADDRESS#1{\typeout{Address: #1}}
+
+% Not all packages declare themselves to the log file, and we can not
+% rely on TeX`s output as it includes full path names, and does not
+% include version numbers etc. So for each package included give a
+% declaration like: \PACKAGES{array v2.0d}
+%
+\def\STYLE#1{\typeout{Main Style: #1}}%
+\def\STYLEOPTIONS#1{\typeout{Style Options: #1}}
+
+
+% If The class or package is loaded with options, you may
+% specify the options in the \CLASS (\PACKAGE) declaration. eg:
+%
+% \CLASS[german,a4page]{article v2.0 1994/01/02}
+% \PACKAGE{ifthen v2.2 1993/11/12}
+% \PACKAGE[dvips]{graphics v 3.8 1994/02/02}
+%
+\def\CLASS{\@ifnextchar[\OPTCLASS\XCLASS}
+\def\OPTCLASS[#1]#2{%
+ \typeout{Main Class: #2^^J\@spaces Options: #1}}
+\def\XCLASS#1{%
+ \typeout{Main Class: #1}}
+
+\def\PACKAGE{\@ifnextchar[\OPTPACKAGE\XPACKAGE}
+\def\OPTPACKAGE[#1]#2{%
+ \typeout{Package: #2^^J\@spaces Options: #1}}
+\def\XPACKAGE#1{%
+ \typeout{Package: #1}}
+
+
+% LaTeX2e always uses NFSS2 so new test files need not use
+% \FONTSELECTION but it is retained for compatibility for test files
+% written for 209/NFSS1.
+%
+\def\FONTSELECTION#1{%
+ \OMIT\@@warning{\noexpand\FONTSELECTION obsolete.^^J%
+ LaTeX2e always uses NFSS2}\TIMO
+ \typeout{Font Selection: #1}}
+
+
+% Surround commands which produce irrelevant lines in the .log file by
+% \OMIT
+% \TIMO
+%
+\def\OMIT{\typeout{OMIT}}
+\def\TIMO{\typeout{TIMO}}
+
+% After the above declarations, and before the main tests, you may
+% optionally `declare' all the commands in the `module' that you are
+% about to test. These commands will be registered as defined,
+% undefined or relaxed (ie \let to \relax). You may wish to declare
+% commands not currently implemented, so that if they are added at a
+% later stage, the test will fail, reminding someone to document the
+% fact that the user interface has changed. So if you are testing
+% array and tabular environments, you may wish do declare
+% \extrarowheight. This is undefined in the curent latex, but would
+% become defined if Mittelbach's array.sty was incorporated into
+% latex.tex.
+%
+\def\declare@command#1{%
+ \ifx#1\@undefined\typeout{Undefined \string#1}\else
+ \ifx#1\relax\typeout{Relaxed \space\space\string#1}\else
+ \typeout{Defined \space\space\string#1}\fi\fi}
+
+
+% To allow testing of possible changes, we allow extra code to be read
+% in before the test starts. The necessary code should be placed in a
+% file regression-test.cfg.
+%
+\OMIT
+\InputIfFileExists{regression-test.cfg}
+ {\typeout{^^J***^^Jregression-test.cfg in operation^^J***^^J}}{}
+\TIMO
+
+%%%%%%%%%
+
+% We are not starved for space in the log file output, so let's make it as
+% verbose as is useful when reading the .diff's.
+\newcount \gTESTint
+
+\newcommand \SEPARATOR {%
+ \typeout{%
+ ============================================================%
+ }%
+}
+
+\newcommand \TEST [2] {%
+ \advance \gTESTint 1
+ \SEPARATOR
+ \typeout{%
+ TEST \the\gTESTint: \detokenize{#1}}%
+ \SEPARATOR
+ \begingroup
+ \let \TYPE \typeout
+ #2%
+ \endgroup
+ \SEPARATOR \typeout{}%
+}
+
+\newcommand \TESTEXP [2] {%
+ \advance \gTESTint 1
+ \SEPARATOR
+ \typeout{%
+ TEST \the\gTESTint: \detokenize{#1}}%
+ \SEPARATOR
+ \begingroup
+ \let \TYPE \@firstofone
+ \typeout{#2}%
+ \endgroup
+ \SEPARATOR \typeout{}%
+}
+
+\def \TRUE {\TYPE{TRUE}}
+\def \FALSE {\TYPE{FALSE}}
+\def \YES {\TYPE{YES}}
+\def \NO {\TYPE{NO}}
+
+\def \NEWLINE {\TYPE{^^J}}
+
+\endinput
+
+
+
diff --git a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
index 82f2dedaa3a..497036ac7c7 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xbase/xparse.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
index f9465cb755e..4e82196a41d 100644
--- a/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
+++ b/Master/texmf-dist/doc/latex/xpackages/xtras/l3keys2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx b/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx
index d9cb5bbeb32..dbcbbf28a84 100644
--- a/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx
+++ b/Master/texmf-dist/source/latex/xpackages/xbase/xparse.dtx
@@ -41,7 +41,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: xparse.dtx 2063 2010-10-03 08:26:49Z mittelba $
+\GetIdInfo$Id: xparse.dtx 2073 2010-10-13 07:48:20Z joseph $
{Generic document command parser}
%\iffalse
%<*driver>
@@ -963,13 +963,6 @@
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\l_xparse_environment_args_tl}
-% Used to pass arguments to the end of an environment.
-% \begin{macrocode}
-\tl_new:N \l_xparse_environment_args_tl
-% \end{macrocode}
-%\end{macro}
-%
%\begin{macro}{\l_xparse_environment_bool}
% Generating environments uses the same mechanism as generating
% functions. However, full processing of arguments is always needed
@@ -1512,16 +1505,17 @@
}
\xparse_declare_cmd_aux:cnn { environment_begin_ #1 :w } {#2} {
\group_begin:
- \tl_set_eq:NN \l_xparse_environment_args_tl \l_xparse_args_tl
+ \cs_set_protected_nopar:cpx { environment_end_ #1 :w }
+ {
+ \exp_not:c { environment_end_ #1 _aux:N }
+ \exp_not:V \l_xparse_args_tl
+ \group_end:
+ }
#3
}
+ \cs_set_protected_nopar:cpx { environment_end_ #1 : }
+ { \exp_not:c { environment_end_ #1 :w } }
\bool_set_false:N \l_xparse_environment_bool
- \cs_set_nopar:cpx { environment_end_ #1 :w } {
- \exp_not:N \exp_last_unbraced:NV
- \exp_not:c { environment_end_ #1 _aux:N }
- \exp_not:N \l_xparse_environment_args_tl
- \exp_not:N \group_end:
- }
\cs_set_nopar:cpx { environment_end_ #1 _aux:N } ##1 {
\exp_not:c { environment_end_ #1 _aux :w }
}
@@ -1531,7 +1525,7 @@
%</initex|package>
%<*package>
\cs_set_eq:cc {#1} { environment_begin_ #1 :w }
- \cs_set_eq:cc { end #1 } { environment_end_ #1 :w }
+ \cs_set_eq:cc { end #1 } { environment_end_ #1 : }
%</package>
%<*initex|package>
}
diff --git a/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx b/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx
index 576a0161c94..6ee1ced0ce5 100644
--- a/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx
+++ b/Master/texmf-dist/source/latex/xpackages/xtras/l3keys2e.dtx
@@ -37,7 +37,7 @@
\RequirePackage{l3names}
%</driver|package>
%\fi
-\GetIdInfo$Id: l3keys2e.dtx 1494 2009-08-24 11:05:44Z joseph $
+\GetIdInfo$Id: l3keys2e.dtx 2076 2010-10-13 19:09:59Z joseph $
{Parsing LaTeX3 keyvals as LaTeX2e package options}
%\iffalse
%<*driver>
@@ -53,8 +53,7 @@
% \fi
%
% \title{The \textsf{l3keys2e} package\thanks{This file
-% has version number \fileversion, last
-% revised \filedate.}\\
+% has version number \fileversion, last revised \filedate.}\\
% Parsing \LaTeX3 keyvals as \LaTeXe\ package options}
% \author{\Team}
% \date{\filedate}
diff --git a/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty b/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty
index 6af9c3f4570..7d4cbcba4ec 100644
--- a/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty
+++ b/Master/texmf-dist/tex/latex/xpackages/xbase/xparse.sty
@@ -57,7 +57,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3names}
-\GetIdInfo$Id: xparse.dtx 2063 2010-10-03 08:26:49Z mittelba $
+\GetIdInfo$Id: xparse.dtx 2073 2010-10-13 07:48:20Z joseph $
{Generic document command parser}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}
@@ -68,7 +68,6 @@
\prop_put:Nnn \c_xparse_shorthands_prop { s } { t* }
\tl_new:N \l_xparse_arg_tl
\tl_new:N \l_xparse_args_tl
-\tl_new:N \l_xparse_environment_args_tl
\bool_new:N \l_xparse_environment_bool
\bool_new:N \l_xparse_error_bool
\tl_new:N \l_xparse_function_tl
@@ -311,16 +310,17 @@
}
\xparse_declare_cmd_aux:cnn { environment_begin_ #1 :w } {#2} {
\group_begin:
- \tl_set_eq:NN \l_xparse_environment_args_tl \l_xparse_args_tl
+ \cs_set_protected_nopar:cpx { environment_end_ #1 :w }
+ {
+ \exp_not:c { environment_end_ #1 _aux:N }
+ \exp_not:V \l_xparse_args_tl
+ \group_end:
+ }
#3
}
+ \cs_set_protected_nopar:cpx { environment_end_ #1 : }
+ { \exp_not:c { environment_end_ #1 :w } }
\bool_set_false:N \l_xparse_environment_bool
- \cs_set_nopar:cpx { environment_end_ #1 :w } {
- \exp_not:N \exp_last_unbraced:NV
- \exp_not:c { environment_end_ #1 _aux:N }
- \exp_not:N \l_xparse_environment_args_tl
- \exp_not:N \group_end:
- }
\cs_set_nopar:cpx { environment_end_ #1 _aux:N } ##1 {
\exp_not:c { environment_end_ #1 _aux :w }
}
@@ -328,7 +328,7 @@
{ environment_end_ #1 _aux :w } \cs_set:Npn
\l_xparse_total_args_int {#4}
\cs_set_eq:cc {#1} { environment_begin_ #1 :w }
- \cs_set_eq:cc { end #1 } { environment_end_ #1 :w }
+ \cs_set_eq:cc { end #1 } { environment_end_ #1 : }
}
\cs_new_nopar:Npn \xparse_flush_m_args: {
\cs_if_exist:cT {
diff --git a/Master/texmf-dist/tex/latex/xpackages/xtras/l3keys2e.sty b/Master/texmf-dist/tex/latex/xpackages/xtras/l3keys2e.sty
index d5009a13cba..67d8c0757ae 100644
--- a/Master/texmf-dist/tex/latex/xpackages/xtras/l3keys2e.sty
+++ b/Master/texmf-dist/tex/latex/xpackages/xtras/l3keys2e.sty
@@ -45,7 +45,7 @@
%% -----------------------------------------------------------------------
%%
\RequirePackage{l3names}
-\GetIdInfo$Id: l3keys2e.dtx 1494 2009-08-24 11:05:44Z joseph $
+\GetIdInfo$Id: l3keys2e.dtx 2076 2010-10-13 19:09:59Z joseph $
{Parsing LaTeX3 keyvals as LaTeX2e package options}
\ProvidesExplPackage
{\filename}{\filedate}{\fileversion}{\filedescription}