Issue 10365: Add and replace comments; condense defaulted attribute access.

Code patch by Roger Serwy.
This commit is contained in:
Terry Jan Reedy 2012-06-02 20:22:35 -04:00
parent fd4c4b1e01
commit f0775131f9
1 changed files with 13 additions and 16 deletions

View File

@ -197,35 +197,32 @@ class IOBinding:
def open(self, event=None, editFile=None): def open(self, event=None, editFile=None):
flist = self.editwin.flist flist = self.editwin.flist
# Save in case parent window is closed (ie, during askopenfile()).
if flist: if flist:
if not editFile: if not editFile:
filename = self.askopenfile() filename = self.askopenfile()
else: else:
filename=editFile filename=editFile
if filename: if filename:
# If the current window has no filename and hasn't been # If editFile is valid and already open, flist.open will
# modified, we replace its contents (no loss). Otherwise # shift focus to its existing window.
# we open a new window. But we won't replace the # If the current window exists and is a fresh unnamed,
# shell window (which has an interp(reter) attribute), which # unmodified editor window (not an interpreter shell),
# gets set to "not modified" at every new prompt. # pass self.loadfile to flist.open so it will load the file
# Also, make sure the current window has not been closed, # in the current window (if the file is not already open)
# since it can be closed during the Open File dialog. # instead of a new window.
try: if (self.editwin and
interp = self.editwin.interp not getattr(self.editwin, 'interp', None) and
except AttributeError: not self.filename and
interp = None self.get_saved()):
if self.editwin and not self.filename and \
self.get_saved() and not interp:
flist.open(filename, self.loadfile) flist.open(filename, self.loadfile)
else: else:
flist.open(filename) flist.open(filename)
else: else:
if self.text: if self.text:
self.text.focus_set() self.text.focus_set()
return "break" return "break"
#
# Code for use outside IDLE: # Code for use outside IDLE:
if self.get_saved(): if self.get_saved():
reply = self.maybesave() reply = self.maybesave()