diff -r 4a27b5ab2710 Lib/idlelib/CallTips.py --- a/Lib/idlelib/CallTips.py Wed Dec 14 18:40:35 2011 +0100 +++ b/Lib/idlelib/CallTips.py Wed Dec 21 12:33:41 2011 -0600 @@ -110,7 +110,7 @@ namespace.update(__main__.__dict__) try: return eval(name, namespace) - except (NameError, AttributeError): + except (NameError, AttributeError, SyntaxError): return None def _find_constructor(class_ob): @@ -149,6 +149,9 @@ if argspec: argspec += "\n" argspec += doc[:pos] + call = getattr(ob, "__call__", "") + if not call: + argspec = 'not callable\n' + argspec return argspec #################################################