[NTG-context] define macros only visible in a definestartstop-block that have arguments?

2015-03-20 Thread Norbert Melzer
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 errorerror on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal
 parameter number in definition of \m_syst_action_yes



to be read again

1

argument ...{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
___

Re: [NTG-context] define macros only visible in a definestartstop-block that have arguments?

2015-03-20 Thread Norbert Melzer
OK, took me a while to figure out that this was not an empty response but
an attachement was available ;)

I did a quick test run and realized that it seems to do what I want, I'll
take a further look into it tommorrow, thank you!

2015-03-20 17:23 GMT+01:00 Hans Hagen pra...@wxs.nl:

 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 errorerror on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal
   parameter number in definition of \m_syst_action_yes
 to be read again
 1
 argument ...{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
 -


 ___
 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

 ___

___
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
___

Re: [NTG-context] define macros only visible in a definestartstop-block that have arguments?

2015-03-20 Thread Hans Hagen

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 errorerror on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal
  parameter number in definition of \m_syst_action_yes
to be read again
1
argument ...{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
-


setups-003.tex
Description: TeX document
___
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
___