xterm-72.patch.txt

XFree86 3.9Ag - xterm patch #72 - 1998/4/17 - T.Dickey <dickey@clark.net>
 
This is a patch from Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>,
which I have cleaned up a little, and integrated into the configure script.
 
From his description:
 
 This set of patches is the latest incarnation of patches originally 
written by Ian! D Allen, then of the University of Waterloo and now of 
who knows where; I have been carrying them forward from xterm to xterm 
ever since about X11R4.  What they do is add an option so that when an 
iconified xterm receives output it prepends '*** ' to its icon title 
and (optionally) beeps the bell; deiconifying the xterm removes the 
'*** '. Over the years I've found this to be incredibly convenient for 
monitoring all sorts of low-activity things. 
 
# ------------------------------------------------------------------------------
#  INSTALL        |    2 
#  charproc.c     |  216 +++++++++++++++++++--------
#  configure      |  440 ++++++++++++++++++++++++++++++-------------------------
#  configure.in   |   18 ++
#  data.c         |   12 +
#  data.h         |    7 
#  main.c         |  137 +++++++++++------
#  misc.c         |   69 +++++---
#  os2main.c      |  136 +++++++++++------
#  ptyx.h         |    8 +
#  version.h      |    2 
#  xterm.log.html |   18 ++
#  xterm.man      |   36 ++++
#  13 files changed, 726 insertions, 375 deletions
# ------------------------------------------------------------------------------
Index: INSTALL
--- xterm-71+/INSTALL   Mon Mar 23 00:53:54 1998
+++ xterm-72/INSTALL    Fri Apr 17 19:52:48 1998
@@ -44,8 +44,10 @@
   --disable-imake         disable use of imake for definitions (default: on)
   --disable-input-method  disable input-method (default: on)
   --disable-rightbar      disable right-scrollbar support (default: on)
+  --disable-samename      disable check for redundant name-change (default: on)
   --disable-tek4014       disable tek4014 emulation (default: on)
   --disable-vt52          disable VT52 emulation (default: on)
+  --disable-ziconbeep     disable -ziconbeep option (default: on)
   --enable-logfile-exec   enable exec'd logfile filter (default: off)
   --enable-logging        enable logging (default: off)
   --enable-trace          test: set to enable debugging traces (default: off)
Index: charproc.c
--- xterm-71+/charproc.c        Sun Apr 12 19:46:23 1998
+++ xterm-72/charproc.c Fri Apr 17 19:33:16 1998
@@ -4,7 +4,7 @@
  */
 
 /*
- 
+
 Copyright (c) 1988  X Consortium
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -96,7 +96,7 @@
 #else
 extern char *malloc();
 extern char *realloc();
-extern void exit(); 
+extern void exit();
 #endif
 #ifndef NO_ACTIVE_ICON
 #include <X11/Shell.h>
@@ -341,15 +341,18 @@
 static jmp_buf vtjmpbuf;
 
 /* event handlers */
-static void HandleBell PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
-static void HandleIgnore PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
-static void HandleKeymapChange PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
-static void HandleSetFont PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
-static void HandleVisualBell PROTO((Widget w, XEvent *event, String *params, Cardinal *param_count));
+static void HandleBell PROTO_XT_ACTIONS_ARGS;
+static void HandleIgnore PROTO_XT_ACTIONS_ARGS;
+static void HandleKeymapChange PROTO_XT_ACTIONS_ARGS;
+static void HandleSetFont PROTO_XT_ACTIONS_ARGS;
+static void HandleVisualBell PROTO_XT_ACTIONS_ARGS;
+#if OPT_ZICONBEEP
+static void HandleMapUnmap PROTO_XT_EV_HANDLER_ARGS;
+#endif
 
 /*
- * NOTE: VTInitialize zeros out the entire ".screen" component of the 
- * XtermWidget, so make sure to add an assignment statement in VTInitialize() 
+ * NOTE: VTInitialize zeros out the entire ".screen" component of the
+ * XtermWidget, so make sure to add an assignment statement in VTInitialize()
  * for each new ".screen" field added to this resource list.
  */
 
@@ -372,7 +375,7 @@
 #endif
 
 /*
- * Warning, the following must be kept under 1024 bytes or else some 
+ * Warning, the following must be kept under 1024 bytes or else some
  * compilers (particularly AT&T 6386 SVR3.2) will barf).  Workaround is to
  * declare a static buffer and copy in at run time (the the Athena text widget
  * does).  Yuck.
@@ -407,7 +410,7 @@
                        <BtnDown>:bell(0) \
 ";
 
-static XtActionsRec actionsList[] = { 
+static XtActionsRec actionsList[] = {
     { "bell",            HandleBell },
     { "create-menu",     HandleCreateMenu },
     { "ignore",                  HandleIgnore },
@@ -529,13 +532,13 @@
         XtRInt, (XtPointer) &defaultBlinkTime},
 #endif
 {XtNeightBitInput, XtCEightBitInput, XtRBoolean, sizeof(Boolean),
-       XtOffsetOf(XtermWidgetRec, screen.input_eight_bits), 
+       XtOffsetOf(XtermWidgetRec, screen.input_eight_bits),
        XtRBoolean, (XtPointer) &defaultTRUE},
 {XtNeightBitOutput, XtCEightBitOutput, XtRBoolean, sizeof(Boolean),
-       XtOffsetOf(XtermWidgetRec, screen.output_eight_bits), 
+       XtOffsetOf(XtermWidgetRec, screen.output_eight_bits),
        XtRBoolean, (XtPointer) &defaultTRUE},
 {XtNeightBitControl, XtCEightBitControl, XtRBoolean, sizeof(Boolean),
-       XtOffsetOf(XtermWidgetRec, screen.control_eight_bits), 
+       XtOffsetOf(XtermWidgetRec, screen.control_eight_bits),
        XtRBoolean, (XtPointer) &defaultFALSE},
 {XtNgeometry,XtCGeometry, XtRString, sizeof(char *),
        XtOffsetOf(XtermWidgetRec, misc.geo_metry),
@@ -806,7 +809,7 @@
 };
 
 static void VTClassInit PROTO((void));
-static void VTInitialize PROTO((Widget wrequest, Widget wnew, ArgList args, Cardinal *num_args)); 
+static void VTInitialize PROTO((Widget wrequest, Widget wnew, ArgList args, Cardinal *num_args));
 static void VTRealize PROTO((Widget w, XtValueMask *valuemask, XSetWindowAttributes *values));
 static void VTExpose PROTO((Widget w, XEvent *event, Region region));
 static void VTResize PROTO((Widget w));
@@ -819,7 +822,7 @@
 
 static WidgetClassRec xtermClassRec = {
   {
-/* core_class fields */        
+/* core_class fields */
     /* superclass        */    (WidgetClass) &widgetClassRec,
     /* class_name        */    "VT100",
     /* widget_size       */    sizeof(XtermWidgetRec),
@@ -827,7 +830,7 @@
     /* class_part_initialize */ NULL,
     /* class_inited       */   FALSE,
     /* initialize        */    VTInitialize,
-    /* initialize_hook    */    NULL,                          
+    /* initialize_hook    */    NULL,
     /* realize           */    VTRealize,
     /* actions           */    actionsList,
     /* num_actions       */    XtNumber(actionsList),
@@ -1455,7 +1458,7 @@
                                    reply.a_param[count++] = 2; /* AVO */
                                    break;
                                }
-                           } else {    
+                           } else {
                                reply.a_param[count++] = 60 + screen->terminal_id/100;
                                reply.a_param[count++] = 1; /* 132-columns */
                                /* reply.a_param[count++] = 2; NO printer */
@@ -2276,7 +2279,7 @@
            int start = v_bufstr - v_buffer;
            int size = v_bufptr - v_buffer;
            int allocsize = size ? size : 1;
-           
+
            v_buffer = realloc(v_buffer, allocsize);
            if (v_buffer) {
                v_bufstr = v_buffer + start;
@@ -2421,7 +2424,7 @@
            if (errno != EINTR)
                SysError(ERROR_SELECT);
            continue;
-       } 
+       }
 
        /* if there is room to write more data to the pty, go write more */
        if (FD_ISSET (screen->respond, &write_mask)) {
@@ -2430,7 +2433,7 @@
 
        /* if there are X events already in our queue, it
           counts as being readable */
-       if (XtAppPending(app_con) || 
+       if (XtAppPending(app_con) ||
            FD_ISSET (ConnectionNumber(screen->display), &select_mask)) {
            xevents();
        }
@@ -2481,7 +2484,7 @@
                                        *s = XMC_GLITCH+1;
        })
 
-       len = ptr - buf; 
+       len = ptr - buf;
        ptr = buf;
        while (len > 0) {
                n = screen->max_col - screen->cur_col +1;
@@ -2513,7 +2516,21 @@
                ptr += n;
        }
 }
- 
+
+#if OPT_ZICONBEEP
+/* Flag icon name with "*** "  on window output when iconified.
+ * I'd like to do something like reverse video, but I don't
+ * know how to tell this to window managers in general.
+ *
+ * mapstate can be IsUnmapped, !IsUnmapped, or -1;
+ * -1 means no change; the other two are set by event handlers
+ * and indicate a new mapstate.  !IsMapped is done in the handler.
+ * we worry about IsUnmapped when output occurs.  -IAN!
+ */
+static int mapstate = -1;
+#include <X11/Shell.h>
+#endif /* OPT_ZICONBEEP */
+
 /*
  * write a string str of length len onto the screen at
  * the current cursor position.  update cursor position.
@@ -2527,7 +2544,7 @@
        unsigned flags  = term->flags;
        int     fg_bg = makeColorPair(term->cur_foreground, term->cur_background);
        GC      currentGC;
- 
+
        TRACE(("WriteText (%2d,%2d) (%d) %3d:%.*s\n",
                screen->cur_row,
                screen->cur_col,
@@ -2576,8 +2593,71 @@
        }
        ScreenWrite(screen, str, flags, fg_bg, len);
        CursorForward(screen, len);
+#if OPT_ZICONBEEP
+       /* Flag icon name with "***"  on window output when iconified.
+        */
+       if( zIconBeep && mapstate == IsUnmapped && ! zIconBeep_flagged) {
+           static char *icon_name;
+           static Arg args[] = {
+               { XtNiconName, (XtArgVal) &icon_name }
+           };
+
+           icon_name = NULL;
+           XtGetValues(toplevel,args,XtNumber(args));
+
+           if( icon_name != NULL ) {
+               zIconBeep_flagged = True;
+               Changename(icon_name);
+           }
+           if (zIconBeep > 0)
+               XBell( XtDisplay(toplevel), zIconBeep );
+       }
+       mapstate = -1;
+#endif /* OPT_ZICONBEEP */
+}
+
+#if OPT_ZICONBEEP
+/* Flag icon name with "***"  on window output when iconified.
+ */
+static void HandleMapUnmap(w, closure, event, cont )
+    Widget w GCC_UNUSED;
+    XtPointer closure GCC_UNUSED;
+    XEvent *event;
+    Boolean *cont GCC_UNUSED;
+{
+    static char *icon_name;
+    static Arg args[] = {
+            { XtNiconName, (XtArgVal) &icon_name }
+    };
+
+    TRACE((stderr,"HandleMapUnmap event %d\n", event->type))
+
+    switch( event->type ){
+    case MapNotify:
+       if( zIconBeep_flagged ) {
+           zIconBeep_flagged = False;
+           icon_name = NULL;
+           XtGetValues(toplevel,args,XtNumber(args));
+           if( icon_name != NULL ) {
+               char    *buf = malloc(strlen(icon_name) + 1);
+               if (buf == NULL) {
+                       zIconBeep_flagged = True;
+                       return;
+               }
+               strcpy(buf, icon_name + 4);
+               Changename(buf);
+               free(buf);
+           }
+       }
+       mapstate = !IsUnmapped;
+       break;
+    case UnmapNotify:
+       mapstate = IsUnmapped;
+       break;
+    }
 }
- 
+#endif /* OPT_ZICONBEEP */
+
 /*
  * process ANSI modes set, reset
  */
@@ -2745,7 +2825,7 @@
                case 46:                /* logging              */
 #ifdef ALLOWLOGFILEONOFF
                        /*
-                        * if this feature is enabled, logging may be 
+                        * if this feature is enabled, logging may be
                         * enabled and disabled via escape sequences.
                         */
                        if(func == bitset)
@@ -3359,10 +3439,10 @@
 #if OPT_TEK4014
        register int i;
 #endif
-       
+
        if (!screen->Vshow) {
            set_vt_visibility (TRUE);
-       } 
+       }
        update_vttekmode();
        update_vtshow();
        update_tekshow();
@@ -3508,7 +3588,7 @@
                askedWidth  = attrs.width;
 
        status = XtMakeResizeRequest (
-           (Widget) termw, 
+           (Widget) termw,
             askedWidth,  askedHeight,
            &replyWidth, &replyHeight);
 
@@ -3523,7 +3603,7 @@
                xevents();
        }
 }
-                               
+
 extern Atom wm_delete_window;  /* for ICCCM delete window */
 
 static String xterm_trans =
@@ -3703,13 +3783,13 @@
           new->keyboard.flags |= MODE_DECBKM;
 
     /*
-     * The definition of -rv now is that it changes the definition of 
+     * The definition of -rv now is that it changes the definition of
      * XtDefaultForeground and XtDefaultBackground.  So, we no longer
      * need to do anything special.
      */
    new->screen.display = new->core.screen->display;
    new->core.height = new->core.width = 1;
-      /* dummy values so that we don't try to Realize the parent shell 
+      /* dummy values so that we don't try to Realize the parent shell
         with height or width of 0, which is illegal in X.  The real
         size is computed in the xtermWidget's Realize proc,
         but the shell's Realize proc is called first, and must see
@@ -3728,6 +3808,16 @@
                VTNonMaskableEvent, (Opaque)NULL);
    XtAddEventHandler((Widget)new, PropertyChangeMask, FALSE,
                     HandleBellPropertyChange, (Opaque)NULL);
+
+#if OPT_ZICONBEEP
+   /* Flag icon name with "***"  on window output when iconified.
+    * Put in a handler that will tell us when we get Map/Unmap events.
+    */
+   if ( zIconBeep )
+       XtAddEventHandler(XtParent(new), StructureNotifyMask, FALSE,
+                        HandleMapUnmap, (Opaque)NULL);
+#endif /* OPT_ZICONBEEP */
+
    new->screen.bellInProgress = FALSE;
 
    set_character_class (new->screen.charClass);
@@ -3781,7 +3871,7 @@
        screen->fnt_norm = screen->fnt_bold = NULL;
        if (!LoadNewFont(screen, term->misc.f_n, term->misc.f_b, False, 0)) {
            if (XmuCompareISOLatin1(term->misc.f_n, "fixed") != 0) {
-               fprintf (stderr, 
+               fprintf (stderr,
                     "%s:  unable to open font \"%s\", trying \"fixed\"....\n",
                     xterm_name, term->misc.f_n);
                (void) LoadNewFont (screen, "fixed", NULL, False, 0);
@@ -3797,12 +3887,12 @@
        }
 
        /* making cursor */
-       if (!screen->pointer_cursor) 
-         screen->pointer_cursor = make_colored_cursor(XC_xterm, 
+       if (!screen->pointer_cursor)
+         screen->pointer_cursor = make_colored_cursor(XC_xterm,
                                                       screen->mousecolor,
                                                       screen->mousecolorback);
-       else 
-         recolor_cursor (screen->pointer_cursor, 
+       else
+         recolor_cursor (screen->pointer_cursor,
                          screen->mousecolor, screen->mousecolorback);
 
        scrollbar_width = (term->misc.scrollbar ?
@@ -3820,7 +3910,7 @@
        width = screen->fullVwin.fullwidth;
        height = screen->fullVwin.fullheight;
 
-       if ((pr & XValue) && (XNegative&pr)) 
+       if ((pr & XValue) && (XNegative&pr))
          xpos += DisplayWidth(screen->display, DefaultScreen(screen->display))
                        - width - (term->core.parent->core.border_width * 2);
        if ((pr & YValue) && (YNegative&pr))
@@ -3860,7 +3950,7 @@
        }
        sizehints.width = width;
        sizehints.height = height;
-       if ((WidthValue&pr) || (HeightValue&pr)) 
+       if ((WidthValue&pr) || (HeightValue&pr))
          sizehints.flags |= USSize;
        else sizehints.flags |= PSize;
 
@@ -3889,7 +3979,7 @@
                term->core.x, term->core.y,
                term->core.width, term->core.height, term->core.border_width,
                (int) term->core.depth,
-               InputOutput, CopyFromParent,    
+               InputOutput, CopyFromParent,
                *valuemask|CWBitGravity, values);
 
 #ifndef NO_ACTIVE_ICON
@@ -3907,7 +3997,7 @@
            screen->iconVwin.width =
                (screen->max_col + 1) * screen->iconVwin.f_width;
            screen->iconVwin.fullwidth = screen->iconVwin.width +
-               2 * screen->border; 
+               2 * screen->border;
 
            screen->iconVwin.height =
                (screen->max_row + 1) * screen->iconVwin.f_height;
@@ -3928,7 +4018,7 @@
                              screen->iconVwin.fullheight,
                              term->misc.icon_border_width,
                              (int) term->core.depth,
-                             InputOutput, CopyFromParent,      
+                             InputOutput, CopyFromParent,
                              *valuemask|CWBitGravity|CWBorderPixel,
                              values);
            XtVaSetValues(shell, XtNiconWindow, screen->iconVwin.window, NULL);
@@ -4026,7 +4116,7 @@
        if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p)
            xim = XOpenIM(XtDisplay(term), NULL, NULL, NULL);
     } else {
-       for(ns=s=term->misc.input_method; ns && *s;) { 
+       for(ns=s=term->misc.input_method; ns && *s;) {
            while (*s && isspace(*s)) s++;
            if (!*s) break;
            if ((ns = end = strchr(s, ',')) == 0)
@@ -4035,9 +4125,9 @@
 
            strcpy(buf, "@im=");
            if (end - (s + (sizeof(buf) - 5)) > 0)
-               end = s + (sizeof(buf) - 5); 
-           strncat(buf, s, end - s); 
- 
+               end = s + (sizeof(buf) - 5);
+           strncat(buf, s, end - s);
+
            if ((p = XSetLocaleModifiers(buf)) != NULL && *p
                && (xim = XOpenIM(XtDisplay(term), NULL, NULL, NULL)) != NULL)
                break;
@@ -4048,7 +4138,7 @@
 
     if (xim == NULL && (p = XSetLocaleModifiers("@im=none")) != NULL && *p)
        xim = XOpenIM(XtDisplay(term), NULL, NULL, NULL);
-    
+
     if (!xim) {
        fprintf(stderr, "Failed to open input method\n");
        return;
@@ -4062,7 +4152,7 @@
     }
 
     found = False;
-    for(s = term->misc.preedit_type; s && !found;) { 
+    for(s = term->misc.preedit_type; s && !found;) {
        while (*s && isspace(*s)) s++;
        if (!*s) break;
        if ((ns = end = strchr(s, ',')) != 0)
@@ -4071,11 +4161,11 @@
            end = s + strlen(s);
        while (isspace(*end)) end--;
 
-       if (!strncmp(s, "OverTheSpot", end - s)) { 
+       if (!strncmp(s, "OverTheSpot", end - s)) {
            input_style = (XIMPreeditPosition | XIMStatusArea);
-       } else if (!strncmp(s, "OffTheSpot", end - s)) { 
+       } else if (!strncmp(s, "OffTheSpot", end - s)) {
            input_style = (XIMPreeditArea | XIMStatusArea);
-       } else if (!strncmp(s, "Root", end - s)) { 
+       } else if (!strncmp(s, "Root", end - s)) {
            input_style = (XIMPreeditNothing | XIMStatusNothing);
        }
        for (i = 0; (unsigned short)i < xim_styles->count_styles; i++)
@@ -4128,7 +4218,7 @@
     Cardinal *num_args GCC_UNUSED;
 {
     XtermWidget curvt = (XtermWidget) cur;
-    XtermWidget newvt = (XtermWidget) new; 
+    XtermWidget newvt = (XtermWidget) new;
     Boolean refresh_needed = FALSE;
     Boolean fonts_redone = FALSE;
 
@@ -4163,7 +4253,7 @@
     }
     if(curvt->screen.mousecolor != newvt->screen.mousecolor
        || curvt->screen.mousecolorback != newvt->screen.mousecolorback) {
-       recolor_cursor (newvt->screen.pointer_cursor, 
+       recolor_cursor (newvt->screen.pointer_cursor,
                        newvt->screen.mousecolor,
                        newvt->screen.mousecolorback);
        refresh_needed = TRUE;
@@ -4271,8 +4361,8 @@
        if (!screen->select && !screen->always_highlight) {
                screen->box->x = x;
                screen->box->y = y;
-               XDrawLines (screen->display, TextWindow(screen), 
-                           screen->cursoroutlineGC ? screen->cursoroutlineGC 
+               XDrawLines (screen->display, TextWindow(screen),
+                           screen->cursoroutlineGC ? screen->cursoroutlineGC
                                                    : currentGC,
                            screen->box, NBOX, CoordModePrevious);
        }
@@ -4477,7 +4567,7 @@
                CursorSave(term, &screen->sc);
        } else {        /* DECSTR */
                /*
-                * There's a tiny difference, to accommodate usage of xterm. 
+                * There's a tiny difference, to accommodate usage of xterm.
                 * We reset autowrap to the resource values rather than turning
                 * it off.
                 *
@@ -4502,9 +4592,9 @@
 
 /*
  * set_character_class - takes a string of the form
- * 
+ *
  *                 low[-high]:val[,low[-high]:val[...]]
- * 
+ *
  * and sets the indicated ranges to the indicated values.
  */
 static int
@@ -4569,7 +4659,7 @@
                numbers++;
            }
            if (numbers != 2) {
-               fprintf (stderr, errfmt, ProgramName, "bad value number", 
+               fprintf (stderr, errfmt, ProgramName, "bad value number",
                         s, i);
            } else if (SetCharacterClassRange (low, high, acc) != 0) {
                fprintf (stderr, errfmt, ProgramName, "bad range", s, i);
@@ -4626,7 +4716,7 @@
        XtOverrideTranslations(w, original);
        return;
     }
-    (void) sprintf( mapName, "%.*sKeymap", (int)sizeof(mapName) - 10, params[0] ); 
+    (void) sprintf( mapName, "%.*sKeymap", (int)sizeof(mapName) - 10, params[0] );
     (void) strcpy( mapClass, mapName );
     if (islower(mapClass[0])) mapClass[0] = toupper(mapClass[0]);
     XtGetSubresources( w, (XtPointer)&keymap, mapName, mapClass,
@@ -4731,7 +4821,7 @@
 
     target = XmuInternAtom(XtDisplay(term), *pAtom);
     if (justprobe) {
-       term->screen.menu_font_names[fontMenu_fontsel] = 
+       term->screen.menu_font_names[fontMenu_fontsel] =
          XGetSelectionOwner(XtDisplay(term), target) ? _Font_Selected_ : NULL;
     } else {
        XtGetSelectionValue((Widget)term, target, XA_STRING,
@@ -4850,7 +4940,7 @@
     if (nfs->ascent + nfs->descent == 0  ||  nfs->max_bounds.width == 0)
        goto bad;               /* can't use a 0-sized font */
 
-    if (!(bfontname && 
+    if (!(bfontname &&
          (bfs = XLoadQueryFont (screen->display, bfontname))))
       bfs = nfs;
     else
@@ -4971,7 +5061,7 @@
     screen->fullVwin.f_width = screen->fnt_norm->max_bounds.width;
     screen->fullVwin.f_height = (screen->fnt_norm->ascent +
                                 screen->fnt_norm->descent);
-    scrollbar_width = (term->misc.scrollbar ? 
+    scrollbar_width = (term->misc.scrollbar ?
                       screen->scrollWidget->core.width +
                       screen->scrollWidget->core.border_width : 0);
     i = 2 * screen->border + scrollbar_width;
Index: configure
--- xterm-71+/configure Sat Mar 28 07:19:24 1998
+++ xterm-72/configure  Fri Apr 17 20:36:12 1998
@@ -202,11 +202,15 @@
   --enable-logging        enable logging (default: off)
   --enable-logfile-exec   enable exec'd logfile filter (default: off)
   --disable-rightbar      disable right-scrollbar support (default: on)
+  --disable-samename      disable check for redundant name-change (default: on)
   --disable-tek4014       disable tek4014 emulation (default: on)
   --disable-vt52          disable VT52 emulation (default: on)
+  --disable-ziconbeep     disable -ziconbeep option (default: on)
   --enable-trace          test: set to enable debugging traces (default: off)
   --disable-echo          test: display "compiling" commands (default: on)
   --enable-xmc-glitch     test: enable xmc magic-cookie emulation (default: off)
+EOF
+cat <<EOF
   --enable-warnings       test: turn on GCC compiler warnings (default: off)
 EOF
     exit 0 ;;
@@ -573,7 +577,7 @@
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:577: checking host system type" >&5
+echo "configure:581: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -624,7 +628,7 @@
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:628: checking for $ac_word" >&5
+echo "configure:632: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -653,7 +657,7 @@
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:657: checking for $ac_word" >&5
+echo "configure:661: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -701,7 +705,7 @@
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:705: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:709: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -711,11 +715,11 @@
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 715 "configure"
+#line 719 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -735,12 +739,12 @@
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:739: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:743: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:744: checking whether we are using GNU C" >&5
+echo "configure:748: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -749,7 +753,7 @@
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:753: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -764,7 +768,7 @@
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:768: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:772: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -792,7 +796,7 @@
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:796: checking how to run the C preprocessor" >&5
+echo "configure:800: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -807,13 +811,13 @@
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 811 "configure"
+#line 815 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -824,13 +828,13 @@
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 828 "configure"
+#line 832 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -854,13 +858,13 @@
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:858: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:862: checking whether ${CC-cc} needs -traditional" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
-#line 864 "configure"
+#line 868 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -878,7 +882,7 @@
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 882 "configure"
+#line 886 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -910,7 +914,7 @@
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:914: checking for a BSD compatible install" >&5
+echo "configure:918: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -962,9 +966,9 @@
 
 ###    checks for UNIX variants that set C preprocessor variables
 echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:966: checking for AIX" >&5
+echo "configure:970: checking for AIX" >&5
 cat > conftest.$ac_ext <<EOF
-#line 968 "configure"
+#line 972 "configure"
 #include "confdefs.h"
 #ifdef _AIX
   yes
@@ -986,7 +990,7 @@
 
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:990: checking for POSIXized ISC" >&5
+echo "configure:994: checking for POSIXized ISC" >&5
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
@@ -1008,17 +1012,17 @@
 
 ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1012: checking for minix/config.h" >&5
+echo "configure:1016: checking for minix/config.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1017 "configure"
+#line 1021 "configure"
 #include "confdefs.h"
 #include <minix/config.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1026: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1060,12 +1064,12 @@
 
 ###    checks for typedefs
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1064: checking for ANSI C header files" >&5
+echo "configure:1068: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1069 "configure"
+#line 1073 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1073,7 +1077,7 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1090,7 +1094,7 @@
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1094 "configure"
+#line 1098 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1108,7 +1112,7 @@
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1112 "configure"
+#line 1116 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1129,7 +1133,7 @@
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1133 "configure"
+#line 1137 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1140,7 +1144,7 @@
 exit (0); }
 
 EOF
-if { (eval echo configure:1144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1164,12 +1168,12 @@
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1168: checking for size_t" >&5
+echo "configure:1172: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1173 "configure"
+#line 1177 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1197,12 +1201,12 @@
 fi
 
 echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:1201: checking for time_t" >&5
+echo "configure:1205: checking for time_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1206 "configure"
+#line 1210 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1239,12 +1243,12 @@
        
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1243: checking for $ac_func" >&5
+echo "configure:1247: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1248 "configure"
+#line 1252 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1267,7 +1271,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1295,7 +1299,7 @@
 if test ".$ac_cv_func_memmove" != .yes ; then
        if test ".$ac_cv_func_bcopy" = ".yes" ; then
                echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
-echo "configure:1299: checking if bcopy does overlapping moves" >&5
+echo "configure:1303: checking if bcopy does overlapping moves" >&5
                if eval "test \"`echo '$''{'cf_cv_good_bcopy'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1304,7 +1308,7 @@
   cf_cv_good_bcopy=unknown
 else
   cat > conftest.$ac_ext <<EOF
-#line 1308 "configure"
+#line 1312 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1317,7 +1321,7 @@
 }
                
 EOF
-if { (eval echo configure:1321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   cf_cv_good_bcopy=yes
 else
@@ -1351,7 +1355,7 @@
 
 
 echo $ac_n "checking for full tgetent function""... $ac_c" 1>&6
-echo "configure:1355: checking for full tgetent function" >&5
+echo "configure:1359: checking for full tgetent function" >&5
 if eval "test \"`echo '$''{'cf_cv_lib_tgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1365,7 +1369,7 @@
   echo "cross-compiling, cannot verify if a termcap/tgetent is present in $cf_termlib" 1>&5
 else
   cat > conftest.$ac_ext <<EOF
-#line 1369 "configure"
+#line 1373 "configure"
 #include "confdefs.h"
 
 /* terminfo implementations ignore the buffer argument, making it useless for
@@ -1379,7 +1383,7 @@
        tgetent(buffer, "vt100");
        exit(buffer[0] == 0); }
 EOF
-if { (eval echo configure:1383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   echo "yes, there is a termcap/tgetent in $cf_termlib" 1>&5
         cf_cv_lib_tgetent="-l$cf_termlib"
@@ -1410,17 +1414,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1414: checking for $ac_hdr" >&5
+echo "configure:1418: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1419 "configure"
+#line 1423 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1424: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1428: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1453,7 +1457,7 @@
         # validate values for the TERM environment variable given to
         # child processes.
        echo $ac_n "checking for partial tgetent function""... $ac_c" 1>&6
-echo "configure:1457: checking for partial tgetent function" >&5
+echo "configure:1461: checking for partial tgetent function" >&5
 if eval "test \"`echo '$''{'cf_cv_lib_part_tgetent'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1462,14 +1466,14 @@
        for cf_termlib in $cf_TERMLIB ; do
                LIBS="$cf_save_LIBS -l$cf_termlib"
                cat > conftest.$ac_ext <<EOF
-#line 1466 "configure"
+#line 1470 "configure"
 #include "confdefs.h"
 
 int main() {
 tgetent(0, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:1473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "there is a terminfo/tgetent in $cf_termlib" 1>&5
                         cf_cv_lib_part_tgetent="-l$cf_termlib"
@@ -1492,17 +1496,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1496: checking for $ac_hdr" >&5
+echo "configure:1500: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1501 "configure"
+#line 1505 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1506: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1542,13 +1546,13 @@
 ###    checks for structures
 
 echo $ac_n "checking for declaration of fd_set""... $ac_c" 1>&6
-echo "configure:1546: checking for declaration of fd_set" >&5
+echo "configure:1550: checking for declaration of fd_set" >&5
 if eval "test \"`echo '$''{'cf_cv_type_fd_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 1552 "configure"
+#line 1556 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -1556,7 +1560,7 @@
 fd_set x
 ; return 0; }
 EOF
-if { (eval echo configure:1560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1564: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_fd_set=sys/types.h
 else
@@ -1564,7 +1568,7 @@
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 1568 "configure"
+#line 1572 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -1573,7 +1577,7 @@
 fd_set x
 ; return 0; }
 EOF
-if { (eval echo configure:1577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1581: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_type_fd_set=sys/select.h
 else
@@ -1598,12 +1602,12 @@
 
 ###    checks for compiler characteristics
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1602: checking for working const" >&5
+echo "configure:1606: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1607 "configure"
+#line 1611 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1652,7 +1656,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:1656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1674,7 +1678,7 @@
 
 
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:1678: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:1682: checking for ${CC-cc} option to accept ANSI C" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1692,7 +1696,7 @@
 do
        CFLAGS="$cf_save_CFLAGS $cf_arg"
        cat > conftest.$ac_ext <<EOF
-#line 1696 "configure"
+#line 1700 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -1708,7 +1712,7 @@
        struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:1712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -1741,17 +1745,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1745: checking for $ac_hdr" >&5
+echo "configure:1749: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1750 "configure"
+#line 1754 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1755: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1759: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1778,12 +1782,12 @@
 done
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1782: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1786: checking for sys/wait.h that is POSIX.1 compatible" >&5
 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1787 "configure"
+#line 1791 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -1799,7 +1803,7 @@
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:1803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -1825,7 +1829,7 @@
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:1829: checking for X" >&5
+echo "configure:1833: checking for X" >&5
 
 
 # Check whether --with-x or --without-x was given.
@@ -1888,12 +1892,12 @@
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 1892 "configure"
+#line 1896 "configure"
 #include "confdefs.h"
 #include <$x_direct_test_include>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1962,14 +1966,14 @@
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1966 "configure"
+#line 1970 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:1973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   LIBS="$ac_save_LIBS"
 # We can link X programs with no special library path.
@@ -2069,7 +2073,7 @@
        # FIXME: modify the library lookup in autoconf to
        # allow _s.a suffix ahead of .a
        echo $ac_n "checking for open in -lc_s""... $ac_c" 1>&6
-echo "configure:2073: checking for open in -lc_s" >&5
+echo "configure:2077: checking for open in -lc_s" >&5
 ac_lib_var=`echo c_s'_'open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2077,7 +2081,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lc_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2081 "configure"
+#line 2085 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2088,7 +2092,7 @@
 open()
 ; return 0; }
 EOF
-if { (eval echo configure:2092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2105,7 +2109,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lc_s $LIBS"
        echo $ac_n "checking for gethostname in -lbsd""... $ac_c" 1>&6
-echo "configure:2109: checking for gethostname in -lbsd" >&5
+echo "configure:2113: checking for gethostname in -lbsd" >&5
 ac_lib_var=`echo bsd'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2113,7 +2117,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2117 "configure"
+#line 2121 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2124,7 +2128,7 @@
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2128: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2141,7 +2145,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lbsd $LIBS"
        echo $ac_n "checking for gethostname in -lnsl_s""... $ac_c" 1>&6
-echo "configure:2145: checking for gethostname in -lnsl_s" >&5
+echo "configure:2149: checking for gethostname in -lnsl_s" >&5
 ac_lib_var=`echo nsl_s'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2149,7 +2153,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2153 "configure"
+#line 2157 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2160,7 +2164,7 @@
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2177,7 +2181,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lnsl_s $LIBS"
        echo $ac_n "checking for XOpenDisplay in -lX11_s""... $ac_c" 1>&6
-echo "configure:2181: checking for XOpenDisplay in -lX11_s" >&5
+echo "configure:2185: checking for XOpenDisplay in -lX11_s" >&5
 ac_lib_var=`echo X11_s'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2185,7 +2189,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lX11_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2189 "configure"
+#line 2193 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2196,7 +2200,7 @@
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:2200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2213,7 +2217,7 @@
   echo "$ac_t""yes" 1>&6
   LIBS="-lX11_s $LIBS"
        echo $ac_n "checking for XtAppInitialize in -lXt_s""... $ac_c" 1>&6
-echo "configure:2217: checking for XtAppInitialize in -lXt_s" >&5
+echo "configure:2221: checking for XtAppInitialize in -lXt_s" >&5
 ac_lib_var=`echo Xt_s'_'XtAppInitialize | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2221,7 +2225,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXt_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2225 "configure"
+#line 2229 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2232,7 +2236,7 @@
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:2236: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2273,7 +2277,7 @@
        ;;
 *)
        echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2277: checking for socket in -lsocket" >&5
+echo "configure:2281: checking for socket in -lsocket" >&5
 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2281,7 +2285,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2285 "configure"
+#line 2289 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2292,7 +2296,7 @@
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:2296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2320,7 +2324,7 @@
 fi
 
        echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:2324: checking for gethostname in -lnsl" >&5
+echo "configure:2328: checking for gethostname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2328,7 +2332,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2332 "configure"
+#line 2336 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2339,7 +2343,7 @@
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2390,17 +2394,17 @@
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:2394: checking whether -R must be followed by a space" >&5
+echo "configure:2398: checking whether -R must be followed by a space" >&5
       ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
       cat > conftest.$ac_ext <<EOF
-#line 2397 "configure"
+#line 2401 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -2416,14 +2420,14 @@
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 2420 "configure"
+#line 2424 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2427: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -2455,7 +2459,7 @@
     # libraries were built with DECnet support.  And karl@cs.umb.edu says
     # the Alpha needs dnet_stub (dnet does not exist).
     echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:2459: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:2463: checking for dnet_ntoa in -ldnet" >&5
 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2463,7 +2467,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2467 "configure"
+#line 2471 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2474,7 +2478,7 @@
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2496,7 +2500,7 @@
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:2500: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:2504: checking for dnet_ntoa in -ldnet_stub" >&5
 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2504,7 +2508,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-ldnet_stub  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2508 "configure"
+#line 2512 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2515,7 +2519,7 @@
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:2519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2544,12 +2548,12 @@
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:2548: checking for gethostbyname" >&5
+echo "configure:2552: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2553 "configure"
+#line 2557 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -2572,7 +2576,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -2593,7 +2597,7 @@
 
     if test $ac_cv_func_gethostbyname = no; then
       echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2597: checking for gethostbyname in -lnsl" >&5
+echo "configure:2601: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2601,7 +2605,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2605 "configure"
+#line 2609 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2612,7 +2616,7 @@
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:2616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2642,12 +2646,12 @@
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:2646: checking for connect" >&5
+echo "configure:2650: checking for connect" >&5
 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2651 "configure"
+#line 2655 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -2670,7 +2674,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_connect=yes"
 else
@@ -2691,7 +2695,7 @@
 
     if test $ac_cv_func_connect = no; then
       echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:2695: checking for connect in -lsocket" >&5
+echo "configure:2699: checking for connect in -lsocket" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2699,7 +2703,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2703 "configure"
+#line 2707 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2710,7 +2714,7 @@
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:2714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2734,12 +2738,12 @@
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:2738: checking for remove" >&5
+echo "configure:2742: checking for remove" >&5
 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2743 "configure"
+#line 2747 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -2762,7 +2766,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_remove=yes"
 else
@@ -2783,7 +2787,7 @@
 
     if test $ac_cv_func_remove = no; then
       echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:2787: checking for remove in -lposix" >&5
+echo "configure:2791: checking for remove in -lposix" >&5
 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2791,7 +2795,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2795 "configure"
+#line 2799 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2802,7 +2806,7 @@
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:2806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2826,12 +2830,12 @@
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:2830: checking for shmat" >&5
+echo "configure:2834: checking for shmat" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2835 "configure"
+#line 2839 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -2854,7 +2858,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:2858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_shmat=yes"
 else
@@ -2875,7 +2879,7 @@
 
     if test $ac_cv_func_shmat = no; then
       echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:2879: checking for shmat in -lipc" >&5
+echo "configure:2883: checking for shmat in -lipc" >&5
 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2883,7 +2887,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2887 "configure"
+#line 2891 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2894,7 +2898,7 @@
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:2898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2927,7 +2931,7 @@
   # libraries we check for below, so use a different variable.
   #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
   echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:2931: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:2935: checking for IceConnectionNumber in -lICE" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2935,7 +2939,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lICE  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2939 "configure"
+#line 2943 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2946,7 +2950,7 @@
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:2950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2973,7 +2977,7 @@
        LDFLAGS="$LDFLAGS $X_LIBS"
        CFLAGS="$CFLAGS $X_CFLAGS"
        echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:2977: checking for XOpenDisplay in -lX11" >&5
+echo "configure:2981: checking for XOpenDisplay in -lX11" >&5
 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2981,7 +2985,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2985 "configure"
+#line 2989 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2992,7 +2996,7 @@
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:2996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3013,7 +3017,7 @@
 fi
 
        echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:3017: checking for XtAppInitialize in -lXt" >&5
+echo "configure:3021: checking for XtAppInitialize in -lXt" >&5
 ac_lib_var=`echo Xt'_'XtAppInitialize | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3021,7 +3025,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3025 "configure"
+#line 3029 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3032,7 +3036,7 @@
 XtAppInitialize()
 ; return 0; }
 EOF
-if { (eval echo configure:3036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3088,17 +3092,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3092: checking for $ac_hdr" >&5
+echo "configure:3096: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3097 "configure"
+#line 3101 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3148,17 +3152,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3152: checking for $ac_hdr" >&5
+echo "configure:3156: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3157 "configure"
+#line 3161 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3162: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3186,7 +3190,7 @@
 
 
 echo $ac_n "checking for XmuClientWindow in -lXmu""... $ac_c" 1>&6
-echo "configure:3190: checking for XmuClientWindow in -lXmu" >&5
+echo "configure:3194: checking for XmuClientWindow in -lXmu" >&5
 ac_lib_var=`echo Xmu'_'XmuClientWindow | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3194,7 +3198,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXmu  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3198 "configure"
+#line 3202 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3205,7 +3209,7 @@
 XmuClientWindow()
 ; return 0; }
 EOF
-if { (eval echo configure:3209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3232,7 +3236,7 @@
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for XmuClientWindow in -lXmu_s""... $ac_c" 1>&6
-echo "configure:3236: checking for XmuClientWindow in -lXmu_s" >&5
+echo "configure:3240: checking for XmuClientWindow in -lXmu_s" >&5
 ac_lib_var=`echo Xmu_s'_'XmuClientWindow | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3240,7 +3244,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXmu_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3244 "configure"
+#line 3248 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3251,7 +3255,7 @@
 XmuClientWindow()
 ; return 0; }
 EOF
-if { (eval echo configure:3255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3282,7 +3286,7 @@
 
 
 echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:3286: checking for XextCreateExtension in -lXext" >&5
+echo "configure:3290: checking for XextCreateExtension in -lXext" >&5
 ac_lib_var=`echo Xext'_'XextCreateExtension | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3290,7 +3294,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-lXext  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3294 "configure"
+#line 3298 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3301,7 +3305,7 @@
 XextCreateExtension()
 ; return 0; }
 EOF
-if { (eval echo configure:3305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3323,7 +3327,7 @@
 
 
 echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -l$cf_x_athena""... $ac_c" 1>&6
-echo "configure:3327: checking for XawSimpleMenuAddGlobalActions in -l$cf_x_athena" >&5
+echo "configure:3331: checking for XawSimpleMenuAddGlobalActions in -l$cf_x_athena" >&5
 ac_lib_var=`echo $cf_x_athena'_'XawSimpleMenuAddGlobalActions | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3331,7 +3335,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_x_athena  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3335 "configure"
+#line 3339 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3342,7 +3346,7 @@
 XawSimpleMenuAddGlobalActions()
 ; return 0; }
 EOF
-if { (eval echo configure:3346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3362,7 +3366,7 @@
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -l${cf_x_athena}_s""... $ac_c" 1>&6
-echo "configure:3366: checking for XawSimpleMenuAddGlobalActions in -l${cf_x_athena}_s" >&5
+echo "configure:3370: checking for XawSimpleMenuAddGlobalActions in -l${cf_x_athena}_s" >&5
 ac_lib_var=`echo ${cf_x_athena}_s'_'XawSimpleMenuAddGlobalActions | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3370,7 +3374,7 @@
   ac_save_LIBS="$LIBS"
 LIBS="-l${cf_x_athena}_s $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3374 "configure"
+#line 3378 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3381,7 +3385,7 @@
 XawSimpleMenuAddGlobalActions()
 ; return 0; }
 EOF
-if { (eval echo configure:3385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3422,12 +3426,12 @@
        
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3426: checking for $ac_func" >&5
+echo "configure:3430: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3431 "configure"
+#line 3435 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3450,7 +3454,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:3454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3476,7 +3480,7 @@
 
 
 echo $ac_n "checking if we should use imake to help""... $ac_c" 1>&6
-echo "configure:3480: checking if we should use imake to help" >&5
+echo "configure:3484: checking if we should use imake to help" >&5
 
 # Check whether --enable-imake or --disable-imake was given.
 if test "${enable_imake+set}" = set; then
@@ -3501,7 +3505,7 @@
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3505: checking for $ac_word" >&5
+echo "configure:3509: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_IMAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3633,7 +3637,7 @@
 
 
 echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6
-echo "configure:3637: checking for default terminal-id" >&5
+echo "configure:3641: checking for default terminal-id" >&5
 
 # Check whether --with-terminal-id or --without-terminal-id was given.
 if test "${with_terminal_id+set}" = set; then
@@ -3654,7 +3658,7 @@
 
 
 echo $ac_n "checking for default terminal-type""... $ac_c" 1>&6
-echo "configure:3658: checking for default terminal-type" >&5
+echo "configure:3662: checking for default terminal-type" >&5
 
 # Check whether --with-terminal-type or --without-terminal-type was given.
 if test "${with_terminal_type+set}" = set; then
@@ -3672,7 +3676,7 @@
 
 ###    checks for optional features
 echo $ac_n "checking if you want active-icons""... $ac_c" 1>&6
-echo "configure:3676: checking if you want active-icons" >&5
+echo "configure:3680: checking if you want active-icons" >&5
 
 # Check whether --enable-active-icon or --disable-active-icon was given.
 if test "${enable_active_icon+set}" = set; then
@@ -3698,7 +3702,7 @@
 fi
 
 echo $ac_n "checking if you want ANSI color""... $ac_c" 1>&6
-echo "configure:3702: checking if you want ANSI color" >&5
+echo "configure:3706: checking if you want ANSI color" >&5
 
 # Check whether --enable-ansi-color or --disable-ansi-color was given.
 if test "${enable_ansi_color+set}" = set; then
@@ -3722,7 +3726,7 @@
 
 
 echo $ac_n "checking if you want 16 colors like aixterm""... $ac_c" 1>&6
-echo "configure:3726: checking if you want 16 colors like aixterm" >&5
+echo "configure:3730: checking if you want 16 colors like aixterm" >&5
 
 # Check whether --enable-16-color or --disable-16-color was given.
 if test "${enable_16_color+set}" = set; then
@@ -3746,7 +3750,7 @@
 
 
 echo $ac_n "checking if you want bold colors mapped like IBM PC""... $ac_c" 1>&6
-echo "configure:3750: checking if you want bold colors mapped like IBM PC" >&5
+echo "configure:3754: checking if you want bold colors mapped like IBM PC" >&5
 
 # Check whether --enable-bold-color or --disable-bold-color was given.
 if test "${enable_bold_color+set}" = set; then
@@ -3770,7 +3774,7 @@
 
 
 echo $ac_n "checking if you want color-mode enabled by default""... $ac_c" 1>&6
-echo "configure:3774: checking if you want color-mode enabled by default" >&5
+echo "configure:3778: checking if you want color-mode enabled by default" >&5
 
 # Check whether --enable-color-mode or --disable-color-mode was given.
 if test "${enable_color_mode+set}" = set; then
@@ -3794,7 +3798,7 @@
 
 
 echo $ac_n "checking if you want support for color highlighting""... $ac_c" 1>&6
-echo "configure:3798: checking if you want support for color highlighting" >&5
+echo "configure:3802: checking if you want support for color highlighting" >&5
 
 # Check whether --enable-highlighting or --disable-highlighting was given.
 if test "${enable_highlighting+set}" = set; then
@@ -3817,8 +3821,8 @@
 EOF
 
 
-echo $ac_n "checking for doublesize characters""... $ac_c" 1>&6
-echo "configure:3822: checking for doublesize characters" >&5
+echo $ac_n "checking if you want support for doublesize characters""... $ac_c" 1>&6
+echo "configure:3826: checking if you want support for doublesize characters" >&5
 
 # Check whether --enable-doublechars or --disable-doublechars was given.
 if test "${enable_doublechars+set}" = set; then
@@ -3842,7 +3846,7 @@
 
 
 echo $ac_n "checking if you want support for input-method""... $ac_c" 1>&6
-echo "configure:3846: checking if you want support for input-method" >&5
+echo "configure:3850: checking if you want support for input-method" >&5
 
 # Check whether --enable-input-method or --disable-input-method was given.
 if test "${enable_input_method+set}" = set; then
@@ -3868,7 +3872,7 @@
 fi
 
 echo $ac_n "checking if you want support for internationalization""... $ac_c" 1>&6
-echo "configure:3872: checking if you want support for internationalization" >&5
+echo "configure:3876: checking if you want support for internationalization" >&5
 
 # Check whether --enable-i18n or --disable-i18n was given.
 if test "${enable_i18n+set}" = set; then
@@ -3894,7 +3898,7 @@
 fi
 
 echo $ac_n "checking if you want support for logging""... $ac_c" 1>&6
-echo "configure:3898: checking if you want support for logging" >&5
+echo "configure:3902: checking if you want support for logging" >&5
 
 # Check whether --enable-logging or --disable-logging was given.
 if test "${enable_logging+set}" = set; then
@@ -3918,7 +3922,7 @@
 EOF
 
        echo $ac_n "checking if you want to allow logging via a pipe""... $ac_c" 1>&6
-echo "configure:3922: checking if you want to allow logging via a pipe" >&5
+echo "configure:3926: checking if you want to allow logging via a pipe" >&5
        
 # Check whether --enable-logfile-exec or --disable-logfile-exec was given.
 if test "${enable_logfile_exec+set}" = set; then
@@ -3945,7 +3949,7 @@
 fi
 
 echo $ac_n "checking if you want support for right-scrollbar""... $ac_c" 1>&6
-echo "configure:3949: checking if you want support for right-scrollbar" >&5
+echo "configure:3953: checking if you want support for right-scrollbar" >&5
 
 # Check whether --enable-rightbar or --disable-rightbar was given.
 if test "${enable_rightbar+set}" = set; then
@@ -3970,8 +3974,32 @@
 
 fi
 
+echo $ac_n "checking if you want check for redundant name-change""... $ac_c" 1>&6
+echo "configure:3979: checking if you want check for redundant name-change" >&5
+
+# Check whether --enable-samename or --disable-samename was given.
+if test "${enable_samename+set}" = set; then
+  enableval="$enable_samename"
+  test "$enableval" != no && enableval=yes
+  if test "$enableval" != "yes" ; then
+    enable_samename=no 
+  else
+    enable_samename=yes
+  fi
+else
+  enableval=yes 
+  enable_samename=yes
+  
+fi
+
+echo "$ac_t""$enable_samename" 1>&6
+test $enable_samename = no && cat >> confdefs.h <<\EOF
+#define OPT_SAME_NAME 0
+EOF
+
+
 echo $ac_n "checking if you want support for tek4014""... $ac_c" 1>&6
-echo "configure:3975: checking if you want support for tek4014" >&5
+echo "configure:4003: checking if you want support for tek4014" >&5
 
 # Check whether --enable-tek4014 or --disable-tek4014 was given.
 if test "${enable_tek4014+set}" = set; then
@@ -4001,7 +4029,7 @@
 fi
 
 echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6
-echo "configure:4005: checking if you want VT52 emulation" >&5
+echo "configure:4033: checking if you want VT52 emulation" >&5
 
 # Check whether --enable-vt52 or --disable-vt52 was given.
 if test "${enable_vt52+set}" = set; then
@@ -4024,9 +4052,33 @@
 EOF
 
 
+echo $ac_n "checking if you want -ziconbeep option""... $ac_c" 1>&6
+echo "configure:4057: checking if you want -ziconbeep option" >&5
+
+# Check whether --enable-ziconbeep or --disable-ziconbeep was given.
+if test "${enable_ziconbeep+set}" = set; then
+  enableval="$enable_ziconbeep"
+  test "$enableval" != no && enableval=yes
+  if test "$enableval" != "yes" ; then
+    enable_ziconbeep=no 
+  else
+    enable_ziconbeep=yes
+  fi
+else
+  enableval=yes 
+  enable_ziconbeep=yes
+  
+fi
+
+echo "$ac_t""$enable_ziconbeep" 1>&6
+test $enable_ziconbeep = no && cat >> confdefs.h <<\EOF
+#define OPT_ZICONBEEP 0
+EOF
+
+
 # development/testing aids
 echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6
-echo "configure:4030: checking if you want debugging traces" >&5
+echo "configure:4082: checking if you want debugging traces" >&5
 
 # Check whether --enable-trace or --disable-trace was given.
 if test "${enable_trace+set}" = set; then
@@ -4055,7 +4107,7 @@
 
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:4059: checking if you want to see long compiling messages" >&5
+echo "configure:4111: checking if you want to see long compiling messages" >&5
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
@@ -4095,7 +4147,7 @@
 
 
 echo $ac_n "checking if you want magic cookie emulation""... $ac_c" 1>&6
-echo "configure:4099: checking if you want magic cookie emulation" >&5
+echo "configure:4151: checking if you want magic cookie emulation" >&5
 
 # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
 if test "${enable_xmc_glitch+set}" = set; then
@@ -4124,7 +4176,7 @@
 
 if test -n "$GCC" ; then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:4128: checking if you want to turn on gcc warnings" >&5
+echo "configure:4180: checking if you want to turn on gcc warnings" >&5
 
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
@@ -4164,9 +4216,9 @@
 if test -n "$GCC"
 then
        echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:4168: checking for gcc __attribute__ directives" >&5
+echo "configure:4220: checking for gcc __attribute__ directives" >&5
        cat > conftest.$ac_ext <<EOF
-#line 4170 "configure"
+#line 4222 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -4204,7 +4256,7 @@
 EOF
                        ;;
                esac
-               if { (eval echo configure:4208: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:4260: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6
                        cat conftest.h >>confdefs.h
 #              else
@@ -4221,11 +4273,11 @@
 if test -n "$GCC"
 then
                cat > conftest.$ac_ext <<EOF
-#line 4225 "configure"
+#line 4277 "configure"
 int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
 EOF
                echo "checking for gcc warning options" 1>&6
-echo "configure:4229: checking for gcc warning options" >&5
+echo "configure:4281: checking for gcc warning options" >&5
        cf_save_CFLAGS="$CFLAGS"
        EXTRA_CFLAGS="-W -Wall"
        cf_warn_CONST=""
@@ -4243,7 +4295,7 @@
                Wstrict-prototypes $cf_warn_CONST
        do
                CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-               if { (eval echo configure:4247: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+               if { (eval echo configure:4299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
                        test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
                        EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
                        test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
Index: configure.in
--- xterm-71+/configure.in      Mon Mar 23 00:53:54 1998
+++ xterm-72/configure.in       Fri Apr 17 20:32:45 1998
@@ -182,7 +182,7 @@
 AC_MSG_RESULT($default_highlight)
 test $default_highlight = no && AC_DEFINE(OPT_HIGHLIGHT_COLOR,0)
 
-AC_MSG_CHECKING(for doublesize characters)
+AC_MSG_CHECKING(if you want support for doublesize characters)
 CF_ARG_DISABLE(doublechars,
        [  --disable-doublechars   disable support for double-size chars],
        [enable_doublechars=no],
@@ -239,6 +239,14 @@
        AC_DEFINE(SCROLLBAR_RIGHT)
 fi
 
+AC_MSG_CHECKING(if you want check for redundant name-change)
+CF_ARG_DISABLE(samename,
+       [  --disable-samename      disable check for redundant name-change],
+       [enable_samename=no],
+       [enable_samename=yes])
+AC_MSG_RESULT($enable_samename)
+test $enable_samename = no && AC_DEFINE(OPT_SAME_NAME,0)
+
 AC_MSG_CHECKING(if you want support for tek4014)
 CF_ARG_DISABLE(tek4014,
        [  --disable-tek4014       disable tek4014 emulation],
@@ -260,6 +268,14 @@
        [enable_vt52=yes])
 AC_MSG_RESULT($enable_vt52)
 test $enable_vt52 = no && AC_DEFINE(OPT_VT52_MODE,0)
+
+AC_MSG_CHECKING(if you want -ziconbeep option)
+CF_ARG_DISABLE(ziconbeep,
+       [  --disable-ziconbeep     disable -ziconbeep option],
+       [enable_ziconbeep=no],
+       [enable_ziconbeep=yes])
+AC_MSG_RESULT($enable_ziconbeep)
+test $enable_ziconbeep = no && AC_DEFINE(OPT_ZICONBEEP,0)
 
 # development/testing aids
 AC_MSG_CHECKING(if you want debugging traces)
Index: data.c
--- xterm-71+/data.c    Mon Mar 23 00:53:54 1998
+++ xterm-72/data.c     Fri Apr 17 19:36:12 1998
@@ -96,6 +96,18 @@
 XtermWidget term;              /* master data structure for client */
 char *xterm_name;      /* argv[0] */
 Boolean sunFunctionKeys;
+
+#if OPT_ZICONBEEP
+int zIconBeep;  /* non-zero means beep; see charproc.c for details -IAN! */
+Boolean zIconBeep_flagged; /* True if the icon name has been changed */
+#endif /* OPT_ZICONBEEP */
+
+#if OPT_SAME_NAME
+Boolean sameName;            /* Don't change the title or icon name if it
+                       is the same.  This prevents flicker on the screen at
+                       the cost of an extra request to the server */
+#endif
+
 #if OPT_SUNPC_KBD
 Boolean sunKeyboard;
 #endif
Index: data.h
--- xterm-71+/data.h    Mon Mar 23 00:53:54 1998
+++ xterm-72/data.h     Fri Apr 17 19:36:17 1998
@@ -66,6 +66,13 @@
 extern char *ttydev;
 extern char *xterm_name;
 extern Boolean sunFunctionKeys;
+#if OPT_ZICONBEEP 
+extern int zIconBeep; 
+extern Boolean zIconBeep_flagged; 
+#endif 
+#if OPT_SAME_NAME 
+extern Boolean sameName; 
+#endif 
 #if OPT_SUNPC_KBD
 extern Boolean sunKeyboard;
 #endif
Index: main.c
--- xterm-71+/main.c    Sun Apr 12 19:51:38 1998
+++ xterm-72/main.c     Fri Apr 17 20:13:41 1998
@@ -4,7 +4,7 @@
 
 /*
  *                              W A R N I N G
- * 
+ *
  * If you think you know what all of this code is doing, you are
  * probably very mistaken.  There be serious and nasty dragons here.
  *
@@ -46,13 +46,13 @@
 
                         All Rights Reserved
 
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
-supporting documentation, and that the name of Digital not be used in 
-advertising or publicity pertaining to distribution of the software 
-without specific, written prior permission.  
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
 
 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
@@ -513,7 +513,7 @@
 ** Ordinarily it should be okay to omit the assignment in the following
 ** statement. Apparently the c89 compiler on AIX 4.1.3 has a bug, or does
 ** it? Without the assignment though the compiler will init command_to_exec
-** to 0xffffffff instead of NULL; and subsequent usage, e.g. in spawn() to 
+** to 0xffffffff instead of NULL; and subsequent usage, e.g. in spawn() to
 ** SEGV.
 */
 static char **command_to_exec = NULL;
@@ -666,7 +666,7 @@
 
 #ifdef LASTLOG
 static char etc_lastlog[] = LASTLOG_FILENAME;
-#endif 
+#endif
 
 #ifdef WTMP
 static char etc_wtmp[] = WTMP_FILENAME;
@@ -723,6 +723,16 @@
 #endif
     Boolean wait_for_map;
     Boolean useInsertMode;
+#if OPT_ZICONBEEP
+    int zIconBeep;             /* beep level when output while iconified */
+#endif
+#if OPT_SAME_NAME
+    Boolean sameName;          /* Don't change the title or icon name if it is
+                                * the same.  This prevents flicker on the
+                                * screen at the cost of an extra request to
+                                * the server.
+                                */
+#endif
 } resource;
 
 /* used by VT (charproc.c) */
@@ -751,9 +761,17 @@
        offset(sunKeyboard), XtRString, "false"},
 #endif
     {"waitForMap", "WaitForMap", XtRBoolean, sizeof (Boolean),
-        offset(wait_for_map), XtRString, "false"},
+       offset(wait_for_map), XtRString, "false"},
     {"useInsertMode", "UseInsertMode", XtRBoolean, sizeof (Boolean),
-        offset(useInsertMode), XtRString, "false"},
+       offset(useInsertMode), XtRString, "false"},
+#if OPT_ZICONBEEP
+    {"zIconBeep", "ZIconBeep", XtRInt, sizeof (int),
+       offset(zIconBeep), XtRImmediate, 0},
+#endif
+#if OPT_SAME_NAME
+    {"sameName", "SameName", XtRBoolean, sizeof (Boolean),
+       offset(sameName), XtRString, "true"},
+#endif
 };
 #undef offset
 
@@ -861,6 +879,13 @@
 {"+vb",                "*visualBell",  XrmoptionNoArg,         (caddr_t) "off"},
 {"-wf",                "*waitForMap",  XrmoptionNoArg,         (caddr_t) "on"},
 {"+wf",                "*waitForMap",  XrmoptionNoArg,         (caddr_t) "off"},
+#if OPT_ZICONBEEP
+{"-ziconbeep",  "*zIconBeep",   XrmoptionSepArg,        (caddr_t) NULL},
+#endif
+#if OPT_SAME_NAME
+{"-samename",  "*sameName",    XrmoptionNoArg,         (caddr_t) "on"},
+{"+samename",  "*sameName",    XrmoptionNoArg,         (caddr_t) "off"},
+#endif
 /* bogus old compatibility stuff for which there are
    standard XtAppInitialize options now */
 {"%",          "*tekGeometry", XrmoptionStickyArg,     (caddr_t) NULL},
@@ -966,6 +991,12 @@
 { "-C",                    "intercept console messages (not supported)" },
 #endif
 { "-Sxxd",                 "slave mode on \"ttyxx\", file descriptor \"d\"" },
+#if OPT_ZICONBEEP
+{ "-ziconbeep percent",    "beep and flag icon of window having hidden output" },
+#endif
+#if OPT_SAME_NAME
+{"-/+sameName",           "Turn on/off the no flicker option for title and icon name" },
+#endif
 { NULL, NULL }};
 
 static char *message[] = {
@@ -1052,11 +1083,11 @@
 #endif /* TIOCCONS */
 
 Arg ourTopLevelShellArgs[] = {
-       { XtNallowShellResize, (XtArgVal) TRUE },       
+       { XtNallowShellResize, (XtArgVal) TRUE },
        { XtNinput, (XtArgVal) TRUE },
 };
 int number_ourTopLevelShellArgs = 2;
-       
+
 Widget toplevel;
 Bool waiting_for_initial_map;
 
@@ -1142,7 +1173,7 @@
        if (!ttydev)
 #endif
        {
-           fprintf (stderr, 
+           fprintf (stderr,
                     "%s:  unable to allocate memory for ttydev or ptydev\n",
                     ProgramName);
            exit (1);
@@ -1256,7 +1287,7 @@
         d_tio.c_line = NTTYDISC;
 #else
        d_tio.c_line = 0;
-#endif 
+#endif
 #endif /* USE_POSIX_TERMIOS */
 #ifdef __sgi
         d_tio.c_cflag &= ~(HUPCL|PARENB);
@@ -1406,7 +1437,7 @@
 #endif
 
            XtSetErrorHandler(xt_error);
-           toplevel = XtAppInitialize (&app_con, "XTerm", 
+           toplevel = XtAppInitialize (&app_con, "XTerm",
                                        optionDescList,
                                        XtNumber(optionDescList),
                                        &argc, argv, fallback_resources,
@@ -1448,6 +1479,17 @@
            }
        }
 
+#if OPT_ZICONBEEP
+       zIconBeep = resource.zIconBeep;
+       zIconBeep_flagged = False;
+       if ( zIconBeep > 100 || zIconBeep < -100 ) {
+           zIconBeep = 0;      /* was 100, but I prefer to defaulting off. */
+           fprintf( stderr, "a number between -100 and 100 is required for zIconBeep.  0 used by default\n");
+       }
+#endif /* OPT_ZICONBEEP */
+#if OPT_SAME_NAME
+        sameName = resource.sameName;
+#endif
        xterm_name = resource.xterm_name;
        sunFunctionKeys = resource.sunFunctionKeys;
 #if OPT_SUNPC_KBD
@@ -1472,7 +1514,7 @@
            XtSetValues( toplevel, args, 2);
        }
 
-       XtSetValues (toplevel, ourTopLevelShellArgs, 
+       XtSetValues (toplevel, ourTopLevelShellArgs,
                     number_ourTopLevelShellArgs);
 
        /* Parse the rest of the command line */
@@ -1589,10 +1631,10 @@
                } /* else not reached */
            }
 
-           if (!resource.icon_name) 
+           if (!resource.icon_name)
              resource.icon_name = resource.title;
            XtSetArg (args[0], XtNtitle, resource.title);
-           XtSetArg (args[1], XtNiconName, resource.icon_name);                
+           XtSetArg (args[1], XtNiconName, resource.icon_name);
 
            XtSetValues (toplevel, args, 2);
        }
@@ -1672,7 +1714,7 @@
 #if OSMAJORVERSION < 4
        /* In AIXV3, xterms started from /dev/console have CLOCAL set.
         * This means we need to clear CLOCAL so that SIGHUP gets sent
-        * to the slave-pty process when xterm exits. 
+        * to the slave-pty process when xterm exits.
         */
 
        {
@@ -1713,7 +1755,7 @@
 #endif /* USE_SYSV_TERMIO */
 #endif /* MINIX */
 #endif  /* AMOEBA */
-       
+
        FD_ZERO (&pty_mask);
        FD_ZERO (&X_mask);
        FD_ZERO (&Select_mask);
@@ -1721,8 +1763,8 @@
        FD_SET (ConnectionNumber(screen->display), &X_mask);
        FD_SET (screen->respond, &Select_mask);
        FD_SET (ConnectionNumber(screen->display), &Select_mask);
-       max_plus1 = (screen->respond < ConnectionNumber(screen->display)) ? 
-               (1 + ConnectionNumber(screen->display)) : 
+       max_plus1 = (screen->respond < ConnectionNumber(screen->display)) ?
+               (1 + ConnectionNumber(screen->display)) :
                (1 + screen->respond);
 
 #ifdef DEBUG
@@ -1777,19 +1819,19 @@
          The order of this code is *important*.  On SYSV/386 we want to open
          a /dev/ttyp? first if at all possible.  If none are available, then
          we'll try to open a /dev/pts??? device.
-         
+
          The reason for this is because /dev/ttyp? works correctly, where
          as /dev/pts??? devices have a number of bugs, (won't update
          screen correcly, will hang -- it more or less works, but you
          really don't want to use it).
-         
+
          Most importantly, for boxes of this nature, one of the major
          "features" is that you can emulate a 8086 by spawning off a UNIX
          program on 80386/80486 in v86 mode.  In other words, you can spawn
          off multiple MS-DOS environments.  On ISC the program that does
          this is named "vpix."  The catcher is that "vpix" will *not* work
          with a /dev/pts??? device, will only work with a /dev/ttyp? device.
-         
+
          Since we can open either a /dev/ttyp? or a /dev/pts??? device,
          the flag "IsPts" is set here so that we know which type of
          device we're dealing with in routine spawn().  That's the reason
@@ -1937,21 +1979,21 @@
 
 static void
 get_terminal ()
-/* 
+/*
  * sets up X and initializes the terminal structure except for term.buf.fildes.
  */
 {
        register TScreen *screen = &term->screen;
-       
-       screen->arrow = make_colored_cursor (XC_left_ptr, 
+
+       screen->arrow = make_colored_cursor (XC_left_ptr,
                                             screen->mousecolor,
                                             screen->mousecolorback);
 }
 
 /*
- * The only difference in /etc/termcap between 4014 and 4015 is that 
+ * The only difference in /etc/termcap between 4014 and 4015 is that
  * the latter has support for switching character sets.  We support the
- * 4015 protocol, but ignore the character switches.  Therefore, we 
+ * 4015 protocol, but ignore the character switches.  Therefore, we
  * choose 4014 over 4015.
  *
  * Features of the 4014 over the 4012: larger (19") screen, 12-bit
@@ -2090,7 +2132,7 @@
 
 static int
 spawn ()
-/* 
+/*
  *  Inits pty and tty and forks a login process.
  *  Does not close fd Xsocket.
  *  If slave, the pty named in passedPty is already open for use
@@ -2234,7 +2276,7 @@
                        /* Get a copy of the current terminal's state,
                         * if we can.  Some systems (e.g., SVR4 and MacII)
                         * may not have a controlling terminal at this point
-                        * if started directly from xdm or xinit,     
+                        * if started directly from xdm or xinit,
                         * in which case we just use the defaults as above.
                         */
 #ifdef TIOCSLTC
@@ -2251,7 +2293,7 @@
 
 #else  /* not USE_SYSV_TERMIO */
 #ifdef USE_POSIX_TERMIOS
-                       if (tcgetattr(tty, &tio) == -1) 
+                       if (tcgetattr(tty, &tio) == -1)
                                tio = d_tio;
 #else   /* not USE_POSIX_TERMIOS */
                        if(ioctl(tty, TIOCGETP, (char *)&sg) == -1)
@@ -2367,7 +2409,7 @@
            while (*envnew != NULL) {
                if(tgetent(ptr, *envnew) == 1) {
                        TermName = *envnew;
-                       if (*ptr) 
+                       if (*ptr)
                            if(!TEK4014_ACTIVE(screen))
                                resize(screen, termcap, newtc);
                        break;
@@ -2412,7 +2454,7 @@
 #endif
            if ((screen->pid = fork ()) == -1)
                SysError (ERROR_FORK);
-               
+
            if (screen->pid == 0) {
                /*
                 * now in child process
@@ -2593,7 +2635,7 @@
 #endif /* USE_HANDSHAKE -- from near fork */
 
 #ifdef USE_TTY_GROUP
-       { 
+       {
 #include <grp.h>
                struct group *ttygrp;
                if ((ttygrp = getgrnam("tty")) != 0) {
@@ -2644,7 +2686,7 @@
                    tio.c_oflag |= ONLCR;
 #ifdef OPOST
                    tio.c_oflag |= OPOST;
-#endif /* OPOST */                 
+#endif /* OPOST */
 #ifdef MINIX   /* should be ifdef _POSIX_SOURCE */
                    cfsetispeed(&tio, B9600);
                    cfsetospeed(&tio, B9600);
@@ -2661,7 +2703,7 @@
 #else /* USE_POSIX_TERMIOS */
                    cfsetispeed(&tio, B9600);
                    cfsetospeed(&tio, B9600);
-                   /* Clear CLOCAL so that SIGHUP is sent to us 
+                   /* Clear CLOCAL so that SIGHUP is sent to us
                       when the xterm ends */
                    tio.c_cflag &= ~CLOCAL;
 #endif /* USE_POSIX_TERMIOS */
@@ -2897,6 +2939,7 @@
                sprintf (buf, "%lu",
                         ((unsigned long) XtWindow (XtParent(CURRENT_EMU(screen)))));
                Setenv ("WINDOWID=", buf);
+
                /* put the display into the environment of the shell*/
                Setenv ("DISPLAY=", XDisplayString (screen->display));
 
@@ -3020,7 +3063,7 @@
                (void) strncpy(utmp.ut_user,
                               (pw && pw->pw_name) ? pw->pw_name : "????",
                               sizeof(utmp.ut_user));
-                   
+
                /* why are we copying this string again? look up 16 lines. */
                (void)strncpy(utmp.ut_id, ptynameptr, sizeof(utmp.ut_id));
                (void) strncpy (utmp.ut_line,
@@ -3038,7 +3081,7 @@
 #endif
                (void) strncpy(utmp.ut_host, buf, sizeof(utmp.ut_host));
 #endif
-               (void) strncpy(utmp.ut_name, pw->pw_name, 
+               (void) strncpy(utmp.ut_name, pw->pw_name,
                               sizeof(utmp.ut_name));
 
                utmp.ut_pid = getpid();
@@ -3093,7 +3136,7 @@
                                utmp.ut_type = USER_PROCESS;
 #endif /* MINIX */
 #ifdef HAS_UTMP_UT_HOST
-                               (void) strncpy(utmp.ut_host, 
+                               (void) strncpy(utmp.ut_host,
                                               XDisplayString (screen->display),
                                               sizeof(utmp.ut_host));
 #endif
@@ -3142,7 +3185,7 @@
                                    (void) strncpy(lastlog.ll_line, ttydev +
                                        sizeof("/dev"),
                                        sizeof (lastlog.ll_line));
-                                   (void) strncpy(lastlog.ll_host, 
+                                   (void) strncpy(lastlog.ll_host,
                                          XDisplayString (screen->display),
                                          sizeof (lastlog.ll_host));
                                    time(&lastlog.ll_time);
@@ -3268,7 +3311,7 @@
                        /* print error message on screen */
                        fprintf(stderr, "%s: Can't execvp %s\n", xterm_name,
                         *command_to_exec);
-               } 
+               }
 
 #ifdef USE_SYSV_SIGHUP
                /* fix pts sh hanging around */
@@ -3400,7 +3443,7 @@
 
 /*
  * Unfortunately, System V seems to have trouble divorcing the child process
- * from the process group of xterm.  This is a problem because hitting the 
+ * from the process group of xterm.  This is a problem because hitting the
  * INTR or QUIT characters on the keyboard will cause xterm to go away if we
  * don't ignore the signals.  This is annoying.
  */
@@ -3741,7 +3784,7 @@
 
        argvec[0] = term->misc.login_shell ? shname_minus : shname;
        argvec[1] = NULL;
-    
+
        if (find_program(shell, &shellcap) != STD_OK) {
            fprintf(stderr, "%s: Could not find %s!\n", xterm_name, shell);
            exit(ERROR_EXEC);
@@ -4048,7 +4091,7 @@
        sprintf(buf+strlen(buf), fmt, x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);
        strcat(buf, ": ");
        strcat(buf, SysErrorMsg (oerrno));
-       strcat(buf, "\n");      
+       strcat(buf, "\n");
 #ifndef AMOEBA
        f = open("/dev/console",O_WRONLY);
        write(f, buf, strlen(buf));
Index: misc.c
--- xterm-71+/misc.c    Mon Mar 23 00:53:54 1998
+++ xterm-72/misc.c     Fri Apr 17 19:37:32 1998
@@ -132,8 +132,8 @@
                FlushScroll(screen);
        /*
         * process timeouts, relying on the fact that XtAppProcessEvent
-        * will process the timeout and return without blockng on the 
-        * XEvent queue.  Other sources i.e. the pty are handled elsewhere 
+        * will process the timeout and return without blockng on the
+        * XEvent queue.  Other sources i.e. the pty are handled elsewhere
         * with select().
         */
        while ((input_mask = XtAppPending(app_con)) & XtIMTimer)
@@ -155,7 +155,7 @@
                 */
                if(OUR_EVENT(event, EnterNotify))
                  DoSpecialEnterNotify (&event.xcrossing);
-               else 
+               else
                if(OUR_EVENT(event, LeaveNotify))
                  DoSpecialLeaveNotify (&event.xcrossing);
 
@@ -177,7 +177,7 @@
        register TScreen *screen = &term->screen;
        Cursor c;
        register Display *dpy = screen->display;
-       
+
        c = XCreateFontCursor (dpy, cursorindex);
        if (c == (Cursor) 0) return (c);
 
@@ -452,7 +452,7 @@
     if(screen->TekEmu) {
        XFillRectangle(
                       screen->display,
-                      TWindow(screen), 
+                      TWindow(screen),
                       visualGC,
                       0, 0,
                       (unsigned) TFullWidth(screen),
@@ -460,7 +460,7 @@
        XFlush(screen->display);
        XFillRectangle(
                       screen->display,
-                      TWindow(screen), 
+                      TWindow(screen),
                       visualGC,
                       0, 0,
                       (unsigned) TFullWidth(screen),
@@ -470,7 +470,7 @@
     {
        XFillRectangle(
                       screen->display,
-                      VWindow(screen), 
+                      VWindow(screen),
                       visualGC,
                       0, 0,
                       (unsigned) FullWidth(screen),
@@ -478,7 +478,7 @@
        XFlush(screen->display);
        XFillRectangle(
                       screen->display,
-                      VWindow(screen), 
+                      VWindow(screen),
                       visualGC,
                       0, 0,
                       (unsigned) FullWidth(screen),
@@ -510,14 +510,14 @@
        event.display = screen->display;
        event.x = 0;
        event.y = 0;
-       event.count = 0; 
-       
+       event.count = 0;
+
        if(VWindow(screen)) {
                event.window = VWindow(screen);
                event.width = term->core.width;
                event.height = term->core.height;
                (*term->core.widget_class->core_class.expose)((Widget)term, (XEvent *)&event, NULL);
-               if(Scrollbar(screen)) 
+               if(Scrollbar(screen))
                        (*screen->scrollWidget->core.widget_class->core_class.expose)(screen->scrollWidget, (XEvent *)&event, NULL);
                }
 
@@ -598,10 +598,10 @@
 
 /*
  * Logging is a security hole, since it allows a setuid program to write
- * arbitrary data to an arbitrary file.  So it is disabled by default. 
+ * arbitrary data to an arbitrary file.  So it is disabled by default.
  * (However, this version of xterm resets the setuid before opening the
  * logfile).
- */ 
+ */
 
 #ifdef ALLOWLOGFILEEXEC
 static SIGNAL_T logpipe PROTO((int sig));
@@ -767,7 +767,7 @@
        int state = 0;
        char *buf = 0;
 
-       /* 
+       /*
         * lines should be of the form <OSC> number ; string <ST>
         */
        mode = 0;
@@ -1024,6 +1024,18 @@
      XtArgVal value;
 {
        Arg args[1];
+#if OPT_SAME_NAME
+       char *buf;
+
+       /* If the attribute isn't going to change, then don't bother... */
+
+       if( sameName ) {
+           XtSetArg( args[0], attribute, &buf );
+           XtGetValues( toplevel, args, 1 );
+           if (strcmp((char *)value, buf) == 0)
+               return;
+       }
+#endif /* OPT_SAME_NAME */
 
        XtSetArg( args[0], attribute, value );
        XtSetValues( toplevel, args, 1 );
@@ -1033,7 +1045,20 @@
 Changename(name)
 register char *name;
 {
-    ChangeGroup( XtNiconName, (XtArgVal)name );
+#if OPT_ZICONBEEP      /* If warning should be given then give it */
+    if ( zIconBeep && zIconBeep_flagged ) {
+       char *newname = malloc(strlen(name)+ 4 + 1);
+       if (!newname) {
+           fprintf(stderr, "malloc failed in Changename\n");
+           return;
+       }
+       strcpy(newname, "*** ");
+       strcat(newname, name);
+       ChangeGroup( XtNiconName, (XtArgVal)newname );
+       free(newname);
+    } else
+#endif /* OPT_ZICONBEEP */
+       ChangeGroup( XtNiconName, (XtArgVal)name );
 }
 
 void
@@ -1361,7 +1386,7 @@
 xioerror(dpy)
 Display *dpy;
 {
-    (void) fprintf (stderr, 
+    (void) fprintf (stderr,
                    "%s:  fatal IO error %d (%s) or KillClient on X server \"%s\"\r\n",
                    xterm_name, errno, SysErrorMsg (errno),
                    DisplayString (dpy));
@@ -1417,7 +1442,7 @@
 #if OPT_TEK4014
     else {
        if (screen->Vshow && term) {
-           withdraw_window (XtDisplay (term), 
+           withdraw_window (XtDisplay (term),
                             XtWindow(XtParent(term)),
                             XScreenNumberOfScreen(XtScreen(term)));
            screen->Vshow = FALSE;
@@ -1431,7 +1456,7 @@
 #endif
     return;
 }
-                               
+
 #if OPT_TEK4014
 extern Atom wm_delete_window;  /* for ICCCM delete window */
 
@@ -1447,14 +1472,14 @@
            XtOverrideTranslations(tekParent,
                                   XtParseTranslationTable
                                   ("<Message>WM_PROTOCOLS: DeleteWindow()"));
-           (void) XSetWMProtocols (XtDisplay(tekParent), 
+           (void) XSetWMProtocols (XtDisplay(tekParent),
                                    XtWindow(tekParent),
                                    &wm_delete_window, 1);
            screen->Tshow = TRUE;
        }
     } else {
        if (screen->Tshow && tekWidget) {
-           withdraw_window (XtDisplay (tekWidget), 
+           withdraw_window (XtDisplay (tekWidget),
                             XtWindow(XtParent(tekWidget)),
                             XScreenNumberOfScreen(XtScreen(tekWidget)));
            screen->Tshow = FALSE;
@@ -1480,7 +1505,7 @@
        }
 #endif
        longjmp(Tekend, 1);
-    } 
+    }
     return;
 }
 
@@ -1497,7 +1522,7 @@
 #endif
        screen->TekEmu = TRUE;
        longjmp(VTend, 1);
-    } 
+    }
     return;
 }
 
Index: os2main.c
--- xterm-71+/os2main.c Sun Apr  5 23:48:23 1998
+++ xterm-72/os2main.c  Fri Apr 17 20:15:59 1998
@@ -1,4 +1,4 @@
-/* removed all foreign stuff to get the code more clear (hv) 
+/* removed all foreign stuff to get the code more clear (hv)
  * and did some rewrite for the obscure OS/2 environment
  */
 
@@ -38,13 +38,13 @@
 
                         All Rights Reserved
 
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in 
-supporting documentation, and that the name of Digital not be used in 
-advertising or publicity pertaining to distribution of the software 
-without specific, written prior permission.  
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
 
 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
@@ -66,6 +66,7 @@
 #include <os2.h>
 #endif
 
+#include "version.h"
 #include "ptyx.h"
 #include <X11/StringDefs.h>
 #include <X11/Shell.h>
@@ -116,6 +117,7 @@
 
 int switchfb[] = {0, 2, 1, 3};
 
+static SIGNAL_T reapchild PROTO((int n));
 static char *base_name PROTO((char *name));
 static int pty_search PROTO((int *pty));
 static int remove_termcap_entry PROTO((char *buf, char *str));
@@ -128,7 +130,6 @@
 static void get_terminal PROTO((void));
 static void my_error_handler PROTO((String message));
 static void resize PROTO((TScreen *s, char *oldtc, char *newtc));
-static SIGNAL_T reapchild PROTO((int n));
 
 static Bool added_utmp_entry = False;
 
@@ -257,6 +258,16 @@
 #endif
     Boolean wait_for_map;
     Boolean useInsertMode;
+#if OPT_ZICONBEEP
+    int zIconBeep;             /* beep level when output while iconified */
+#endif
+#if OPT_SAME_NAME
+    Boolean sameName;          /* Don't change the title or icon name if it is
+                                * the same.  This prevents flicker on the
+                                * screen at the cost of an extra request to
+                                * the server.
+                                */
+#endif
 } resource;
 
 /* used by VT (charproc.c) */
@@ -288,6 +299,14 @@
         offset(wait_for_map), XtRString, "false"},
     {"useInsertMode", "UseInsertMode", XtRBoolean, sizeof (Boolean),
         offset(useInsertMode), XtRString, "false"},
+#if OPT_ZICONBEEP
+    {"zIconBeep", "ZIconBeep", XtRInt, sizeof (int),
+       offset(zIconBeep), XtRImmediate, 0},
+#endif
+#if OPT_SAME_NAME
+    {"sameName", "SameName", XtRBoolean, sizeof (Boolean),
+       offset(sameName), XtRString, "true"},
+#endif
 };
 #undef offset
 
@@ -395,6 +414,13 @@
 {"+vb",                "*visualBell",  XrmoptionNoArg,         (caddr_t) "off"},
 {"-wf",                "*waitForMap",  XrmoptionNoArg,         (caddr_t) "on"},
 {"+wf",                "*waitForMap",  XrmoptionNoArg,         (caddr_t) "off"},
+#if OPT_ZICONBEEP
+{"-ziconbeep",  "*zIconBeep",   XrmoptionSepArg,        (caddr_t) NULL},
+#endif
+#if OPT_SAME_NAME
+{"-samename",  "*sameName",    XrmoptionNoArg,         (caddr_t) "on"},
+{"+samename",  "*sameName",    XrmoptionNoArg,         (caddr_t) "off"},
+#endif
 /* bogus old compatibility stuff for which there are
    standard XtAppInitialize options now */
 {"%",          "*tekGeometry", XrmoptionStickyArg,     (caddr_t) NULL},
@@ -492,6 +518,12 @@
 { "-n string",             "icon name for window" },
 { "-C",                    "intercept console messages" },
 { "-Sxxd",                 "slave mode on \"ttyxx\", file descriptor \"d\"" },
+#if OPT_ZICONBEEP
+{ "-ziconbeep percent",    "beep and flag icon of window having hidden output" },
+#endif
+#if OPT_SAME_NAME
+{"-/+sameName",           "Turn on/off the no flicker option for title and icon name" },
+#endif
 { NULL, NULL }};
 
 /*debug FILE *confd;*/
@@ -591,11 +623,11 @@
 }
 
 Arg ourTopLevelShellArgs[] = {
-       { XtNallowShellResize, (XtArgVal) TRUE },       
+       { XtNallowShellResize, (XtArgVal) TRUE },
        { XtNinput, (XtArgVal) TRUE },
 };
 int number_ourTopLevelShellArgs = 2;
-       
+
 Widget toplevel;
 Bool waiting_for_initial_map;
 
@@ -706,7 +738,7 @@
                t->c_iflag = pt.c_iflag;
                t->c_oflag = pt.c_oflag;
                t->c_cflag = pt.c_cflag;
-               t->c_lflag = pt.c_lflag;                
+               t->c_lflag = pt.c_lflag;
                for (i=0; i<NCC; i++)
                        t->c_cc[i] = pt.c_cc[i];
                return 0;
@@ -721,9 +753,9 @@
 
                for (i=0; i<NCC; i++)
                        pt.c_cc[i] = t->c_cc[i];
-               if (func==TCSETA) 
+               if (func==TCSETA)
                        i = XTY_TIOCSETA;
-               else if (func==TCSETAW) 
+               else if (func==TCSETAW)
                        i = XTY_TIOCSETAW;
                else
                        i = XTY_TIOCSETAF;
@@ -735,7 +767,7 @@
                return DosDevIOCtl(fd,XFREE86_PTY, XTY_TIOCCONS,
                        (ULONG*)data, sizeof(ULONG), &len,
                        NULL, 0, NULL);
-       case TIOCSWINSZ:                                
+       case TIOCSWINSZ:
                return DosDevIOCtl(fd,XFREE86_PTY, XTY_TIOCSWINSZ,
                        (ULONG*)data, sizeof(struct winsize), &len,
                        NULL, 0, NULL);
@@ -784,7 +816,7 @@
                        Help();
        }
 
-       /* XXX: for some obscure reason EMX seems to lose the value of 
+       /* XXX: for some obscure reason EMX seems to lose the value of
         * the environ variable, don't understand why, so save it recently
         */
        gblenvp = envp;
@@ -798,7 +830,7 @@
        ttydev = (char *) malloc (PTMS_BUFSZ);
        ptydev = (char *) malloc (PTMS_BUFSZ);
        if (!ttydev || !ptydev) {
-           fprintf (stderr, 
+           fprintf (stderr,
                     "%s:  unable to allocate memory for ttydev or ptydev\n",
                     ProgramName);
            exit (1);
@@ -827,7 +859,7 @@
        /* Init the Toolkit. */
        {
            XtSetErrorHandler(xt_error);
-           toplevel = XtAppInitialize (&app_con, "XTerm", 
+           toplevel = XtAppInitialize (&app_con, "XTerm",
                                        optionDescList,
                                        XtNumber(optionDescList),
                                        &argc, argv, fallback_resources,
@@ -859,6 +891,17 @@
            }
        }
 
+#if OPT_ZICONBEEP
+       zIconBeep = resource.zIconBeep;
+       zIconBeep_flagged = False;
+       if ( zIconBeep > 100 || zIconBeep < -100 ) {
+           zIconBeep = 0;      /* was 100, but I prefer to defaulting off. */
+           fprintf( stderr, "a number between -100 and 100 is required for zIconBeep.  0 used by default\n");
+       }
+#endif /* OPT_ZICONBEEP */
+#if OPT_SAME_NAME
+        sameName = resource.sameName;
+#endif
        xterm_name = resource.xterm_name;
        sunFunctionKeys = resource.sunFunctionKeys;
 #if OPT_SUNPC_KBD
@@ -883,7 +926,7 @@
            XtSetValues( toplevel, args, 2);
        }
 
-       XtSetValues (toplevel, ourTopLevelShellArgs, 
+       XtSetValues (toplevel, ourTopLevelShellArgs,
                     number_ourTopLevelShellArgs);
 
        /* Parse the rest of the command line */
@@ -994,10 +1037,10 @@
                } /* else not reached */
            }
 
-           if (!resource.icon_name) 
+           if (!resource.icon_name)
              resource.icon_name = resource.title;
            XtSetArg (args[0], XtNtitle, resource.title);
-           XtSetArg (args[1], XtNiconName, resource.icon_name);                
+           XtSetArg (args[1], XtNiconName, resource.icon_name);
 
            XtSetValues (toplevel, args, 2);
        }
@@ -1063,8 +1106,8 @@
        FD_SET (ConnectionNumber(screen->display), &X_mask);
        FD_SET (screen->respond, &Select_mask);
        FD_SET (ConnectionNumber(screen->display), &Select_mask);
-       max_plus1 = (screen->respond < ConnectionNumber(screen->display)) ? 
-               (1 + ConnectionNumber(screen->display)) : 
+       max_plus1 = (screen->respond < ConnectionNumber(screen->display)) ?
+               (1 + ConnectionNumber(screen->display)) :
                (1 + screen->respond);
 
 #ifdef DEBUG
@@ -1137,27 +1180,27 @@
 #endif
                        return 0;
                }
-       } 
+       }
        return 1;
 }
 
 static void
 get_terminal ()
-/* 
+/*
  * sets up X and initializes the terminal structure except for term.buf.fildes.
  */
 {
        register TScreen *screen = &term->screen;
-       
-       screen->arrow = make_colored_cursor (XC_left_ptr, 
+
+       screen->arrow = make_colored_cursor (XC_left_ptr,
                                             screen->mousecolor,
                                             screen->mousecolorback);
 }
 
 /*
- * The only difference in /etc/termcap between 4014 and 4015 is that 
+ * The only difference in /etc/termcap between 4014 and 4015 is that
  * the latter has support for switching character sets.  We support the
- * 4015 protocol, but ignore the character switches.  Therefore, we 
+ * 4015 protocol, but ignore the character switches.  Therefore, we
  * choose 4014 over 4015.
  *
  * Features of the 4014 over the 4012: larger (19") screen, 12-bit
@@ -1249,7 +1292,7 @@
 
 static int
 spawn ()
-/* 
+/*
  *  Inits pty and tty and forks a login process.
  *  Does not close fd Xsocket.
  *  If slave, the pty named in passedPty is already open for use
@@ -1323,7 +1366,7 @@
                        /* Get a copy of the current terminal's state,
                         * if we can.  Some systems (e.g., SVR4 and MacII)
                         * may not have a controlling terminal at this point
-                        * if started directly from xdm or xinit,     
+                        * if started directly from xdm or xinit,
                         * in which case we just use the defaults as above.
                         */
 /**/                   if(ioctl(tty, TCGETA, &tio) == -1)
@@ -1399,7 +1442,7 @@
            while (*envnew != NULL) {
                if(tgetent(ptr, *envnew) == 1) {
                        TermName = *envnew;
-                       if (*ptr) 
+                       if (*ptr)
                            if(!TEK4014_ACTIVE(screen))
                                resize(screen, termcap, newtc);
                        break;
@@ -1429,7 +1472,7 @@
                char sema[40];
                HEV sev;
                /* start a child process
-                * use an event sema for sync 
+                * use an event sema for sync
                 */
                sprintf(sema,"\\SEM32\\xterm%s",&ptydev[8]);
                if (DosCreateEventSem(sema,&sev,DC_SEM_SHARED,FALSE))
@@ -1468,7 +1511,7 @@
                        if ((ptr = ttyname(tty)) != 0)
                        {
                                /* it may be bigger */
-                               ttydev = realloc (ttydev, 
+                               ttydev = realloc (ttydev,
                                        (unsigned) (strlen(ptr) + 1));
                                (void) strcpy(ttydev, ptr);
                        }
@@ -1485,13 +1528,13 @@
                        chmod (ttydev, 0622);
 
                        /* for the xf86sup-pty, we set the pty to bypass: OS/2 does
-                        * not have a line discipline structure 
+                        * not have a line discipline structure
                         */
                        {
                                struct termio t,t1;
                                if (ptioctl(tty, TCGETA, (char*)&t) < 0)
                                        t = d_tio;
-                               
+
                                t.c_iflag = ICRNL;
                                t.c_oflag = OPOST|ONLCR;
                                t.c_lflag = ISIG|ICANON|ECHO|ECHOE|ECHOK;
@@ -1516,7 +1559,7 @@
                        signal (SIGTERM, SIG_DFL);
 
                        /* copy the environment before Setenving */
-                       for (i = 0 ; gblenvp [i] != NULL ; i++) 
+                       for (i = 0 ; gblenvp [i] != NULL ; i++)
                                ;
 
                        /* compute number of Setenv() calls below */
@@ -1540,19 +1583,18 @@
 
                        signal(SIGTERM, SIG_DFL);
 
-                       /* this is the time to go and set up stdin, 
-                        * out, and err
+                       /* this is the time to go and set up stdin, out, and err
                         */
                        /* dup the tty */
                        for (i = 0; i <= 2; i++)
                                if (i != tty) {
-                                       close(i);
-                                       dup(tty);
+                                       (void) close(i);
+                                       (void) dup(tty);
                                }
 
                        /* and close the tty */
                        if (tty > 2)
-                               close(tty);
+                               (void) close(tty);
 
                        setpgrp (0, pgrp);
                        setgid (screen->gid);
@@ -1595,9 +1637,9 @@
                                        gblenvp);
 
                                /* print error message on screen */
-                               fprintf(stderr, "%s: Can't execvp %s\n", 
+                               fprintf(stderr, "%s: Can't execvp %s\n",
                                        xterm_name, *command_to_exec);
-                       } 
+                       }
 
                        /* use a layered mechanism to find a shell */
                        ptr = getenv("X11SHELL");
@@ -1631,13 +1673,13 @@
                                        gblenvp);
 */
                                /* print error message on screen */
-                               fprintf(stderr, "%s: Can't execvp %s\n", 
+                               fprintf(stderr, "%s: Can't execvp %s\n",
                                        xterm_name, *command_to_exec);
                        } else {
                                execlpe (ptr, shname, 0, gblenvp);
 
                                /* Exec failed. */
-                               fprintf (stderr, "%s: Could not exec %s!\n", 
+                               fprintf (stderr, "%s: Could not exec %s!\n",
                                        xterm_name, ptr);
                        }
                        sleep(5);
@@ -1652,7 +1694,7 @@
        signal (SIGHUP, SIG_IGN);
 /*
  * Unfortunately, System V seems to have trouble divorcing the child process
- * from the process group of xterm.  This is a problem because hitting the 
+ * from the process group of xterm.  This is a problem because hitting the
  * INTR or QUIT characters on the keyboard will cause xterm to go away if we
  * don't ignore the signals.  This is annoying.
  */
@@ -1753,7 +1795,7 @@
        sprintf(buf+strlen(buf), fmt, x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);
        strcat(buf, ": ");
        strcat(buf, SysErrorMsg (oerrno));
-       strcat(buf, "\n");      
+       strcat(buf, "\n");
 
        f = open("/dev/console",O_WRONLY);
        write(f, buf, strlen(buf));
Index: ptyx.h
--- xterm-71+/ptyx.h    Sun Apr  5 23:48:23 1998
+++ xterm-72/ptyx.h     Fri Apr 17 19:38:28 1998
@@ -321,6 +321,10 @@
 #define OPT_HIGHLIGHT_COLOR 1 /* true if xterm supports color highlighting */
 #endif
 
+#ifndef OPT_SAME_NAME
+#define OPT_SAME_NAME   1 /* suppress redundant updates of title, icon, etc. */
+#endif
+
 #ifndef OPT_SUNPC_KBD
 #define OPT_SUNPC_KBD  1 /* true if xterm supports Sun/PC keyboard map */
 #endif
@@ -339,6 +343,10 @@
 
 #ifndef OPT_XMC_GLITCH
 #define OPT_XMC_GLITCH 0 /* true if xterm supports xmc (magic cookie glitch) */
+#endif
+
+#ifndef OPT_ZICONBEEP
+#define OPT_ZICONBEEP   1 /* true if xterm supports "-ziconbeep" option */
 #endif
 
 /***====================================================================***/
Index: version.h
--- xterm-71+/version.h Sun Apr 12 20:42:38 1998
+++ xterm-72/version.h  Fri Apr 17 19:48:00 1998
@@ -6,4 +6,4 @@
  * version of xterm has been built.  The number in parentheses is my patch
  * number (T.Dickey).
  */
-#define XTERM_VERSION "XFree86 3.9Ag(71)"
+#define XTERM_VERSION "XFree86 3.9Ag(72)"
Index: xterm.log.html
--- xterm-71+/xterm.log.html    Sun Apr 12 20:50:49 1998
+++ xterm-72/xterm.log.html     Fri Apr 17 20:54:01 1998
@@ -41,6 +41,7 @@
 xc/programs/Xserver/hw/xfree86).
 
 <UL>
+<LI><A HREF="#xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A>
 <LI><A HREF="#xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A>
 <LI><A HREF="#xterm_70">Patch #70 - 1998/3/29 - XFree86 3.9Af and 3.3.2</A>
 <LI><A HREF="#xterm_69">Patch #69 - 1998/3/16 - XFree86 3.9Ad and 3.3.2</A>
@@ -113,6 +114,23 @@
 <LI><A HREF="#xterm_02">Patch #2 - 1996/1/7</A>
 <LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
 </UL>
+
+<H1><A NAME="xterm_72">Patch #72 - 1998/4/17 - XFree86 3.9Ag and 3.3.2</A></H1>
+
+This is a patch from Chris Siebenmann &lt;cks@hawkwind.utcs.toronto.edu&gt;,
+which I have cleaned up a little, and integrated into the configure script.
+<p>
+From his description:
+<blockquote>
+ This set of patches is the latest incarnation of patches originally 
+written by Ian! D Allen, then of the University of Waterloo and now of 
+who knows where; I have been carrying them forward from xterm to xterm 
+ever since about X11R4.  What they do is add an option so that when an 
+iconified xterm receives output it prepends '*** ' to its icon title 
+and (optionally) beeps the bell; deiconifying the xterm removes the 
+'*** '. Over the years I've found this to be incredibly convenient for 
+monitoring all sorts of low-activity things. 
+</blockquote>
 
 <H1><A NAME="xterm_71">Patch #71 - 1998/4/12 - XFree86 3.9Ag and 3.3.2</A></H1>
 
Index: xterm.man
--- xterm-71+/xterm.man Sun Apr  5 23:48:23 1998
+++ xterm-72/xterm.man  Thu Apr 16 06:16:53 1998
@@ -375,6 +375,16 @@
 .TP 8
 .B \+s
 This option indicates that \fIxterm\fP should scroll synchronously.
+.TP 8 
+.B \-samename 
+Doesn't send title and icon name change requests when the request 
+would have no effect: the name isn't changed.  This has the advantage 
+of preventing flicker and the disadvantage of requiring an extra 
+round trip to the server to find out the previous value.  In practice 
+this should never be a problem. 
+.TP 8 
+.B +samename 
+Always send title and icon name change requests. 
 .TP 8
 .B \-sb
 This option indicates that some number of lines that are scrolled off the top 
@@ -479,6 +489,15 @@
 .B \+wf
 This option indicates that \fIxterm\fP show not wait before starting the
 subprocess.
+.TP 8 
+.B \-ziconbeep \fIpercent\fP 
+Same as zIconBeep resource. 
+If percent is non-zero, xterms that produce output while iconified 
+will cause an XBell sound at the given volume 
+and have "***" prepened to their icon titles. 
+Most window managers will detect this change immediately, showing you 
+which window has the output. 
+(A similar feature was in x10 xterm.) 
 .TP 8
 .B \-C
 This option indicates that this window should receive console output.  This
@@ -589,6 +608,14 @@
 .TP 8
 .B "iconName (\fPclass\fB IconName)"
 Specifies the icon name.  The default is the application name.
+.TP 8 
+.B "sameName (\fPclass\fB SameName)" 
+If the value of this resource is "true", xterm doesn't send 
+title and icon name change requests when the request 
+would have no effect: the name isn't changed.  This has the advantage 
+of preventing flicker and the disadvantage of requiring an extra 
+round trip to the server to find out the previous value.  In practice 
+this should never be a problem.  The default is "true". 
 .TP 8
 .B "sunFunctionKeys (\fPclass\fB SunFunctionKeys)"
 Specifies whether or not Sun Function Key escape codes should be generated for
@@ -630,6 +657,15 @@
 .B "waitForMap (\fPclass\fB WaitForMap)"
 Specifies whether or not \fIxterm\fP should wait for the initial window map
 before starting the subprocess.  The default is ``false.''
+.TP 8 
+.B "zIconBeep (\fPclass\fB ZIconBeep)" 
+Same as \-ziconbeep command line argument. 
+If the value of this resource is non-zero, xterms that produce output 
+while iconified will cause an XBell sound at the given volume 
+and have "***" prepened to their icon titles. 
+Most window managers will detect this change immediately, showing you 
+which window has the output. 
+(A similar feature was in x10 xterm.) 
 .\".in 11in
 .sp
 .PP