Finding SBCL sources

You can get SBCL binaries from www.sbcl.org and that works pretty nicely. However, if you use M-. in slime to jump to the definition of a SBCL-defined function (e.g. sb-ext:run-program or cl:car), you might get something like this:

Error: failed to find the WRITE-DATE of /Users/jwise/proj/sbcl/clean/1.0.54/sbcl-1.0.54-x86-64-darwin/src/code/list.lisp:
         No such file or directory

That's because the sources are located based on the definition of the SYS logical host, and that host can get carried over from the environment used to bundle up the binary release.

One longtime solution is to download the sources and set up your own logical pathname translations for the SYS logical host. As of 1.0.53, you can now do this:

    (sb-ext:set-sbcl-source-location "/path/to/sbcl/source/")

That takes care of establishing a mapping to the SBCL sources for you, and after that M-. will work as expected.
Tags:

Comments

Thanks!

I wanted this, but didn't even know it existed!

July 2014

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
Powered by LiveJournal.com