Mercurial > cpython-lru_cache-weakref
diff Lib/idlelib/Debugger.py @ 42999:dc0f0ffd4257
1. Debugger was failing to start due to DictProxy limitations.
2. Fix some debug prints in RemoteDebugger.py - use py3k syntax.
| author | Kurt B. Kaiser <kbk@shore.net> |
|---|---|
| date | Wed, 29 Aug 2007 18:44:24 +0000 |
| parents | fa9a40ef0780 |
| children | 4f1a079df427 |
line wrap: on
line diff
--- a/Lib/idlelib/Debugger.py Wed Aug 29 18:42:15 2007 +0000 +++ b/Lib/idlelib/Debugger.py Wed Aug 29 18:44:24 2007 +0000 @@ -446,7 +446,20 @@ l = Label(subframe, text="None") l.grid(row=0, column=0) else: - names = sorted(dict) + #names = sorted(dict) + ### + # Because of (temporary) limitations on the dict_keys type (not yet + # public or pickleable), have the subprocess to send a list of + # keys, not a dict_keys object. sorted() will take a dict_keys + # (no subprocess) or a list. + # + # There is also an obscure bug in sorted(dict) where the + # interpreter gets into a loop requesting non-existing dict[0], + # dict[1], dict[2], etc from the RemoteDebugger.DictProxy. + ### + keys_list = dict.keys() + names = sorted(keys_list) + ### row = 0 for name in names: value = dict[name]
