MANIFEST              |    2 
 Tekproc.c             |    5 
 aclocal.m4            |    6 
 button.c              |   25 -
 charclass.c           |  108 ++--
 charproc.c            |  328 ++++---------
 config.guess          |   22 
 config.sub            |   17 
 configure             | 1192 +++++++++++++++++++++++++-------------------------
 configure.in          |   15 
 cursor.c              |    9 
 data.c                |    6 
 data.h                |   19 
 input.c               |  242 +++++++---
 main.c                |  191 +++++---
 main.h                |   38 +
 menu.c                |    7 
 misc.c                |  161 +++---
 os2main.c             |   18 
 ptyx.h                |   25 -
 resize.c              |   20 
 screen.c              |  254 ++++++----
 trace.c               |  136 +++++
 util.c                |  548 ++++++++++++++++------
 version.h             |    6 
 vttests/256colors2.pl |   33 +
 vttests/88colors2.pl  |   35 +
 xterm.h               |   61 +-
 xterm.log.html        |   80 +++
 xterm.man             |   26 +
 xtermcfg.hin          |    4 
 31 files changed, 2209 insertions(+), 1430 deletions(-)

New commits:
commit dbf47d2b550d25dbf7bb9b0960c162073b2c96d0
Author: Julien Cristau <[EMAIL PROTECTED]>
Date:   Mon Jul 23 02:48:18 2007 +0200

    Import xterm 228.

diff --git a/MANIFEST b/MANIFEST
index b02176e..cc11697 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-MANIFEST for xterm-227, version xterm-227
+MANIFEST for xterm-228, version xterm-228
 
--------------------------------------------------------------------------------
 MANIFEST                        this file
 256colres.h                     resource-definitions for 256-color mode
diff --git a/Tekproc.c b/Tekproc.c
index 8d2a97b..d7dd80e 100644
--- a/Tekproc.c
+++ b/Tekproc.c
@@ -1,4 +1,4 @@
-/* $XTermId: Tekproc.c,v 1.156 2007/05/28 19:08:33 tom Exp $ */
+/* $XTermId: Tekproc.c,v 1.157 2007/07/10 19:53:11 tom Exp $ */
 
 /*
  * Warning, there be crufty dragons here.
@@ -946,8 +946,7 @@ TekExpose(Widget w,
        rcnt = tekRefreshList->count;
        Tparsestate = curstate = Talptable;
        TRACE(("TekExpose resets data to replay %d bytes\n", rcnt));
-       if (resource.wait_for_map)
-           first_map_occurred();
+       first_map_occurred();
        if (!tekscr->waitrefresh)
            TekRefresh(tw);
     }
diff --git a/button.c b/button.c
index 9a951c8..2ff5fd6 100644
--- a/button.c
+++ b/button.c
@@ -1,4 +1,4 @@
-/* $XTermId: button.c,v 1.275 2007/06/26 22:57:19 tom Exp $ */
+/* $XTermId: button.c,v 1.277 2007/07/22 20:37:11 tom Exp $ */
 
 /*
  * Copyright 1999-2006,2007 by Thomas E. Dickey
@@ -51,7 +51,6 @@
  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  * SOFTWARE.
  */
-/* $XFree86: xc/programs/xterm/button.c,v 3.88 2006/06/19 00:36:50 dickey Exp 
$ */
 
 /*
 button.c       Handles button events in the terminal emulator.
@@ -2613,22 +2612,23 @@ do_select_regex(TScreen * screen, CELL * startc, CELL * 
endc)
                        }
                    }
                    if (best_col >= 0) {
+                       int best_nxt = best_col + best_len;
                        columnToCell(screen, firstRow, best_col, startc);
-                       columnToCell(screen, firstRow, best_col + best_len, 
endc);
+                       columnToCell(screen, firstRow, best_nxt, endc);
                        TRACE(("search::%s\n", search));
                        TRACE(("indexed:%d..%d -> %d..%d\n",
-                              best_col, best_col + best_len,
+                              best_col, best_nxt,
                               indexed[best_col],
-                              indexed[best_col + best_len]));
+                              indexed[best_nxt]));
                        TRACE(("matched:%d:%s\n",
-                              indexed[best_col + best_len] + 1 -
+                              indexed[best_nxt] + 1 -
                               indexed[best_col],
                               visibleChars(PAIRED_CHARS((Char *) (search +
                                                                   
indexed[best_col]),
                                                         0),
-                                           indexed[best_col + best_len] +
-                                           1 -
-                                           indexed[best_col])));
+                                           (unsigned) (indexed[best_nxt] +
+                                                       1 -
+                                                       indexed[best_col]))));
                    }
                    free(search);
                }
@@ -2997,7 +2997,7 @@ SaltTextAway(XtermWidget xw,
     *lp = '\0';                        /* make sure we have end marked */
 
     TRACE(("Salted TEXT:%d:%s\n", lp - line,
-          visibleChars(PAIRED_CHARS(line, 0), lp - line)));
+          visibleChars(PAIRED_CHARS(line, 0), (unsigned) (lp - line))));
 
     screen->selection_length = (lp - line);
     _OwnSelection(xw, params, num_params);
diff --git a/charclass.c b/charclass.c
index 33e2756..b8fd759 100644
--- a/charclass.c
+++ b/charclass.c
@@ -1,4 +1,4 @@
-/* $XTermId: charclass.c,v 1.14 2006/02/13 01:14:58 tom Exp $ */
+/* $XTermId: charclass.c,v 1.18 2007/07/15 16:18:41 tom Exp $ */
 
 /*
  * Compact and efficient reimplementation of the
@@ -6,21 +6,22 @@
  *
  * Markus Kuhn -- [EMAIL PROTECTED] -- 2000-07-03
  *
- * Xterm allows users to select entire words with a double-click on
- * the left mouse button. Opinions might differ on what type of
- * characters are part of separate words, therefore xterm allows users
- * to configure a class code for each 8-bit character. Words are
- * maximum length sequences of neighboring characters with identical
- * class code. Extending this mechanism to Unicode naively would
- * create an at least 2^16 entries (128 kB) long class code table.
- * Instead, we transform the character class table into a list
- * of intervals, that will be accessed via a linear search.
- * Changes made to the table by the user will be appended. A special
- * class code -1 (default) marks characters who have their code number
- * as the class code. We could alternatively use a sorted table of
- * non-overlapping intervals that can be accessed via binary search,
- * but merging in new intervals is significantly more hassle and
- * not worth the effort here.
+ * Xterm allows users to select entire words with a double-click on the left
+ * mouse button.  Opinions might differ on what type of characters are part of
+ * separate words, therefore xterm allows users to configure a class code for
+ * each 8-bit character.  Words are maximum length sequences of neighboring
+ * characters with identical class code.  Extending this mechanism to Unicode
+ * naively would create an at least 2^16 entries (128 kB) long class code
+ * table.
+ *
+ * Instead, we transform the character class table into a list of intervals,
+ * that will be accessed via a linear search.  Changes made to the table by the
+ * user will be appended.  A special class code IDENT (default) marks
+ * characters who have their code number as the class code.
+ *
+ * We could alternatively use a sorted table of non-overlapping intervals that
+ * can be accessed via binary search, but merging in new intervals is
+ * significantly more hassle and not worth the effort here.
  */
 /* $XFree86: xc/programs/xterm/charclass.c,v 1.7 2006/02/13 01:14:58 dickey 
Exp $ */
 
@@ -65,6 +66,13 @@ SetCharacterClassRange(int low, int high, int value)
     return 0;
 }
 
+enum {
+    IDENT = -1,
+    ALNUM = 48,
+    CNTRL = 1,
+    BLANK = 32,
+} Classes;
+
 void
 init_classtab(void)
 {
@@ -78,48 +86,48 @@ init_classtab(void)
     classtab[0].last = 0;
 
     /* old xterm default classes */
-    SetCharacterClassRange(0, 0, 32);
-    SetCharacterClassRange(1, 31, 1);
-    SetCharacterClassRange('\t', '\t', 32);
-    SetCharacterClassRange('0', '9', 48);
-    SetCharacterClassRange('A', 'Z', 48);
-    SetCharacterClassRange('_', '_', 48);
-    SetCharacterClassRange('a', 'z', 48);
-    SetCharacterClassRange(127, 159, 1);
-    SetCharacterClassRange(160, 191, -1);
-    SetCharacterClassRange(192, 255, 48);
-    SetCharacterClassRange(215, 215, 216);
-    SetCharacterClassRange(247, 247, 248);
+    SetCharacterClassRange(0, 0, BLANK);
+    SetCharacterClassRange(1, 31, CNTRL);
+    SetCharacterClassRange('\t', '\t', BLANK);
+    SetCharacterClassRange('0', '9', ALNUM);
+    SetCharacterClassRange('A', 'Z', ALNUM);
+    SetCharacterClassRange('_', '_', ALNUM);
+    SetCharacterClassRange('a', 'z', ALNUM);
+    SetCharacterClassRange(127, 159, CNTRL);
+    SetCharacterClassRange(160, 191, IDENT);
+    SetCharacterClassRange(192, 255, ALNUM);
+    SetCharacterClassRange(215, 215, IDENT);
+    SetCharacterClassRange(247, 247, IDENT);
 
     /* added Unicode classes */
-    SetCharacterClassRange(0x0100, 0xffdf, 48);                /* mostly 
characters */
-    SetCharacterClassRange(0x037e, 0x037e, -1);                /* Greek 
question mark */
-    SetCharacterClassRange(0x0387, 0x0387, -1);                /* Greek ano 
teleia */
-    SetCharacterClassRange(0x055a, 0x055f, -1);                /* Armenian 
punctuation */
-    SetCharacterClassRange(0x0589, 0x0589, -1);                /* Armenian 
full stop */
-    SetCharacterClassRange(0x0700, 0x070d, -1);                /* Syriac 
punctuation */
-    SetCharacterClassRange(0x104a, 0x104f, -1);                /* Myanmar 
punctuation */
-    SetCharacterClassRange(0x10fb, 0x10fb, -1);                /* Georgian 
punctuation */
-    SetCharacterClassRange(0x1361, 0x1368, -1);                /* Ethiopic 
punctuation */
-    SetCharacterClassRange(0x166d, 0x166e, -1);                /* Canadian 
Syl. punctuation */
-    SetCharacterClassRange(0x17d4, 0x17dc, -1);                /* Khmer 
punctuation */
-    SetCharacterClassRange(0x1800, 0x180a, -1);                /* Mongolian 
punctuation */
-    SetCharacterClassRange(0x2000, 0x200a, 32);                /* spaces */
-    SetCharacterClassRange(0x200b, 0x27ff, -1);                /* punctuation 
and symbols */
+    SetCharacterClassRange(0x0100, 0xffdf, ALNUM);     /* mostly characters */
+    SetCharacterClassRange(0x037e, 0x037e, IDENT);     /* Greek question mark 
*/
+    SetCharacterClassRange(0x0387, 0x0387, IDENT);     /* Greek ano teleia */
+    SetCharacterClassRange(0x055a, 0x055f, IDENT);     /* Armenian punctuation 
*/
+    SetCharacterClassRange(0x0589, 0x0589, IDENT);     /* Armenian full stop */
+    SetCharacterClassRange(0x0700, 0x070d, IDENT);     /* Syriac punctuation */
+    SetCharacterClassRange(0x104a, 0x104f, IDENT);     /* Myanmar punctuation 
*/
+    SetCharacterClassRange(0x10fb, 0x10fb, IDENT);     /* Georgian punctuation 
*/
+    SetCharacterClassRange(0x1361, 0x1368, IDENT);     /* Ethiopic punctuation 
*/
+    SetCharacterClassRange(0x166d, 0x166e, IDENT);     /* Canadian Syl. 
punctuation */
+    SetCharacterClassRange(0x17d4, 0x17dc, IDENT);     /* Khmer punctuation */
+    SetCharacterClassRange(0x1800, 0x180a, IDENT);     /* Mongolian 
punctuation */
+    SetCharacterClassRange(0x2000, 0x200a, BLANK);     /* spaces */
+    SetCharacterClassRange(0x200b, 0x27ff, IDENT);     /* punctuation and 
symbols */
     SetCharacterClassRange(0x2070, 0x207f, 0x2070);    /* superscript */
     SetCharacterClassRange(0x2080, 0x208f, 0x2080);    /* subscript */
-    SetCharacterClassRange(0x3000, 0x3000, 32);                /* ideographic 
space */
-    SetCharacterClassRange(0x3001, 0x3020, -1);                /* ideographic 
punctuation */
+    SetCharacterClassRange(0x3000, 0x3000, BLANK);     /* ideographic space */
+    SetCharacterClassRange(0x3001, 0x3020, IDENT);     /* ideographic 
punctuation */
     SetCharacterClassRange(0x3040, 0x309f, 0x3040);    /* Hiragana */
     SetCharacterClassRange(0x30a0, 0x30ff, 0x30a0);    /* Katakana */
     SetCharacterClassRange(0x3300, 0x9fff, 0x4e00);    /* CJK Ideographs */
     SetCharacterClassRange(0xac00, 0xd7a3, 0xac00);    /* Hangul Syllables */
     SetCharacterClassRange(0xf900, 0xfaff, 0x4e00);    /* CJK Ideographs */
-    SetCharacterClassRange(0xfe30, 0xfe6b, -1);                /* punctuation 
forms */
-    SetCharacterClassRange(0xff00, 0xff0f, -1);                /* 
half/fullwidth ASCII */
-    SetCharacterClassRange(0xff1a, 0xff20, -1);                /* 
half/fullwidth ASCII */
-    SetCharacterClassRange(0xff3b, 0xff40, -1);                /* 
half/fullwidth ASCII */
-    SetCharacterClassRange(0xff5b, 0xff64, -1);                /* 
half/fullwidth ASCII */
+    SetCharacterClassRange(0xfe30, 0xfe6b, IDENT);     /* punctuation forms */
+    SetCharacterClassRange(0xff00, 0xff0f, IDENT);     /* half/fullwidth ASCII 
*/
+    SetCharacterClassRange(0xff1a, 0xff20, IDENT);     /* half/fullwidth ASCII 
*/
+    SetCharacterClassRange(0xff3b, 0xff40, IDENT);     /* half/fullwidth ASCII 
*/
+    SetCharacterClassRange(0xff5b, 0xff64, IDENT);     /* half/fullwidth ASCII 
*/
 
     return;
 }
@@ -127,7 +135,7 @@ init_classtab(void)
 int
 CharacterClass(int c)
 {
-    int i, cclass = -1;
+    int i, cclass = IDENT;
 
     for (i = classtab[0].first; i <= classtab[0].last; i++)
        if (classtab[i].first <= c && classtab[i].last >= c)
diff --git a/charproc.c b/charproc.c
index 3858af5..4c3da05 100644
--- a/charproc.c
+++ b/charproc.c
@@ -1,4 +1,4 @@
-/* $XTermId: charproc.c,v 1.801 2007/06/27 00:29:49 tom Exp $ */
+/* $XTermId: charproc.c,v 1.810 2007/07/17 21:09:48 tom Exp $ */
 
 /* $XFree86: xc/programs/xterm/charproc.c,v 3.185 2006/06/20 00:42:38 dickey 
Exp $ */
 
@@ -133,12 +133,6 @@ in this Software without prior written authorization from 
The Open Group.
 #include <charclass.h>
 #include <xstrings.h>
 
-#if OPT_ZICONBEEP || OPT_TOOLBAR
-#define HANDLE_STRUCT_NOTIFY 1
-#else
-#define HANDLE_STRUCT_NOTIFY 0
-#endif
-
 static IChar doinput(void);
 static int set_character_class(char *s);
 static void FromAlternate(XtermWidget /* xw */ );
@@ -146,9 +140,6 @@ static void RequestResize(XtermWidget termw, int rows, int 
cols, Bool text);
 static void SwitchBufs(XtermWidget xw);
 static void ToAlternate(XtermWidget /* xw */ );
 static void VTallocbuf(void);
-static void WriteText(XtermWidget xw,
-                     PAIRED_CHARS(Char * str, Char * str2),
-                     Cardinal len);
 static void ansi_modes(XtermWidget termw,
                       void (*func) (unsigned *p, unsigned mask));
 static void bitclr(unsigned *p, unsigned mask);
@@ -1536,7 +1527,8 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState 
*sp)
            xtermIndex(xw, 1);
            if (xw->flags & LINEFEED)
                CarriageReturn(screen);
-           do_xevents();
+           else
+               do_xevents();
            break;
 
        case CASE_CBT:
@@ -2497,7 +2489,6 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState 
*sp)
            TRACE(("CASE_NEL\n"));
            xtermIndex(xw, 1);
            CarriageReturn(screen);
-           do_xevents();
            sp->parsestate = sp->groundtable;
            break;
 
@@ -3341,6 +3332,18 @@ PreeditPosition(TScreen * screen)
 }
 #endif
 
+static void
+WrapLine(XtermWidget xw)
+{
+    TScreen *screen = &(xw->screen);
+
+    /* mark that we had to wrap this line */
+    ScrnSetFlag(screen, screen->cur_row, LINEWRAPPED);
+    xtermAutoPrint('\n');
+    xtermIndex(xw, 1);
+    set_cur_col(screen, 0);
+}
+
 /*
  * process a string of characters according to the character set indicated
  * by charset.  worry about end of line conditions (wraparound if selected).
@@ -3391,15 +3394,13 @@ dotext(XtermWidget xw,
        int last_chomp = 0;
        chars_chomped = 0;
 
-       if (screen->do_wrap && (xw->flags & WRAPAROUND)) {
-           /* mark that we had to wrap this line */
-           ScrnSetWrapped(screen, screen->cur_row);
-           xtermAutoPrint('\n');
-           xtermIndex(xw, 1);
-           set_cur_col(screen, 0);
+       if (screen->do_wrap) {
            screen->do_wrap = 0;
-           width_available = MaxCols(screen) - screen->cur_col;
-           next_col = screen->cur_col;
+           if ((xw->flags & WRAPAROUND)) {
+               WrapLine(xw);
+               width_available = MaxCols(screen) - screen->cur_col;
+               next_col = screen->cur_col;
+           }
        }
 
        while (width_here <= width_available && chars_chomped < (len - offset)) 
{
@@ -3417,8 +3418,9 @@ dotext(XtermWidget xw,
                break;          /* give up - it is too big */
            chars_chomped--;
            width_here -= last_chomp;
-           if (chars_chomped > 0 || (xw->flags & WRAPAROUND))
+           if (chars_chomped > 0) {
                need_wrap = 1;
+           }
        } else if (width_here == width_available) {
            need_wrap = 1;
        } else if (chars_chomped != (len - offset)) {
@@ -3479,16 +3481,13 @@ dotext(XtermWidget xw,
        last_col = CurMaxCol(screen, screen->cur_row);
        this_col = last_col - screen->cur_col + 1;
        if (this_col <= 1) {
-           if (screen->do_wrap && (xw->flags & WRAPAROUND)) {
-               /* mark that we had to wrap this line */
-               ScrnSetWrapped(screen, screen->cur_row);
-               xtermAutoPrint('\n');
-               xtermIndex(xw, 1);
-               set_cur_col(screen, 0);
+           if (screen->do_wrap) {
                screen->do_wrap = 0;
-               this_col = last_col + 1;
-           } else
-               this_col = 1;
+               if ((xw->flags & WRAPAROUND)) {
+                   WrapLine(xw);
+               }
+           }
+           this_col = 1;
        }
        if (offset + this_col > len) {
            this_col = len - offset;
@@ -3500,9 +3499,9 @@ dotext(XtermWidget xw,
                  (unsigned) this_col);
 
        /*
-        * the call to WriteText updates screen->cur_col.
-        * If screen->cur_col != next_col, we must have
-        * hit the right margin, so set the do_wrap flag.
+        * The call to WriteText updates screen->cur_col.
+        * If screen->cur_col is less than next_col, we must have
+        * hit the right margin - so set the do_wrap flag.
         */
        screen->do_wrap = (screen->cur_col < next_col);
     }
@@ -3510,19 +3509,6 @@ dotext(XtermWidget xw,
 #endif /* OPT_WIDE_CHARS */
 }
 
-#if HANDLE_STRUCT_NOTIFY
-/* 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;
-#endif /* HANDLE_STRUCT_NOTIFY */
-
 #if OPT_WIDE_CHARS
 unsigned
 visual_width(PAIRED_CHARS(Char * str, Char * str2), Cardinal len)
@@ -3548,122 +3534,6 @@ visual_width(PAIRED_CHARS(Char * str, Char * str2), 
Cardinal len)
 }
 #endif
 
-/*
- * write a string str of length len onto the screen at
- * the current cursor position.  update cursor position.
- */
-static void
-WriteText(XtermWidget xw, PAIRED_CHARS(Char * str, Char * str2), Cardinal len)
-{
-    TScreen *screen = &(xw->screen);
-    ScrnPtr PAIRED_CHARS(temp_str = 0, temp_str2 = 0);
-    unsigned test;
-    unsigned flags = xw->flags;
-    unsigned fg_bg = makeColorPair(xw->cur_foreground, xw->cur_background);
-    unsigned cells = visual_width(PAIRED_CHARS(str, str2), len);
-    GC currentGC;
-
-    TRACE(("WriteText (%2d,%2d) (%d) %3d:%s\n",
-          screen->cur_row,
-          screen->cur_col,
-          curXtermChrSet(xw, screen->cur_row),
-          len, visibleChars(PAIRED_CHARS(str, str2), len)));
-
-    if (ScrnHaveSelection(screen)
-       && ScrnIsLineInSelection(screen, INX2ROW(screen, screen->cur_row))) {
-       ScrnDisownSelection(xw);
-    }
-
-    if (INX2ROW(screen, screen->cur_row) <= screen->max_row) {
-       if (screen->cursor_state)
-           HideCursor();
-
-       if (flags & INSERT) {
-           InsertChar(xw, cells);
-       }
-       if (!AddToRefresh(screen)) {
-
-           if (screen->scroll_amt)
-               FlushScroll(xw);
-
-           if (flags & INVISIBLE) {
-               if (cells > len) {
-                   str = temp_str = TypeMallocN(Char, cells);
-                   if (str == 0)
-                       return;
-               }
-               if_OPT_WIDE_CHARS(screen, {
-                   if (cells > len) {
-                       str2 = temp_str2 = TypeMallocN(Char, cells);
-                   }
-               });
-               len = cells;
-
-               memset(str, ' ', len);
-               if_OPT_WIDE_CHARS(screen, {
-                   if (str2 != 0)
-                       memset(str2, 0, len);
-               });
-           }
-
-           TRACE(("WriteText calling drawXtermText (%d,%d)\n",
-                  screen->cur_col,
-                  screen->cur_row));
-
-           test = flags;
-           checkVeryBoldColors(test, xw->cur_foreground);
-
-           /* make sure that the correct GC is current */
-           currentGC = updatedXtermGC(xw, flags, fg_bg, False);
-
-           drawXtermText(xw, test & DRAWX_MASK, currentGC,
-                         CurCursorX(screen, screen->cur_row, screen->cur_col),
-                         CursorY(screen, screen->cur_row),
-                         curXtermChrSet(xw, screen->cur_row),
-                         PAIRED_CHARS(str, str2), len, 0);
-
-           resetXtermGC(xw, flags, False);
-       }
-    }
-
-    ScreenWrite(xw, PAIRED_CHARS(str, str2), flags, fg_bg, len);
-    CursorForward(screen, (int) cells);
-#if OPT_ZICONBEEP
-    /* Flag icon name with "***"  on window output when iconified.
-     */
-    if (resource.zIconBeep && mapstate == IsUnmapped && 
!screen->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) {
-           screen->zIconBeep_flagged = True;
-           ChangeIconName(icon_name);
-       }
-       if (resource.zIconBeep > 0) {
-#if defined(HAVE_XKB_BELL_EXT)
-           XkbBell(XtDisplay(toplevel), VShellWindow, resource.zIconBeep, 
XkbBI_Info);
-#else
-           XBell(XtDisplay(toplevel), resource.zIconBeep);
-#endif
-       }
-    }
-    mapstate = -1;
-#endif /* OPT_ZICONBEEP */
-    if (temp_str != 0)
-       free(temp_str);
-    if_OPT_WIDE_CHARS(screen, {
-       if (temp_str2 != 0)
-           free(temp_str2);
-    });
-    return;
-}
-
 #if HANDLE_STRUCT_NOTIFY
 /* Flag icon name with "***"  on window output when iconified.
  */
@@ -5416,6 +5286,11 @@ VTInitialize(Widget wrequest,
      */
     bzero((char *) &wnew->screen, sizeof(wnew->screen));
 
+    /* DESCO Sys#67660
+     * Zero out the entire "keyboard" component of "wnew" widget.
+     */
+    bzero((char *) &wnew->keyboard, sizeof(wnew->keyboard));
+
     /* 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,
@@ -5809,6 +5684,7 @@ VTInitialize(Widget wrequest,
     }
 #endif
 
+    init_Ires(screen.utf8_inparse);
     init_Ires(screen.utf8_mode);
     init_Ires(screen.max_combining);
 
@@ -6949,11 +6825,12 @@ ShowCursor(void)
            for (off = OFF_FINAL; off < MAX_PTRS; off += 2) {
                clo = SCREEN_PTR(screen, screen->cursorp.row, off + 0)[my_col];
                chi = SCREEN_PTR(screen, screen->cursorp.row, off + 1)[my_col];
-               if (clo || chi)
-                   drawXtermText(xw, (flags & DRAWX_MASK) | NOBACKGROUND,
-                                 currentGC, x, y,
-                                 curXtermChrSet(xw, screen->cur_row),
-                                 PAIRED_CHARS(&clo, &chi), 1, iswide(base));
+               if (!(clo || chi))
+                   break;
+               drawXtermText(xw, (flags & DRAWX_MASK) | NOBACKGROUND,
+                             currentGC, x, y,
+                             curXtermChrSet(xw, screen->cur_row),
+                             PAIRED_CHARS(&clo, &chi), 1, iswide(base));
            }
        });
 #endif
@@ -7066,11 +6943,12 @@ HideCursor(void)
        for (off = OFF_FINAL; off < MAX_PTRS; off += 2) {
            clo = SCREEN_PTR(screen, screen->cursorp.row, off + 0)[my_col];
            chi = SCREEN_PTR(screen, screen->cursorp.row, off + 1)[my_col];
-           if (clo || chi)
-               drawXtermText(xw, (flags & DRAWX_MASK) | NOBACKGROUND,
-                             currentGC, x, y,
-                             curXtermChrSet(xw, screen->cur_row),
-                             PAIRED_CHARS(&clo, &chi), 1, iswide(base));
+           if (!(clo || chi))
+               break;
+           drawXtermText(xw, (flags & DRAWX_MASK) | NOBACKGROUND,
+                         currentGC, x, y,
+                         curXtermChrSet(xw, screen->cur_row),
+                         PAIRED_CHARS(&clo, &chi), 1, iswide(base));
        }
     });
 #endif
diff --git a/config.guess b/config.guess
index 1a69546..951383e 100755
--- a/config.guess
+++ b/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
 #   Inc.
 
-timestamp='2006-12-22'
+timestamp='2007-05-17'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -330,7 +330,7 @@ case 
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit ;;
-    i86pc:SunOS:5.*:*)
+    i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit ;;
     sun4*:SunOS:6*:*)
@@ -791,12 +791,15 @@ EOF
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit ;;
-    x86:Interix*:[3456]*)
-       echo i586-pc-interix${UNAME_RELEASE}
-       exit ;;
-    EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
-       echo x86_64-unknown-interix${UNAME_RELEASE}
-       exit ;;
+    *:Interix*:[3456]*)
+       case ${UNAME_MACHINE} in
+           x86) 
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+           EM64T | authenticamd)
+               echo x86_64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+       esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
        echo i${UNAME_MACHINE}-pc-mks
        exit ;;
@@ -1218,6 +1221,9 @@ EOF
     SX-8:SUPER-UX:*:*)
        echo sx8-nec-superux${UNAME_RELEASE}
        exit ;;
+    SX-8R:SUPER-UX:*:*)
+       echo sx8r-nec-superux${UNAME_RELEASE}
+       exit ;;
     Power*:Rhapsody:*:*)
        echo powerpc-apple-rhapsody${UNAME_RELEASE}
        exit ;;
diff --git a/config.sub b/config.sub
index 4b8cc7b..1761d8b 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
 #   Inc.
 
-timestamp='2006-12-08'
+timestamp='2007-06-28'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -250,7 +250,7 @@ case $basic_machine in
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore \
+       | maxq | mb | microblaze | mcore | mep \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
        | mips64 | mips64el \
@@ -475,8 +475,8 @@ case $basic_machine in
                basic_machine=craynv-cray
                os=-unicosmp
                ;;
-       cr16c)
-               basic_machine=cr16c-unknown
+       cr16)
+               basic_machine=cr16-unknown
                os=-elf
                ;;
        crds | unos)
@@ -683,6 +683,10 @@ case $basic_machine in
                basic_machine=i386-pc
                os=-mingw32
                ;;
+       mingw32ce)
+               basic_machine=arm-unknown
+               os=-mingw32ce
+               ;;
        miniframe)
                basic_machine=m68000-convergent
                ;;
@@ -1222,7 +1226,7 @@ case $os in
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1417,6 +1421,9 @@ case $basic_machine in
        m68*-cisco)
                os=-aout
                ;;
+        mep-*)
+               os=-elf
+               ;;
        mips*-cisco)
                os=-elf
                ;;
diff --git a/configure b/configure
index 6ca0e1f..0b4c86c 100755
--- a/configure
+++ b/configure
@@ -5977,19 +5977,31 @@ EOF
        LIBS="-lutempter $LIBS"
 fi
 
-       test "$cf_cv_have_utempter" = yes && disable_setuid=yes
+       test "$cf_cv_have_utempter" != yes && use_utempter=no
+else
+       use_utempter=no
+fi
+
+# Some configurations permit (or require) either setuid or setgid mode.
+# Let the user decide.
+if test "$use_utempter" = yes ; then
+       if test "${enable_setuid+set}" != set ; then
+               disable_setuid=yes
+               test -n "$verbose" && echo "    No --disable-setuid option 
given, force to yes" 1>&6
+
+       fi
 fi
 
 ###    checks for external data
 
-echo "$as_me:5985: checking if external errno is declared" >&5
+echo "$as_me:5997: checking if external errno is declared" >&5
 echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
 if test "${cf_cv_dcl_errno+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
     cat >conftest.$ac_ext <<_ACEOF
-#line 5992 "configure"
+#line 6004 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_STDLIB_H
@@ -6007,16 +6019,16 @@ long x = (long) errno
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:6010: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:6022: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:6013: \$? = $ac_status" >&5
+  echo "$as_me:6025: \$? = $ac_status" >&5
   (exit $ac_status); } &&
          { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:6016: \"$ac_try\"") >&5
+  { (eval echo "$as_me:6028: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:6019: \$? = $ac_status" >&5
+  echo "$as_me:6031: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   cf_cv_dcl_errno=yes
 else
@@ -6027,7 +6039,7 @@ fi
 rm -f conftest.$ac_objext conftest.$ac_ext
 
 fi
-echo "$as_me:6030: result: $cf_cv_dcl_errno" >&5
+echo "$as_me:6042: result: $cf_cv_dcl_errno" >&5
 echo "${ECHO_T}$cf_cv_dcl_errno" >&6
 
 if test "$cf_cv_dcl_errno" = no ; then
@@ -6042,14 +6054,14 @@ fi
 
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
-echo "$as_me:6045: checking if external errno exists" >&5
+echo "$as_me:6057: checking if external errno exists" >&5
 echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
 if test "${cf_cv_have_errno+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
     cat >conftest.$ac_ext <<_ACEOF
-#line 6052 "configure"
+#line 6064 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -6064,16 +6076,16 @@ errno = 2
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:6067: \"$ac_link\"") >&5
+if { (eval echo "$as_me:6079: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:6070: \$? = $ac_status" >&5
+  echo "$as_me:6082: \$? = $ac_status" >&5
   (exit $ac_status); } &&
          { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:6073: \"$ac_try\"") >&5
+  { (eval echo "$as_me:6085: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:6076: \$? = $ac_status" >&5
+  echo "$as_me:6088: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   cf_cv_have_errno=yes
 else
@@ -6084,7 +6096,7 @@ fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 
 fi
-echo "$as_me:6087: result: $cf_cv_have_errno" >&5
+echo "$as_me:6099: result: $cf_cv_have_errno" >&5
 echo "${ECHO_T}$cf_cv_have_errno" >&6
 
 if test "$cf_cv_have_errno" = yes ; then
@@ -6097,7 +6109,7 @@ EOF
 
 fi
 
-echo "$as_me:6100: checking for explicit tty group name" >&5
+echo "$as_me:6112: checking for explicit tty group name" >&5
 echo $ECHO_N "checking for explicit tty group name... $ECHO_C" >&6
 
 # Check whether --with-tty-group or --without-tty-group was given.
@@ -6109,11 +6121,11 @@ else
 fi;
 test -z "$cf_tty_group"    && cf_tty_group=auto...
 test "$cf_tty_group" = yes && cf_tty_group=auto...
-echo "$as_me:6112: result: $cf_tty_group" >&5
+echo "$as_me:6124: result: $cf_tty_group" >&5
 echo "${ECHO_T}$cf_tty_group" >&6
 
 if test "$cf_tty_group" = "auto..." ; then
-echo "$as_me:6116: checking for tty group name" >&5
+echo "$as_me:6128: checking for tty group name" >&5
 echo $ECHO_N "checking for tty group name... $ECHO_C" >&6
 if test "${cf_cv_tty_group_name+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6166,7 +6178,7 @@ esac
 fi
 
 fi
-echo "$as_me:6169: result: $cf_cv_tty_group_name" >&5
+echo "$as_me:6181: result: $cf_cv_tty_group_name" >&5
 echo "${ECHO_T}$cf_cv_tty_group_name" >&6
 cf_tty_group="$cf_cv_tty_group_name"
 else
@@ -6185,7 +6197,7 @@ EOF
 # does apply to the device.  We cannot perform this test if we are in batch
 # mode, or if we are cross-compiling.
 
-echo "$as_me:6188: checking if we may use the $cf_tty_group group" >&5
+echo "$as_me:6200: checking if we may use the $cf_tty_group group" >&5
 echo $ECHO_N "checking if we may use the $cf_tty_group group... $ECHO_C" >&6
 if test "${cf_cv_tty_group+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -6198,7 +6210,7 @@ if test "$cross_compiling" = yes; then
   cf_cv_tty_group=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line 6201 "configure"
+#line 6213 "configure"
 #include "confdefs.h"
 
 #include <unistd.h>
@@ -6224,15 +6236,15 @@ int main()
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:6227: \"$ac_link\"") >&5
+if { (eval echo "$as_me:6239: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
-  echo "$as_me:6230: \$? = $ac_status" >&5
+  echo "$as_me:6242: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:6232: \"$ac_try\"") >&5
+  { (eval echo "$as_me:6244: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:6235: \$? = $ac_status" >&5
+  echo "$as_me:6247: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   cf_cv_tty_group=yes
 else
@@ -6250,11 +6262,11 @@ else
 fi
 
 fi
-echo "$as_me:6253: result: $cf_cv_tty_group" >&5
+echo "$as_me:6265: result: $cf_cv_tty_group" >&5
 echo "${ECHO_T}$cf_cv_tty_group" >&6
 
 if test $cf_cv_tty_group = no ; then
-       { echo "$as_me:6257: WARNING: Cannot use $cf_tty_group group" >&5
+       { echo "$as_me:6269: WARNING: Cannot use $cf_tty_group group" >&5
 echo "$as_me: WARNING: Cannot use $cf_tty_group group" >&2;}
 else
        cat >>confdefs.h <<\EOF
@@ -6265,13 +6277,13 @@ fi
 
 ###    checks for system services and user specified options
 
-echo "$as_me:6268: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "$as_me:6280: checking for sys/wait.h that is POSIX.1 compatible" >&5
 echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" 
>&6
 if test "${ac_cv_header_sys_wait_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line 6274 "configure"
+#line 6286 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -6293,16 +6305,16 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:6296: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:6308: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:6299: \$? = $ac_status" >&5
+  echo "$as_me:6311: \$? = $ac_status" >&5
   (exit $ac_status); } &&
          { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:6302: \"$ac_try\"") >&5
+  { (eval echo "$as_me:6314: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:6305: \$? = $ac_status" >&5
+  echo "$as_me:6317: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_cv_header_sys_wait_h=yes
 else
@@ -6312,7 +6324,7 @@ ac_cv_header_sys_wait_h=no
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:6315: result: $ac_cv_header_sys_wait_h" >&5
+echo "$as_me:6327: result: $ac_cv_header_sys_wait_h" >&5
 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
 if test $ac_cv_header_sys_wait_h = yes; then
 
@@ -6322,14 +6334,14 @@ EOF
 
 fi
 
-echo "$as_me:6325: checking for POSIX wait functions" >&5
+echo "$as_me:6337: checking for POSIX wait functions" >&5
 echo $ECHO_N "checking for POSIX wait functions... $ECHO_C" >&6
 if test "${cf_cv_posix_wait+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line 6332 "configure"
+#line 6344 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -6352,16 +6364,16 @@ main ()


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to