diff --git a/src/ChangeLog b/src/ChangeLog index 838703578c6..2173778c29c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-06-21 Glenn Morris + + * charset.c (init_charset): Make lack of etc/charsets fatal. + 2012-06-11 Jan Djärv * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't diff --git a/src/charset.c b/src/charset.c index d287fc0bece..4e004f9634c 100644 --- a/src/charset.c +++ b/src/charset.c @@ -2304,11 +2304,15 @@ init_charset (void) tempdir = Fexpand_file_name (build_string ("charsets"), Vdata_directory); if (access (SSDATA (tempdir), 0) < 0) { - dir_warning ("Error: charsets directory (%s) does not exist.\n\ + /* 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#909), so better abort. */ + fprintf (stderr, "Error: charsets directory not found:\n\ +%s\n\ Emacs will not function correctly without the character map files.\n\ Please check your installation!\n", - tempdir); - /* TODO should this be a fatal error? (Bug#909) */ + SDATA (tempdir)); + exit (1); } Vcharset_map_path = Fcons (tempdir, Qnil);