diff src/dired.c @ 72538:85113179d2d1

(directory_files_internal_unwind, directory_files_internal) (file_name_completion): Add BLOCK_INPUT around opendir/closedir.
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Sun, 27 Aug 2006 07:08:39 +0000
parents 0b0685327de8
children 167dd59b5025 6823a91487f2
line wrap: on
line diff
--- a/src/dired.c	Sun Aug 27 07:08:31 2006 +0000
+++ b/src/dired.c	Sun Aug 27 07:08:39 2006 +0000
@@ -134,7 +134,9 @@
      Lisp_Object dh;
 {
   DIR *d = (DIR *) XSAVE_VALUE (dh)->pointer;
+  BLOCK_INPUT;
   closedir (d);
+  UNBLOCK_INPUT;
   return Qnil;
 }
 
@@ -196,7 +198,9 @@
   /* Now *bufp is the compiled form of MATCH; don't call anything
      which might compile a new regexp until we're done with the loop!  */
 
+  BLOCK_INPUT;
   d = opendir (SDATA (dirfilename));
+  UNBLOCK_INPUT;
   if (d == NULL)
     report_file_error ("Opening directory", Fcons (directory, Qnil));
 
@@ -321,7 +325,9 @@
 	}
     }
 
+  BLOCK_INPUT;
   closedir (d);
+  UNBLOCK_INPUT;
 
   /* Discard the unwind protect.  */
   specpdl_ptr = specpdl + count;
@@ -508,7 +514,9 @@
     {
       int inner_count = SPECPDL_INDEX ();
 
+      BLOCK_INPUT;
       d = opendir (SDATA (Fdirectory_file_name (encoded_dir)));
+      UNBLOCK_INPUT;
       if (!d)
 	report_file_error ("Opening directory", Fcons (dirname, Qnil));