diff options
author | 2011-03-24 23:44:19 -0400 | |
---|---|---|
committer | 2011-03-24 23:44:19 -0400 | |
commit | 3f286b2cc266d0b72db00950a8ddbb0c798e1416 (patch) | |
tree | 32787b79295ecc1f34cd100933677af60013f463 /src/textadept.c | |
parent | 0e7a6a2bc8d05c5ad7e58dee15bcef6a3fb0acf0 (diff) | |
download | textadept-3f286b2cc266d0b72db00950a8ddbb0c798e1416.tar.gz textadept-3f286b2cc266d0b72db00950a8ddbb0c798e1416.zip |
Changes to key and menu command definitions.
Functions can be used directly without being contained within a table. Also,
buffer and view functions and references should be used directly (e.g.
{ buffer.undo, buffer } and { view.split, view }). References are handled
correctly at runtime.
Diffstat (limited to 'src/textadept.c')
-rw-r--r-- | src/textadept.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/textadept.c b/src/textadept.c index ef8516d3..7ff41533 100644 --- a/src/textadept.c +++ b/src/textadept.c @@ -1566,8 +1566,8 @@ static int l_call_scintilla(lua_State *lua, GtkWidget *editor, int msg, * @see l_buffer_mt_index */ static int l_call_buffer_function(lua_State *lua) { - GtkWidget *editor = l_togtkwidget(lua, lua_upvalueindex(1)); - int buffer_func_table_idx = lua_upvalueindex(2); + GtkWidget *editor = focused_editor; + int buffer_func_table_idx = lua_upvalueindex(1); int msg = l_rawgeti_int(lua, buffer_func_table_idx, 1); int rt_type = l_rawgeti_int(lua, buffer_func_table_idx, 2); int p1_type = l_rawgeti_int(lua, buffer_func_table_idx, 3); @@ -1592,9 +1592,7 @@ static int l_buffer_mt_index(lua_State *lua) { lua_remove(lua, -2); // buffer functions if (lua_istable(lua, -1)) { // Of the form { msg, rt_type, p1_type, p2_type } - lua_pushlightuserdata(lua, (GtkWidget *)focused_editor); - lua_insert(lua, lua_gettop(lua) - 1); // shift buffer functions down - lua_pushcclosure(lua, l_call_buffer_function, 2); + lua_pushcclosure(lua, l_call_buffer_function, 1); return 1; } else lua_pop(lua, 1); // non-table |