Commit 74311b2c authored by Guido van Rossum's avatar Guido van Rossum

1. Catch NameError on import (could be raised by case mismatch on Windows).

2. No longer need to reset pyclbr cache and show watch cursor when calling
   ClassBrowser -- the ClassBrowser takes care of pyclbr and the TreeWidget
   takes care of the watch cursor.
3. Reset the focus to the current window after error message about class
   browser on buffer without filename.
parent 292dd2d1
......@@ -295,7 +295,7 @@ class EditorWindow:
# XXX Ought to insert current file's directory in front of path
try:
(f, file, (suffix, mode, type)) = imp.find_module(name)
except ImportError, msg:
except (NameError, ImportError), msg:
tkMessageBox.showerror("Import error", str(msg), parent=self.text)
return
if type != imp.PY_SOURCE:
......@@ -316,18 +316,12 @@ class EditorWindow:
"No filename",
"This buffer has no associated filename",
master=self.text)
self.text.focus_set()
return None
head, tail = os.path.split(filename)
base, ext = os.path.splitext(tail)
import pyclbr
if pyclbr._modules.has_key(base):
del pyclbr._modules[base]
save_cursor = self.text["cursor"]
self.text["cursor"] = "watch"
self.text.update_idletasks()
import ClassBrowser
ClassBrowser.ClassBrowser(self.flist, base, [head])
self.text["cursor"] = save_cursor
def open_path_browser(self, event=None):
import PathBrowser
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment