* src/charset.c (init_charset): Make lack of etc/charsets fatal.
authorGlenn Morris <rgm@gnu.org>
Thu, 21 Jun 2012 20:06:07 +0000 (16:06 -0400)
committerGlenn Morris <rgm@gnu.org>
Thu, 21 Jun 2012 20:06:07 +0000 (16:06 -0400)
src/ChangeLog
src/charset.c

index 8387035..2173778 100644 (file)
@@ -1,3 +1,7 @@
+2012-06-21  Glenn Morris  <rgm@gnu.org>
+
+       * charset.c (init_charset): Make lack of etc/charsets fatal.
+
 2012-06-11  Jan Djärv  <jan.h.d@swipnet.se>
 
        * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
index d287fc0..4e004f9 100644 (file)
@@ -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);