Terry J. Reedy added the comment: StackViewer.py seem to be identical in 3.4, 3.5, and 3.6, so a patch against any applies to all. The diff with 2.7 is
F:\Python\dev\36>hg diff -r 4884af6d3e30 f:/python/dev/36/Lib/idlelib/StackViewer.py @@ -2,7 +2,7 @@ import sys import linecache import re -import Tkinter as tk +import tkinter as tk from idlelib.TreeWidget import TreeNode, TreeItem, ScrolledCanvas from idlelib.ObjectBrowser import ObjectTreeItem, make_objecttreeitem @@ -10,7 +10,7 @@ def StackBrowser(root, flist=None, tb=None, top=None): if top is None: - from Tkinter import Toplevel + from tkinter import Toplevel top = Toplevel(root) sc = ScrolledCanvas(top, bg="white", highlightthickness=0) sc.frame.pack(expand=1, fill="both") @@ -109,7 +109,7 @@ return len(self.object) > 0 def keys(self): - return self.object.keys() + return list(self.object.keys()) def GetSubList(self): sublist = [] The second and third differences are due to unneeded code; I will remove them after I submit this message, so update your repository after I do that and then patch. --- Your research is very helpful. The purpose of 1. *is* to remove data ;-) -- data that is only present because of Idle. The purpose of StackTreeItem.get_stack is to removed unneeded data while converting a linked list to a regular list. Note that the loop drops 2 of 4 fields. I do not know if if tb and tb.tb_frame is None: tb = tb.tb_next actually removes anything, but after this, I believe that the idlelib.run.runcode node (or idlelib.PyShell.runcode node, when Idle is started with -n) is at the top of the linked list. So I believe adding tb = tb.tb_next after the above will do what we want. Try it, and if it works, move on. --- 6 (modeled after 3). Modules only have +Globals. Remove +Globals under each module and instead display globals when expanding. (There will only be a module other than __main__ when there is an error in another module being imported. We should then improve the lines to read + Globals for module __main__ ... + Locals for function xyz... ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue24790> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com