Background: I'm just starting out with SLIME, and it's been just a little bit rough because of my environment, but more promising than ILisp. The complications are: I'm running on WinXP, I've generally used a native version of XEmacs (21.4.13 as of today), I use some Cygwin tools, and since I'm just getting reacquainted with Lisp, I've been trying out various implementations.
I tried out Cygwin XEmacs over the last week, but found it less stable overall than the native version, so I've reverted. I did get SLIME going with Cygwin XEmacs and Cygwin CLisp (latest version), no problem. When I switched back to native XEmacs, I had problems with SLIME initialization. XEmacs is sending native file namestrings to CLisp, and the latter chokes on the backslashes.
After only a little searching, I found slime-translate-to-lisp-filename-function, and now I define it as follows during XEmacs initialization:
(defvar slime-translate-to-lisp-filename-function (function (lambda (s) (replace-in-string s "\\" "/"))))
However, I have found and fixed two places in slime.el that weren't calling this function. These two changes allow me to get to REPL. The functions that I changed are slime-maybe-start-lisp and slime-start-swank-server. Here's output from cvs diff:
diff -r1.228 slime.el 968c968 < (concat slime-path slime-backend))) ---
(slime-to-lisp-filename (concat
slime-path sli me-backend)))) 980c980 < (slime-swank-port-file)))) ---
(slime-to-lisp-filename
(slime-swank-port-file)) )))
(If there's a better format I can use for showing changes, please tell me how to get it.)
Nice code, by the way, it only took a little guesswork to find the hook for translating file names. Very different from my ILisp experience.
49gu4n502@sneakemail.com writes:
After only a little searching, I found slime-translate-to-lisp-filename-function, and now I define it as follows during XEmacs initialization:
I think you are the first person who actually uses this feature. I'm surprised it worked so well for you :-)
However, I have found and fixed two places in slime.el that weren't calling this function. These two changes allow me to get to REPL. The functions that I changed are slime-maybe-start-lisp and slime-start-swank-server. Here's output from cvs diff:
Good catch! I applied the patches.
(If there's a better format I can use for showing changes, please tell me how to get it.)
I like patches generated with "diff -c -F^(.*", but I think this only works with GNU diff. "diff -u" is also easy to read. Oh, and I like it when people use a somewhat less anonymous email address than you did, so that I can give proper credit in the ChangeLog.
Nice code, by the way, it only took a little guesswork to find the hook for translating file names. Very different from my ILisp experience.
Thank you for the feedback.
Helmut.