[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