@@ -264,18 +264,9 @@ if (tcl_lock){\
264264 tcl_tstate = NULL; RELEASE_TCL_LOCK; }
265265
266266#define ENTER_PYTHON \
267- { PyThreadState *tstate = tcl_tstate; tcl_tstate = NULL; \
268- RELEASE_TCL_LOCK; PyEval_RestoreThread((tstate)); }
269-
270- #define LEAVE_PYTHON \
271- { PyThreadState *tstate = PyEval_SaveThread(); \
272- ACQUIRE_TCL_LOCK;\
273- tcl_tstate = tstate; }
274-
275- #define ENTER_PYTHON_OVERLAP \
276267{ PyThreadState *tstate = tcl_tstate; tcl_tstate = NULL; PyEval_RestoreThread((tstate)); }
277268
278- #define LEAVE_PYTHON_OVERLAP \
269+ #define LEAVE_PYTHON \
279270{ PyThreadState *tstate = PyEval_SaveThread(); tcl_tstate = tstate; }
280271
281272
@@ -297,8 +288,6 @@ if (tcl_lock){\
297288#define LEAVE_OVERLAP_TCL
298289#define ENTER_PYTHON
299290#define LEAVE_PYTHON
300- #define ENTER_PYTHON_OVERLAP
301- #define LEAVE_PYTHON_OVERLAP
302291#define CHECK_TCL_APPARTMENT
303292
304293#endif
@@ -1601,17 +1590,17 @@ Tkapp_CallProc(Tkapp_CallEvent *e, int flags)
16011590 Tcl_Obj * * objv ;
16021591 int objc ;
16031592 int i ;
1604- ENTER_PYTHON_OVERLAP
1593+ ENTER_PYTHON
16051594 objv = Tkapp_CallArgs (e -> args , objStore , & objc );
16061595 if (!objv ) {
16071596 PyErr_Fetch (e -> exc_type , e -> exc_value , e -> exc_tb );
16081597 * (e -> res ) = NULL ;
16091598 }
1610- LEAVE_PYTHON_OVERLAP
1599+ LEAVE_PYTHON
16111600 if (!objv )
16121601 goto done ;
16131602 i = Tcl_EvalObjv (e -> self -> interp , objc , objv , e -> flags );
1614- ENTER_PYTHON_OVERLAP
1603+ ENTER_PYTHON
16151604 if (i == TCL_ERROR ) {
16161605 * (e -> res ) = NULL ;
16171606 * (e -> exc_type ) = NULL ;
@@ -1623,7 +1612,7 @@ Tkapp_CallProc(Tkapp_CallEvent *e, int flags)
16231612 else {
16241613 * (e -> res ) = Tkapp_CallResult (e -> self );
16251614 }
1626- LEAVE_PYTHON_OVERLAP
1615+ LEAVE_PYTHON
16271616
16281617 Tkapp_CallDeallocArgs (objv , objStore , objc );
16291618done :
@@ -2525,8 +2514,8 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
25252514 ENTER_PYTHON
25262515
25272516 /* TBD: no error checking here since we know, via the
2528- * Tkapp_CreateCommand() that the client data is a two-tuple
2529- */
2517+ * Tkapp_CreateCommand() that the client data is a two-tuple
2518+ */
25302519 func = data -> func ;
25312520
25322521 /* Create argument list (argv1, ..., argvN) */
@@ -2546,14 +2535,11 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
25462535 if (res == NULL )
25472536 return PythonCmd_Error ();
25482537
2549- ENTER_TCL
2550- ENTER_OVERLAP
25512538 obj_res = AsObj (res );
25522539 if (obj_res ) {
25532540 Tcl_SetObjResult (interp , obj_res );
25542541 rv = TCL_OK ;
25552542 }
2556- LEAVE_OVERLAP_TCL
25572543 if (obj_res == NULL ) {
25582544 Py_DECREF (res );
25592545 return PythonCmd_Error ();
0 commit comments