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-actions
nã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-init
automaticamente para a próxima partida, sempre que as alterações de arquivo de inicialização ...
--debug-init
:)
--debug-init
por padrão?
(setq debug-on-error t)
e depois avaliandoinit.el
novamente - por exemplo, abra-a e digiteM-x eval-buffer
.