From 311f32fe0f3eed80d81cead7b935b8f32552df05 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sat, 21 Aug 2004 21:50:06 +0000 Subject: [PATCH] (ange-ftp-hash-entry-exists-p) (ange-ftp-file-entry-p, ange-ftp-file-symlink-p): Since the code has been converted to use hashtables, the relation `nil=none' is no longer valid, as `nil' is not a hashtable. This patch tries to reduce the number of resulting errors. --- lisp/ChangeLog | 8 ++++++++ lisp/net/ange-ftp.el | 19 ++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5928601f7a3..73a098dd197 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2004-08-21 David Kastrup + + * net/ange-ftp.el (ange-ftp-hash-entry-exists-p) + (ange-ftp-file-entry-p, ange-ftp-file-symlink-p): Since the code + has been converted to use hashtables, the relation `nil=none' is + no longer valid, as `nil' is not a hashtable. This patch tries to + reduce the number of resulting errors. + 2004-08-21 John Paul Wallington * subr.el (process-kill-without-query): Made obsolete in diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 8e9d0bda5af..b9a7fc46148 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -1014,7 +1014,7 @@ or nil meaning don't change it." (defun ange-ftp-hash-entry-exists-p (key tbl) "Return whether there is an association for KEY in TABLE." - (not (eq (gethash key tbl 'unknown) 'unknown))) + (and tbl (not (eq (gethash key tbl 'unknown) 'unknown)))) (defun ange-ftp-hash-table-keys (tbl) "Return a sorted list of all the active keys in TABLE, as strings." @@ -2919,11 +2919,8 @@ NO-ERROR, if a listing for DIRECTORY cannot be obtained." ;; error message. (gethash "." ent)) ;; Child lookup failed, so try the parent. - (let ((table (ange-ftp-get-files dir 'no-error))) - ;; If the dir doesn't exist, don't use it as a hash table. - (and table - (ange-ftp-hash-entry-exists-p file - table))))))) + (ange-ftp-hash-entry-exists-p + file (ange-ftp-get-files dir 'no-error)))))) (defun ange-ftp-get-file-entry (name) "Given NAME, return the given file entry. @@ -3374,11 +3371,11 @@ system TYPE.") (setq file (ange-ftp-expand-file-name file)) (if (ange-ftp-ftp-name file) (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)) + (let ((ent (ange-ftp-get-files (file-name-directory file)))) + (and ent + (stringp (setq ent + (gethash (ange-ftp-get-file-part file) ent))) + 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 -- 2.39.2