# Re: [NTG-context] What do \start and \stop mean?

On Mon, Sep 30, 2013 at 5:38 PM, Lars Huttar <lars_hut...@sil.org> wrote:

> I found \start and \stop referenced in the context reference manual
> (e.g. section 5.5).
> While \startXYZ - \stopXYZ pairs are discussed earlier, I can't find any
> place that \start and \stop (with no suffix) are described.
> They seem to be used like \bgroup and \egroup. Is that right?
> They are defined in core-sys.mkiv, but I can't figure out from there
> what they actually do.
>
> I'll contribute documentation for them if someone can tell me what they
> mean.
>
> Thanks,
> Lars
>

core-sys.mkiv :

\unexpanded\def\start
{\dosingleempty\syst_start}

\def\syst_start
{\bgroup
\iffirstargument
\expandafter\syst_start_yes
\else
\expandafter\syst_start_nop
\fi}

\def\syst_start_yes[#1]%
{\edef\m_syst_start_stop{#1}%
\ifx\m_syst_start_stop\empty
\let\syst_stop_indeed\donothing
\else\ifcsname\e!start\m_syst_start_stop\endcsname

\expandafter\let\expandafter\syst_stop_indeed\csname\e!stop\m_syst_start_stop\endcsname

\csname\e!start\m_syst_start_stop\expandafter\expandafter\expandafter\endcsname
\else
\let\syst_stop_indeed\donothing
\fi\fi}

\def\syst_start_nop[#1]%
{\let\syst_stop_indeed\donothing}

\unexpanded\def\stop
{\syst_stop_indeed
\egroup}

(it should be \let\donothing\empty)

--
luigi

___________________________________________________________________________________
___________________________________________________________________________________