From 34301ace3d23760e4a9fddfaf53f386faa375029 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 7 Jul 2003 20:55:38 +0000 Subject: [PATCH] (ange-ftp-file-symlink-p): Use condition-case to catch error in ange-ftp-get-files. --- lisp/net/ange-ftp.el | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index ca5cb193bde..a315482fd1e 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -3371,11 +3371,17 @@ system TYPE.") ;; redefines both file-symlink-p and expand-file-name. (setq file (ange-ftp-expand-file-name file)) (if (ange-ftp-ftp-name file) - (let ((file-ent - (gethash - (ange-ftp-get-file-part file) - (ange-ftp-get-files (file-name-directory file))))) - (and (stringp file-ent) file-ent)) + (condition-case nil + (let ((file-ent + (gethash + (ange-ftp-get-file-part file) + (ange-ftp-get-files (file-name-directory file))))) + (and (stringp file-ent) file-ent)) + ;; If we can't read the parent directory, just assume + ;; this file is not a symlink. + ;; This makes it possible to access a directory that + ;; whose parent is not readable. + (file-error nil)) (ange-ftp-real-file-symlink-p file))) (defun ange-ftp-file-exists-p (name) -- 2.39.2