xterm: Changes to 'debian-unstable'
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
debian/changelog | 13
debian/patches/901_xterm_manpage.diff | 6
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
33 files changed, 2223 insertions(+), 1435 deletions(-)
New commits:
commit 47a29718c71a6d95e4250fb11eab931502547100
Author: Julien Cristau <jcristau@debian.org>
Date: Mon Jul 23 03:44:16 2007 +0200
New upstream release.
Refresh 901_xterm_manpage.diff
diff --git a/debian/changelog b/debian/changelog
index 034f366..a500d59 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+xterm (228-1) unstable; urgency=low
+
+ * New upstream release
+ + fix missing assignment for UTF-8 parsing in widget initialization
+ (closes: #403360).
+ + correct index expression used to set line-wrapping flag, making
+ selection from scrollback work consistently (closes: #430121).
+ * Refresh 901_xterm_manpage.diff.
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 23 Jul 2007 03:43:32 +0200
+
xterm (226-1) unstable; urgency=low
[ Branden Robinson ]
diff --git a/debian/patches/901_xterm_manpage.diff b/debian/patches/901_xterm_manpage.diff
index d113188..d0bcf76 100644
--- a/debian/patches/901_xterm_manpage.diff
+++ b/debian/patches/901_xterm_manpage.diff
@@ -7,9 +7,9 @@ This patch by Branden Robinson and David Martínez.
Index: xterm.man
===================================================================
---- xterm.man.orig 2007-06-17 22:24:51.000000000 +0100
-+++ xterm.man 2007-06-17 22:25:02.000000000 +0100
-@@ -4596,10 +4596,10 @@
+--- xterm.man.orig 2007-07-23 03:03:23.000000000 +0200
++++ xterm.man 2007-07-23 03:03:58.000000000 +0200
+@@ -4620,10 +4620,10 @@
.SH FILES
The actual pathnames given may differ on your system.
.TP 5
commit dbf47d2b550d25dbf7bb9b0960c162073b2c96d0
Author: Julien Cristau <jcristau@debian.org>
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 -- mkuhn@acm.org -- 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 ()
Reply to: