code: def autosave(self, index):
          
          finfo = self.stack.data[index]
          document = finfo.editor.document()
          if not document.changed_since_autosave or finfo.newly_created:
              return
          autosave_filename = self.get_autosave_filename(finfo.filename)
          logger.debug('Autosaving %s to %s', finfo.filename, autosave_filename)
          try:
              self.stack._write_to_file(finfo, autosave_filename)
              document.changed_since_autosave = False
          except EnvironmentError as error:
              action = (_('Error while autosaving {} to {}')
                        .format(finfo.filename, autosave_filename))
              msgbox = AutosaveErrorDialog(action, error)
              msgbox.exec_if_enabled()
docs: Autosave a file.
  
          Do nothing if the `changed_since_autosave` flag is not set or the file
          is newly created (and thus not named by the user). Otherwise, save a
          copy of the file with the name given by `self.get_autosave_filename()`
          and clear the `changed_since_autosave` flag. Errors raised when saving
          are silently ignored.
  
          Args:
              index (int): index into self.stack.data