Mam obraz wygenerowany przez plantuml, który otwieram w buforze trybu obrazu. Chcę użyć trybu Auto-Revert, aby automatycznie się odświeżał, ale z jakiegoś powodu wydaje się, że nie działa z buforami w trybie obrazu. Czy czegoś brakuje?
Mam obraz wygenerowany przez plantuml, który otwieram w buforze trybu obrazu. Chcę użyć trybu Auto-Revert, aby automatycznie się odświeżał, ale z jakiegoś powodu wydaje się, że nie działa z buforami w trybie obrazu. Czy czegoś brakuje?
Odpowiedzi:
Jako ktoś, kto tylko miał ten problem, znalazłem inne rozwiązanie: auto-image-file-mode
. W ten sposób automatycznie upewnia się, że plik jest w trybie obrazu zamiast binarnym, więc włącz zarówno to, jak auto-revert-mode
i wszystko działa zgodnie z oczekiwaniami. Emacs 24.4.1
Źródło: http://osdir.com/ml/bug-gnu-emacs-gnu/2014-01/msg01061.html
Nie podajesz wielu informacji o tym, co robisz lub co widzisz. Spróbuj podać przepis „krok po kroku”, najlepiej zaczynając od emacs -Q
, i powiedz, czego oczekujesz, a nie to, co widzisz.
Czy ręczne przywracanie bufora działa ( M-x revert-buffer
po ustawieniu bieżącego bufora na bufor obrazu)? Jeśli tak, sprawdź, co różni się w automatycznym nawracaniu.
Używasz global-auto-revert-mode
? Jeśli nie, czy bufor obrazu jest włączony auto-revert-buffer-list
? Jeśli nie, to wyjaśniałoby to wszystko: auto-revert-mode
dodaje bieżący bufor do tej listy i auto-revert-buffers
przywraca bufory znajdujące się na tej liście.
Nie jestem ekspertem od image-mode
, ale szukanie revert
w image-mode.el
Widzę funkcję image-after-revert-hook
. Gdyby to był ja, mógłbym zacząć od M-x debug-on-entry image-after-revert-hook
(po załadowaniu image-mode.el
, nie image-mode.elc
), a następnie przejściu przez debugger (np. Za pomocą d
).
(Dzikie przypuszczenie mówi mi, że ta funkcja nie jest nawet wywoływana i że bufor obrazu nie jest kandydatem do przywrócenia. Patrz wyżej. Może spróbuj global-auto-revert-mode
, na początek.)
Próbowałem otworzyć png w emacsie, włączyć, auto-revert-mode
a następnie z powłoki, skopiować na niego inny obraz, a następnie zastąpić ten plik kopią oryginalnego png.
Odkryłem, że plik jest czasem aktualizowany do nowych plików binarnych, ale nie do renderowanej treści. Jeśli otworzy się zawartość binarna, spróbuj C-c C-cprzekonwertować ją na obraz.
Po wykonaniu tej konwersji co najmniej raz, rozpoczyna się automatyczne przywracanie, tak jak oczekiwałbym, utrzymując obraz.
Uwaga: próbowałem tego z Emacsem 25.1, więc może to być nowa funkcja. Jakiej wersji używasz?