changeset 40458:de4e98791121

(convert-standard-filename): Handle cygwin-specific pathnames.
author Sam Steingold <sds@gnu.org>
date Mon, 29 Oct 2001 18:49:16 +0000
parents 3a1001e129bb
children 34107437eb4d
files lisp/ChangeLog lisp/w32-fns.el
diffstat 2 files changed, 20 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Oct 29 18:40:23 2001 +0000
+++ b/lisp/ChangeLog	Mon Oct 29 18:49:16 2001 +0000
@@ -1,10 +1,15 @@
+2001-10-29  Sam Steingold  <sds@gnu.org>
+
+	* w32-fns.el (convert-standard-filename): Handle cygwin-specific
+	"/cygdrive/LETTER/" pathnames.
+
 2001-10-29  Eli Zaretskii  <eliz@is.elta.co.il>
 
 	* faces.el (invert-face): Check for 'unspecified, not for nil,
 	when testing whether face colors are not specified.  From
 	David.Kastrup@t-online.de (David Kastrup).
 	(read-face-name): Doc fix.
-	(make-face-bold, make-face-unbold, make-face-italic) 
+	(make-face-bold, make-face-unbold, make-face-italic)
 	(make-face-unitalic, make-face-bold-italic, invert-face): Remove
 	trailing blank from the prompt passed to read-face-name.
 
--- a/lisp/w32-fns.el	Mon Oct 29 18:40:23 2001 +0000
+++ b/lisp/w32-fns.el	Mon Oct 29 18:49:16 2001 +0000
@@ -43,7 +43,7 @@
 ;; Ignore case on file-name completion
 (setq completion-ignore-case t)
 
-;; Map all versions of a filename (8.3, longname, mixed case) to the 
+;; Map all versions of a filename (8.3, longname, mixed case) to the
 ;; same buffer.
 (setq find-file-visit-truename t)
 
@@ -72,7 +72,7 @@
 
 (defun w32-system-shell-p (shell-name)
   (and shell-name
-       (member (downcase (file-name-nondirectory shell-name)) 
+       (member (downcase (file-name-nondirectory shell-name))
 	       w32-system-shells)))
 
 (defun w32-shell-dos-semantics ()
@@ -98,15 +98,15 @@
     (erase-buffer)
     (if (w32-system-shell-p (getenv "ESHELL"))
 	(insert (format "Warning! The ESHELL environment variable uses %s.
-You probably want to change it so that it uses cmdproxy.exe instead.\n\n" 
+You probably want to change it so that it uses cmdproxy.exe instead.\n\n"
 			(getenv "ESHELL"))))
     (if (w32-system-shell-p (getenv "SHELL"))
 	(insert (format "Warning! The SHELL environment variable uses %s.
-You probably want to change it so that it uses cmdproxy.exe instead.\n\n" 
+You probably want to change it so that it uses cmdproxy.exe instead.\n\n"
 			(getenv "SHELL"))))
     (if (w32-system-shell-p shell-file-name)
 	(insert (format "Warning! shell-file-name uses %s.
-You probably want to change it so that it uses cmdproxy.exe instead.\n\n" 
+You probably want to change it so that it uses cmdproxy.exe instead.\n\n"
 			shell-file-name)))
     (if (and (boundp 'explicit-shell-file-name)
 	     (w32-system-shell-p explicit-shell-file-name))
@@ -212,7 +212,7 @@
 	 (dir1 (expand-file-name "../info/" instdir))
 	 (dir2 (expand-file-name "../../../info/" instdir)))
     (if (file-exists-p dir1)
-	(setq Info-default-directory-list 
+	(setq Info-default-directory-list
 	      (append Info-default-directory-list (list dir1)))
       (if (file-exists-p dir2)
 	  (setq Info-default-directory-list
@@ -230,9 +230,9 @@
 ;;; source-directory, set it to something that is a reasonable approximation
 ;;; on the user's machine.
 
-;(add-hook 'before-init-hook 
+;(add-hook 'before-init-hook
 ;	  '(lambda ()
-;	     (setq source-directory (file-name-as-directory 
+;	     (setq source-directory (file-name-as-directory
 ;				     (expand-file-name ".." exec-directory)))))
 
 ;; Avoid creating auto-save file names containing invalid characters.
@@ -255,7 +255,11 @@
 This function's standard definition is trivial; it just returns the argument.
 However, on some systems, the function is redefined
 with a definition that really does change some file names."
-  (let ((name (copy-sequence filename))
+  (let ((name
+         (save-match-data
+           (if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)
+               (replace-match "\\1:/" t nil filename)
+             (copy-sequence filename))))
 	(start 0))
     ;; leave ':' if part of drive specifier
     (if (and (> (length name) 1)
@@ -438,7 +442,7 @@
   (if x-select-enable-clipboard
       (w32-set-clipboard-data text))
   (setq x-last-selected-text text))
-    
+
 (defun x-get-selection-value ()
   "Return the value of the current selection.
 Consult the selection, then the cut buffer.  Treat empty strings as if