Deaktivieren Sie die Aufforderung zur automatischen Wiederherstellung, wenn das automatische Speichern von Daten mit der Datei identisch ist

8

Wenn ich Emacs töte ( killall emacsz. B. mit einer Shell-Eingabeaufforderung) und eine Datei bearbeite, wird Emacs mit einer Nachricht neu gestartet

Dateiname hat Daten automatisch speichern; Betrachten Sie Mx Recovery-This-File

Wenn ich die Datei kürzlich gespeichert, dann geändert und dann die Änderungen rückgängig gemacht habe, sodass sie genau wie die gespeicherte Version aussieht, wird diese Meldung angezeigt, obwohl die automatisch gespeicherte Datei überhaupt keine Änderungen aufweist ( angezeigt über die Dateigröße oder M-x diff)

Wie kann dies deaktiviert werden?

Ich konnte weder in der offiziellen Dokumentation noch im Emacswiki etwas finden .

serv-inc
quelle

Antworten:

4

Ich glaube nicht, dass es dafür einen eingebauten Mechanismus gibt, daher müssen Sie möglicherweise Ihren eigenen rollen.

Ich habe keine direkte Antwort, aber ich habe etwas Ähnliches in meiner Konfiguration: Ich möchte nicht zur Bestätigung aufgefordert werden, wenn eine Datei beendet wird, die mit der auf der Festplatte übereinstimmt. Um dies zu überprüfen, führe ich diff aus und scanne dann die Ausgabe - Sie können wahrscheinlich etwas Ähnliches für Ihren Anwendungsfall tun.

(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))

Schauen Sie sich den Fall der automatischen Rückstellung genauer an. Es sieht so aus after-find-file, als ob diese Eingabeaufforderung von stammt , die Zeitstempel ( file-newer-than-file-p) betrachtet. Ich sehe keinen einfachen Weg, um dieses Verhalten anzupassen oder zu empfehlen. Vielleicht können Sie empfehlen after-find-file, die Datei mit der automatisch gespeicherten Datei zu vergleichen und das warnArgument auf Null zu setzen, wenn die Dinge übereinstimmen.

Glucas
quelle