summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/Debugger.py
diff options
context:
space:
mode:
authorKurt B. Kaiser <kbk@shore.net>2007-08-29 18:44:24 (GMT)
committerKurt B. Kaiser <kbk@shore.net>2007-08-29 18:44:24 (GMT)
commitcf3c4217c755164a6b762c5846ee82636565d6f0 (patch)
tree0d2b305140dbd21260c25ce63770f1bcf464e500 /Lib/idlelib/Debugger.py
parent39342f4e65afdb0a6a4be493dbbbf6fc28357787 (diff)
downloadcpython-cf3c4217c755164a6b762c5846ee82636565d6f0.zip
cpython-cf3c4217c755164a6b762c5846ee82636565d6f0.tar.gz
cpython-cf3c4217c755164a6b762c5846ee82636565d6f0.tar.bz2
1. Debugger was failing to start due to DictProxy limitations.
2. Fix some debug prints in RemoteDebugger.py - use py3k syntax.
Diffstat (limited to 'Lib/idlelib/Debugger.py')
-rw-r--r--Lib/idlelib/Debugger.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/Lib/idlelib/Debugger.py b/Lib/idlelib/Debugger.py
index cd31914..346763f 100644
--- a/Lib/idlelib/Debugger.py
+++ b/Lib/idlelib/Debugger.py
@@ -446,7 +446,20 @@ class NamespaceViewer:
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]