Создание образа (т.е. режима изображения) для автоматической перезагрузки изменений с диска

11

У меня есть изображение, сгенерированное Plantuml, которое я открываю в буфере режима изображения. Я хочу использовать режим Auto-Revert, чтобы он автоматически обновлялся, но по некоторым причинам он не работает с буферами режима изображения. Я что-то пропустил?

Марк Ауффлик
источник

Ответы:

9

Как кто - то , кто только имел эту проблему, я нашел другое решение: auto-image-file-mode. Что он делает, так это автоматически проверяет, что файл находится в режиме изображения, а не в двоичном формате, поэтому включите и то, и другое, auto-revert-modeи все будет работать как положено. Emacs 24.4.1

Источник: http://osdir.com/ml/bug-gnu-emacs-gnu/2014-01/msg01061.html

joonoro
источник
4

Вы не предоставляете много информации о том, что вы делаете или что вы видите. Попробуйте дать пошаговый рецепт, желательно начиная с emacs -Q, и скажите, что вы ожидаете, а не то, что видите.

Работает ли ручной возврат буфера ( M-x revert-bufferпосле установки текущего буфера в буфер изображений)? Если так, то исследуйте, что отличается в автореверсии.

Вы используете global-auto-revert-mode? Если нет, включен ли ваш буфер изображений auto-revert-buffer-list? Если нет, то это объясняет некоторые вещи: auto-revert-modeдобавляет текущий буфер в этот список и auto-revert-buffersвозвращает буферы, которые находятся в этом списке.

Я не специалист по image-mode, но ищу revertв image-mode.elя вижу функцию image-after-revert-hook. Если бы это был я, я мог бы начать с M-x debug-on-entry image-after-revert-hook(после загрузки image-mode.el, а не image-mode.elc), а затем пройти через отладчик (например, используя d).

(Необычное предположение говорит мне, что эта функция даже не вызывается и что буфер изображения не является кандидатом на возврат. См. Выше. Возможно, попробуйте global-auto-revert-modeначать с этого.)

Нарисовался
источник
3

Я попытался открыть png в emacs, включить, auto-revert-modeа затем из оболочки, скопировать поверх него другое изображение и затем заменить этот файл копией исходного png.

Я обнаружил, что файл иногда обновляется до двоичного содержимого новых файлов, но не отрендеренного содержимого. Если он открывает двоичный контент, попробуйте использовать, C-c C-cчтобы преобразовать его в изображение.

После того, как это преобразование будет выполнено хотя бы один раз, оно начнет автоматически возвращаться, как я и ожидал, сохранив изображение.

Примечание: я пробовал это с Emacs 25.1, так что это может быть новой функцией. Какую версию ты используешь?

dgtized
источник
24,3 - время для обновления! Раньше я останавливался на исходном коде или рядом с ним, но релизная версия в наши дни довольно хороша.
Марк Ауффлик