2010-08-23 15 views
7

Wenn ich versuche, Emacs zu schließen erhalte ich die MeldungEmacs nicht schließen, weil der Puffer „ido.last“

„ido.last modifizierte Puffer;? Töten sowieso“

und was auch immer ich antworte, Emacs bleibt offen. Aber ich kann diesen Puffer nicht öffnen und die Datei ido.last existiert nicht. Wie kann ich meine Emacs schließen lassen?

+0

Diese relevant: http://old.nabble.com/ido-insists-on-trying-to-save-ido.last-td11497631.html – phils

Antwort

3

IDO versucht, eine Datei namens ido.last in ~/.emacs.d Verzeichnis zu speichern. Aber in Ihrem Fall scheint IDO dazu nicht in der Lage zu sein. Vielleicht ist Ihr Verzeichnis ~/.emacs.d aus einem bestimmten Grund schreibgeschützt, oder Ihre Festplatte ist voll usw. IDO löst einen Fehler aus, der verhindert, dass Ihre Emacs geschlossen werden.

Wenn Sie nicht IDO verwenden, versuchen Sie, diese Art von Linien von Ihrem .emacs zu entfernen:

(require 'ido) 
(ido-mode t) 
+2

Vielen Dank für Ihre Hilfe. Ich suchte nach diesen Zeilen und unter ihnen fand ich die Zeile << ido-save-directory-list-file "~/.emacs.d/cache/ido.last" >> Ohne einen wirklichen Hinweis zu haben, denke ich, das bedeutet, Dieses ido.last sollte in diesem "Cache" -Verzeichnis gespeichert werden, das nicht existiert. Ich habe den "/ Cache" entfernt und das Problem ist seitdem nicht mehr aufgetreten :) – ploppy

5

Wenn Sie Emacs als ein anderer Benutzer als root zum Beispiel verwendet haben, ist es möglich, dass die Die .ido.last-Datei gehört root und Sie dürfen sie daher nicht entfernen oder speichern.

Wenn Sie die "Puffer .ido.last Modified" -Frage haben, entfernen Sie einfach die .ido.last Datei, bevor Sie mit ja antworten (wenn Sie Emacs innerhalb einer Shell verwenden, einfach Cz, Datei entfernen und dann mit %). Dann wird die .ido.last-Datei mit Ihnen als Eigentümer auf die Festplatte geschrieben.

+0

In meiner Besetzung gab es eine ~/.ido.last-Datei im Besitz von root. Durch das Löschen wurde das Problem dauerhaft behoben. – CPBL

0

Wie Jérôme Radix sagte, IDO gibt diesen Fehler, wenn die ido.last Datei nicht gespeichert werden kann, und der Fehler verhindert, dass Emacs schließen.

Der Standardspeicherort für IDO zum Speichern der Datei befindet sich im Verzeichnis ~/.emacs.d. Dies kann jedoch außer Kraft gesetzt werden, indem die Variable ido-save-directory-list-file festgelegt wird. Das bedeutet, dass Sie den Wert dieser Variablen überprüfen sollten (z. B. M-x describe-variable), um zu sehen, wo IDO versucht, eine Datei zu speichern, und um herauszufinden, warum die Datei nicht gespeichert werden kann.

Mögliche Gründe:

  1. Das Verzeichnis oder die Datei schreibgeschützt ist.
  2. Das Verzeichnis existiert nicht. IDO erstellt das Verzeichnis nicht für Sie.
  3. Das Verzeichnis oder die Datei gehört einem anderen Benutzer.
  4. Die Festplatte ist voll. (. ZB zu Ihrem .emacs.el, init.el etc.)
0

diesen Code hinzufügen zu beheben das Problem mit Ido Emacs aus Verlassen wenn die ido.last Datei ist nicht beschreibbar zu verhindern: sein könnte

(defun ido-kill-emacs-hook() 
     (ignore-errors (ido-save-history))) 
Verwandte Themen