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
___________________________________________________________________________________

Reply via email to