Terry J. Reedy <tjre...@udel.edu> added the comment: With 2.7 & 3.3 on Win 7, 'a'( brings up calltip (bad). With 3.3, '\xyz'( causes Idle to die (worse) With 2.7, the same or u'\xyz'( have no effect, just like 3(.
There are a lot of little differences between 2.7 and 3.x, but the main one is the use of inspect in 3.x. I do not see an obvious reason for the behavior difference. With patch, 'a'( brings up calltip with 'Not callable' added (worse, in my opinion), while '\xyz'( does nothing, just like 3( (or 2.7, great). Roger, perhaps you uploaded your initial test past instead of the final patch. A string instance should act like any other non-callable instance. That said, the patch strikes me as attacking the problem at the wrong end. Str instances are not names and get_argspec should never be called on one (I am presuming that it is not called on other non-callables, such as int instances). Similarly, back up further in the call stack, fetch_tip(name) should only be called on names. I wonder if the problem might be back up in open_calltip(), perhaps after hp = HyperParser(self.editwin, "insert") sur_paren = hp.get_surrounding_brackets('(') if not sur_paren: return hp.set_index(sur_paren[0]) name = hp.get_expression() (argggh! I have no idea how to debug code where I cannot just insert print statements to tell me what is getting called with what arguments.) ---------- versions: +Python 2.7, Python 3.3 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue12510> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com