[Python-checkins] cpython (2.7): Issue12510: Attempting to get invalid tooltip no longer closes Idle.
terry.reedy
python-checkins at python.org
Mon May 28 03:55:03 CEST 2012
http://hg.python.org/cpython/rev/938b12452af7
changeset: 77194:938b12452af7
branch: 2.7
parent: 77188:df59aefdb1c8
user: Terry Jan Reedy <tjreedy at udel.edu>
date: Sun May 27 21:28:42 2012 -0400
summary:
Issue12510: Attempting to get invalid tooltip no longer closes Idle.
Original patch by Roger Serwy.
files:
Lib/idlelib/CallTips.py | 9 ++++++---
Misc/NEWS | 3 +++
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/Lib/idlelib/CallTips.py b/Lib/idlelib/CallTips.py
--- a/Lib/idlelib/CallTips.py
+++ b/Lib/idlelib/CallTips.py
@@ -112,7 +112,9 @@
namespace.update(__main__.__dict__)
try:
return eval(name, namespace)
- except (NameError, AttributeError):
+ # any exception is possible if evalfuncs True in open_calltip
+ # at least Syntax, Name, Attribute, Index, and Key E. if not
+ except:
return None
def _find_constructor(class_ob):
@@ -127,9 +129,10 @@
return None
def get_arg_text(ob):
- """Get a string describing the arguments for the given object"""
+ """Get a string describing the arguments for the given object,
+ only if it is callable."""
arg_text = ""
- if ob is not None:
+ if ob is not None and hasattr(ob, '__call__'):
arg_offset = 0
if type(ob) in (types.ClassType, types.TypeType):
# Look for the highest __init__ in the class chain.
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -64,6 +64,9 @@
Library
-------
+- Issue12510: Attempting to get invalid tooltip no longer closes Idle.
+ Original patch by Roger Serwy.
+
- Issue #10365: File open dialog now works instead of crashing
even when parent window is closed. Patch by Roger Serwy.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list