[slime-devel] upgraded clisp on cygwin, now slime won't load
funkyj at gmail.com
funkyj at gmail.com
Wed Jun 21 08:05:23 UTC 2006
I had slime + clisp (on cygwin) working fine. Yesterday I decided to
upgrade various cygwin packages (including clisp). Now when I try to
start slime I get this error:
;; Loading file /home/jcano/.clisprc.lisp ...
;; Loaded file /home/jcano/.clisprc.lisp
[1]>
*** - LOAD: A file with name
/c/cygwin/home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp does
not exist
The following restarts are available:
ABORT :R1 ABORT
I tried picking up the latest SLIME (my previous slime was
2006-jan-20) but neither "fairly stable" nor "head" made any
difference. I also blew away my ~/.slime directory in case that was
stale (slime is no longer getting far enough to rebuild ~/.slime) but
that didn't help.
Yes, I looked in "~/elisp/slime/2006-06-21/slime" and it does indeed
contain the file that
Here is my current version of clisp;
GNU CLISP 2.38 (2006-01-24) (built on winsteingoldlap.bluelnk.net [10.41.52.143])
Software: GNU C 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
gcc -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -I. -x none -lintl libcharset.a libavcall.a libcallback.a -lreadline -lncurses -liconv -L/usr/local/libsigsegv-cygwin/lib -lsigsegv -L/usr/X11R6/lib -lX11
SAFETY=0 HEAPCODES STANDARD_HEAPCODES SPVW_PAGES SPVW_MIXED
libsigsegv 2.2
libiconv 1.9
libreadline 5.0
Features:
(READLINE REGEXP SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP
LISP=CL INTERPRETER SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI
GETTEXT UNICODE BASE-CHAR=CHARACTER PC386 UNIX CYGWIN)
C Modules: (clisp i18n syscalls regexp readline)
Installation directory: /usr/lib/clisp/
User language: ENGLISH
Machine: I686 (I686) jcano-lt [192.168.1.103]
I run slime like this
M-x slime
and this is in my .emacs:
(defun slime ()
"load my .emacs_slime and run M-x slime"
(interactive)
(load-file "~/.emacs_slime")
(slime))
.emacs_slime file:
;; -*- mode: emacs-lisp -*-
(message "begin .emacs_slime")
(setq inferior-lisp-program "clisp")
(add-to-list 'load-path
;; CVS head
(concat (getenv "HOME") "/elisp/slime/2006-06-21/slime")
t)
(require 'slime)
(slime-setup)
;;; Configuration of Erik Naggum's HyperSpec access package.
;; If you have a local copy of the HyperSpec, set its path here.
(setq common-lisp-hyperspec-root
"file:///c:/cygwin/home/jcano/docs/CL/HyperSpec/")
(setq common-lisp-hyperspec-symbol-table
(concat (getenv "HOME") "/docs/CL/HyperSpec/ilisp/map_sym.txt" ))
(message "end .emacs_slime")
If I run clisp and execute the following command manually:
[1]> (load "/c/cygwin/home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp")
*** - LOAD: A file with name
/c/cygwin/home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp does
not exist
The following restarts are available:
ABORT :R1 ABORT
Break 1 [2]> (load "/c:cygwin/home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp")
*** - PARSE-NAMESTRING: syntax error in filename
"/c:cygwin/home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp"
at position 2
The following restarts are available:
ABORT :R1 ABORT
ABORT :R2 ABORT
Break 2 [3]> abort
Break 1 [2]> abort
[4]> (load "/home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp")
;; Loading file /home/jcano/elisp/slime/2006-06-21/slime/swank-loader.lisp ...
;; Compiling file /home/jcano/elisp/slime/2006-06-21/slime/swank-backend.lisp ...
;; Wrote file
;; /home/jcano/.slime/fasl/2006-06-18/clisp-2.38-unix-pc386/swank-backend.fas
[... successful loading ...]
I see in slime.el
(eval-and-compile
(defvar slime-path
(let ((path (or (locate-library "slime") load-file-name)))
(and path (file-name-directory path)))
"Directory containing the Slime package.
This is used to load the supporting Common Lisp library, Swank.
The default value is automatically computed from the location of the
Emacs Lisp package."))
; ...
(defun slime-init-command (port-filename coding-system)
"Return a string to initialize Lisp."
(let ((loader (if (file-name-absolute-p slime-backend)
slime-backend
(concat slime-path slime-backend)))
(encoding (slime-coding-system-cl-name coding-system)))
(format "%S\n%S\n\n"
`(load ,loader :verbose t)
`(swank:start-server ,port-filename :external-format ,encoding))))
OK, so CLisp wants file paths to be in cygwin/unix format
(e.g. "/home/jcaon" and "/cygdrive/c/cygwin" etc.) but emacs (which is
a win32 application) is providing a windows style "c:/cygwin/home/..."
path which, somewhere along the way gets converted to
"/c/cygwin/home/..."
I can probably fix this by overriding slime-path (I'll try that after
posting this). Does anyone know why upgrading (I think I had 2.35) to
2.38 would cause this failure? Can this be fixed so other noobs don't
suffer the same problems I have?
Regards,
--jfc
More information about the slime-devel
mailing list