Désactiver l'invite à récupérer automatiquement lorsque les données d'enregistrement automatique sont identiques au fichier

8

Lorsque je tue emacs (avec killall emacsune invite du shell, par exemple) et que je modifiais un fichier, Emacs redémarre avec un message

le nom de fichier contient des données d'enregistrement automatique; considérez Mx récupérer ce fichier

Si j'ai récemment enregistré le fichier, que je l'ai modifié puis annulé les modifications, de sorte qu'il ressemble à la version enregistrée, ce message s'affiche, même si le fichier d'enregistrement automatique n'a aucune modification (vu via la taille du fichier ou M-x diff)

Comment cela peut-il être désactivé?

Je n'ai rien trouvé dans la documentation officielle ni dans emacswiki .

serv-inc
la source

Réponses:

4

Je ne pense pas qu'il existe un mécanisme intégré pour cela, vous devrez donc peut-être lancer le vôtre.

Je n'ai pas de réponse directe, mais j'ai quelque chose de similaire dans ma configuration: je ne veux pas être invité à confirmer lors de la suppression d'un fichier correspondant à ce qui se trouve sur le disque. Pour vérifier cela, j'exécute diff, puis je numérise la sortie - vous pouvez probablement faire quelque chose de similaire pour votre cas d'utilisation.

(defun my/matches-file-p ()
  "Return t if the current buffer is identical to its associated file."
  (autoload 'diff-no-select "diff")
  (when buffer-file-name
    (diff-no-select buffer-file-name (current-buffer) nil 'noasync)
    (with-current-buffer "*Diff*"
      (search-forward-regexp "^Diff finished \(no differences\)\." (point-max) 'noerror))))

(defun my/kill-buffer ()
  "Kill the current buffer.
Don't prompt for confirmation if the buffer is unmodified or matches its file."
  (interactive)
  (when (my/matches-file-p)
    (set-buffer-modified-p nil))
  (kill-buffer))

En regardant davantage le cas de retour automatique. Il semble que cette invite provienne de after-find-file, qui regarde les horodatages ( file-newer-than-file-p). Je ne vois pas de moyen simple de personnaliser ou de conseiller ce comportement. Vous pourriez peut-être conseiller after-find-filede comparer le fichier avec son fichier d'enregistrement automatique et de définir l' warnargument sur néant si les choses correspondent.

glucas
la source