Ich war mitten in der Bearbeitung einer Datei auf einem Remote-Host und schlug C-x C-s
, als plötzlich Emacs erstarrte. Es hatte früher an diesem Tag funktioniert; Ich hatte in der gleichen Sitzung nur zehn Minuten zuvor einen anderen Puffer gespeichert. Durch das Aufrufen von C-g
wurde es aus dem Status "aufgehängt" entfernt, aber es konnte nicht mehr gespeichert werden. Lokaler Rechner ist OS X Leopard, Remote ist FreeBSD 7.4, Emacs ist ein vorkompilierter Download 24.1 (9.0) für OS X.
Ich habe M-x tramp-cleanup-all-connections
versucht und es erneut versucht. Kein Glück. Ich habe viele Dinge ausprobiert, einschließlich das Herunterfahren meiner Workstation und das Neustarten von Emacs.
Überspringe bis zum Ende, habe die folgende Zeile in meinen .emacs geändert:
%Vor%Ich dachte, ich würde auf diese Weise gute Debugging-Informationen bekommen. Also habe ich neu gestartet und versucht, eine Remote-Datei zu bearbeiten. Ich habe mir gedacht, dass ich etwas im * debug tramp / ssh ... * -Puffer sehen würde.
Siehe da, ich konnte die Remote-Datei erneut bearbeiten.
Ich habe tramp-verbose
auf 3 zurückgesetzt, neugestartet und erneut angehalten. Ich habe es wieder auf 10 gestellt, alles funktioniert. Es funktioniert auch, wenn ich tramp-debug-buffer
auf nil
setze.
Hat jemand irgendwelche Ideen, warum das wäre? Die Sache, die mich wirklich innehalten lässt, ist, dass Emacs plötzlich aufhörte zu arbeiten, nach monatelanger fehlerfreier Bearbeitung.
Nun, der Tramp-Modus ist großartig, aber er kann manchmal Latenz verursachen, wenn Emacs andere Dinge tut. Zwei der größten Täter sind Auto-Speichern und VC-Modus. Wenn diese starten und Ihre Verbindung langsam ist, kann dies für eine Weile ausbleiben. Am besten wetten Sie (setq tramp-verbose 5) und sehen Sie, was der Tramp während des "Freeze" vorhat.
Nach stsquads Warnung zum automatischen Speichern dachte ich, ich würde meine Setups teilen (aus ~/.emacs
) Deaktivieren Sie die automatische Speicherung: