# HG changeset patch # User Richard M. Stallman # Date 897285012 0 # Node ID 4f8f069129127b43e4ca6e46a0e635985c118526 # Parent 5e1f0caf1873061ced3827539e173f5ff7757e4b (ange-ftp-file-name-completion): Do hostname completion in root directory of all drives on Windows. (ange-ftp-file-name-all-completions): Fix regexp for detecting root directory on drives. (file-name-handler-alist): Remove the autoload tag from the top-level form which changes file-name-handler-alist to support Windows hostname completion. diff -r 5e1f0caf1873 -r 4f8f06912912 lisp/ange-ftp.el --- a/lisp/ange-ftp.el Mon Jun 08 04:29:46 1998 +0000 +++ b/lisp/ange-ftp.el Mon Jun 08 05:50:12 1998 +0000 @@ -3782,7 +3782,7 @@ completions))) (if (or (and (eq system-type 'windows-nt) - (string-match "^[a-zA-Z]:[/\]$" ange-ftp-this-dir)) + (string-match "^[a-zA-Z]:[/\\]$" ange-ftp-this-dir)) (string-equal "/" ange-ftp-this-dir)) (nconc (all-completions file (ange-ftp-generate-root-prefixes)) (ange-ftp-real-file-name-all-completions file @@ -3814,7 +3814,9 @@ file tbl ange-ftp-this-dir (function ange-ftp-file-entry-active-p))))))) - (if (string-equal "/" ange-ftp-this-dir) + (if (or (and (eq system-type 'windows-nt) + (string-match "^[a-zA-Z]:[/\\]$" ange-ftp-this-dir)) + (string-equal "/" ange-ftp-this-dir)) (try-completion file (nconc (ange-ftp-generate-root-prefixes) @@ -4086,7 +4088,7 @@ (cons '("^/[^/:]*[^/:.]:" . ange-ftp-hook-function) file-name-handler-alist))) -;;; This regexp recognizes and absolute filenames with only one component, +;;; This regexp recognizes absolute filenames with only one component, ;;; for the sake of hostname completion. ;;;###autoload (or (assoc "^/[^/:]*\\'" file-name-handler-alist) @@ -4094,8 +4096,10 @@ (cons '("^/[^/:]*\\'" . ange-ftp-completion-hook-function) file-name-handler-alist))) -;;; Absolute file names prefixed with a drive letter. -;;;###autoload +;;; This regexp recognizes absolute filenames with only one component +;;; on Windows, for the sake of hostname completion. +;;; NB. Do not mark this as autoload, because it is very common to +;;; do completions in the root directory of drives on Windows. (and (memq system-type '(ms-dos windows-nt)) (or (assoc "^[a-zA-Z]:/[^/:]*\\'" file-name-handler-alist) (setq file-name-handler-alist