[Tarantool-patches] [PATCH 2.X 4/7] module api: luaL_register_module & luaL_register_type

Timur Safin tsafin at tarantool.org
Fri Oct 2 19:14:31 MSK 2020


: From: Alexander Turenko <alexander.turenko at tarantool.org>
: Subject: Re: [Tarantool-patches] [PATCH 2.X 4/7] module api:
: luaL_register_module & luaL_register_type
: 
: > > diff --git a/src/lua/utils.h b/src/lua/utils.h
: > > index 7639cd64a..9b1fe7e57 100644
: > > --- a/src/lua/utils.h
: > > +++ b/src/lua/utils.h
: > > @@ -78,6 +78,8 @@ luaL_pushuuid(struct lua_State *L);
: > >
: > >  /** \cond public */
: > >
: > > +struct luaL_Reg;
: >
: > 1. It does not seem to be public. How are users supposed to work with
: that?
: > Igor, could you please take a look at this?
: >
: > If you need it so badly, at least we need a wrapper around luaL_Reg
: > or we need to expose it and document too. Probably Igor has better
: ideas.
: 
: It is exposed from lauxlib.h, no need to duplicate in the module API.

Didn't know that - good point, thanks!

: 
: >
: > > +
: > >  /**
: > >   * @brief Checks whether a value on the Lua stack is a cdata.
: > >   *
: > > @@ -442,6 +444,8 @@ luaL_checkfield(struct lua_State *L, struct
: luaL_serializer *cfg, int idx,
: > >  	luaL_convertfield(L, cfg, idx, field);
: > >  }
: > >
: > > +/** \cond public */
: > > +
: > >  void
: > >  luaL_register_type(struct lua_State *L, const char *type_name,
: > >  		   const struct luaL_Reg *methods);
: >
: > 2. These newly exported methods don't have a single comment. Why?
: 
: luaL_register_*() are our helpers around luaL_register(), AFAIR. A
: module should use the latter.



More information about the Tarantool-patches mailing list