diff -r ee5806d231db Lib/idlelib/PyShell.py --- a/Lib/idlelib/PyShell.py Sun Mar 31 23:31:32 2013 -0500 +++ b/Lib/idlelib/PyShell.py Mon Apr 01 23:05:34 2013 -0500 @@ -111,12 +111,12 @@ self.breakpointPath = os.path.join(idleConf.GetUserCfgDir(), 'breakpoints.lst') # whenever a file is changed, restore breakpoints - if self.io.filename: self.restore_file_breaks() def filename_changed_hook(old_hook=self.io.filename_change_hook, self=self): self.restore_file_breaks() old_hook() self.io.set_filename_change_hook(filename_changed_hook) + if self.io.filename: self.restore_file_breaks() rmenu_specs = [ ("Cut", "<>", "rmenu_check_cut"), @@ -233,6 +233,8 @@ def restore_file_breaks(self): self.text.update() # this enables setting "BREAK" tags to be visible + if self.io is None: # can happen if IDLE closes due to the .update() call. + return filename = self.io.filename if filename is None: return