Recentemente, um usuário do Sublime Text experimentou o Emacs por um tempo e estava interessado em obter o mesmo comportamento de salvamento automático no Emacs.
Basicamente, ele queria que todos os buffers fossem salvos sempre que o quadro perdesse o foco (realmente salvo, não apenas o backup). Isso inclui ao alternar janelas para um aplicativo completamente diferente.
Não foi possível encontrar nenhum evento que foi acionado ao alternar para um aplicativo diferente. Existe um evento desse tipo ou existe outra maneira de obter o mesmo comportamento?
Observe que uma solução baseada no tempo não foi satisfatória e o comportamento padrão de backup automático também não. Ele queria especificamente que os buffers fossem salvos (como em save-buffer
) para todos os arquivos.
defadvice
versão, caso a postagem do blog caia ou algo assim? Obrigado!(add-hook 'focus-out-hook (lambda () (flet ((message (format &rest args) nil)) (save-some-buffers t))))
Existe
focus-autosave-mode
agora. Está disponível via MELPA. Por que não dar a chance de fazer o hacking para você‽fonte
Isso salvará todos os buffers não salvos que visitam o arquivo, no emacs 24.4
fonte
add-to-list
no gancho, useadd-hook
. A resposta do shosti já contém a forma correta deste trecho.Para andarilhos que tropeçam nisso, eu uso este formulário:
O uso de
cl-letf
evita que as(No files need saving)
mensagens irritantes obstruam sua área de eco.fonte