Question

I tried to use slime on my Windows 7 box with a recent Emacs. I had problems giving the full path of the sbcl executable, as it had spaces in them. At last I have solved the problem by adding that path to the PATH environment variable and using a simple "sbcl.exe" in .emacs but in the long term it would be good to know how I can give such a space-containing path to Emacs.

This, this, this and this did not answer my question.

I tried various syntaxes like

;; Setup load-path, autoloads and your lisp system
 (add-to-list 'load-path "d:/slime-2.6")
 (require 'slime-autoloads)
 (setq inferior-lisp-program "\"d:/Program Files/Steel Bank Common Lisp/1.1.12/sbcl.exe\""

but I got

apply: Searching for program: no such file or directory, "d:/Program

What is the correct syntax for Windows paths containing spaces?

Edit: not an answer for the original question but related: one has to add (slime-setup '(slime-repl)) to .emacs in order to start the slime-repl subprocess that gives a proper common lisp read-eval-print loop. In the old times it was started automatically but now you should be explicit.

Was it helpful?

Solution

Just remove the quotes inside your string, it should be the path, not a string of a string of the path. The spaces will be handled just fine.

"D:/Program Files/Steel Bank Common Lisp/1.1.12/sbcl.exe" is how to specify that directory.

You should also look into adding the SBCL directory to your exec-path variable. This is just like your PATH, Emacs looks there for executables. Add the directory to your exec-path and specify your lisp program as "sbcl"

(add-to-list 'load-path "d:/slime-2.6")
(require 'slime-autoloads)
(add-to-list 'exec-path "D:/Program Files/Steel Bank Common Lisp/1.1.12/")
(setq inferior-lisp-program "sbcl")
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top