Après avoir exécuté recover-this-fileet accepté la version avec sauvegarde automatique, vous disposez d'un tampon modifié contenant le contenu de la sauvegarde automatique. À ce stade, vous pouvez utiliser M-x diff-buffer-with-file RETpour voir les différences entre le tampon modifié et le fichier enregistré.
La clé à laquelle je me suis adressé exécute en fait une fonction personnalisée afin de produire un diff unifié et d'ignorer l'invite du tampon (elle suppose le tampon actuel).
(defun my-diff-buffer-with-file ()
"Compare the current modified buffer with the saved version."
(interactive)
(let ((diff-switches "-u")) ;; unified diff
(diff-buffer-with-file (current-buffer))))
Il existe également un équivalent ediff (que je préfère généralement, bien que j’utilise les deux), qui est disponible à l’adresse suivante: M-x ediff-current-file RET
Si vous souhaitez rejeter les modifications après avoir vérifié le diff, vous devriez pouvoir simplement undorécupérer. (A défaut, vous pouvez toujours utiliser revert-bufferou find-alternate-file.)
Comme les raccourcis clavier pour les commandes diff impliquent souvent =, je trouve la solution suivante pratique (nb, j'ai dissocié la C-zliaison par défaut et je l'ai déplacée à la place C-z C-z, qui s'ouvre C-zcomme préfixe pour les liaisons personnalisées):
(global-set-key (kbd "C-z =") 'my-diff-buffer-with-file)
(global-set-key (kbd "C-z C-=") 'ediff-current-file)