[Python-checkins] cpython (2.7): Issue #16233: When the module browser is not invoked in an editor window with

terry.reedy python-checkins at python.org
Thu Oct 16 04:02:30 CEST 2014


https://hg.python.org/cpython/rev/0f6209c3a968
changeset:   93088:0f6209c3a968
branch:      2.7
parent:      93060:7ba47bbfe38d
user:        Terry Jan Reedy <tjreedy at udel.edu>
date:        Wed Oct 15 22:01:23 2014 -0400
summary:
  Issue #16233: When the module browser is not invoked in an editor window with
a filename, pop up the Open Module box. If a module is opened, open a
corresponding browser.

files:
  Lib/idlelib/EditorWindow.py |  21 ++++++++++-----------
  1 files changed, 10 insertions(+), 11 deletions(-)


diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -693,30 +693,29 @@
             return
         # XXX Ought to insert current file's directory in front of path
         try:
-            (f, file, (suffix, mode, type)) = _find_module(name)
+            (f, file_path, (suffix, mode, mtype)) = _find_module(name)
         except (NameError, ImportError) as msg:
             tkMessageBox.showerror("Import error", str(msg), parent=self.text)
             return
-        if type != imp.PY_SOURCE:
+        if mtype != imp.PY_SOURCE:
             tkMessageBox.showerror("Unsupported type",
                 "%s is not a source module" % name, parent=self.text)
             return
         if f:
             f.close()
         if self.flist:
-            self.flist.open(file)
+            self.flist.open(file_path)
         else:
-            self.io.loadfile(file)
+            self.io.loadfile(file_path)
+        return file_path
 
     def open_class_browser(self, event=None):
         filename = self.io.filename
-        if not filename:
-            tkMessageBox.showerror(
-                "No filename",
-                "This buffer has no associated filename",
-                master=self.text)
-            self.text.focus_set()
-            return None
+        if not (self.__class__.__name__ == 'PyShellEditorWindow'
+                and filename):
+            filename = self.open_module()
+            if filename is None:
+                return
         head, tail = os.path.split(filename)
         base, ext = os.path.splitext(tail)
         from idlelib import ClassBrowser

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list