diff --git a/src/if_lua.c b/src/if_lua.c
index 3886401..c0d809a 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -253,14 +253,23 @@
 void (*dll_lua_pushboolean) (lua_State *L, int b);
 void (*dll_lua_pushlightuserdata) (lua_State *L, void *p);
 void (*dll_lua_getfield) (lua_State *L, int idx, const char *k);
+#if LUA_VERSION_NUM <= 502
 void (*dll_lua_rawget) (lua_State *L, int idx);
 void (*dll_lua_rawgeti) (lua_State *L, int idx, int n);
+#else
+int (*dll_lua_rawget) (lua_State *L, int idx);
+int (*dll_lua_rawgeti) (lua_State *L, int idx, lua_Integer n);
+#endif
 void (*dll_lua_createtable) (lua_State *L, int narr, int nrec);
 void *(*dll_lua_newuserdata) (lua_State *L, size_t sz);
 int (*dll_lua_getmetatable) (lua_State *L, int objindex);
 void (*dll_lua_setfield) (lua_State *L, int idx, const char *k);
 void (*dll_lua_rawset) (lua_State *L, int idx);
+#if LUA_VERSION_NUM <= 502
 void (*dll_lua_rawseti) (lua_State *L, int idx, int n);
+#else
+void (*dll_lua_rawseti) (lua_State *L, int idx, lua_Integer n);
+#endif
 int (*dll_lua_setmetatable) (lua_State *L, int objindex);
 int (*dll_lua_next) (lua_State *L, int idx);
 /* libs */
@@ -962,7 +971,8 @@
 	return 0;
     if (*key == NUL)
 	luaL_error(L, "empty key");
-    if (!lua_isnil(L, 3)) { /* read value? */
+    if (!lua_isnil(L, 3)) /* read value? */
+    {
 	luaV_checktypval(L, 3, &v, "setting dict item");
 	if (d->dv_scope == VAR_DEF_SCOPE && v.v_type == VAR_FUNC)
 	    luaL_error(L, "cannot assign funcref to builtin scope");
@@ -1074,7 +1084,8 @@
 	status = FAIL;
     else
     {
-	for (i = 0; i < n; i++) {
+	for (i = 0; i < n; i++)
+	{
 	    luaV_checktypval(L, i + 2, &v, "calling funcref");
 	    list_append_tv(f->args.vval.v_list, &v);
 	}
@@ -1531,13 +1542,16 @@
     else
     {
 	luaV_newlist(L, l);
-	if (initarg) { /* traverse table to init dict */
+	if (initarg) /* traverse table to init list */
+	{
 	    int notnil, i = 0;
 	    typval_T v;
-	    do {
+	    do
+	    {
 		lua_rawgeti(L, 1, ++i);
 		notnil = !lua_isnil(L, -1);
-		if (notnil) {
+		if (notnil)
+		{
 		    luaV_checktypval(L, -1, &v, "vim.list");
 		    list_append_tv(l, &v);
 		}
