Commit de3daf06 authored by Paul Eggert's avatar Paul Eggert

Improve directory-access diagnostics

* 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.
parent a625ca5c
Pipeline #3145 passed with stage
in 56 minutes and 11 seconds
......@@ -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;
......@@ -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\
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"
"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);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment