diff plugins/tcl/tcl_gaim.h @ 10597:0e886a234d92

[gaim-migrate @ 12012] This is a nontrivial change to the way signal handlers are implemented and used in Tcl. This changes signal handlers to being standard Tcl functions by way of a little bit of namespace glue. In addition, in/out arguments to signals are now implemented via variables which should be upvar'd; this is a little more verbose than the old method, but it should fit people's Tcl expectations a little better, since normally Tcl function arguments are not call-by-reference. This still isn't 64-bit safe, and the documentation wasn't updated. I expect there will be more nontrivial changes to Tcl before 2.0, so those things are pending. Ethan committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Mon, 14 Feb 2005 03:11:23 +0000
parents 2d2f04c5c7d2
children fc464a0abccc
line wrap: on
line diff
--- a/plugins/tcl/tcl_gaim.h	Mon Feb 14 03:08:43 2005 +0000
+++ b/plugins/tcl/tcl_gaim.h	Mon Feb 14 03:11:23 2005 +0000
@@ -30,13 +30,14 @@
 #include "value.h"
 
 struct tcl_signal_handler {
-	char *signal;
+	Tcl_Obj *signal;
 	Tcl_Interp *interp;
 
 	void *instance;
+	Tcl_Obj *namespace;
+	/* These following two are temporary during setup */
+	Tcl_Obj *args;
 	Tcl_Obj *proc;
-	int nnames;
-	char **argnames;
 
 	GaimValue *returntype;
 	int nargs;