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
On Mon, 30 Sep 2013, Lars Huttar wrote:
(Untested, based on what I remember): \start = \bgroup \stop = \egroup but \start scans the next argument, so there are situations when \start may fail but \bgroup works. \start[whatever] ... \stop = \startwhatever ... \stopwhatever Aditya
On 9/30/2013 11:44 AM, Aditya Mahajan wrote:
Ouch, that sounds like two very different behaviors, depending on whether an argument is present. I think I'll document \start at http://wiki.contextgarden.net/Command/start but take the usage of it out of the ref man's examples, replacing it with { and }, as long as the examples still work. It's not important to any of the examples. Thanks, Aditya and Luigi, for the quick assist. Lars
On Mon, Sep 30, 2013 at 5:38 PM, Lars Huttar
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
On Mon, Sep 30, 2013 at 6:00 PM, luigi scarso
\start <...> \stop without argument is \bgroup % from\def\syst_start \expandafter\syst_start_nop \syst_start_nop is {\let\syst_stop_indeed\donothing} and \stop is hence \syst_stop_indeed \egroup i.e. \donothing \egroup are like \bgroup <...> \egroup It seems that there are no examples of \start[]<..>\stop . -- luigi
participants (3)
-
Aditya Mahajan
-
Lars Huttar
-
luigi scarso