emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 57c291f: Fix Bug#29874


From: Michael Albinus
Subject: [Emacs-diffs] master 57c291f: Fix Bug#29874
Date: Thu, 28 Dec 2017 05:26:37 -0500 (EST)

branch: master
commit 57c291f2c7a2685fe0c4eeae961bfad5b9fdfee5
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Fix Bug#29874
    
    * lisp/net/ange-ftp.el (ange-ftp-file-accessible-directory-p)
    (ange-ftp-real-file-accessible-directory-p): New defuns.
    (ange-ftp-nslookup-host, ange-ftp-start-process):
    Use `ange-ftp-real-file-accessible-directory-p'.
    (file-accessible-directory-p): Put `ange-ftp' property.  (Bug#29874)
---
 lisp/net/ange-ftp.el | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index cf65e10..57e4de9 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -1873,7 +1873,7 @@ been queued with no result.  CONT will still be called, 
however."
   (interactive "sHost:  ")
   (if ange-ftp-nslookup-program
       (let ((default-directory
-             (if (file-accessible-directory-p default-directory)
+             (if (ange-ftp-real-file-accessible-directory-p default-directory)
                  default-directory
                exec-directory))
            ;; It would be nice to make process-connection-type nil,
@@ -1916,7 +1916,7 @@ on the gateway machine to do the FTP instead."
         ;; default-directory.
         (file-name-handler-alist)
         (default-directory
-          (if (file-accessible-directory-p default-directory)
+          (if (ange-ftp-real-file-accessible-directory-p default-directory)
               default-directory
             exec-directory))
         proc)
@@ -3404,6 +3404,10 @@ system TYPE.")
          file-ent))
     (ange-ftp-real-file-directory-p name)))
 
+(defun ange-ftp-file-accessible-directory-p (name)
+  (and (file-directory-p name)
+       (file-readable-p name)))
+
 (defun ange-ftp-directory-files (directory &optional full match
                                           &rest v19-args)
   (setq directory (expand-file-name directory))
@@ -4385,6 +4389,8 @@ NEWNAME should be the name to give the new compressed or 
uncompressed file.")
 (put 'directory-files-and-attributes 'ange-ftp
      'ange-ftp-directory-files-and-attributes)
 (put 'file-directory-p 'ange-ftp 'ange-ftp-file-directory-p)
+(put 'file-accessible-directory-p 'ange-ftp
+     'ange-ftp-file-accessible-directory-p)
 (put 'file-writable-p 'ange-ftp 'ange-ftp-file-writable-p)
 (put 'file-readable-p 'ange-ftp 'ange-ftp-file-readable-p)
 (put 'file-executable-p 'ange-ftp 'ange-ftp-file-executable-p)
@@ -4469,6 +4475,8 @@ NEWNAME should be the name to give the new compressed or 
uncompressed file.")
   (ange-ftp-run-real-handler 'directory-files-and-attributes args))
 (defun ange-ftp-real-file-directory-p (&rest args)
   (ange-ftp-run-real-handler 'file-directory-p args))
+(defun ange-ftp-real-file-accessible-directory-p (&rest args)
+  (ange-ftp-run-real-handler 'file-accessible-directory-p args))
 (defun ange-ftp-real-file-writable-p (&rest args)
   (ange-ftp-run-real-handler 'file-writable-p args))
 (defun ange-ftp-real-file-readable-p (&rest args)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]