[slime-devel] cygwin sbcl - swank-loader.lisp not run through slime-filename-translations

Terrence Brannon metaperl at gmail.com
Tue Dec 11 05:21:07 UTC 2007


Hello, as you can see from my .emacs setup, I am using cygpath to
translate filenames from emacs to lisp and vice versa. However, during
M-x slime that variable does not translate swank-loader.lisp as the
*Messages* buffer indicates. I am using SLIME 2006.

--- inferior lisp transcript ---

(load "/home/Administrator/mydocs/dl/slime-2.0/swank-loader.lisp" :verbose t)
(swank:start-server "c:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\slime.3392
" :external-format :iso-latin-1-unix)

This is SBCL 1.0.12, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.

This is experimental prerelease support for the Windows platform: use
at your own risk.  "Your Kitten of Death awaits!"
*
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR:
  "\\home\\Administrator\\mydocs\\dl\\slime-2.0\\swank-loader.lisp"
does not exist.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-FASL::INTERNAL-LOAD
 #P"\\home\\Administrator\\mydocs\\dl\\slime-2.0\\swank-loader.lisp"
 NIL
 :ERROR
 T
 NIL
 NIL
 :DEFAULT)
0]

debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR:
  SB-INT:SIMPLE-READER-PACKAGE-ERROR on #<SYNONYM-STREAM :SYMBOL
*TERMINAL-IO* {90CC391}>:
    package "SWANK" not found

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-IMPL::READ-TOKEN #<SYNONYM-STREAM :SYMBOL *TERMINAL-IO* {90CC391}> #\s)
0[2]

--- .emacs file ---

;;; SLIME

(add-to-list 'load-path "~/mydocs/dl/slime-2.0/")
(setq inferior-lisp-program "sbcl")
(require 'slime)

(add-hook 'lisp-mode-hook
	  (lambda ()
	    (slime-mode t)
	    (setq lisp-indent-function 'common-lisp-indent-function)))

;(setq slime-backend
"/home/Administrator/mydocs/dl/slime-2.0/swank-loader.lisp")

(setq slime-filename-translations
      '((".*"
         (lambda (emacs-filename)
	   (let ((result
		  (shell-command-to-string (concat "cygpath -w " emacs-filename))))
	     (progn
	       (message (concat "TO-lisp: " result))
	       result)))
         (lambda (lisp-filename)
	   (let ((result
		  (shell-command-to-string (concat "cygpath  " lisp-filename))))
	     (progn
	       (message (concat "FROM-lisp: " result))
	       result))))))


(defadvice slime-init-command (around fix-slime-init activate)
  (let* ((filename (ad-get-arg 0))
         ;; We can't use slime-to-lisp-filename here, as that uses
         ;; slime-machine-instance, which needs the connection to
         ;; already be set up.
         (filename  (funcall (first (slime-find-filename-translators ""))
                             (expand-file-name filename))))
    (ad-set-arg 0 filename)
    ad-do-it))


(slime-setup)

--- Messages buffer: note that only a TO-slime message shows up during
startup - no FROM-slime. --

TO-lisp: c:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\slime.3392

Polling "/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp/slime.3392"..
(Abort with `M-x slime-abort-connection'.) [273 times]
byte-code: End of buffer



More information about the slime-devel mailing list