diff -r -u lexers/LexLPeg.cxx lexers/LexLPeg.cxx --- a/lexers/LexLPeg.cxx 2020-07-27 20:00:24.000000000 +0300 +++ b/lexers/LexLPeg.cxx 2020-12-02 01:14:50.107727288 +0300 @@ -40,7 +40,7 @@ #include "lua.h" #include "lualib.h" #include "lauxlib.h" -LUALIB_API int luaopen_lpeg(lua_State *L); +//~ LUALIB_API int luaopen_lpeg(lua_State *L); } using namespace Scintilla; @@ -683,7 +683,12 @@ luaL_requiref(L, LUA_TABLIBNAME, luaopen_table, 1), lua_pop(L, 1); luaL_requiref(L, LUA_STRLIBNAME, luaopen_string, 1), lua_pop(L, 1); // TODO: figure out why lua_setglobal() is needed for lpeg. - luaL_requiref(L, "lpeg", luaopen_lpeg, 1), lua_setglobal(L, "lpeg"); + //~ luaL_requiref(L, "lpeg", luaopen_lpeg, 1), lua_setglobal(L, "lpeg"); + auto rc = luaL_dostring(L, "require(\"lpeg\")"); + if (rc != LUA_OK) { + fprintf(stderr, "Can't load Lua lpeg module: %s\n", lua_tostring(L, -1)); + }; + lua_pop(L, 1); #if _WIN32 lua_pushboolean(L, 1), lua_setglobal(L, "WIN32"); #endif