changeset 21822:37c1ced8578a

(file-name-handler-alist): Instead of substituting, add regexps for file names with drive letters,
author Geoff Voelker <voelker@cs.washington.edu>
date Wed, 29 Apr 1998 04:31:03 +0000
parents 9e82920b194d
children a23ded020234
files lisp/ange-ftp.el
diffstat 1 files changed, 25 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ange-ftp.el	Wed Apr 29 01:00:01 1998 +0000
+++ b/lisp/ange-ftp.el	Wed Apr 29 04:31:03 1998 +0000
@@ -4064,24 +4064,35 @@
 ;;; and colon).
 ;;; Don't allow the host name to end in a period--some systems use /.:
 ;;;###autoload
-(let ((pattern (if (memq system-type '(ms-dos windows-nt))
-		   "^[a-zA-Z]:/[^/:]*[^/:.]:"
-		 "^/[^/:]*[^/:.]:")))
-  (or (assoc pattern file-name-handler-alist)
-      (setq file-name-handler-alist
-	    (cons (cons pattern 'ange-ftp-hook-function)
-		  file-name-handler-alist))))
+(or (assoc "^/[^/:]*[^/:.]:" file-name-handler-alist)
+    (setq file-name-handler-alist
+	  (cons '("^/[^/:]*[^/:.]:" . ange-ftp-hook-function)
+		file-name-handler-alist)))
+
+;;; Real ange-ftp file names prefixed with a drive letter.
+;;;###autoload
+(and (memq system-type '(ms-dos windows-nt))
+     (or (assoc "^[a-zA-Z]:/[^/:]*[^/:.]:" file-name-handler-alist)
+	 (setq file-name-handler-alist
+	       (cons '("^[a-zA-Z]:/[^/:]*[^/:.]:" . ange-ftp-hook-function)
+		     file-name-handler-alist))))
 
 ;;; This regexp recognizes and absolute filenames with only one component,
 ;;; for the sake of hostname completion.
 ;;;###autoload
-(let ((pattern (if (memq system-type '(ms-dos windows-nt))
-		   "^[a-zA-Z]:/[^/:]*\\'"
-		 "^/[^/:]*\\'")))
-  (or (assoc pattern file-name-handler-alist)
-      (setq file-name-handler-alist
-	    (cons (cons pattern 'ange-ftp-completion-hook-function)
-		  file-name-handler-alist))))
+(or (assoc "^/[^/:]*\\'" file-name-handler-alist)
+    (setq file-name-handler-alist
+	  (cons '("^/[^/:]*\\'" . ange-ftp-completion-hook-function)
+		file-name-handler-alist)))
+
+;;; Absolute file names prefixed with a drive letter.
+;;;###autoload
+(and (memq system-type '(ms-dos windows-nt))
+     (or (assoc "^[a-zA-Z]:/[^/:]*\\'" file-name-handler-alist)
+	 (setq file-name-handler-alist
+	       (cons '("^[a-zA-Z]:/[^/:]*\\'" . 
+		       ange-ftp-completion-hook-function)
+		     file-name-handler-alist))))
 
 ;;; The above two forms are sufficient to cause this file to be loaded
 ;;; if the user ever uses a file name with a colon in it.