Criar uma imagem (ou seja, modo de imagem) recarregar automaticamente as alterações do disco

11

Eu tenho uma imagem gerada por plantuml que abro em um buffer de modo de imagem. Eu quero usar o modo de reversão automática para que seja atualizado automaticamente, mas por algum motivo não parece funcionar nos buffers do modo de imagem. Tem algo que estou perdendo?

Mark Aufflick
fonte

Respostas:

9

Como alguém que só tinha este problema, eu encontrei outra solução: auto-image-file-mode. O que ele faz é garantir automaticamente que o arquivo esteja no modo de imagem em vez de binário, para habilitar isso auto-revert-modee tudo funciona conforme o esperado. Emacs 24.4.1

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

joonoro
fonte
4

Você não fornece muita informação sobre o que está fazendo ou o que está vendo. Tente dar uma receita passo a passo, de preferência a partir de emacs -Q, e diga o que espera versus o que vê.

A reversão manual do buffer funciona ( M-x revert-bufferdepois de definir o buffer atual para o buffer de imagem)? Nesse caso, investigue o que há de diferente na reversão automática.

Você está usando global-auto-revert-mode? Caso contrário, seu buffer de imagem está ativado auto-revert-buffer-list? Caso contrário, isso explicaria as coisas: auto-revert-modeadiciona o buffer atual a essa lista e auto-revert-buffersreverte os buffers que estão nessa lista.

Não sou especialista em image-mode, mas procurando revertnos image-mode.elvejo função image-after-revert-hook. Se fosse eu, eu poderia começar por M-x debug-on-entry image-after-revert-hook(após o carregamento image-mode.el, não image-mode.elc) e, em seguida, percorrer o depurador (por exemplo, usando d).

(Um palpite maluco me diz que essa função nem é chamada e que o buffer de imagem não é candidato à reversão. Veja acima. Talvez tente global-auto-revert-mode, para começar.)

Desenhou
fonte
3

Tentei abrir um png no emacs, habilitando auto-revert-modee, a partir de um shell, copiando outra imagem sobre ele e substituindo esse arquivo por uma cópia do png original.

O que descobri é que o arquivo às vezes é atualizado para o conteúdo binário dos novos arquivos, mas não para o conteúdo renderizado. Se ele abrir o conteúdo binário, tente usá C-c C-c-lo para convertê-lo em uma imagem.

Depois de fazer essa conversão pelo menos uma vez, ela começa a reverter automaticamente, como seria de esperar, mantendo uma imagem.

Nota: Tentei isso com o Emacs 25.1, por isso pode ser um novo recurso. Qual versão você está usando?

dgtized
fonte
24.3 - hora de atualizar! Eu costumava ficar na cabeça da fonte ou perto dela, mas a versão de lançamento é muito boa atualmente.
Mark Aufflick