Одна из приятных вещей программирования на Common Lisp и комбинации Emacs / Slime заключается в том, что вы можете быстро перейти к источнику встроенных или собственных функций с помощью
M kbd > + . KBD>.
Однако я не могу заставить это работать для встроенных функций sbcl. У меня установлен пакет sbcl-source
, но, как вы можете видеть из этого скриншота:
Если я выберу определение, которое хочу посетить (буфер справа), он только открывает пустой буфер с (правильным) именем файла, который я хотел увидеть.
Как я могу получить правильное поведение?
Редактировать: у меня была точно такая же проблема с 13.04 / 12.10. Однако при использовании Arch Linux это работает безупречно.
Редактировать: Согласно этому посту я добавил путь sbcl-source к своему sbclrc. slime-xref указывает на правильный файл, но когда я пытаюсь посетить нужную функцию, я все равно получаю только пустой буфер.
Я наконец понял это.
Вы должны добавить следующую строку в .sbclrc
:
(sb-ext:set-sbcl-source-location "/usr/share/sbcl-source/")
Затем перезапустите слизь и счастливо прыгайте от определения к определению и обратно.