aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/net
diff options
context:
space:
mode:
authorStefan Monnier2002-05-21 23:23:08 +0000
committerStefan Monnier2002-05-21 23:23:08 +0000
commit76a98a5066c54897dca5a8d9c12153fa599d311f (patch)
treec9d0dbc8b7d690ab3159e6e8cc0b1f74e388cf57 /lisp/net
parent544e5562dca591883197d29480768dcbfca8a407 (diff)
downloademacs-76a98a5066c54897dca5a8d9c12153fa599d311f.tar.gz
emacs-76a98a5066c54897dca5a8d9c12153fa599d311f.zip
(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.el47
1 files changed, 20 insertions, 27 deletions
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index dde35b017e3..48dbb55896c 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."
2941;; 2. The syntax of FILE and DIR make it impossible that FILE could be a valid 2941;; 2. The syntax of FILE and DIR make it impossible that FILE could be a valid
2942;; subdirectory. This is of course an OS dependent judgement. 2942;; subdirectory. This is of course an OS dependent judgement.
2943 2943
2944;;; Nowadays, the judgement for #2 is always "no".
2945;;; With today's ftp servers on Unix and GNU systems,
2946;;; it appears to be impossible to tell from the result
2947;;; of the directory listing whether the argument is a directory.
2948;;; This appears to be true even in Emacs 20.7
2949
2950(defmacro ange-ftp-allow-child-lookup (dir file) 2944(defmacro ange-ftp-allow-child-lookup (dir file)
2951 nil) 2945 `(not
2952;;; `(not 2946 (let* ((efile ,file) ; expand once.
2953;;; (let* ((efile ,file) ; expand once. 2947 (edir ,dir)
2954;;; (edir ,dir) 2948 (parsed (ange-ftp-ftp-name edir))
2955;;; (parsed (ange-ftp-ftp-name edir)) 2949 (host-type (ange-ftp-host-type
2956;;; (host-type (ange-ftp-host-type 2950 (car parsed))))
2957;;; (car parsed)))) 2951 (or
2958;;; (or 2952 ;; Deal with dired
2959;;; ;; Deal with dired 2953 (and (boundp 'dired-local-variables-file) ; in the dired-x package
2960;;; (and (boundp 'dired-local-variables-file) ; in the dired-x package 2954 (stringp dired-local-variables-file)
2961;;; (stringp dired-local-variables-file) 2955 (string-equal dired-local-variables-file efile))
2962;;; (string-equal dired-local-variables-file efile)) 2956 ;; No dots in dir names in vms.
2963;;; ;; No dots in dir names in vms. 2957 (and (eq host-type 'vms)
2964;;; (and (eq host-type 'vms) 2958 (string-match "\\." efile))
2965;;; (string-match "\\." efile)) 2959 ;; No subdirs in mts of cms.
2966;;; ;; No subdirs in mts of cms. 2960 (and (memq host-type '(mts cms))
2967;;; (and (memq host-type '(mts cms)) 2961 (not (string-equal "/" (nth 2 parsed))))
2968;;; (not (string-equal "/" (nth 2 parsed)))) 2962 ;; No dots in pseudo-dir names in bs2000.
2969;;; ;; No dots in pseudo-dir names in bs2000. 2963 (and (eq host-type 'bs2000)
2970;;; (and (eq host-type 'bs2000) 2964 (string-match "\\." efile))))))
2971;;; (string-match "\\." efile)))))))
2972 2965
2973(defun ange-ftp-file-entry-p (name) 2966(defun ange-ftp-file-entry-p (name)
2974 "Given NAME, return whether there is a file entry for it." 2967 "Given NAME, return whether there is a file entry for it."