From 3f788773973454ef6bd068fd1b300da42786b72c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20Gro=C3=9Fjohann?= Date: Sat, 26 Jun 2004 14:41:13 +0000 Subject: * net/ange-ftp.el (ange-ftp-file-remote-p): New return value, according to new documentation of `file-remote-p'. * files.el (file-remote-p): Fix doc to say that return value is identification of remote system, if not nil. (file-relative-name): Use new return value of `file-remote-p'. --- lisp/files.el | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'lisp/files.el') diff --git a/lisp/files.el b/lisp/files.el index cd11f07969f..301a3f48f15 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -650,7 +650,13 @@ This is an interface to the function `load'." (load library)) (defun file-remote-p (file) - "Test whether FILE specifies a location on a remote system." + "Test whether FILE specifies a location on a remote system. +Return an identification of the system if the location is indeed +remote. The identification of the system may comprise a method +to access the system and its hostname, amongst other things. + +For example, the filename \"/user@host:/foo\" specifies a location +on the system \"/user@host:\"." (let ((handler (find-file-name-handler file 'file-remote-p))) (if handler (funcall handler 'file-remote-p file) @@ -2916,8 +2922,8 @@ on a DOS/Windows machine, it returns FILENAME on expanded form." (file-name-as-directory (expand-file-name (or directory default-directory)))) (setq filename (expand-file-name filename)) - (let ((hf (find-file-name-handler filename 'file-remote-p)) - (hd (find-file-name-handler directory 'file-remote-p))) + (let ((fremote (file-remote-p filename)) + (dremote (file-remote-p directory))) (if ;; Conditions for separate trees (or ;; Test for different drives on DOS/Windows @@ -2925,20 +2931,8 @@ on a DOS/Windows machine, it returns FILENAME on expanded form." ;; Should `cygwin' really be included here? --stef (memq system-type '(ms-dos cygwin windows-nt)) (not (eq t (compare-strings filename 0 2 directory 0 2)))) - ;; Test for different remote file handlers - (not (eq hf hd)) ;; Test for different remote file system identification - (and - hf - (let ((re (car (rassq hf file-name-handler-alist)))) - (not - (equal - (and - (string-match re filename) - (substring filename 0 (match-end 0))) - (and - (string-match re directory) - (substring directory 0 (match-end 0)))))))) + (not (equal fremote dremote))) filename (let ((ancestor ".") (filename-dir (file-name-as-directory filename))) -- cgit v1.2.1