# HG changeset patch # User Richard M. Stallman # Date 738709053 0 # Node ID a5e5e1e04331b5d46ae073b439cea81da2903f47 # Parent d1a31cee8fcae85a95e1daaa5050b357d6e460e3 Don't include termios.h directly--let systty.h do it. (shut_down_emacs): Maybe close X connection here. New arg NO_X. (Fkill_emacs): Don't close it here. Pass new arg. (fatal_error_signal): Pass new arg. diff -r d1a31cee8fca -r a5e5e1e04331 src/emacs.c --- a/src/emacs.c Sat May 29 20:54:27 1993 +0000 +++ b/src/emacs.c Sat May 29 20:57:33 1993 +0000 @@ -35,10 +35,6 @@ #include #endif -#ifdef HAVE_TERMIOS -#include -#endif - #ifdef APOLLO #ifndef APOLLO_SR10 #include @@ -134,7 +130,7 @@ { fatal_error_in_progress = 1; - shut_down_emacs (sig); + shut_down_emacs (sig, 0); } #ifdef VMS @@ -638,11 +634,6 @@ if (!NILP (Vrun_hooks) && !noninteractive) call1 (Vrun_hooks, intern ("kill-emacs-hook")); -#ifdef HAVE_X_WINDOWS - if (!noninteractive && EQ (Vwindow_system, intern ("x"))) - Fx_close_current_connection (); -#endif /* HAVE_X_WINDOWS */ - UNGCPRO; /* Is it really necessary to do this deassign @@ -652,7 +643,7 @@ #endif */ stuff_buffered_input (arg); - shut_down_emacs (0); + shut_down_emacs (0, 0); exit ((XTYPE (arg) == Lisp_Int) ? XINT (arg) #ifdef VMS @@ -676,8 +667,8 @@ This is called by fatal signal handlers, X protocol error handlers, and Fkill_emacs. */ void -shut_down_emacs (sig) - int sig; +shut_down_emacs (sig, no_x) + int sig, no_x; { /* If we are controlling the terminal, reset terminal modes */ #ifdef EMACS_HAVE_TTY_PGRP @@ -708,6 +699,11 @@ kill_vms_processes (); #endif +#ifdef HAVE_X_WINDOWS + if (!noninteractive && EQ (Vwindow_system, intern ("x")) && ! no_x) + Fx_close_current_connection (); +#endif /* HAVE_X_WINDOWS */ + #ifdef SIGIO /* There is a tendency for a SIGIO signal to arrive within exit, and cause a SIGHUP because the input descriptor is already closed. */