ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Rudolf Bahr <quasi@quasi.de>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: \ctxlua and \startluacode ... \stopluacode
Date: Mon, 14 Oct 2019 21:07:12 +0200	[thread overview]
Message-ID: <20191014190712.GA14624@nan> (raw)
In-Reply-To: <866b77f5-c355-b158-4cd9-9c7d193abc00@xs4all.nl>

[-- Attachment #1: Type: text/plain, Size: 2415 bytes --]

On Mon, Oct 14, 2019 at 07:19:53PM +0200, Hans Hagen wrote:
> On 10/14/2019 6:50 PM, Rudolf Bahr wrote:
 
> > THis MWE must be faulty, but where is the error?
> > 
> > ====================================================
> > 
> > \startluacode
> > 
> > userdata = userdata or {}
> > 
> > function userdata.file_exists (name)
> > 
> >     local name = name
> >     local f    = assert ( io.open ( name, "r" ))
> > 
> >     if f then
> >        f:close ()
> >        context ( name )
> >        context ( "  exists!" )
> >     else
> >        context ( name )
> >        context ( "  doesn't exist!" )
> >     end
> > end
> > 
> > \stopluacode
> > 
> > 
> > \starttext
> > 
> > \def\lookupfile#1%
> > 	{\ctxlua{userdata.file_exists([==[#1]==])}}
> > 
> > \lookupfile{"$HOME/context-tests/AAA.lua"}	% "AAA.lua" intentionally does    exist
> > \lookupfile{"$HOME/context-tests/BBB.lua"}	% "BBB.lua" intentionally doesn't exist
> > 
> > \stoptext
> > 
> > ====================================================
> > 
> > It makes no difference in commenting out the first or the second "\lookupfile" command.
> > The error message eventually is always nearly the same:
> > 
> > token call, execute: [ctxlua]:8: "$HOME/context-tests/AAA.lua": No such file or directory
> > token call, execute: [ctxlua]:8: "$HOME/context-tests/BBB.lua": No such file or directory


Joseph, Taco and Hans, I thank you very much for your quick answers!
I shall try Hans' interesting suggestion on prefix resolvers after I've studied it,
for which I certainly need some time!

But before doing so I've a comment:
Your answers, Joseph, Taco and Hans, could  lead to the impression, that giving up
"double quotes as part of file names" and/or "$HOME" in the MWE would be the solution.
And indeed, not using "double quotes" and "expanding $HOME" by hand partly brings success:

1. In the case of an existing file (AAA.lua) the MWE works without error message!
   I will append the output-pdf-file here (just for fun!).

2. But in the case of an not existing file (BBB.lua) the known error message comes up
   again:
   "token call, execute: [ctxlua]:8: /home/sam/context-tests/BBB.lua: No such file or 
    directory".
    This, of course, is true, but shouldn't be mentioned in an error message!

Within \startluacode ... \stopluacode it seems one has to abandon the normal lua world,
at least partly. Are there other "special features"?

Rudolf

[-- Attachment #2: is-file.pdf --]
[-- Type: application/pdf, Size: 5592 bytes --]

[-- Attachment #3: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

  reply	other threads:[~2019-10-14 19:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-14 16:50 Rudolf Bahr
2019-10-14 16:55 ` RE : " Joseph
2019-10-14 17:08 ` Taco Hoekwater
2019-10-14 17:19 ` Hans Hagen
2019-10-14 19:07   ` Rudolf Bahr [this message]
2019-10-14 19:26     ` Taco Hoekwater
2019-10-14 22:50       ` Rudolf Bahr
2019-10-15  8:04         ` Taco Hoekwater
2019-10-15  8:15           ` Hans Hagen
2019-10-16  7:03             ` Rudolf Bahr

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=20191014190712.GA14624@nan \
    --to=quasi@quasi.de \
    --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).