Quando há um erro em um dos meus arquivos de inicialização, recebo uma mensagem vaga assim quando inicio o Emacs:
Warning (initialization): An error occurred while loading /Users/im/.emacs.d/init.elc:
(wrong-type-argument listp helm-find-files-actions)
Ele não me diz qual dos meus muitos arquivos de configuração contém o erro ou qual linha. Pesquisando meus arquivos não ajuda, porque, adivinhe, a função helm-find-files-actionsnão aparece em nenhum dos meus arquivos init. Para rastrear a linha de código incorreta, eu tenho que fazer $ emacs --debug-init.
Não há como o Emacs me dizer automaticamente onde está a linha ofensiva sem ter que sair e correr $ emacs --debug-init? Eu sei que posso dividir + avaliar manualmente os arquivos, mas isso é ainda mais lento. Seria muito melhor se, quando houver um erro em um dos meus arquivos de inicialização, o Emacs pudesse:
- diga-me qual arquivo init
- diga-me o número da linha que contém o erro
- idealmente, abra esse arquivo init e me leve para a linha ofensiva
Isso é possível com o Emacs, ou estou vivendo em um mundo de fantasia?
debug-initautomaticamente para a próxima partida, sempre que as alterações de arquivo de inicialização ...
--debug-init:)
--debug-initpor padrão?
(setq debug-on-error t)e depois avaliandoinit.elnovamente - por exemplo, abra-a e digiteM-x eval-buffer.