Este aviso está incorporado em save-buffers-kill-emacs
. Você não pode desativá-lo facilmente.
Uma maneira simples de se livrar dele é dizer ao Emacs para salvar todos os buffers, passando um argumento de prefixo para o comando save-buffers-kill-emacs
(ou save-buffers-kill-terminal
que o chama): digite C-u C-x C-c
em vez de C-x C-c
. No entanto, você pode não querer fazer isso.
Você pode usar o centro de aconselhamento para modificar o comportamento de funções. Aqui, é complicado porque o código chama uma função genérica ( yes-or-no-p
) bem no meio de alguma lógica difícil de ser hackeada.
(require 'cl)
(defadvice save-buffers-kill-emacs
(around save-buffers-kill-emacs-no-modified-yes-no activate compile))
(let ((real-yes-or-no-p (symbol-function 'yes-or-no-p)))
(flet ((yes-or-no-p (msg)
(or (equal msg "Modified buffers exist; exit anyway? ")
(funcall real-yes-or-no-p msg)))))
ad-do-it))
Você pode preferir copiar a definição e remover a chamada ofensiva, no entanto, é provável que exija mais manutenção à medida que o Emacs evolui.
Você realmente precisa disso? Primeiro, o aviso de alterações não salvas geralmente é uma boa ideia, e é por isso que o Emacs faz isso. Segundo, é típico iniciar o Emacs com sua sessão e sair quando você sair, então sair do Emacs é algo que acontece raramente.