New submission from Tyler Crompton <gtr...@gmail.com>: Doing one of the following crashes Python.
del __builtins__ a{Tab} or builtins = __builtins__ del __builtins__ a{Tab} If you do a print screen, immediately, you will see the following error: *** Internal Error: rpc.py:SocketIO.localcall() Object: exec Method: <bound method Executive.get_the_completion_list of <idlelib.run.Executive object at 0x0000000002DC2710>> Args: ('', 1) Traceback (most recent call last): File "C:\Python32\lib\idlelib\rpc.py", line 188, in localcall ret = method(*args, **kwargs) File "C:\Python32\lib\idlelib\run.py", line 327, in get_the_completion_list return self.autocomplete.fetch_completions(what, mode) File "C:\Python32\lib\idlelib\AutoComplete.py", line 189, in fetch_completions namespace.update(__main__.__builtins__.__dict__) AttributeError: 'module' object has no attribute '__builtins__' Additionally, when __builtins__ is deleted (in IDLE), __builtins__ becomes a dictionary. If one were to then do __builtins__.clear(), the interpreter stops all interpreting. IDLE moreorless becomes a text editor with syntax highlighting. If you try to use autocomplete, Python hangs before crashing. I realize that doing such is pointless, but it behaves differently than interactive console interpreters. Interactive console interpreters don't convert __builtins__ to a dictionary upon its deletion. I feel that this error can be handled to prevent crashing. ---------- components: IDLE messages: 165741 nosy: Tyler.Crompton priority: normal severity: normal status: open title: Autocompletion crashes Python if the __builtins__ module cannot be found. type: crash versions: Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15383> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com