ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Pablo Rodriguez <oinos@gmx.es>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: issue with \processaction
Date: Tue, 18 Mar 2014 23:04:25 +0100	[thread overview]
Message-ID: <5328C2E9.50002@gmx.es> (raw)
In-Reply-To: <E0CFC9F0-A7C3-454E-B347-5FA21726CB4F@gmail.com>

On 03/18/2014 10:40 PM, Wolfgang Schuster wrote:
> Am 18.03.2014 um 22:09 schrieb Pablo Rodriguez:
>> On 03/18/2014 07:55 PM, Hans Hagen wrote:
>>> [...]
>>> 
>>> you output vrbcatcodes strings while you test using ctx catcodesn
>>>
>>> of course i'd use lua for all of it:
>>> [...]
>> I’m afraid that the user doesn’t get recognized (I corrected the user
>> name above).
> 
> The same applies to your examples because your test won’t work on
> our machines ;)

You’re right, Wolfgang, I chose the wrong sample.

The next one (AFAIK) should work on every OS:

\startluacode
     local user  = ""
     local users = {
         ["ousia"] = 1,
     }
     function document.CheckUser()
         user = os.resultof("echo ousia")
         context.verbatim(user)
     end

     function document.UserNumber(name)
         context.verbatim(users[name or user] or 0)
     end
\stopluacode

\def\CheckUser {\ctxlua{document.CheckUser ()}}
\def\UserNumber{\ctxlua{document.UserNumber()}}

\starttext
This is user \CheckUser with number \UserNumber.
\stoptext

>> Is there no way to do it with \processaction?
> 
> Only when you ensure the text you get from Lua has the normal cathode
> regime and when you special characters like \ in the result you have
> to convert them to \letterbackslash etc. which isn’t simpler than
> Hans solution. The advantage of Hans solution is that you don’t have
> to care about expansion.

The solution from Hans is great. The only issue there is that it is much
harder to understand for me.

Since this is a minimal part in a way more complex implementation (at
least for me), I really need to use commands that I know what they do.
Pure Lua code is totally unknown to me. I don’t have any background in
programming.

This is the reason why I asked about \processaction.

Many thanks for your reply,


Pablo
-- 
http://www.ousia.tk
___________________________________________________________________________________
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
___________________________________________________________________________________


  reply	other threads:[~2014-03-18 22:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-18 17:58 Pablo Rodriguez
2014-03-18 18:55 ` Hans Hagen
2014-03-18 21:09   ` Pablo Rodriguez
2014-03-18 21:40     ` Wolfgang Schuster
2014-03-18 22:04       ` Pablo Rodriguez [this message]
2014-03-18 22:30         ` Aditya Mahajan
2014-03-21 17:48           ` Pablo Rodriguez

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=5328C2E9.50002@gmx.es \
    --to=oinos@gmx.es \
    --cc=ntg-context@ntg.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).