From bcaf1c362cf783633544fab536d7ded2ba6a4fd3 Mon Sep 17 00:00:00 2001 From: Sam Steingold Date: Mon, 29 Oct 2001 18:49:16 +0000 Subject: [PATCH] (convert-standard-filename): Handle cygwin-specific pathnames. --- lisp/ChangeLog | 7 ++++++- lisp/w32-fns.el | 24 ++++++++++++++---------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5c9b4ac6e98..397da093117 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,10 +1,15 @@ +2001-10-29 Sam Steingold + + * w32-fns.el (convert-standard-filename): Handle cygwin-specific + "/cygdrive/LETTER/" pathnames. + 2001-10-29 Eli Zaretskii * 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. diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el index 256aecc42d7..7dd98e49e30 100644 --- a/lisp/w32-fns.el +++ b/lisp/w32-fns.el @@ -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 @@ numbers, and the build number." (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 @@ has configured the shell with inappropriate settings." (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 @@ You should set this to t when using a non-system shell.\n\n")))) (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 @@ You should set this to t when using a non-system shell.\n\n")))) ;;; 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 @@ See also `auto-save-file-name-p'." 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 @@ clipboard as well. Optional PUSH is ignored on Windows." (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 -- 2.39.5