Well, I don't know if you consider it a but, but it sure seems like it.  If you have a Tramp translations set up via Slime, it matches the translation off of the value given by (machine-instance).  All is fine and good except that if you try to start a new local connection with `M-x slime' and your computer doesn't have the same (machine-instance) as the remote Lisp, Tramp gets confused as it uses the current connection to evaluate (machine-instance), then uses that to calculate the translation and it uses that translation to change the value used in the Swank load form for the new local Lisp image:<br>

<br>(progn (load <<some-tramp-mangled-path>> :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") <<some-other-mangled-path>> :coding-system "utf-8-unix"))<br>

<br>This makes the slime startup die at:<br><br>debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread #<THREAD<br>                                                           "initial thread" RUNNING<br>                                                            {1002941271}>:<br>

  Couldn't load <<mangled>>: file does not exist.<br><br>Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.<br><br>restarts (invokable by number or by possibly-abbreviated name):<br>  0: [ABORT] Exit debugger, returning to top level.<br>

<br>(LOAD<br> <<mangled>> :VERBOSE<br> T<br> :PRINT<br> NIL<br> :IF-DOES-NOT-EXIST<br> T<br> :EXTERNAL-FORMAT<br> :DEFAULT)<br>0] <br><br>It would be nice if Slime by-passed Tramp completely on startup when invoked via `M-x Slime' (and perhaps always?).  I did this by wrapping the SLIME body with a binding setting SLIME-FILENAME-TRANSLATIONS to nil, and I think it works.  Here is a patch (this is my first time doing this, but I generated with M-x diff-buffer-with-file from Emacs;  It is diffed against the probably pretty dated Slime, sorry):<br>

<br>diff -c /home/smithzv/quicklisp/dists/quicklisp/software/slime-20110829-cvs/slime.el /tmp/buffer-content-14752oJk<br>*** /home/smithzv/quicklisp/dists/quicklisp/software/slime-20110829-cvs/slime.el    2011-09-02 13:42:13.982182004 -0600<br>

--- /tmp/buffer-content-14752oJk    2011-10-06 18:21:02.031020994 -0600<br>***************<br>*** 1076,1082 ****<br>  (defun slime (&optional command coding-system)<br>    "Start an inferior^_superior Lisp and connect to its Swank server."<br>

    (interactive)<br>!   (let ((inferior-lisp-program (or command inferior-lisp-program))<br>          (slime-net-coding-system (or coding-system slime-net-coding-system)))<br>      (slime-start* (cond ((and command (symbolp command))<br>

                           (slime-lisp-options command))<br>--- 1076,1083 ----<br>  (defun slime (&optional command coding-system)<br>    "Start an inferior^_superior Lisp and connect to its Swank server."<br>

    (interactive)<br>!   (let ((slime-filename-translations nil)<br>!         (inferior-lisp-program (or command inferior-lisp-program))<br>          (slime-net-coding-system (or coding-system slime-net-coding-system)))<br>

      (slime-start* (cond ((and command (symbolp command))<br>                           (slime-lisp-options command))<br><br>Diff finished.  Thu Oct  6 18:21:02 2011<br><br>