Eu finalmente percebi isso.
Você precisa adicionar a seguinte linha ao seu .sbclrc
:
(sb-ext:set-sbcl-source-location "/usr/share/sbcl-source/")
Em seguida, reinicie o slime e salte felizmente de definição para definição e vice-versa.
Uma das melhores coisas da programação com o Common Lisp e a combinação do Emacs / Slime é que você pode pular rapidamente para a fonte do builtin ou suas próprias funções com
M + . .
Eu não consigo fazer isso funcionar, no entanto, para as funções internas do sbcl. Eu tenho o pacote sbcl-source
instalado, mas como você pode ver nesta imagem:
Se eu escolher a definição que desejo visitar (o buffer à direita), ela só abre um buffer vazio com o nome de arquivo (correto) que eu queria ver.
Como posso obter o comportamento correto?
Edit: Eu tive exatamente o mesmo problema com 13.04 / 12.10. No entanto, ao usar o Arch Linux, isso funciona perfeitamente.
Edit: De acordo com esta postagem , adicionei o caminho sbcl-source ao meu sbclrc. slime-xref está apontando para o arquivo correto, mas quando eu tento visitar a função desejada, eu ainda só recebo um buffer vazio.
Eu finalmente percebi isso.
Você precisa adicionar a seguinte linha ao seu .sbclrc
:
(sb-ext:set-sbcl-source-location "/usr/share/sbcl-source/")
Em seguida, reinicie o slime e salte felizmente de definição para definição e vice-versa.
Tags emacs