[Patches] [ python-Patches-707701 ] fix for #698517, Tkinter and tk8.4.2

SourceForge.net noreply@sourceforge.net
Sat, 29 Mar 2003 02:04:11 -0800


Patches item #707701, was opened at 2003-03-21 20:36
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=707701&group_id=5470

Category: Tkinter
Group: Python 2.2.x
>Status: Closed
>Resolution: Accepted
Priority: 7
Submitted By: Matthias Klose (doko)
Assigned to: Martin v. Löwis (loewis)
Summary: fix for #698517, Tkinter and tk8.4.2

Initial Comment:
[all python version, that can be built with tk8.4.2]

Fixing the failing conversions in _substitute. Use
try/except for each integer field, that is not
supported by all events.


----------------------------------------------------------------------

>Comment By: Martin v. Löwis (loewis)
Date: 2003-03-29 11:04

Message:
Logged In: YES 
user_id=21627

Thanks for the patch. Applied as Tkinter.py 1.170 and
1.160.10.3.

----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2003-03-28 00:58

Message:
Logged In: YES 
user_id=21627

Well, no. The Tk change was made for a reason, and it is
unlikely that Tk people will back it out, so we should not
bypass this change.

If you want to get up and running, I recommend to use Tcl 8.3.

----------------------------------------------------------------------

Comment By: Jeremy Moore (jmoore_calaway)
Date: 2003-03-28 00:31

Message:
Logged In: YES 
user_id=744000

(Apologies if this is the inappropriate place to ask)
I'm porting an app to Mac OS X 10.2 (begrudgingly) and ran straight into 
this bug. Nothing like changing versions of python (2.2.2 to 2.3a2) and 
tcl/tk (8.3.4 to 8.4.2) while using a platform you're unfamiliar with! 
Anyway, I have successflly applied the patch; however, it has simply 
propagated the problem elsewhere. Specifically, the pmw rev 1.1 
widgets library. The problem is, pmw does additional processing that 
chokes on the '??' now returned by the try: excempt: statements. 

Perhaps, if anyone knows, it would be better to mimick what tcl/tk 8.3.x 
returned with the except statements. Pmw may not be the only library 
out there that will get choked up on this.

I will submit a bug in the pmw for this as well, but I'm looking for a least 
resistance path to get things up and running. (And not really wanting to 
rewite all my GUI constructon code...)

Thanks

Jeremy Moore

----------------------------------------------------------------------

Comment By: Matthias Klose (doko)
Date: 2003-03-23 14:35

Message:
Logged In: YES 
user_id=60903

> What is the problem that this patch solves?

As the subject says: Provide a patch for #698517.

tk8.4.2 returns for the undefined fields in events empty
strings or '??' strings, on which the int conversions fail.


----------------------------------------------------------------------

Comment By: Martin v. Löwis (loewis)
Date: 2003-03-23 13:07

Message:
Logged In: YES 
user_id=21627

What is the problem that this patch solves?

----------------------------------------------------------------------

Comment By: Matthias Klose (doko)
Date: 2003-03-22 08:26

Message:
Logged In: YES 
user_id=60903

Attach alternate patch by Chad


----------------------------------------------------------------------

Comment By: Matthias Klose (doko)
Date: 2003-03-21 23:15

Message:
Logged In: YES 
user_id=60903

Attach alternate patch by Chad


----------------------------------------------------------------------

Comment By: Chad Netzer (chadn)
Date: 2003-03-21 23:10

Message:
Logged In: YES 
user_id=40145

Hmmm, you are right.  Your approach will be quicker, due to
local namespace function lookup speed (try/except is fast in
non-exception path).

But, then again, a lot more exception paths will be executed
with the new Tk (with "??" fields), anyway, so the speed
issues may not be that important.


----------------------------------------------------------------------

Comment By: Matthias Klose (doko)
Date: 2003-03-21 22:14

Message:
Logged In: YES 
user_id=60903

I thought the whole thing to define getint = int was to do
local lookups only. Therefore the inlined try/excepts


----------------------------------------------------------------------

Comment By: Chad Netzer (chadn)
Date: 2003-03-21 21:59

Message:
Logged In: YES 
user_id=40145

Would it be better to simply define getint() as:

def getint( s ):
    try:
        return int( s )
    except ValueError:
        return s

Rather than add lots of try/excepts in the codebase?
I'm attaching an example diff (btw - I kept your field
explanations in the code; I liked them there)

These patches are important, BTW, since 8.4.1 has a few bugs
that would require other patches to Tkinter (returning ""
for getboolean for example, which seems to be fixed)


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=707701&group_id=5470