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?

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


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.)


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?


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.