diff options
author | Stefan Monnier <[email protected]> | 2002-05-21 23:23:08 +0000 |
---|---|---|
committer | Stefan Monnier <[email protected]> | 2002-05-21 23:23:08 +0000 |
commit | 76a98a5066c54897dca5a8d9c12153fa599d311f (patch) | |
tree | c9d0dbc8b7d690ab3159e6e8cc0b1f74e388cf57 /lisp/net | |
parent | 544e5562dca591883197d29480768dcbfca8a407 (diff) |
(ange-ftp-allow-child-lookup): Re-enable since
the last patch works around the wu-ftpd misfeature that prompted
the disabling of this optimization.
Diffstat (limited to 'lisp/net')
-rw-r--r-- | lisp/net/ange-ftp.el | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index dde35b017e..48dbb55896 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -2941,34 +2941,27 @@ NO-ERROR, if a listing for DIRECTORY cannot be obtained." ;; 2. The syntax of FILE and DIR make it impossible that FILE could be a valid ;; subdirectory. This is of course an OS dependent judgement. -;;; Nowadays, the judgement for #2 is always "no". -;;; With today's ftp servers on Unix and GNU systems, -;;; it appears to be impossible to tell from the result -;;; of the directory listing whether the argument is a directory. -;;; This appears to be true even in Emacs 20.7 - (defmacro ange-ftp-allow-child-lookup (dir file) - nil) -;;; `(not -;;; (let* ((efile ,file) ; expand once. -;;; (edir ,dir) -;;; (parsed (ange-ftp-ftp-name edir)) -;;; (host-type (ange-ftp-host-type -;;; (car parsed)))) -;;; (or -;;; ;; Deal with dired -;;; (and (boundp 'dired-local-variables-file) ; in the dired-x package -;;; (stringp dired-local-variables-file) -;;; (string-equal dired-local-variables-file efile)) -;;; ;; No dots in dir names in vms. -;;; (and (eq host-type 'vms) -;;; (string-match "\\." efile)) -;;; ;; No subdirs in mts of cms. -;;; (and (memq host-type '(mts cms)) -;;; (not (string-equal "/" (nth 2 parsed)))) -;;; ;; No dots in pseudo-dir names in bs2000. -;;; (and (eq host-type 'bs2000) -;;; (string-match "\\." efile))))))) + `(not + (let* ((efile ,file) ; expand once. + (edir ,dir) + (parsed (ange-ftp-ftp-name edir)) + (host-type (ange-ftp-host-type + (car parsed)))) + (or + ;; Deal with dired + (and (boundp 'dired-local-variables-file) ; in the dired-x package + (stringp dired-local-variables-file) + (string-equal dired-local-variables-file efile)) + ;; No dots in dir names in vms. + (and (eq host-type 'vms) + (string-match "\\." efile)) + ;; No subdirs in mts of cms. + (and (memq host-type '(mts cms)) + (not (string-equal "/" (nth 2 parsed)))) + ;; No dots in pseudo-dir names in bs2000. + (and (eq host-type 'bs2000) + (string-match "\\." efile)))))) (defun ange-ftp-file-entry-p (name) "Given NAME, return whether there is a file entry for it." |