aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--vis-lua.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 962fb7e..2311f3d 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@ MANPREFIX ?= ${PREFIX}/man
VERSION = $(shell git describe --always 2>/dev/null || echo "0.2")
CONFIG_LUA ?= 1
+CONFIG_BUILTIN_LPEG ?= 0
CONFIG_ACL ?= 0
CONFIG_SELINUX ?= 0
@@ -28,6 +29,7 @@ CFLAGS_VIS = $(CFLAGS_AUTO) $(CFLAGS_TERMKEY) $(CFLAGS_CURSES) $(CFLAGS_ACL) \
CFLAGS_VIS += -DVIS_PATH=\"${SHAREPREFIX}/vis\"
CFLAGS_VIS += -DCONFIG_LUA=${CONFIG_LUA}
+CFLAGS_VIS += -DCONFIG_BUILTIN_LPEG=${CONFIG_BUILTIN_LPEG}
CFLAGS_VIS += -DCONFIG_SELINUX=${CONFIG_SELINUX}
CFLAGS_VIS += -DCONFIG_ACL=${CONFIG_ACL}
CFLAGS_VIS += ${CFLAGS_DEBUG}
diff --git a/vis-lua.c b/vis-lua.c
index 29e94ef..95cfe6e 100644
--- a/vis-lua.c
+++ b/vis-lua.c
@@ -1889,6 +1889,15 @@ void vis_lua_init(Vis *vis) {
vis->lua = L;
luaL_openlibs(L);
+#if CONFIG_BUILTIN_LPEG
+ extern int luaopen_lpeg(lua_State *L);
+ lua_getglobal(L, "package");
+ lua_getfield(L, -1, "preload");
+ lua_pushcfunction(L, luaopen_lpeg);
+ lua_setfield(L, -2, "lpeg");
+ lua_pop(L, 2);
+#endif
+
/* remove any relative paths from lua's default package.path */
vis_lua_path_strip(vis);