From: Kai Großjohann Date: Sat, 26 Jun 2004 14:41:13 +0000 (+0000) Subject: * net/ange-ftp.el (ange-ftp-file-remote-p): New return value, X-Git-Tag: ttn-vms-21-2-B4~5624 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3f788773973454ef6bd068fd1b300da42786b72c;p=emacs.git * 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'. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index db83497b055..69ba9cc6b82 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2004-06-26 Kai Grossjohann + + * 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'. + 2004-06-26 Nick Roberts * progmodes/gdb-ui.el (gdb-toggle-breakpoint) 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))) diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 09448e87329..8e9d0bda5af 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -4117,7 +4117,7 @@ directory, so that Emacs will know its current contents." tmp1)))) (defun ange-ftp-file-remote-p (file) - (when (ange-ftp-ftp-name file) t)) + (ange-ftp-replace-name-component file "")) (defun ange-ftp-load (file &optional noerror nomessage nosuffix) (if (ange-ftp-ftp-name file)