From d67a3b9503276205857c38f6c1dc5ad20ea1e885 Mon Sep 17 00:00:00 2001 From: "Kurt B. Kaiser" Date: Thu, 5 Jul 2007 22:03:39 +0000 Subject: Many calls to tk.call involve an arglist containing a single tuple. Calls using METH_OLDARGS unpack this tuple; calls using METH_VARARG don't. Tcl's concatenation of args was affected; IDLE doesn't start. Modify Tkapp_Call() to unpack single tuple arglists. Bug 1733943 Ref http://mail.python.org/pipermail/python-checkins/2007-May/060454.html --- Modules/_tkinter.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index 1f94929..22d930b 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -1285,6 +1285,12 @@ Tkapp_Call(PyObject *selfptr, PyObject *args) /* Could add TCL_EVAL_GLOBAL if wrapped by GlobalCall... */ int flags = TCL_EVAL_DIRECT; + /* If args is a single tuple, replace with contents of tuple */ + if (1 == PyTuple_Size(args)){ + PyObject* item = PyTuple_GetItem(args, 0); + if (PyTuple_Check(item)) + args = item; + } #ifdef WITH_THREAD if (self->threaded && self->thread_id != Tcl_GetCurrentThread()) { /* We cannot call the command directly. Instead, we must -- cgit v0.12