]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve directory-access diagnostics
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 16 Sep 2019 03:12:07 +0000 (20:12 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 16 Sep 2019 03:12:33 +0000 (20:12 -0700)
* src/callproc.c (init_callproc): Diagnose I/O errors,
access errors, etc. for the game directory.
* src/charset.c (init_charset): Improve quality of diagnostic
when the charsets directory has I/O errors, access errors, etc.

src/callproc.c
src/charset.c

index 4473b19a297cd8799ad2bb3c87e1a047693eaf2a..20e0bc50dab93ed1b3d0decb0327b1fbb9485dd1 100644 (file)
@@ -1598,6 +1598,8 @@ init_callproc (void)
       Lisp_Object path_game = build_unibyte_string (PATH_GAME);
       if (file_accessible_directory_p (path_game))
        gamedir = path_game;
+      else if (errno != ENOENT && errno != ENOTDIR)
+       dir_warning ("game dir", path_game);
     }
   Vshared_game_score_directory = gamedir;
 }
index 8c54381dc48e0163e1d7a0d6be7f421fd3c30ccb..93206aa29b0499ccea9999994aebec052a5340b1 100644 (file)
@@ -2292,14 +2292,18 @@ init_charset (void)
     {
       /* This used to be non-fatal (dir_warning), but it should not
          happen, and if it does sooner or later it will cause some
-         obscure problem (eg bug#6401), so better abort.  */
-      fprintf (stderr, "Error: charsets directory not found:\n\
-%s\n\
-Emacs will not function correctly without the character map files.\n%s\
-Please check your installation!\n",
-               SDATA (tempdir),
-               egetenv("EMACSDATA") ? "The EMACSDATA environment \
-variable is set, maybe it has the wrong value?\n" : "");
+         obscure problem (eg bug#6401), so better exit.  */
+      fprintf (stderr,
+              ("Error: %s: %s\n"
+               "Emacs will not function correctly "
+               "without the character map files.\n"
+               "%s"
+               "Please check your installation!\n"),
+              SDATA (tempdir), strerror (errno),
+              (egetenv ("EMACSDATA")
+               ? ("The EMACSDATA environment variable is set.  "
+                  "Maybe it has the wrong value?\n")
+               : ""));
       exit (1);
     }