On 10/14/2019 6:50 PM, Rudolf Bahr wrote:
Dear List!
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
You're in a tex environment, so no $HOME expansion. You can use the
prefix resolvers:
\startluacode
function userdata.file_exists(name)
local name = name and resolvers.resolve(name)
if name and lfs.isfile(name) then
context("file %a exists",name)
else
context("file %a doesn't exist",name)
end
end
\stopluacode
\starttext
% \def\lookupfile#1{\ctxlua{userdata.file_exists([==[#1]==])}}
\def\lookupfile{\ctxlua{userdata.file_exists(tokens.scanners.string())}}
\lookupfile{home:context-tests/AAA.lua}{xx}
\lookupfile{home:context-tests/BBB.lua}{xx}
\stoptext
-----------------------------------------------------------------
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
___________________________________________________________________________________