* \startluacode and macro names with underscores
@ 2012-09-04 13:40 Marco Patzer
2012-09-04 13:48 ` Wolfgang Schuster
2012-09-04 13:49 ` Hans Hagen
0 siblings, 2 replies; 3+ messages in thread
From: Marco Patzer @ 2012-09-04 13:40 UTC (permalink / raw)
To: context
Hi,
the luacode environment chokes on macro names with underscores.
Example:
\starttext
\unprotect
\def\number_two{two}
\startluacode
userdata = userdata or { }
function userdata.number_one() context("one") end
-- works
userdata.number_one()
-- fails
-- context.number_two()
-- workaround
tex.print("\\number_two")
\stopluacode
\protect
\stoptext
Why is that and what can be done to access underscored macros in the
usual way? I guess it's some catcode change from the function that
prints into the TeX stream.
Marco
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: \startluacode and macro names with underscores
2012-09-04 13:40 \startluacode and macro names with underscores Marco Patzer
@ 2012-09-04 13:48 ` Wolfgang Schuster
2012-09-04 13:49 ` Hans Hagen
1 sibling, 0 replies; 3+ messages in thread
From: Wolfgang Schuster @ 2012-09-04 13:48 UTC (permalink / raw)
To: mailing list for ConTeXt users
Am 04.09.2012 um 15:40 schrieb Marco Patzer <homerow@lavabit.com>:
> Hi,
>
> the luacode environment chokes on macro names with underscores.
> Example:
>
> \starttext
> \unprotect
>
> \def\number_two{two}
>
> \startluacode
> userdata = userdata or { }
> function userdata.number_one() context("one") end
>
> -- works
> userdata.number_one()
>
> -- fails
> -- context.number_two()
>
> -- workaround
> tex.print("\\number_two")
> \stopluacode
>
> \protect
> \stoptext
>
> Why is that and what can be done to access underscored macros in the
> usual way? I guess it's some catcode change from the function that
> prints into the TeX stream.
Use this in your Lua code:
context.unprotect()
context.number_two()
context.protect()
Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: \startluacode and macro names with underscores
2012-09-04 13:40 \startluacode and macro names with underscores Marco Patzer
2012-09-04 13:48 ` Wolfgang Schuster
@ 2012-09-04 13:49 ` Hans Hagen
1 sibling, 0 replies; 3+ messages in thread
From: Hans Hagen @ 2012-09-04 13:49 UTC (permalink / raw)
To: mailing list for ConTeXt users
On 4-9-2012 15:40, Marco Patzer wrote:
> Hi,
>
> the luacode environment chokes on macro names with underscores.
> Example:
>
> \starttext
> \unprotect
>
> \def\number_two{two}
>
> \startluacode
> userdata = userdata or { }
> function userdata.number_one() context("one") end
>
> -- works
> userdata.number_one()
>
> -- fails
> -- context.number_two()
>
> -- workaround
> tex.print("\\number_two")
> \stopluacode
>
> \protect
> \stoptext
>
> Why is that and what can be done to access underscored macros in the
> usual way? I guess it's some catcode change from the function that
> prints into the TeX stream.
\starttext
\unprotect
\def\number_two{two}
\protect
\startluacode
userdata = userdata or { }
function userdata.number_one() context("one") end
userdata.number_one()
context.unprotect()
context.number_two()
context.protect()
context.pushcatcodes("prt")
context.number_two()
context.popcatcodes()
\stopluacode
\stoptext
-----------------------------------------------------------------
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-04 13:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-04 13:40 \startluacode and macro names with underscores Marco Patzer
2012-09-04 13:48 ` Wolfgang Schuster
2012-09-04 13:49 ` Hans Hagen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).