Domanda

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.

È stato utile?

Soluzione

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")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top