[latex3-commits] [git/LaTeX3-latex3-latex3] master: Provide a pre-load version of xparse (d8738ca65)
Joseph Wright
joseph.wright at morningstar2.co.uk
Thu Mar 5 23:12:59 CET 2020
Repository : https://github.com/latex3/latex3
On branch : master
Link : https://github.com/latex3/latex3/commit/d8738ca65c795141b2487cbbb4365ab359ff2a79
>---------------------------------------------------------------
commit d8738ca65c795141b2487cbbb4365ab359ff2a79
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Thu Mar 5 22:09:23 2020 +0000
Provide a pre-load version of xparse
>---------------------------------------------------------------
d8738ca65c795141b2487cbbb4365ab359ff2a79
l3packages/CHANGELOG.md | 3 ++
l3packages/xparse/build.lua | 2 +
l3packages/xparse/xparse.dtx | 109 ++++++++++++++++++++++++++++++-------------
l3packages/xparse/xparse.ins | 3 +-
4 files changed, 83 insertions(+), 34 deletions(-)
diff --git a/l3packages/CHANGELOG.md b/l3packages/CHANGELOG.md
index 9b92b8401..082a88bf5 100644
--- a/l3packages/CHANGELOG.md
+++ b/l3packages/CHANGELOG.md
@@ -7,6 +7,9 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+### Added
+- Pre-loader file `xparse.ltx`
+
## [2020-03-03]
### Changed
diff --git a/l3packages/xparse/build.lua b/l3packages/xparse/build.lua
index e7b0ee9c5..46de200ce 100644
--- a/l3packages/xparse/build.lua
+++ b/l3packages/xparse/build.lua
@@ -7,6 +7,8 @@
bundle = "l3packages"
module = "xparse"
+installfiles = {"xparse.ltx", "xparse.sty"}
+
-- Location of main directory: use Unix-style path separators
maindir = "../.."
diff --git a/l3packages/xparse/xparse.dtx b/l3packages/xparse/xparse.dtx
index 279b2e58c..1c2f7238b 100644
--- a/l3packages/xparse/xparse.dtx
+++ b/l3packages/xparse/xparse.dtx
@@ -970,11 +970,26 @@
% \section{\pkg{xparse} implementation}
%
% \begin{macrocode}
-%<*package>
+%<@@=xparse>
% \end{macrocode}
%
% \begin{macrocode}
-%<@@=xparse>
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\everyjob\expandafter{\the\everyjob
+ \message{xparse <2020-03-03>}%
+}
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*package>
% \end{macrocode}
%
% \begin{macrocode}
@@ -982,8 +997,46 @@
{L3 Experimental document command parser}
% \end{macrocode}
%
+% \subsection{Package options}
+%
+% \begin{variable}{\l_@@_options_clist}
+% \begin{variable}{\l_@@_log_bool}
+% Key--value option to log information: done by hand to keep dependencies
+% down.
+% \begin{macrocode}
+\clist_new:N \l_@@_options_clist
+\DeclareOption* { \clist_put_right:NV \l_@@_options_clist \CurrentOption }
+\ProcessOptions \relax
+\keys_define:nn { xparse }
+ {
+ log-declarations .bool_set:N = \l_@@_log_bool ,
+ log-declarations .initial:n = false
+ }
+\keys_set:nV { xparse } \l_@@_options_clist
+\bool_if:NF \l_@@_log_bool
+ { \msg_redirect_module:nnn { LaTeX / xparse } { info } { none } }
+% \end{macrocode}
+% \end{variable}
+% \end{variable}
+%
+% \subsection{Reload check}
+%
+% A simple reload check.
+% \begin{macrocode}
+\cs_if_exist:NT \NewDocumentCommand
+ { \file_input_stop: }
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
% \subsection{Variables and constants}
%
+% \begin{macrocode}
+%<*package|2ekernel>
+% \end{macrocode}
+%
% \begin{variable}{\c_@@_special_chars_seq}
% In \IniTeX{} mode, we store special characters in a sequence.
% Maybe |$| or |&| will have to be added later.
@@ -1424,9 +1477,9 @@
%<*initex>
\cs_if_exist:cTF { environment~ \l_@@_environment_str }
%</initex>
-%<*package>
+%<*package|2ekernel>
\cs_if_exist:cTF { \l_@@_environment_str }
-%</package>
+%</package|2ekernel>
{
\__kernel_msg_info:nnxx { xparse } { redefine-environment }
{ \l_@@_environment_str } { \tl_to_str:n {#2} }
@@ -1472,10 +1525,10 @@
\cs_generate_from_arg_count:cNnn
{ environment~ #1 ~end~aux~ } \cs_set:Npn
\l_@@_current_arg_int {#4}
-%<*package>
+%<*package|2ekernel>
\cs_set_eq:cc {#1} { environment~ #1 }
\cs_set_eq:cc { end #1 } { environment~ #1 ~end }
-%</package>
+%</package|2ekernel>
}
}
% \end{macrocode}
@@ -1495,9 +1548,9 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_start_env:nnnnn #1#2
{
-%<*package>
+%<*package|2ekernel>
\cs_if_exist_use:N \conditionally at traceoff
-%</package>
+%</package|2ekernel>
\str_set:Nn \l_@@_environment_str {#2}
\bool_set_true:N \l_@@_environment_bool
\@@_start_aux:ccnnnn
@@ -1507,9 +1560,9 @@
}
\cs_new_protected:Npx \@@_start:nNNnnn #1#2#3
{
-%<*package>
+%<*package|2ekernel>
\exp_not:n { \cs_if_exist_use:N \conditionally at traceoff }
-%</package>
+%</package|2ekernel>
\exp_not:c { xparse~function~is~not~expandable }
\exp_not:n { \bool_set_false:N \l_@@_environment_bool }
\exp_not:N \@@_start_aux:NNnnnn
@@ -1546,9 +1599,9 @@
{
\tl_if_empty:NF \l_@@_defaults_tl { \@@_defaults: }
\tl_if_empty:NF \l_@@_process_all_tl { \@@_args_process: }
-%<*package>
+%<*package|2ekernel>
\cs_if_exist_use:N \conditionally at traceon
-%</package>
+%</package|2ekernel>
\exp_after:wN \l_@@_fn_code_tl \l_@@_args_tl
}
% \end{macrocode}
@@ -3641,10 +3694,10 @@
\c_@@_special_chars_seq
\char_set_catcode_other:N
%</initex>
-%<*package>
+%<*package|2ekernel>
\cs_set_eq:NN \do \char_set_catcode_other:N
\dospecials
-%</package>
+%</package|2ekernel>
\tex_endlinechar:D = `\^^M \scan_stop:
\bool_if:NTF \l_@@_long_bool
{ \char_set_catcode_other:n { \tex_endlinechar:D } }
@@ -5057,30 +5110,20 @@
% \end{macro}
% \end{macro}
%
-% \subsection{Package options}
+% \begin{macrocode}
+%<*2ekernel>
+% \end{macrocode}
%
-% \begin{variable}{\l_@@_options_clist}
-% \begin{variable}{\l_@@_log_bool}
-% Key--value option to log information: done by hand to keep dependencies
-% down.
% \begin{macrocode}
-\clist_new:N \l_@@_options_clist
-\DeclareOption* { \clist_put_right:NV \l_@@_options_clist \CurrentOption }
-\ProcessOptions \relax
-\keys_define:nn { xparse }
- {
- log-declarations .bool_set:N = \l_@@_log_bool ,
- log-declarations .initial:n = false
- }
-\keys_set:nV { xparse } \l_@@_options_clist
-\bool_if:NF \l_@@_log_bool
- { \msg_redirect_module:nnn { LaTeX / xparse } { info } { none } }
+\ExplSyntaxOff
% \end{macrocode}
-% \end{variable}
-% \end{variable}
%
% \begin{macrocode}
-%</package>
+%</2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package|2ekernel>
% \end{macrocode}
%
% \end{implementation}
diff --git a/l3packages/xparse/xparse.ins b/l3packages/xparse/xparse.ins
index e65d25470..d40f7cd6f 100644
--- a/l3packages/xparse/xparse.ins
+++ b/l3packages/xparse/xparse.ins
@@ -42,6 +42,7 @@ and all files in that bundle must be distributed together.
\keepsilent
-\generate{\file{xparse.sty} {\from{xparse.dtx} {package}}}
+\generate{\file{xparse.sty} {\from{xparse.dtx} {package}}
+ \file{xparse.ltx} {\from{xparse.dtx} {2ekernel}}}
\endbatchfile
More information about the latex3-commits
mailing list.