comparison 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
comparison
equal deleted inserted replaced
10596:913ec44675c3 10597:0e886a234d92
28 #include "internal.h" 28 #include "internal.h"
29 #include "plugin.h" 29 #include "plugin.h"
30 #include "value.h" 30 #include "value.h"
31 31
32 struct tcl_signal_handler { 32 struct tcl_signal_handler {
33 char *signal; 33 Tcl_Obj *signal;
34 Tcl_Interp *interp; 34 Tcl_Interp *interp;
35 35
36 void *instance; 36 void *instance;
37 Tcl_Obj *namespace;
38 /* These following two are temporary during setup */
39 Tcl_Obj *args;
37 Tcl_Obj *proc; 40 Tcl_Obj *proc;
38 int nnames;
39 char **argnames;
40 41
41 GaimValue *returntype; 42 GaimValue *returntype;
42 int nargs; 43 int nargs;
43 GaimValue **argtypes; 44 GaimValue **argtypes;
44 }; 45 };