[NTG-context] Argument of \startInvoice has an extra }.

2013-11-09 Thread Peter Münster
Hi,

How could I avoid that error here please:

--8---cut here---start-8---
\def\beginInvoice{\dosingleempty\dobeginInvoice}
\def\dobeginInvoice[#1]{\grabbufferdata[myLetter][beginInvoice][endInvoice]}
\def\startInvoice#1\stopInvoice{bla}
\starttext
\beginInvoice
\startInvoice test \stopInvoice
\endInvoice
\stoptext
--8---cut here---end---8---

TIA for any help,
-- 
   Peter
___
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] Argument of \startInvoice has an extra }.

2013-11-09 Thread Aditya Mahajan

On Sat, 9 Nov 2013, Peter Münster wrote:


Hi,

How could I avoid that error here please:

--8---cut here---start-8---
\def\beginInvoice{\dosingleempty\dobeginInvoice}
\def\dobeginInvoice[#1]{\grabbufferdata[myLetter][beginInvoice][endInvoice]}
\def\startInvoice#1\stopInvoice{bla}
\starttext
\beginInvoice
\startInvoice test \stopInvoice
\endInvoice
\stoptext


One possibility is to restrict optional arguments to one line:

\def\beginInvoice{\bgroup\obeylines\dosingleempty\dobeginInvoice}
\def\dobeginInvoice[#1]{\egroup\grabbufferdata[myLetter][beginInvoice][endInvoice]}

Aditya___
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] Argument of \startInvoice has an extra }.

2013-11-09 Thread Peter Münster
On Sat, Nov 09 2013, Aditya Mahajan wrote:

 One possibility is to restrict optional arguments to one line:

 \def\beginInvoice{\bgroup\obeylines\dosingleempty\dobeginInvoice}
 \def\dobeginInvoice[#1]{\egroup\grabbufferdata[myLetter][beginInvoice][endInvoice]}

Thanks. How did you find the reason for the error (and the solution)?

Is there also a solution with support for multiple lines? Unfortunately
this does not work:

--8---cut here---start-8---
\def\beginInvoice{\bgroup\obeylines\dosingleempty\dobeginInvoice}
\def\dobeginInvoice[#1]{\egroup\getparameters[PRM][#1]%
  \grabbufferdata[myLetter][beginInvoice][endInvoice]}
\def\endInvoice{\getbuffer[myLetter]}
\def\startInvoice#1\stopInvoice{#1}
\starttext
\beginInvoice[bla=blub,
  blub=bla]
\startInvoice test \PRMblub \stopInvoice
\endInvoice
\beginInvoice
\startInvoice test \stopInvoice
\endInvoice
\stoptext
--8---cut here---end---8---

TIA,
-- 
   Peter
___
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
___