# HG changeset patch # User Sam Steingold # Date 1004381356 0 # Node ID de4e98791121f5531faa8d7fa8ed802764ca6706 # Parent 3a1001e129bbd696a6761cdaa3337c8c9df5582f (convert-standard-filename): Handle cygwin-specific pathnames. diff -r 3a1001e129bb -r de4e98791121 lisp/ChangeLog --- 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 + + * 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 -r 3a1001e129bb -r de4e98791121 lisp/w32-fns.el --- 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