aboutsummaryrefslogtreecommitdiff
path: root/src/textadept.c
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2011-03-24 23:44:19 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2011-03-24 23:44:19 -0400
commit3f286b2cc266d0b72db00950a8ddbb0c798e1416 (patch)
tree32787b79295ecc1f34cd100933677af60013f463 /src/textadept.c
parent0e7a6a2bc8d05c5ad7e58dee15bcef6a3fb0acf0 (diff)
downloadtextadept-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.c8
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