*/
#include <lib-lib/lib-lib.h>
-#include "lib-lua_priv.h"
+#include <lib-lua/lib-lua.h>
-static lua_State *L;
+#include "../alias.h"
+#include "../mutt.h"
+static lua_State *L;
void luaM_initialize(void)
{
{LUA_STRLIBNAME, luaopen_string},
{LUA_MATHLIBNAME, luaopen_math},
{LUA_DBLIBNAME, luaopen_debug},
- {"madmutt", luaopen_madmutt},
+ {"MCore", luaopen_MCore},
+ {"MTransport", luaopen_MTransport},
+ {"MAlias", luaopen_MAlias},
};
int i;
return i;
}
+const char *luaM_checkrx(lua_State *Ls, int narg)
+{
+ const char *s = luaL_checkstring(Ls, narg);
+ char buf[STRING];
+
+ if (rx_validate(s, buf, ssizeof(buf))) {
+ s = lua_pushfstring(Ls, "invalid regexp: `%s'", buf);
+ luaL_argerror(Ls, narg, s);
+ return NULL;
+ }
+
+ return s;
+}
+
+char *luaM_pathnew(const char *val)
+{
+ char path[PATH_MAX];
+ _mutt_expand_path(path, sizeof(path), val, 0);
+ return m_strdup(path);
+}
+
+rx_t *luaM_rxnew(const char *val)
+{
+ if (m_strisempty(val))
+ val = ".";
+
+ return rx_compile(val, mutt_which_case(val));
+}
+