X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fdired-msw.c;h=791ed06a91c5c192dc4253eceb6a0068216c422f;hb=c1fa38c050ef3bd87e784dea66eba3cdac585536;hp=a65293743819c74245e4a101715d1e2a2f035b47;hpb=02f4d2761a98c5cb9d5b423d2361160a5d8c9ee4;p=chise%2Fxemacs-chise.git.1 diff --git a/src/dired-msw.c b/src/dired-msw.c index a652937..791ed06 100644 --- a/src/dired-msw.c +++ b/src/dired-msw.c @@ -173,6 +173,7 @@ mswindows_get_files (char *dirfile, int nowild, Lisp_Object pattern, int findex, len; char win32pattern[MAXNAMLEN+3]; HANDLE fh; + int errm; /* * Much of the following code and comments were taken from dired.c. @@ -214,6 +215,8 @@ mswindows_get_files (char *dirfile, int nowild, Lisp_Object pattern, */ findex = 0; fh = INVALID_HANDLE_VALUE; + errm = SetErrorMode (SEM_FAILCRITICALERRORS + | SEM_NOOPENFILEERRORBOX); while (1) { @@ -226,6 +229,7 @@ mswindows_get_files (char *dirfile, int nowild, Lisp_Object pattern, fh = FindFirstFile(win32pattern, &files[findex]); if (fh == INVALID_HANDLE_VALUE) { + SetErrorMode (errm); report_file_error ("Opening directory", list1(build_string(dirfile))); } @@ -239,6 +243,7 @@ mswindows_get_files (char *dirfile, int nowild, Lisp_Object pattern, break; } FindClose(fh); + SetErrorMode (errm); report_file_error ("Reading directory", list1(build_string(dirfile))); } @@ -277,6 +282,8 @@ mswindows_get_files (char *dirfile, int nowild, Lisp_Object pattern, *nfiles = findex; break; } + + SetErrorMode (errm); return (files); }