Mercurial > emacs
changeset 48905:0d51b82bd792
(file_name_completion): Close directory on error
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 21 Dec 2002 17:46:38 +0000 |
parents | bf2ca45780be |
children | 141c4fba25c0 |
files | src/dired.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dired.c Sat Dec 21 17:06:54 2002 +0000 +++ b/src/dired.c Sat Dec 21 17:46:38 2002 +0000 @@ -523,6 +523,10 @@ if (!d) report_file_error ("Opening directory", Fcons (dirname, Qnil)); + record_unwind_protect (directory_files_internal_unwind, + Fcons (make_number (((unsigned long) d) >> 16), + make_number (((unsigned long) d) & 0xffff))); + /* Loop reading blocks */ /* (att3b compiler bug requires do a null comparison this way) */ while (1) @@ -716,10 +720,11 @@ } } closedir (d); + /* Discard the unwind protect. */ + specpdl_ptr = specpdl + count; } UNGCPRO; - bestmatch = unbind_to (count, bestmatch); if (all_flag || NILP (bestmatch)) { @@ -738,6 +743,8 @@ quit: if (d) closedir (d); + /* Discard the unwind protect. */ + specpdl_ptr = specpdl + count; Vquit_flag = Qnil; return Fsignal (Qquit, Qnil); }