[slime-devel] slime-file-name-merge-source-root does not work on ms-windows

Carsten Blaauw carsten.blaauw at daimlerchrysler-bank.com
Thu Sep 27 08:45:01 UTC 2007


Hi,

the function slime-file-name-merge-source-root from slime.el does not work on
windows, because it adds a slash in front of the device in a pathname. That
causes emacs to call ange-ftp to a nonexistant machine. The attached patch
solves the problem by checking whether the original path started with s slash
and only then inserts a slash again in front of the buffer root.

Hope this is useful


Carsten
C:\slime\slime>diff -u slime.el.orig slime.el
--- slime.el.orig       2007-09-27 09:48:45.062107200 +0200
+++ slime.el    2007-09-27 10:03:52.929040700 +0200
@@ -4444,15 +4444,17 @@
                      (push target-dir target-suffix-dirs)
                      (let* ((target-suffix (concat-dirs target-suffix-dirs)) ;
PUSH reversed for us!
                             (buffer-root   (concat-dirs (reverse (nthcdr pos
buffer-dirs*)))))
-                       (return (concat (file-name-as-directory "/")
-                                       buffer-root
-                                       target-suffix
-                                       (file-name-nondirectory
target-filename))))))))))
+                           (return (concat (if (equal (substring
buffer-filename 0 1) "/")
+                                             "/"
+                                             nil)
+                                             buffer-root
+                                             target-suffix
+                                             (file-name-nondirectory
target-filename))))))))))

 (defun slime-highlight-differences-in-dirname (base-dirname contrast-dirname)
   "Returns a copy of BASE-DIRNAME where all differences between
 BASE-DIRNAME and CONTRAST-DIRNAME are propertized with a
-highlighting face."
qhighlighting face."
   (setq base-dirname (file-name-as-directory base-dirname))
   (setq contrast-dirname (file-name-as-directory contrast-dirname))
   (flet ((insert-dir (dirname)





More information about the slime-devel mailing list