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

great!

Thanks for your enhancement. It's great!

September 2014

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930    
Powered by LiveJournal.com