changeset 30706:b0c302c3b209

(insert-directory): Don't call access-file on directories on DOS and Windows.
author Eli Zaretskii <eliz@gnu.org>
date Wed, 09 Aug 2000 12:01:09 +0000
parents b37405134317
children 093d1cfc207f
files lisp/files.el
diffstat 1 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/files.el	Wed Aug 09 09:02:46 2000 +0000
+++ b/lisp/files.el	Wed Aug 09 12:01:09 2000 +0000
@@ -3560,8 +3560,20 @@
                                   file))))))))
 	  (if (/= result 0)
 	      ;; We get here if `insert-directory-program' failed.
-	      ;; Access the file to get a suitable error.
-	      (access-file file "Reading directory")
+	      ;; On non-Posix systems, we cannot open a directory, so
+	      ;; don't even try, because that will always result in
+	      ;; the ubiquitous "Access denied".  Instead, show them
+	      ;; the `ls' command line and let them guess what went
+	      ;; wrong.
+	      (if (and (file-directory-p file)
+		       (memq system-type '(ms-dos windows-nt)))
+		  (error
+		   "Reading directory: \"%s %s -- %s\" exited with status %s"
+		   insert-directory-program
+		   (if (listp switches) (concat switches) switches)
+		   file result)
+		;; Unix.  Access the file to get a suitable error.
+		(access-file file "Reading directory"))
 	    ;; Replace "total" with "used", to avoid confusion.
 	    ;; Add in the amount of free space.
 	    (save-excursion