aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/textadept.c
diff options
context:
space:
mode:
authorGravatar mitchell <70453897+667e-11@users.noreply.github.com>2015-01-22 15:11:06 -0500
committerGravatar mitchell <70453897+667e-11@users.noreply.github.com>2015-01-22 15:11:06 -0500
commit3f75097ce48896a583fdce6df819135b98e1585f (patch)
treee73d1ae7f8ecd9eee183108dd042099d3b46350f /src/textadept.c
parent20aa582f292e2a7f4611b9c4d36e4b204832b009 (diff)
Made `args.process()` private.
Diffstat (limited to 'src/textadept.c')
-rw-r--r--src/textadept.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/textadept.c b/src/textadept.c
index 8bc8c2bf..a3e4b4ee 100644
--- a/src/textadept.c
+++ b/src/textadept.c
@@ -273,22 +273,11 @@ static int a_command_line(GApplication*_, GApplicationCommandLine *cmdline,
int argc = 0;
char **argv = g_application_command_line_get_arguments(cmdline, &argc);
if (argc > 1) {
- lua_getglobal(lua, "args");
- if (lua_istable(lua, -1)) {
- lua_getfield(lua, -1, "process");
- if (lua_isfunction(lua, -1)) {
- lua_newtable(lua);
- const char *cwd = g_application_command_line_get_cwd(cmdline);
- lua_pushstring(lua, cwd ? cwd : ""), lua_rawseti(lua, -2, -1);
- for (int i = 0; i < argc; i++)
- lua_pushstring(lua, argv[i]), lua_rawseti(lua, -2, i);
- if (lua_pcall(lua, 1, 0, 0) != LUA_OK) {
- lL_event(lua, "error", LUA_TSTRING, lua_tostring(lua, -1), -1);
- lua_pop(lua, 1); // error message
- }
- } else lua_pop(lua, 1); // non-function
- }
- lua_pop(lua, 1); // args
+ lua_newtable(lua);
+ const char *cwd = g_application_command_line_get_cwd(cmdline);
+ lua_pushstring(lua, cwd ? cwd : ""), lua_rawseti(lua, -2, -1);
+ while (--argc) lua_pushstring(lua, argv[argc]), lua_rawseti(lua, -2, argc);
+ lL_event(lua, "cmd_line", LUA_TTABLE, luaL_ref(lua, LUA_REGISTRYINDEX), -1);
}
g_strfreev(argv);
return (gtk_window_present(GTK_WINDOW(window)), 0);