Durch das automatische Neuladen von Änderungen an einem Image (dh im Image-Modus) von der Festplatte

11

Ich habe ein von plantuml erzeugtes Bild, das ich in einem Bildmoduspuffer öffne. Ich möchte den Auto-Revert-Modus verwenden, damit er automatisch aktualisiert wird, aber er scheint aus irgendeinem Grund nicht für Puffer im Bildmodus zu funktionieren. Fehlt mir etwas?

Mark Aufflick
quelle

Antworten:

9

Als jemand, der gerade dieses Problem hatte, fand ich eine andere Lösung : auto-image-file-mode. Dadurch wird automatisch sichergestellt, dass sich die Datei im Bildmodus statt im Binärmodus befindet. Aktivieren Sie also sowohl das als auch auto-revert-modeund alles funktioniert wie erwartet. Emacs 24.4.1

Quelle: http://osdir.com/ml/bug-gnu-emacs-gnu/2014-01/msg01061.html

joonoro
quelle
4

Sie geben nicht viele Informationen darüber, was Sie tun oder was Sie sehen. Versuchen Sie, ein schrittweises Rezept zu geben, vorzugsweise ausgehend emacs -Q, und sagen Sie, was Sie erwarten und was Sie sehen.

Funktioniert das manuelle Zurücksetzen des Puffers ( M-x revert-buffernachdem der aktuelle Puffer auf den Bildpuffer eingestellt wurde)? Wenn ja, untersuchen Sie, was an der automatischen Umkehrung anders ist.

Sind Sie mit global-auto-revert-mode? Wenn nicht, ist Ihr Bildpuffer aktiviert auto-revert-buffer-list? Wenn nicht, würde dies die Dinge erklären: Fügt auto-revert-modeden aktuellen Puffer zu dieser Liste hinzu und setzt die auto-revert-buffersPuffer zurück, die sich in dieser Liste befinden.

Ich bin kein Experte auf image-mode, aber die Suche nach revertin image-mode.elI Funktion sehen image-after-revert-hook. Wenn ich es wäre, könnte ich damit beginnen M-x debug-on-entry image-after-revert-hook(nach dem Laden image-mode.el, nicht image-mode.elc) und dann durch den Debugger gehen (z d. B. mit ).

(Eine wilde Vermutung sagt mir, dass diese Funktion nicht einmal aufgerufen wird und dass der Bildpuffer kein Kandidat für das Zurücksetzen ist. Siehe oben. Vielleicht versuchen Sie es zunächst global-auto-revert-mode.)

Drew
quelle
3

Ich habe versucht, ein PNG in Emacs zu öffnen, es zu aktivieren auto-revert-modeund dann von einer Shell aus, ein anderes Bild darüber zu kopieren und diese Datei dann durch eine Kopie des Original-PNG zu ersetzen.

Was ich gefunden habe ist, dass die Datei manchmal auf den binären Inhalt der neuen Dateien aktualisiert wird, aber nicht auf den gerenderten Inhalt. Wenn der binäre Inhalt geöffnet wird, versuchen Sie C-c C-c, ihn in ein Bild zu konvertieren.

Nachdem diese Konvertierung mindestens einmal durchgeführt wurde, wird sie automatisch zurückgesetzt, wie ich es erwarten würde, wenn ein Bild beibehalten wird.

Hinweis: Ich habe dies mit Emacs 25.1 versucht, daher ist es möglicherweise eine neue Funktion. Welche Version verwenden Sie?

dgtized
quelle
24.3 - Zeit zum Update! Früher blieb ich auf dem Quellkopf oder in der Nähe davon, aber die Release-Version ist heutzutage ziemlich gut.
Mark Aufflick