diff options
| author | Stefan Monnier | 2002-05-21 23:23:08 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2002-05-21 23:23:08 +0000 |
| commit | 76a98a5066c54897dca5a8d9c12153fa599d311f (patch) | |
| tree | c9d0dbc8b7d690ab3159e6e8cc0b1f74e388cf57 /lisp/net | |
| parent | 544e5562dca591883197d29480768dcbfca8a407 (diff) | |
| download | emacs-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.el | 47 |
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." |