def _close(self):
     if self.io.filename:
         self.update_recent_files_list(new_file=self.io.filename)
     WindowList.unregister_callback(self.postwindowsmenu)
     self.unload_extensions()
     self.io.close()
     self.io = None
     self.undo = None
     if self.color:
         self.color.close(False)
         self.color = None
     self.text = None
     self.tkinter_vars = None
     self.per.close()
     self.per = None
     self.top.destroy()
     if self.close_hook:
         self.close_hook()
     return