Merge commit 'madcoder/master'
This commit is contained in:
commit
fee4116e3d
|
@ -15,6 +15,7 @@ else
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Grab environment we need
|
-- Grab environment we need
|
||||||
|
local string = string
|
||||||
local assert = assert
|
local assert = assert
|
||||||
local loadstring = loadstring
|
local loadstring = loadstring
|
||||||
local ipairs = ipairs
|
local ipairs = ipairs
|
||||||
|
@ -702,8 +703,10 @@ function P.prompt(args, textbox, exe_callback, completion_callback)
|
||||||
elseif key == "Right" then
|
elseif key == "Right" then
|
||||||
cur_pos = cur_pos + 1
|
cur_pos = cur_pos + 1
|
||||||
else
|
else
|
||||||
command = command:sub(1, cur_pos - 1) .. key .. command:sub(cur_pos)
|
if string.len(key) == 1 then
|
||||||
cur_pos = cur_pos + 1
|
command = command:sub(1, cur_pos - 1) .. key .. command:sub(cur_pos)
|
||||||
|
cur_pos = cur_pos + 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
if cur_pos < 1 then
|
if cur_pos < 1 then
|
||||||
cur_pos = 1
|
cur_pos = 1
|
||||||
|
|
19
lua.c
19
lua.c
|
@ -453,6 +453,23 @@ luaA_openlib(lua_State *L, const char *name,
|
||||||
luaL_register(L, name, methods);
|
luaL_register(L, name, methods);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
luaA_mbstrlen(lua_State *L)
|
||||||
|
{
|
||||||
|
const char *cmd = luaL_checkstring(L, 1);
|
||||||
|
lua_pushnumber(L, mbstowcs(NULL, NONULL(cmd), 0));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
luaA_fixups(lua_State *L)
|
||||||
|
{
|
||||||
|
lua_getglobal(L, "string");
|
||||||
|
lua_pushcfunction(L, luaA_mbstrlen);
|
||||||
|
lua_setfield(L, -2, "len");
|
||||||
|
lua_pop(L, 1);
|
||||||
|
}
|
||||||
|
|
||||||
/** Initialize the Lua VM
|
/** Initialize the Lua VM
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
|
@ -497,6 +514,8 @@ luaA_init(void)
|
||||||
|
|
||||||
luaL_openlibs(L);
|
luaL_openlibs(L);
|
||||||
|
|
||||||
|
luaA_fixups(L);
|
||||||
|
|
||||||
/* Export awesome lib */
|
/* Export awesome lib */
|
||||||
luaL_register(L, "awesome", awesome_lib);
|
luaL_register(L, "awesome", awesome_lib);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue