Installing SBCL - Emacs - W32 - SLIME | Error - Spawning child process: invalid argument
- I am posting this in hopes that it might prevent some headaches for others. There don't appear to be many recent discussions of sbcl, slime, emacs on Windows systems and I broke my head on this one for awhile.
I was getting the following error when starting Slime: "Spawning child process: invalid argument"
Problem was probably in two places:
1) Recent install of the sourceforge Windows Binary of SBCL 1.0.13 had not propagated the environmental variables PATH and SBCL_HOME prior to a system restart
2) I was passing the WRONG string in the .emacs:
(setq inferior-lisp-program "C:/Program Files/Steel Bank Common Lisp/1.0.13/sbcl.exe")
Slime wasn't looking for the path to the sbcl executable.
After a restart the system could initialize SBCL from a command prompt i.e. the system variable was now properly set and Slime was able to connect to the inferior lisp by calling "sbcl" from inside emacs with <M-x Slime>
The necessary invocation required in the .emacs is contrary to the instructions in the "Slime User Manual v 1.2 circa April 2005" which suggest providing the path to the lisp system - the following was what I SHOULD have had in the .emacs :
(setq inferior-lisp-program "sbcl")
I am not sure how this affects other lisps or if it is unique to my system.
However, with that change in place, I am happy to report that slime will connect with sblc just fine using the following setup:
- GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) of 2008-05-12 on LENNART-69DE564 (patched)
Emacsw32 patched from available: http://ourcomments.org/Emacs/DL/EmacsW32/EmacsCVS/ptch/Emacs-23-CvsP080512-E...
- A recent April 2008 cvs pull of Slime
cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co slime
or, a recent cvs snapshot tarball http://common-lisp.net/cgi-bin/viewcvs.cgi/root.tar.gz?root=slime&view=t...
- SBCL 1.0.13 from:
http://prdownloads.sourceforge.net/sbcl/sbcl-1.0.13-x86-windows-binary.msi
---- With slime installed in w32's default site-list directory the following are the relevant portions of the .emacs :
(add-to-list 'load-path "C:/Program Files/Emacs/site-lisp/slime") (require 'slime) (slime-setup)
(require 'slime-autoloads) (add-hook 'lisp-mode-hook (lambda () (slime-mode t))) (add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t))) ----