diff options
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-08-27 07:08:39 +0000 |
---|---|---|
committer | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 2006-08-27 07:08:39 +0000 |
commit | d15b573ed5740f4b0f4803a1387668c4f540d88c (patch) | |
tree | 855ec9f165ac667da8d801079ea6772ad54eb87f | |
parent | f3c4a0e1d28dcf59bf9b59ba040b361ad44adad3 (diff) | |
download | emacs-d15b573ed5740f4b0f4803a1387668c4f540d88c.tar.gz |
(directory_files_internal_unwind, directory_files_internal)
(file_name_completion): Add BLOCK_INPUT around opendir/closedir.
-rw-r--r-- | src/dired.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/dired.c b/src/dired.c index 17a80a3ce4b..b469d682c41 100644 --- a/src/dired.c +++ b/src/dired.c @@ -134,7 +134,9 @@ directory_files_internal_unwind (dh) Lisp_Object dh; { DIR *d = (DIR *) XSAVE_VALUE (dh)->pointer; + BLOCK_INPUT; closedir (d); + UNBLOCK_INPUT; return Qnil; } @@ -196,7 +198,9 @@ directory_files_internal (directory, full, match, nosort, attrs, id_format) /* 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 @@ directory_files_internal (directory, full, match, nosort, attrs, id_format) } } + BLOCK_INPUT; closedir (d); + UNBLOCK_INPUT; /* Discard the unwind protect. */ specpdl_ptr = specpdl + count; @@ -508,7 +514,9 @@ file_name_completion (file, dirname, all_flag, ver_flag) { 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)); |