Re: [NTG-context] Weird error when using \startformula inside lua

2021-09-12 Thread Sylvain Hubert via ntg-context
The problem also concerns \starttyping:

\starttext
.
\startluacode
context([[
\starttyping
\stoptyping
]])
\stopluacode
\stoptext

tex error   > runaway error: end of file encountered
mtx-context | fatal error: return code: 256

%

\starttext
.
\startluacode
context([[
\starttyping

foobar
\stoptyping
]])
\stopluacode
\stoptext

tex error   > tex error on line 5 in file ./test.tex:

lua error:

registered function call [1041]:
...mtx/tex/texmf-context/tex/context/base/mkxl/buff-ini.lmt:534: invalid
value (nil) at index 3 in table for '
concat'
stack traceback:
[C]: in function 'table.concat'
...mtx/tex/texmf-context/tex/context/base/mkxl/buff-ini.lmt:534: in
upvalue 'pickup'
...mtx/tex/texmf-context/tex/context/base/mkxl/buff-ini.lmt:677: in
function <...mtx/tex/texmf-context/tex/context/base/mkxl/buff-ini.lmt:668>
(...tail calls...)


Sylvain

On Sat, 11 Sept 2021 at 05:12, Aditya Mahajan via ntg-context <
ntg-context@ntg.nl> wrote:

> I sometimes define lua functions for showing out worked out calculations.
> The following minimal example shows that
>
>   context([[\startformula ... \stopformula]])
>
> fails in LMTX with an error message:
>
> tex error   > tex error on line 3 in file ./test.tex: Undefined
> control sequence \undefined
>
> MWE:
>
> \startluacode
>   thirddata = thirddata or {}
>
>   local comment = [[
> This is a famous formula
> \startformula
>   a^2 + b^2 = c^2
> \stopformula
>   ]]
>
>   function thirddata.explanation()
>   context(comment)
>   end
>
> \stopluacode
>
> \starttext
> \ctxlua{thirddata.explanation()}
> \stoptext
>
> The actual use case is more complicated (where I use templates, so I don't
> want to convert everything to context.startformula() etc.). The example
> compiles with MkIV but not LMTX.
>
> Any idea what is going on?
>
> Thanks,
> 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://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Weird error when using \startformula inside lua

2021-09-11 Thread Aditya Mahajan via ntg-context
On Sat, 11 Sep 2021, Hans Hagen wrote:

> On 9/11/2021 5:11 AM, Aditya Mahajan via ntg-context wrote:
> > I sometimes define lua functions for showing out worked out calculations.
> > The following minimal example shows that
> > 
> >context([[\startformula ... \stopformula]])
> > 
> > fails in LMTX with an error message:
> > 
> > tex error   > tex error on line 3 in file ./test.tex: Undefined control
> > sequence \undefined
> > 
> > MWE:
> > 
> > \startluacode
> >thirddata = thirddata or {}
> > 
> >local comment = [[
> >  This is a famous formula
> >  \startformula
> >a^2 + b^2 = c^2
> >  \stopformula
> >]]
> > 
> >function thirddata.explanation()
> >context(comment)
> >end
> > 
> > \stopluacode
> > 
> > \starttext
> > \ctxlua{thirddata.explanation()}
> > \stoptext
> > 
> > The actual use case is more complicated (where I use templates, so I don't
> > want to convert everything to context.startformula() etc.). The example
> > compiles with MkIV but not LMTX.
> > 
> > Any idea what is going on?
> \enabletrackers[context*]
> 
> shows that we have an unprotected \startformula so we need this in
> strc-mat.mkxl:
> 
> \permanent\protected\defcsname\e!start\v!formula\endcsname{\strc_formulas_start_formula{}}
> \permanent\protected\defcsname\e!stop
> \v!formula\endcsname{\strc_formulas_stop_formula}
> 
> \permanent\tolerant\protected\def\defineformulaalternative[#1]#*[#2]#*[#3]%
>   {\frozen\instance\protected\defcsname\e!start#1\v!formula\endcsname{#2}%
>\frozen\instance\protected\defcsname\e!stop #1\v!formula\endcsname{#3}}
> 
> (the \protected probably got lost when i added overload protection etc)

Thanks! This fixes the error in my main document as well.

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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Weird error when using \startformula inside lua

2021-09-11 Thread Hans Hagen via ntg-context

On 9/11/2021 5:11 AM, Aditya Mahajan via ntg-context wrote:

I sometimes define lua functions for showing out worked out calculations. The 
following minimal example shows that

   context([[\startformula ... \stopformula]])

fails in LMTX with an error message:

tex error   > tex error on line 3 in file ./test.tex: Undefined control 
sequence \undefined

MWE:

\startluacode
   thirddata = thirddata or {}

   local comment = [[
 This is a famous formula
 \startformula
   a^2 + b^2 = c^2
 \stopformula
   ]]

   function thirddata.explanation()
   context(comment)
   end

\stopluacode

\starttext
\ctxlua{thirddata.explanation()}
\stoptext

The actual use case is more complicated (where I use templates, so I don't want 
to convert everything to context.startformula() etc.). The example compiles 
with MkIV but not LMTX.

Any idea what is going on?

\enabletrackers[context*]

shows that we have an unprotected \startformula so we need this in 
strc-mat.mkxl:


\permanent\protected\defcsname\e!start\v!formula\endcsname{\strc_formulas_start_formula{}}
\permanent\protected\defcsname\e!stop 
\v!formula\endcsname{\strc_formulas_stop_formula}


\permanent\tolerant\protected\def\defineformulaalternative[#1]#*[#2]#*[#3]%
  {\frozen\instance\protected\defcsname\e!start#1\v!formula\endcsname{#2}%
   \frozen\instance\protected\defcsname\e!stop #1\v!formula\endcsname{#3}}

(the \protected probably got lost when i added overload protection etc)

Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


[NTG-context] Weird error when using \startformula inside lua

2021-09-10 Thread Aditya Mahajan via ntg-context
I sometimes define lua functions for showing out worked out calculations. The 
following minimal example shows that 

  context([[\startformula ... \stopformula]]) 

fails in LMTX with an error message:

tex error   > tex error on line 3 in file ./test.tex: Undefined control 
sequence \undefined 

MWE:

\startluacode
  thirddata = thirddata or {}

  local comment = [[
This is a famous formula
\startformula
  a^2 + b^2 = c^2
\stopformula
  ]]

  function thirddata.explanation()
  context(comment)
  end

\stopluacode

\starttext
\ctxlua{thirddata.explanation()}
\stoptext

The actual use case is more complicated (where I use templates, so I don't want 
to convert everything to context.startformula() etc.). The example compiles 
with MkIV but not LMTX.

Any idea what is going on?

Thanks,
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___