]> git.eshelyaron.com Git - emacs.git/commitdiff
(syms_of_emacs): Define Lisp var system-configuration.
authorRichard M. Stallman <rms@gnu.org>
Thu, 23 Dec 1993 01:15:13 +0000 (01:15 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 23 Dec 1993 01:15:13 +0000 (01:15 +0000)
(memory_warning_signal): New function.
(main): Handle SIGDANGER, if defined.

src/emacs.c

index 94f58d890a37b2169fc9cfaeeb7ec9f29702d9f3..3133072603535a464b6b33a308e9dd294a5e0556 100644 (file)
@@ -71,8 +71,11 @@ Lisp_Object Vkill_emacs_hook;
   on subsequent starts.  */
 int initialized;
 
-/* Variable whose value is symbol giving operating system type */
+/* Variable whose value is symbol giving operating system type */
 Lisp_Object Vsystem_type;
+
+/* Variable whose value is string giving configuration built for.  */
+Lisp_Object Vsystem_configuration;
   
 /* If non-zero, emacs should not attempt to use an window-specific code,
    but instead should use the virtual terminal under which it was started */
@@ -151,6 +154,19 @@ fatal_error_signal (sig)
   kill (getpid (), fatal_error_code);
 #endif /* not VMS */
 }
+
+#ifdef SIGDANGER
+
+/* Handle bus errors, illegal instruction, etc. */
+SIGTYPE
+memory_warning_signal (sig)
+     int sig;
+{
+  signal (sig, memory_warning_signal);
+
+  malloc_warning ("Operating system warns that virtual memory is running low.\n");
+}
+#endif
 \f
 /* Code for dealing with Lisp access to the Unix command line */
 
@@ -447,8 +463,12 @@ main (argc, argv, envp)
       signal (SIGXFSZ, fatal_error_signal);
 #endif /* SIGXFSZ */
 
+#ifdef SIGDANGER
+      /* This just means available memory is getting low.  */
+      signal (SIGDANGER, memory_warning_signal);
+#endif
+
 #ifdef AIX
-      signal (SIGDANGER, fatal_error_signal);
       signal (20, fatal_error_signal);
       signal (21, fatal_error_signal);
       signal (22, fatal_error_signal);
@@ -897,6 +917,10 @@ syms_of_emacs ()
     "Value is symbol indicating type of operating system you are using.");
   Vsystem_type = intern (SYSTEM_TYPE);
 
+  DEFVAR_LISP ("system-configuration", &Vsystem_configuration,
+    "Value is string indicating configuration Emacs was built for.");
+  Vsystem_configuration = build_string (CONFIGURATION);
+
   DEFVAR_BOOL ("noninteractive", &noninteractive1,
     "Non-nil means Emacs is running without interactive terminal.");