Emacs - Funktion zum Puffern-Angebot-Speichern funktioniert nicht

9

Ich möchte, dass Emacs mich fragt, ob ich einen modifizierten Puffer speichern möchte, wenn dieser Puffer keiner Datei zugeordnet ist. Um einen neuen Puffer zu öffnen (ohne eine Datei zu besuchen) habe ich folgende Funktion in meiner .emacs Datei:

%Vor%

Ich dachte, die Einstellung "buffer-offer-save" auf etwas nicht Null würde den Trick gemacht. Aber wenn ich den Puffer mit "kill-this-buffer" abtöte, wird er sofort getötet, ohne etwas zu fragen.

Dies geschieht auf GNU Emacs 23.1.1

Irgendwelche Ideen?

Danke, W

    
Nick Dandoulakis 01.03.2010, 17:56
quelle

3 Antworten

2

Bearbeitet, um die Verwendung von buffers-offer-save hinzuzufügen. Hinweis: Die Variable buffer-offer-save wird nur bei verwendet Beenden Emacs .

Sie können mit diesem Code beginnen und ihn an das anpassen, was Sie wollen:

%Vor%

Nach weiterer Überlegung ist das ein wenig umständlich, weil Sie nach allen Puffern gefragt werden, die gekillt werden, und es gibt oft viele temporäre Puffer, die Emacs benutzt. Wenn Sie nur gefragt werden möchten, wenn Sie versuchen, einen Puffer interaktiv zu löschen (der keiner Datei zugeordnet ist).

Sie können diesen Ratschlag verwenden, der Sie nur auffordert, wenn Sie interaktiv versuchen, einen Puffer zu löschen:

%Vor%     
Trey Jackson 01.03.2010, 18:32
quelle
1

Das Ändern von 'new-empty-buffer scheint es so zu machen, wie ich es mit Treys Defadvice beabsichtigt habe.

%Vor%

Dies macht buffer-offer-save dauerhaft lokal in unserem neuen Puffer, so dass es nicht mit den restlichen lokalen Variablen beim Umschalten der Hauptmodi verloren geht.

    
user283155 03.03.2010 11:57
quelle
1

buffer-offer-save fragt beim Beenden von Emacs, aber nicht beim manuellen Schließen eines Puffers, macht keinen Sinn, warum also nicht seine Zuständigkeiten "vergrößern"?

%Vor%

Es wird nicht gefragt, ob untitled buffer neu erstellt wurde. Es wird nicht angezeigt, wenn Sie kill-buffer von Elisp verwenden. Es wird nicht in Emacs-Systempuffern wie *Messages* aufgefordert. Aber es wird gefragt, ob Sie einen leeren Puffer erstellt und etwas darin geschrieben haben.

Siehe auch meine Antwort zum Erstellen eines leeren Puffers .

    
Mirzhan Irkegulov 12.12.2014 15:03
quelle

Tags und Links