On 3/20/2015 12:05 PM, Norbert Melzer wrote: > Hi! > > I have trouble to define macros which are only visible inside a block > defined using `\definestartstop`: > > ```tex > \setuppapersize[A6] > \definestartstop[Foo][before={Foo}] > \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] > %\definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}},after={\egroup}] > > \starttext > \startFoo > Bar > \stopFoo > > \startBar > \Foo Bar > \stopBar > > % \startBaz > % \Foo{Bar} > % \stopBaz > \stoptext > ``` > > The code as above works and typesets "FooBar" on two separate lines. But > if I uncomment everything `Baz`-related, I end up with the following error: > > ```plain > tex error > error on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal > parameter number in definition of \m_syst_action_yes > > 1 > ...{Baz}][{before={\bgroup \define [1]\Foo {Foo##1 > }},after={\egroup }}] > \doifnextoptionalelse ...ef \m_syst_action_yes {#1 > }\def > \m_syst_action_nop {... > l.4 ...bgroup\define[1]\Foo{Foo#1}},after={\egroup}] > 1 \setuppapersize[A6] > 2 \definestartstop[Foo][before={Foo}] > 3 > \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] > 4 >> > \definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}},after={\egroup}] > 5 > 6 \starttext > 7 \startFoo > 8 Bar > 9 \stopFoo > 10 > 11 \startBar > 12 \Foo Bar > 13 \stopBar > 14 > ``` > > Can someone help me get this running? > > > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://tex.aanhet.net > archive : http://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ > -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------