78.16 System Macros

<..context core-sys..>+
 \NewConfigure{startstop}{2}
 -_-_-

<..start stop env..>
 \verify:config\cur:Name{startstop}%
 \csname a:\cur:Name\endcsname
 \def\:tempc{\o:@@nostopattributes: \csname b:\cur:Name\endcsname}%
 \HLet\@@nostopattributes\:tempc
 \def\:tempc{\o:@@dostopattributes: \csname b:\cur:Name\endcsname}%
 \HLet\@@dostopattributes\:tempc
 -_-_-

<..context core-sec..>+
 \expand:after{\let\o:normalend}\csname normalend\endcsname
 \expandafter\def\csname normalend\endcsname{\HtmlEnv
    \at:docend
    \csname export:hook\endcsname   \csname o:normalend\endcsname}
 -_-_-

<..utilities for context..>
 \def\get:curName#1{%
    \ifx \last:Attributes\empty
       \let\cur:Name\empty
    \else
       \bgroup
          \let#1=\empty
          \edef\:temp{\def\noexpand\:temp{\last:Attributes}}%
          \expandafter
       \egroup\:temp
       \edef\:tempa{\last:Attributes}%
       \edef\cur:Name{\ifx\:temp\:tempa\else\:temp\fi}%
    \fi }
 \let\last:Attributes=\empty
 -_-_-

<..utilities for context..>+
 \def\verify:config#1#2{%
    \expandafter\ifx \csname c:#1:\endcsname\relax
       \expandafter\ifx \csname c:#2:\endcsname\relax
         \:warning{adding null \string\NewConfigure{#1}{2}}%
         \expandafter\def\csname c:#1:\endcsname##1##2{}%
       \else
         \:warning{adding \string\NewConfigure{#1}{2}
                 to equal \string\Configure{#2}{...}{...}}%
         \edef\:temp{\noexpand\NewConfigure{#1}[2]{%
            \gdef\expandafter\noexpand\csname
                     a:#1\endcsname{\expandafter
                                 \noexpand\csname a:#2\endcsname}%
            \gdef\expandafter\noexpand\csname
                     b:#1\endcsname{\expandafter
                                 \noexpand\csname b:#2\endcsname}%
         }}\:temp
         \Configure{#1}{}{}%
         \global\expandafter\let \csname c:#1:\expandafter
                        \endcsname \csname c:#1:\endcsname
       \fi
    \fi
 }
 -_-_-

<..utilities for context..>+
 \def\verify:configIII#1#2{%
    \expandafter\ifx \csname c:#1:\endcsname\relax
       \expandafter\ifx \csname c:#2:\endcsname\relax
         \:warning{adding null \string\NewConfigure{#1}{3}}%
         \expandafter\def\csname c:#1:\endcsname##1##2##3{}%
       \else
         \:warning{adding \string\NewConfigure{#1}{3}
                 to equal \string\Configure{#2}{...}{...}{...}}%
         \edef\:temp{\noexpand\NewConfigure{#1}[3]{%
            \gdef\expandafter\noexpand\csname
                     a:#1\endcsname{\expandafter
                                 \noexpand\csname a:#2\endcsname}%
            \gdef\expandafter\noexpand\csname
                     b:#1\endcsname{\expandafter
                                 \noexpand\csname b:#2\endcsname}%
            \gdef\expandafter\noexpand\csname
                     c:#1\endcsname{\expandafter
                                 \noexpand\csname c:#2\endcsname}%
         }}\:temp
         \Configure{#1}{}{}{}%
         \global\expandafter\let \csname c:#1:\expandafter
                        \endcsname \csname c:#1:\endcsname
       \fi
    \fi
 }
 -_-_-

<..utilities for context..>+
 \def\verify:configIV#1#2{%
    \expandafter\ifx \csname c:#1:\endcsname\relax
       \expandafter\ifx \csname c:#2:\endcsname\relax
         \:warning{adding null \string\NewConfigure{#1}{4}}%
         \expandafter\def\csname c:#1:\endcsname##1##2##3##4{}%
       \else
         \:warning{adding \string\NewConfigure{#1}{4}
                 to equal \string\Configure{#2}{...}{...}{...}{...}}%
         \edef\:temp{\noexpand\NewConfigure{#1}[4]{%
            \gdef\expandafter\noexpand\csname
                     a:#1\endcsname{\expandafter
                                 \noexpand\csname a:#2\endcsname}%
            \gdef\expandafter\noexpand\csname
                     b:#1\endcsname{\expandafter
                                 \noexpand\csname b:#2\endcsname}%
            \gdef\expandafter\noexpand\csname
                     c:#1\endcsname{\expandafter
                                 \noexpand\csname c:#2\endcsname}%
            \gdef\expandafter\noexpand\csname
                     d:#1\endcsname{\expandafter
                                 \noexpand\csname d:#2\endcsname}%
         }}\:temp
         \Configure{#1}{}{}{}{}%
         \global\expandafter\let \csname c:#1:\expandafter
                        \endcsname \csname c:#1:\endcsname
       \fi
    \fi
 }
 -_-_-