diff src/sysdep.c @ 4759:aa5ed11f473b

Remove support for obsolete systems. See xemacs-patches message with ID <870180fe0911101613m6b8efa4bpf083fd9013950807@mail.gmail.com>.
author Jerry James <james@xemacs.org>
date Wed, 18 Nov 2009 08:49:14 -0700
parents b3d7b8b98acf
children 217abcf015c4
line wrap: on
line diff
--- a/src/sysdep.c	Wed Nov 18 22:44:28 2009 +0900
+++ b/src/sysdep.c	Wed Nov 18 08:49:14 2009 -0700
@@ -83,15 +83,6 @@
 
 #ifdef USG
 #include <sys/utsname.h>
-#if defined (TIOCGWINSZ) || defined (ISC4_0)
-#ifdef NEED_SIOCTL
-#include <sys/sioctl.h>
-#endif
-#ifdef NEED_PTEM_H
-#include <sys/stream.h>
-#include <sys/ptem.h>
-#endif
-#endif /* TIOCGWINSZ or ISC4_0 */
 #endif /* USG */
 
 /* LPASS8 is new in 4.3, and makes cbreak mode provide all 8 bits.  */
@@ -117,12 +108,6 @@
 
 #endif
 
-#ifdef AIXHFT
-static void hft_init (struct console *c);
-static void hft_reset (struct console *c);
-#include <sys/termio.h>
-#endif
-
 #ifdef HAVE_TTY
 #define USED_IF_TTY(decl) decl
 #else
@@ -231,17 +216,7 @@
      less danger of race conditions and some of the comments below
      don't apply.  This should be updated. */
 
-#if defined (NO_SUBPROCESSES)
-  while (1)
-    {
-      /* No need to be tricky like below; we can just call wait(). */
-      /* #### should figure out how to write a wait_allowing_quit().
-	 Since hardly any systems don't have subprocess support,
-	 however, there doesn't seem to be much point. */
-      if (wait (0) == pid)
-	return;
-    }
-#elif defined (HAVE_WAITPID)
+#if defined (HAVE_WAITPID)
   /* Note that, whenever any subprocess terminates (asynch. or synch.),
      the SIGCHLD handler will be called and it will call wait().  Thus
      we cannot just call wait() ourselves, and we can't block SIGCHLD
@@ -383,8 +358,6 @@
 
 #endif /* NEED_SYNC_PROCESS_CODE */
 
-#if !defined (NO_SUBPROCESSES)
-
 /*
  *	flush any pending output
  *      (may flush input as well; it does not matter the way we use it)
@@ -544,20 +517,11 @@
 
 #endif /* not HAVE_TERMIO */
   emacs_set_tty (out, &s, 0);
-
-#ifdef RTU
-  {
-    int zero = 0;
-    ioctl (out, FIOASYNC, &zero);
-  }
-#endif /* RTU */
 }
 #endif /* WIN32_NATIVE */
 
-#endif /* not NO_SUBPROCESSES */
-
 
-#if !defined (SIGTSTP) && !defined (USG_JOBCTRL)
+#if !defined (SIGTSTP)
 
 #define SIG_PARAM_TYPE int
 
@@ -589,112 +553,7 @@
     }
 }
 
-
-/* Fork a subshell.  */
-static void
-sys_subshell (void)
-{
-  Lisp_Object dir;
-  Ibyte *str = 0;
-  Bytecount len;
-  struct gcpro gcpro1;
-  Ibyte *sh = 0;
-  Extbyte *shext;
-
-  /* Use our buffer's default directory for the subshell.  */
-
-  /* Note: These calls are spread out to insure that the return values
-     of the calls (which may be newly-created strings) are properly
-     GC-protected. */
-
-  GCPRO1 (dir);
-
-  dir = current_buffer->directory;
-  /* If the current dir has no terminating slash, we'll get undesirable
-     results, so put the slash back. */
-  dir = Ffile_name_as_directory (dir);
-  dir = Funhandled_file_name_directory (dir);
-  dir = expand_and_dir_to_file (dir, Qnil);
-
-  str = alloca_ibytes (XSTRING_LENGTH (dir) + 2);
-  len = XSTRING_LENGTH (dir);
-  memcpy (str, XSTRING_DATA (dir), len);
-  if (!IS_ANY_SEP (str[len - 1]))
-    str[len++] = DIRECTORY_SEP;
-  str[len] = 0;
-
-  if (sh == 0)
-    sh = egetenv ("SHELL");
-  if (sh == 0)
-    sh = (Ibyte *) "sh";
-
-  PATHNAME_CONVERT_OUT (sh, shext);
-
-  UNGCPRO;
-
-#ifdef WIN32_NATIVE
-
-  if (str)
-    qxe_chdir (str);
-
-  /* Waits for process completion */
-  if (XEUNICODE_P ?
-      _wspawnlp (_P_WAIT, (const wchar_t *) shext,
-		 (const wchar_t *) shext, NULL) != 0 :
-      _spawnlp (_P_WAIT, shext, shext, NULL) != 0)
-    report_process_error ("Can't spawn subshell", Qunbound);
-  else
-    return; /* we're done, no need to wait for termination */
-
-#else /* not WIN32_NATIVE */
-
-  {
-    int pid;
-    struct save_signal saved_handlers[5];
-
-    saved_handlers[0].code = SIGINT;
-    saved_handlers[1].code = SIGQUIT;
-    saved_handlers[2].code = SIGTERM;
-#ifdef SIGIO
-    saved_handlers[3].code = SIGIO;
-    saved_handlers[4].code = 0;
-#else
-    saved_handlers[3].code = 0;
-#endif
-
-    pid = fork ();
-
-    if (pid == -1)
-      report_process_error ("Can't spawn subshell", Qunbound);
-    if (pid == 0)
-      {
-	if (str)
-	  qxe_chdir (str);
-
-#if !defined (NO_SUBPROCESSES)
-	close_process_descs (); /* Close Emacs's pipes/ptys */
-#endif
-
-#ifdef SET_EMACS_PRIORITY
-	if (emacs_priority != 0)
-	  nice (-emacs_priority); /* Give the new shell the default priority */
-#endif
-
-	execlp (shext, shext, 0);
-	retry_write (1, "Can't execute subshell", 22);
-	_exit (1);
-      }
-
-    save_signal_handlers (saved_handlers);
-    synch_process_alive = 1;
-    wait_for_termination (pid);
-    restore_signal_handlers (saved_handlers);
-  }
-
-#endif /* not WIN32_NATIVE */
-}
-
-#endif /* !defined (SIGTSTP) && !defined (USG_JOBCTRL) */
+#endif /* !defined (SIGTSTP) */
 
 
 
@@ -708,18 +567,10 @@
     EMACS_KILLPG (pgrp, SIGTSTP);
   }
 
-#elif defined (USG_JOBCTRL)
+#else /* No SIGTSTP */
   /* If you don't know what this is don't mess with it */
   ptrace (0, 0, 0, 0);		/* set for ptrace - caught by csh */
   kill (getpid (), SIGQUIT);
-
-#else /* No SIGTSTP or USG_JOBCTRL */
-
-  /* On a system where suspending is not implemented,
-     instead fork a subshell and let it talk directly to the terminal
-     while we wait.  */
-  sys_subshell ();
-
 #endif
 }
 
@@ -734,8 +585,7 @@
 		     )
 {
     /* I don't doubt that it is possible to suspend processes on
-     * VMS machines or thost that use USG_JOBCTRL,
-     * but I don't know how to do it, so...
+     * VMS machines, but I don't know how to do it, so...
      */
 #if defined (SIGTSTP)
     kill(process, SIGTSTP);
@@ -885,15 +735,6 @@
 #endif
 	   )
 {
-#ifdef IBMRTAIX
-  /* On AIX, the parent gets SIGHUP when a pty attached child dies.  So, we */
-  /* ignore SIGHUP once we've started a child on a pty.  Note that this may */
-  /* cause EMACS not to die when it should, i.e., when its own controlling  */
-  /* tty goes away.  I've complained to the AIX developers, and they may    */
-  /* change this behavior, but I'm not going to hold my breath.             */
-  EMACS_SIGNAL (SIGHUP, SIG_IGN);
-#endif /* IBMRTAIX */
-
 #ifdef TIOCPKT
   /* In some systems (Linux through 2.0.0, at least), packet mode doesn't
      get cleared when a pty is closed, so we need to clear it here.
@@ -941,11 +782,6 @@
     sg.c_cflag = B9600;
     tcgetattr (input_fd, &sg);
     DEVICE_TTY_DATA (d)->ospeed = cfgetospeed (&sg);
-# if defined (USE_GETOBAUD) && defined (getobaud)
-    /* m88k-motorola-sysv3 needs this (ghazi@noc.rutgers.edu) 9/1/94. */
-    if (DEVICE_TTY_DATA (d)->ospeed == 0)
-      DEVICE_TTY_DATA (d)->ospeed = getobaud (sg.c_cflag);
-# endif
 #elif defined (HAVE_TERMIO)
     struct termio sg;
 
@@ -1009,12 +845,7 @@
   }
 #elif defined (F_SETOWN) && !defined (F_SETOWN_BUG)
   DEVICE_OLD_FCNTL_OWNER (d) = fcntl (filedesc, F_GETOWN, 0);
-# ifdef F_SETOWN_SOCK_NEG
-  /* stdin is a socket here */
-  fcntl (filedesc, F_SETOWN, -getpid ());
-# else
   fcntl (filedesc, F_SETOWN, getpid ());
-# endif
 #endif
 }
 
@@ -1069,7 +900,7 @@
      particular need to switch. --ben
   */
 
-#if defined (I_SETSIG) && !defined (HPUX10) && !defined (LINUX)
+#if defined (I_SETSIG) && !defined (HPUX11) && !defined (LINUX)
   {
     int events = 0;
     ioctl (filedesc, I_GETSIG, &events);
@@ -1109,10 +940,6 @@
     ioctl (filedesc, FIOASYNC, &on);
   }
 #endif
-
-#if defined (_CX_UX) /* #### Is this crap necessary? */
-  EMACS_UNBLOCK_SIGNAL (SIGIO);
-#endif
 }
 
 static void
@@ -1120,7 +947,7 @@
 {
   int filedesc = DEVICE_INFD (d);
 
-#if defined (I_SETSIG) && !defined (HPUX10) && !defined (LINUX)
+#if defined (I_SETSIG) && !defined (HPUX11) && !defined (LINUX)
   {
     int events = 0;
     ioctl (filedesc, I_GETSIG, &events);
@@ -1465,6 +1292,7 @@
 	/* We cannot use memcmp on the whole structure here because under
 	 * aix386 the termios structure has some reserved field that may
 	 * not be filled in.
+	 * FIXME: Now that aix386 is gone, can we memcmp the whole structure?
 	 */
 	if (   new_.c_iflag == settings->main.c_iflag
 	    && new_.c_oflag == settings->main.c_oflag
@@ -1511,18 +1339,6 @@
 
 #ifdef HAVE_TTY
 
-/* This may also be defined in stdio,
-   but if so, this does no harm,
-   and using the same name avoids wasting the other one's space.  */
-
-#if ((defined(USG) || defined(DGUX)) && !defined(__STDC__))
-char _sobuf[BUFSIZ+8];
-#elif (defined(USG) && !defined(LINUX) && !defined(_SCO_DS)) || defined(IRIX5)
-extern unsigned char _sobuf[BUFSIZ+8];
-#else
-char _sobuf[BUFSIZ];
-#endif
-
 #if defined (TIOCGLTC) && defined (HAVE_LTCHARS) /* HAVE_LTCHARS */
 static struct ltchars new_ltchars = {-1,-1,-1,-1,-1,-1};
 #endif
@@ -1537,15 +1353,9 @@
 {
   struct emacs_tty tty;
   int input_fd;
-#if defined (IBMR2AIX) && defined (AIXHFT)
-  int output_fd;
-#endif
   struct console *con = XCONSOLE (DEVICE_CONSOLE (d));
 
   input_fd = CONSOLE_TTY_DATA (con)->infd;
-#if defined (IBMR2AIX) && defined (AIXHFT)
-  output_fd = CONSOLE_TTY_DATA (con)->outfd;
-#endif
 
   emacs_get_tty (input_fd, &CONSOLE_TTY_DATA (con)->old_tty);
   tty = CONSOLE_TTY_DATA (con)->old_tty;
@@ -1555,10 +1365,6 @@
 #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS)
   /* after all those years... */
   con->tty_erase_char = make_char (tty.main.c_cc[VERASE]);
-#ifdef DGUX
-  /* This allows meta to be sent on 8th bit.  */
-  tty.main.c_iflag &= ~INPCK;	/* don't check input for parity */
-#endif
   tty.main.c_iflag |= (IGNBRK);	/* Ignore break condition */
   tty.main.c_iflag &= ~ICRNL;	/* Disable map of CR to NL on input */
 #ifdef ISTRIP
@@ -1653,11 +1459,6 @@
 #ifdef VSTOP
   tty.main.c_cc[VSTOP] = _POSIX_VDISABLE;
 #endif /* VSTOP */
-#ifdef SET_LINE_DISCIPLINE
-  /* Need to explicitly request TERMIODISC line discipline or
-     Ultrix's termios does not work correctly.  */
-  tty.main.c_line = SET_LINE_DISCIPLINE;
-#endif
 
 #ifdef AIX
 #ifndef IBMR2AIX
@@ -1705,16 +1506,6 @@
 
   tty.lmode = LDECCTQ | LLITOUT | LPASS8 | LNOFLSH |
     CONSOLE_TTY_DATA (con)->old_tty.lmode;
-
-#if defined (ultrix) || defined (__bsdi__)
-  /* Under Ultrix 4.2a, leaving this out doesn't seem to hurt
-     anything, and leaving it in breaks the meta key.  Go figure.  */
-  /* Turning off ONLCR is enough under BSD/386.  Leave the general
-     output post-processing flag alone since for some reason it
-     doesn't get reset after XEmacs goes away. */
-  tty.lmode &= ~LLITOUT;
-#endif
-
 #endif /* HAVE_TCHARS */
 #endif /* not HAVE_TERMIO */
 
@@ -1734,37 +1525,12 @@
   if (!TTY_FLAGS (con).flow_control) ioctl (input_fd, TIOCSTART, 0);
 #endif
 
-#if defined (HAVE_TERMIOS) || defined (HPUX9)
+#if defined (HAVE_TERMIOS)
 #ifdef TCOON
   if (!TTY_FLAGS (con).flow_control) tcflow (input_fd, TCOON);
 #endif
 #endif
-#ifdef AIXHFT
-  hft_init (con);
-#ifdef IBMR2AIX
-  {
-    /* IBM's HFT device usually thinks a ^J should be LF/CR.
-       We need it to be only LF.  This is the way that is
-       done. */
-    struct termio tty;
-
-    if (ioctl (output_fd, HFTGETID, &tty) != -1)
-      retry_write (output_fd, "\033[20l", 5);
-  }
-#endif
-#endif
-
-#if 0 /* We do our own buffering with lstreams. */
-#ifdef _IOFBF
-  /* This symbol is defined on recent USG systems.
-     Someone says without this call USG won't really buffer the file
-     even with a call to setbuf. */
-  setvbuf (CONSOLE_TTY_DATA (con)->outfd, (char *) _sobuf, _IOFBF,
-	   sizeof (_sobuf));
-#else
-  setbuf (CONSOLE_TTY_DATA (con)->outfd, (char *) _sobuf);
-#endif
-#endif
+
   set_tty_modes (con);
 }
 
@@ -1931,28 +1697,17 @@
 static void
 tty_reset_sys_modes_on_device (struct device *d)
 {
-#if defined (BSD) || (defined (IBMR2AIX) && defined (AIXHFT))
+#if defined (BSD)
   int output_fd;
 #endif
   int input_fd;
   struct console *con = XCONSOLE (DEVICE_CONSOLE (d));
 
   input_fd = CONSOLE_TTY_DATA (con)->infd;
-#if defined (BSD) || (defined (IBMR2AIX) && defined (AIXHFT))
+#if defined (BSD)
   output_fd = CONSOLE_TTY_DATA (con)->outfd;
 #endif
 
-#if defined (IBMR2AIX) && defined (AIXHFT)
-  {
-    /* HFT consoles normally use ^J as a LF/CR.  We forced it to
-       do the LF only.  Now, we need to reset it. */
-    struct termio tty;
-
-    if (ioctl (output_fd, HFTGETID, &tty) != -1)
-      retry_write (output_fd, "\033[20h", 5);
-  }
-#endif
-
   tty_redisplay_shutdown (con);
   /* reset_tty_modes() flushes the connection at its end. */
   reset_tty_modes (con);
@@ -1965,18 +1720,6 @@
   while (emacs_set_tty (input_fd, &CONSOLE_TTY_DATA (con)->old_tty, 0)
 	 < 0 && errno == EINTR)
     ;
-
-#ifdef SET_LINE_DISCIPLINE
-  /* Ultrix's termios *ignores* any line discipline except TERMIODISC.
-     A different old line discipline is therefore not restored, yet.
-     Restore the old line discipline by hand.  */
-  ioctl (input_fd, TIOCSETD, &old_tty.main.c_line);
-#endif
-
-#ifdef AIXHFT
-  hft_reset (con);
-#endif
-
 }
 
 #endif /* HAVE_TTY */
@@ -2040,118 +1783,6 @@
 }
 
 
-/* ------------------------------------------------------ */
-/*                 extra TTY stuff under AIX              */
-/* ------------------------------------------------------ */
-
-#ifdef AIXHFT
-
-/* Called from init_sys_modes.  */
-static void
-hft_init (struct console *con)
-{
-  int junk;
-  int input_fd;
-
-  assert (CONSOLE_TTY_P (con));
-  input_fd = CONSOLE_TTY_DATA (con)->infd;
-
-  /* If we're not on an HFT we shouldn't do any of this.  We determine
-     if we are on an HFT by trying to get an HFT error code.  If this
-     call fails, we're not on an HFT. */
-#ifdef IBMR2AIX
-  if (ioctl (input_fd, HFQERROR, &junk) < 0)
-    return;
-#else /* not IBMR2AIX */
-  if (ioctl (input_fd, HFQEIO, 0) < 0)
-    return;
-#endif /* not IBMR2AIX */
-
-  /* On AIX the default hft keyboard mapping uses backspace rather than delete
-     as the rubout key's ASCII code.  Here this is changed.  The bug is that
-     there's no way to determine the old mapping, so in reset_one_console
-     we need to assume that the normal map had been present.  Of course, this
-     code also doesn't help if on a terminal emulator which doesn't understand
-     HFT VTD's. */
-  {
-    struct hfbuf buf;
-    struct hfkeymap keymap;
-
-    buf.hf_bufp = (char *)&keymap;
-    buf.hf_buflen = sizeof (keymap);
-    keymap.hf_nkeys = 2;
-    keymap.hfkey[0].hf_kpos = 15;
-    keymap.hfkey[0].hf_kstate = HFMAPCHAR | HFSHFNONE;
-#ifdef IBMR2AIX
-    keymap.hfkey[0].hf_keyidh = '<';
-#else /* not IBMR2AIX */
-    keymap.hfkey[0].hf_page = '<';
-#endif /* not IBMR2AIX */
-    keymap.hfkey[0].hf_char = 127;
-    keymap.hfkey[1].hf_kpos = 15;
-    keymap.hfkey[1].hf_kstate = HFMAPCHAR | HFSHFSHFT;
-#ifdef IBMR2AIX
-    keymap.hfkey[1].hf_keyidh = '<';
-#else /* not IBMR2AIX */
-    keymap.hfkey[1].hf_page = '<';
-#endif /* not IBMR2AIX */
-    keymap.hfkey[1].hf_char = 127;
-    hftctl (input_fd, HFSKBD, &buf);
-  }
-  /* #### Should probably set a console TTY flag here. */
-#if 0
-  /* The HFT system on AIX doesn't optimize for scrolling, so it's really ugly
-     at times. */
-  line_ins_del_ok = char_ins_del_ok = 0;
-#endif /* 0 */
-}
-
-/* Reset the rubout key to backspace. */
-
-static void
-hft_reset (struct console *con)
-{
-  struct hfbuf buf;
-  struct hfkeymap keymap;
-  int junk;
-  int input_fd;
-
-  assert (CONSOLE_TTY_P (con));
-  input_fd = CONSOLE_TTY_DATA (con)->infd;
-
-#ifdef IBMR2AIX
-  if (ioctl (input_fd, HFQERROR, &junk) < 0)
-    return;
-#else /* not IBMR2AIX */
-  if (ioctl (input_fd, HFQEIO, 0) < 0)
-    return;
-#endif /* not IBMR2AIX */
-
-  buf.hf_bufp = (char *)&keymap;
-  buf.hf_buflen = sizeof (keymap);
-  keymap.hf_nkeys = 2;
-  keymap.hfkey[0].hf_kpos = 15;
-  keymap.hfkey[0].hf_kstate = HFMAPCHAR | HFSHFNONE;
-#ifdef IBMR2AIX
-  keymap.hfkey[0].hf_keyidh = '<';
-#else /* not IBMR2AIX */
-  keymap.hfkey[0].hf_page = '<';
-#endif /* not IBMR2AIX */
-  keymap.hfkey[0].hf_char = 8;
-  keymap.hfkey[1].hf_kpos = 15;
-  keymap.hfkey[1].hf_kstate = HFMAPCHAR | HFSHFSHFT;
-#ifdef IBMR2AIX
-  keymap.hfkey[1].hf_keyidh = '<';
-#else /* not IBMR2AIX */
-  keymap.hfkey[1].hf_page = '<';
-#endif /* not IBMR2AIX */
-  keymap.hfkey[1].hf_char = 8;
-  hftctl (input_fd, HFSKBD, &buf);
-}
-
-#endif /* AIXHFT */
-
-
 /************************************************************************/
 /*                    limits of text/data segments                      */
 /************************************************************************/
@@ -2446,11 +2077,6 @@
      systems.  However, I don't want to deal with the potential
      evil ramifications of this at this point. */
 
-#ifdef DGUX
-  /* This gets us restartable system calls for efficiency.
-     The "else" code will work as well. */
-  return (berk_signal (signal_number, action));
-#else
   sigemptyset (&new_action.sa_mask);
   new_action.sa_handler = action;
 #if defined (SA_RESTART)
@@ -2463,7 +2089,6 @@
 #endif
   sigaction (signal_number, &new_action, &old_action);
   return (old_action.sa_handler);
-#endif /* DGUX */
 
 #else /* not 0 */
 
@@ -2511,7 +2136,7 @@
 
 #ifndef HAVE_STRERROR
 
-#if !defined(NeXT) && !defined(__alpha) && !defined(MACH) && !defined(LINUX) && !defined(IRIX) && !defined(__NetBSD__)
+#if !defined(__alpha) && !defined(MACH) && !defined(LINUX) && !defined(IRIX) && !defined(__NetBSD__)
 /* Linux added here by Raymond L. Toy <toy@alydar.crd.ge.com> for XEmacs. */
 /* Irix added here by gparker@sni-usa.com for XEmacs. */
 /* NetBSD added here by James R Grinter <jrg@doc.ic.ac.uk> for XEmacs */
@@ -3900,12 +3525,6 @@
     DEFER_GETTEXT ("LAN I/O interrupt"),		/* 25 SIGAIO */
     DEFER_GETTEXT ("PTY I/O interrupt"),		/* 26 SIGPTY */
     DEFER_GETTEXT ("I/O intervention required"),	/* 27 SIGIOINT */
-#ifdef AIXHFT
-    "HFT grant",			/* 28 SIGGRANT */
-    "HFT retract",			/* 29 SIGRETRACT */
-    "HFT sound done",			/* 30 SIGSOUND */
-    "HFT input ready",			/* 31 SIGMSG */
-#endif
     /* $$####end-snarf */
     0
   };
@@ -3959,79 +3578,6 @@
   };
 #endif /* not AIX */
 #endif /* USG */
-#ifdef DGUX
-const char *sys_siglist[NSIG + 1] =
-  {
-    /* $$####begin-snarf */
-    "null signal",			 /*  0 SIGNULL   */
-    "hangup",				 /*  1 SIGHUP    */
-    "interrupt",	       		 /*  2 SIGINT    */
-    "quit",				 /*  3 SIGQUIT   */
-    "illegal instruction",		 /*  4 SIGILL    */
-    "trace trap",			 /*  5 SIGTRAP   */
-    "abort termination",		 /*  6 SIGABRT   */
-    "SIGEMT",				 /*  7 SIGEMT    */
-    "floating point exception",		 /*  8 SIGFPE    */
-    "kill",				 /*  9 SIGKILL   */
-    "bus error",			 /* 10 SIGBUS    */
-    "segmentation violation",		 /* 11 SIGSEGV   */
-    "bad argument to system call",	 /* 12 SIGSYS    */
-    "write on a pipe with no reader",	 /* 13 SIGPIPE   */
-    "alarm clock",			 /* 14 SIGALRM   */
-    "software termination signal",	 /* 15 SIGTERM   */
-    "user defined signal 1",		 /* 16 SIGUSR1   */
-    "user defined signal 2",		 /* 17 SIGUSR2   */
-    "child stopped or terminated",	 /* 18 SIGCLD    */
-    "power-fail restart",		 /* 19 SIGPWR    */
-    "window size changed",		 /* 20 SIGWINCH  */
-    "undefined",			 /* 21           */
-    "pollable event occurred",		 /* 22 SIGPOLL   */
-    "sendable stop signal not from tty", /* 23 SIGSTOP   */
-    "stop signal from tty",		 /* 24 SIGSTP    */
-    "continue a stopped process",	 /* 25 SIGCONT   */
-    "attempted background tty read",	 /* 26 SIGTTIN   */
-    "attempted background tty write",	 /* 27 SIGTTOU   */
-    "undefined",			 /* 28           */
-    "undefined",			 /* 29           */
-    "undefined",			 /* 30           */
-    "undefined",			 /* 31           */
-    "undefined",			 /* 32           */
-    "socket (TCP/IP) urgent data arrival", /* 33 SIGURG    */
-    "I/O is possible",			 /* 34 SIGIO     */
-    "exceeded cpu time limit",		 /* 35 SIGXCPU   */
-    "exceeded file size limit",		 /* 36 SIGXFSZ   */
-    "virtual time alarm",		 /* 37 SIGVTALRM */
-    "profiling time alarm",		 /* 38 SIGPROF   */
-    "undefined",			 /* 39           */
-    "file record locks revoked",	 /* 40 SIGLOST   */
-    "undefined",			 /* 41           */
-    "undefined",			 /* 42           */
-    "undefined",			 /* 43           */
-    "undefined",			 /* 44           */
-    "undefined",			 /* 45           */
-    "undefined",			 /* 46           */
-    "undefined",			 /* 47           */
-    "undefined",			 /* 48           */
-    "undefined",			 /* 49           */
-    "undefined",			 /* 50           */
-    "undefined",			 /* 51           */
-    "undefined",			 /* 52           */
-    "undefined",			 /* 53           */
-    "undefined",			 /* 54           */
-    "undefined",			 /* 55           */
-    "undefined",			 /* 56           */
-    "undefined",			 /* 57           */
-    "undefined",			 /* 58           */
-    "undefined",			 /* 59           */
-    "undefined",			 /* 60           */
-    "undefined",			 /* 61           */
-    "undefined",			 /* 62           */
-    "undefined",			 /* 63           */
-    "notification message in mess. queue", /* 64 SIGDGNOTIFY */
-    /* $$####end-snarf */
-    0
-  };
-#endif /* DGUX */
 
 #endif /* (!defined(HAVE_DECL_SYS_SIGLIST) || !HAVE_DECL_SYS_SIGLIST ) && !defined (HAVE_SYS_SIGLIST) */
 
@@ -4044,7 +3590,7 @@
 
 #include <dirent.h>
 
-#if defined(BROKEN_CLOSEDIR) || !defined(HAVE_CLOSEDIR)
+#if !defined(HAVE_CLOSEDIR)
 int
 closedir (DIR *dirp)  /* stream from opendir */
 {
@@ -4061,7 +3607,7 @@
   xfree (dirp, DIR *);
   return (rtnval);
 }
-#endif /* BROKEN_CLOSEDIR or not HAVE_CLOSEDIR */
+#endif /* not HAVE_CLOSEDIR */
 #endif /* SYSV_SYSTEM_DIR */
 
 #ifdef NONSYSTEM_DIR_LIBRARY