ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen via ntg-context <ntg-context@ntg.nl>
To: ntg-context@ntg.nl
Cc: Hans Hagen <j.hagen@freedom.nl>
Subject: [NTG-context] Re: \luaescapestring in proper Lua
Date: Wed, 10 Apr 2024 21:48:57 +0200	[thread overview]
Message-ID: <a1e2938a-4c73-4bd8-aad7-040b0995b269@freedom.nl> (raw)
In-Reply-To: <bf62341d-c7e9-61ce-658b-84f8349144b2@gmx.es>

On 4/10/2024 7:49 PM, Pablo Rodriguez via ntg-context wrote:
> Dear list,
> 
> I have the following sample:
> 
>    \starttext
>    \startluacode
>    function document.print_the_thing(str)
>      context(str)
>    end
>    \stopluacode
> 
>    \unexpanded\def\PrintTheThing#1{%
>      \ctxlua{document.print_the_thing([[\luaescapestring{#1}]])}}
> 
>    \PrintTheThing{a \em b {c}}
>    \stoptext
> 
> I wonder whether there is a proper way in the Lua code to avoid
> [[\luaescapestring{}]] in \ctxlua.
> 
> BTW, [[\luaescapestring{}]] in \ctxlua works better for me, since in my
> real world document, I’m using str:match() to check whether the string
> ends with interrogation or exclamation marks ("%?!$").
\starttext
   \startluacode
       function document.print_the_thing()
         context(tokens.scanners.string())
       end
   \stopluacode

   \protected\def\PrintTheThing{\ctxlua{document.print_the_thing()}}

   \PrintTheThing{a \em b {\bf c} d}
\stoptext

bonus:

   test!\removepunctuation ?

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 / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2024-04-10 19:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10 17:49 [NTG-context] " Pablo Rodriguez via ntg-context
2024-04-10 19:48 ` Hans Hagen via ntg-context [this message]
2024-04-11 15:07   ` [NTG-context] " Pablo Rodriguez via ntg-context
2024-04-11 16:56     ` Hans Hagen via ntg-context
2024-04-11 17:32       ` Pablo Rodriguez via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a1e2938a-4c73-4bd8-aad7-040b0995b269@freedom.nl \
    --to=ntg-context@ntg.nl \
    --cc=j.hagen@freedom.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).