mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
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
This commit is contained in:
parent
e81119295e
commit
d67a3b9503
1 changed files with 6 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue