lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Just for clarification..
My loader is 'loadstringing' the module and pushing it. One of the modules I tested is 'LuaDoc' and uses the 'module(...)' function - so, it would probably register himself properly if ran.
I don't know if require is executing it properly, for my loader is a JavaFunction from the LuaJava package. I don't know which mechanism require uses to execute the module compiled and pushed by the loader - that's my main doubt.
During my debug, the loader is being executed, the module is properly compiled and pushed into the stack. (L.type(-1) is 'function' just before exiting the loader)

On Dec 6, 2007 1:41 PM, Roberto Ierusalimschy <roberto@inf.puc-rio.br> wrote:
> I wrote a custom module loader using LuaJava and set it to the package
> loaders table.
> The loader is a user type with a __call int the meta table.
>
> My problem is, although I am sure the loader is being called and manages
> complile and push a chunk of code as the result of a loadstring operation,
> require cannot get the module - returning a boolean instead.
>
> Does anyone know if there's a problem returning a function from a loader in
> those conditions?

'require' does not return the module. It loads the module, *runs* it,
and returns the result. If the module has no results, 'require' returns
true.

-- Roberto



--
Luís Eduardo Jason Santos