In the following, a list configuration is requested only if either the third or the fourth parameter is not empty.
<..config latex.ltx utilities..>
\long\def\ConfigureEnv#1#2#3#4#5{%
\def\:temp{#2#3#4#5}\ifx \:temp\empty \let\:temp=\null
\else \def\:temp{#2#3}\fi
\ifx \:temp\empty \else
\expandafter\def\csname before:begin#1\endcsname
{#2\def\after:end{#3}}%
\fi
\def\:temp{#2#3#4#5}\ifx \:temp\empty \let\:temp=\null
\else \def\:temp{#4#5}\fi
\ifx \:temp\empty
\else \ConfigureList{#1}{#4}{#5}{}{}\fi}
-_-_-
<..config latex.ltx utilitiesNO..>
\NewConfigure{TraceEnv}[4]{\def\trc:Bg{#1}\def\trc:eBg{#2}%
\def\trc:Nd{#3}\def\trc:eNd{#4}}
\NewConfigure{TraceList}[8]{\def\trc:Ls{#1}\def\trc:eLs{#2}%
\def\trc:El{#3}\def\trc:eEl{#4}\def\trc:It{#5}\def\trc:eIt{#6}%
\def\trc:iT{#7}\def\trc:eiT{#8}}
-_-_-
<..latex trace configurations..>
\:CheckOption{hooks+} \if:Option
\def\trc:wrt{\immediate\write16}
\else \:CheckOption{hooks} \if:Option
\let\trc:wrt=\:gobble
\fi\fi
-_-_-
XML as a backend for LaTeX
<..latex.ltx latex trace configurations..>
<.latex.ltx non trace configurations.>
\:CheckOption{hooks++} \if:Option
<.latex.ltx latex edit+ commands.>
\else \:CheckOption{hooks+} \if:Option
\def\trc:wrt{\immediate\write16}
\else \:CheckOption{hooks} \if:Option
\let\trc:wrt=\:gobble
\fi\fi
\if:Option
\if:latex <.latex.ltx latex edit commands.>\fi
\fi\fi
-_-_-
<..latex.ltx latex edit+ commands..>
\long\def\ConfigureEnv#1#2#3#4#5{%
\expandafter\def\csname before:begin#1\endcsname{%
\ifx \EndPicture\:Undef\a:trc Env(#1)1\b:trc\fi
#2\ifx \EndPicture\:Undef\c:trc Env(#1)1\d:trc\fi
\def\after:end{%
\ifx \EndPicture\:Undef\a:trc END(#1)2\b:trc\fi
#3\ifx \EndPicture\:Undef\c:trc END(#1)2\d:trc\fi
}}%
\ConfigureList{#1}{#4}{#5}{}{}}
-_-_-
<..latex.ltx latex edit commands..>
\long\def\ConfigureEnv#1#2#3#4#5{%
\expandafter\def\csname before:begin#1\endcsname{%
\def\:temp{#2}\ifx \:temp\empty
\ifx \EndPicture\:Undef\a:trc Env(#1)1\b:trc\fi
#2\ifx \EndPicture\:Undef\c:trc Env(#1)1\d:trc\fi
\else #2\fi
\def\after:end{%
\def\:temp{#3}\ifx \:temp\empty
\ifx \EndPicture\:Undef\a:trc Env(#1)2\b:trc\fi
#3\ifx \EndPicture\:Undef\c:trc Env(#1)2\d:trc\fi
\else #3\fi
}}%
\ConfigureList{#1}{#4}{#5}{}{}}
-_-_-
<..hooks+ for ConfigureEnv..>
\:CheckOption{hooks+} \if:Option
\pend:defI\begin{\expandafter
\ifx\csname before:begin##1\endcsname\relax
\expandafter\ifx\csname bfr:begin##1\endcsname\relax
\immediate\write16{....\string\ConfigureEnv{##1}{}{}{}{}}%
\expandafter\let\csname bfr:begin##1\endcsname=\empty
\fi\fi}
\fi
-_-_-