XFree86 3.9g - xterm patch #44 - T.Dickey This implements the first part of the VT100 doublesize characters for xterm, as well as fixing a handful of bugs: + the doublesize character support uses the normal font (using scaled fonts will be another patch) with blanks to simulate doublesize characters. This patch does most of the global changes that'll be required. I've hidden most of the details in macros and ifdefs so it's easy to configure out (part of the patch is a configure option for that purpose). + corrected limits in DeleteChar() function -- it's always ignored the size of the left border and scrollbar. I noticed this when working on the doublesize characters since the glitch was doubled in size (i.e., it wrapped some garbage around the right margin). + corrected 'memmove()' logic, for standalone builds (it referenced a malloc wrapper from my development library). + add a check for HideCursor() to prevent repeated screen updates (which can cause a spurious cursor glitch to appear, e.g., during scrolling). I noticed this with the 3.2A version (but only a few weeks ago, when I started working on this patch). -------------------------------------------------------------------------------- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/doublechr.c | 119 ++++ xc/doc/specs/xterm/ctlseqs.ms | 14 xc/programs/xterm/Imakefile | 4 xc/programs/xterm/Makefile.in | 4 xc/programs/xterm/VTPrsTbl.c | 15 xc/programs/xterm/VTparse.def | 3 xc/programs/xterm/VTparse.h | 3 xc/programs/xterm/button.c | 9 xc/programs/xterm/charproc.c | 60 +! xc/programs/xterm/configure | 289 !!!!!!!!!! xc/programs/xterm/configure.in | 8 xc/programs/xterm/ptyx.h | 68 ++ xc/programs/xterm/screen.c | 100 ++! xc/programs/xterm/tabs.c | 4 xc/programs/xterm/util.c | 123 ++!! xc/programs/xterm/xterm.h | 18 xc/programs/xterm/xterm.man | 5 xc/programs/xterm/xtermcfg.hin | 5 18 files changed, 445 insertions, 4 deletions, 402 modifications -------------------------------------------------------------------------------- Index: ctlseqs.ms *** /build/x11r6/XFree86-3.9g/xc/doc/specs/xterm/ctlseqs.ms Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/doc/specs/xterm/ctlseqs.ms Sun Jun 22 14:46:15 1997 *************** *** 301,307 **** but there is support for later DEC VT terminals (i.e., VT220 and VT320), as well as ISO 6429 and \fIaixterm\fP color controls. VT102 features not supported are ! double size characters and blinking characters. There are additional control sequences to provide \fIxterm-\fPdependent functions, such as the scrollbar or window size. Where the function is specified by DEC or ISO 6429, the code assigned --- 301,307 ---- but there is support for later DEC VT terminals (i.e., VT220 and VT320), as well as ISO 6429 and \fIaixterm\fP color controls. VT102 features not supported are ! auto-repeat and blinking characters. There are additional control sequences to provide \fIxterm-\fPdependent functions, such as the scrollbar or window size. Where the function is specified by DEC or ISO 6429, the code assigned *************** *** 367,372 **** --- 367,384 ---- . .IP \\*(Es\\*(Sp\\*N Set ANSI conformance level 3 (vt300). + . + .IP \\*(Es\\*#\\*3 + DEC double-height line, top half (DECDHL) + . + .IP \\*(Es\\*#\\*4 + DEC double-height line, bottom half (DECDHL) + . + .IP \\*(Es\\*#\\*5 + DEC single-width line (DECSWL) + . + .IP \\*(Es\\*#\\*6 + DEC double-width line (DECDWL) . .IP \\*(Es\\*#\\*8 DEC Screen Alignment Test (DECALN) Index: Imakefile *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/Imakefile Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/Imakefile Sun Jun 22 14:46:15 1997 *************** *** 73,82 **** MAINSRC = main.c MAINOBJ = main.o #endif ! SRCS1 = button.c charproc.c cursor.c data.c input.c \ $(MAINSRC) menu.c misc.c screen.c scrollbar.c tabs.c \ TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c $(EXTRASRC) ! OBJS1 = button.o charproc.o cursor.o data.o input.o \ $(MAINOBJ) menu.o misc.o screen.o scrollbar.o tabs.o \ TekPrsTbl.o Tekproc.o util.o VTPrsTbl.o $(EXTRAOBJ) SRCS2 = resize.c --- 73,82 ---- MAINSRC = main.c MAINOBJ = main.o #endif ! SRCS1 = button.c charproc.c cursor.c data.c doublechr.c input.c \ $(MAINSRC) menu.c misc.c screen.c scrollbar.c tabs.c \ TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c $(EXTRASRC) ! OBJS1 = button.o charproc.o cursor.o data.o doublechr.o input.o \ $(MAINOBJ) menu.o misc.o screen.o scrollbar.o tabs.o \ TekPrsTbl.o Tekproc.o util.o VTPrsTbl.o $(EXTRAOBJ) SRCS2 = resize.c Index: Makefile.in *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/Makefile.in Tue Jun 10 15:10:00 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/Makefile.in Sun Jun 22 14:46:15 1997 *************** *** 38,47 **** EXTRASRC = @EXTRASRCS@ EXTRAOBJ = @EXTRAOBJS@ ! SRCS1 = button.c charproc.c cursor.c data.c input.c \ main.c menu.c misc.c screen.c scrollbar.c tabs.c \ TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c $(EXTRASRC) ! OBJS1 = button.o charproc.o cursor.o data.o input.o \ main.o menu.o misc.o screen.o scrollbar.o tabs.o \ TekPrsTbl.o Tekproc.o util.o VTPrsTbl.o $(EXTRAOBJ) SRCS2 = resize.c --- 38,47 ---- EXTRASRC = @EXTRASRCS@ EXTRAOBJ = @EXTRAOBJS@ ! SRCS1 = button.c charproc.c cursor.c data.c doublechr.c input.c \ main.c menu.c misc.c screen.c scrollbar.c tabs.c \ TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c $(EXTRASRC) ! OBJS1 = button.o charproc.o cursor.o data.o doublechr.o input.o \ main.o menu.o misc.o screen.o scrollbar.o tabs.o \ TekPrsTbl.o Tekproc.o util.o VTPrsTbl.o $(EXTRAOBJ) SRCS2 = resize.c Index: VTPrsTbl.c *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/VTPrsTbl.c Wed Jan 8 18:18:35 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/VTPrsTbl.c Sun Jun 22 14:46:15 1997 *************** *** 26,35 **** * SOFTWARE. */ #include "VTparse.h" ! /* FIXME: there should be a single config.h */ #define OPT_VT52_MODE 1 /* true if xterm supports VT52 emulation */ /* * Stupid Apollo C preprocessor can't handle long lines. So... To keep --- 26,40 ---- * SOFTWARE. */ + #ifdef HAVE_CONFIG_H + #include + #endif + #include "VTparse.h" ! #ifndef OPT_VT52_MODE #define OPT_VT52_MODE 1 /* true if xterm supports VT52 emulation */ + #endif /* * Stupid Apollo C preprocessor can't handle long lines. So... To keep *************** *** 3990,4000 **** CASE_GROUND_STATE, CASE_GROUND_STATE, CASE_GROUND_STATE, ! CASE_GROUND_STATE, /* 4 5 6 7 */ ! CASE_GROUND_STATE, ! CASE_GROUND_STATE, ! CASE_GROUND_STATE, CASE_GROUND_STATE, /* 8 9 : ; */ CASE_DECALN, --- 3995,4005 ---- CASE_GROUND_STATE, CASE_GROUND_STATE, CASE_GROUND_STATE, ! CASE_DECDHL, /* 4 5 6 7 */ ! CASE_DECDHL, ! CASE_DECSWL, ! CASE_DECDWL, CASE_GROUND_STATE, /* 8 9 : ; */ CASE_DECALN, Index: VTparse.def *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/VTparse.def Wed Jan 8 18:18:35 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/VTparse.def Sun Jun 22 14:46:15 1997 *************** *** 117,119 **** --- 117,122 ---- CASE_REP CASE_CSI_EX_STATE CASE_DECSTR + CASE_DECDHL + CASE_DECSWL + CASE_DECDWL Index: VTparse.h *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/VTparse.h Wed Jan 8 18:18:35 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/VTparse.h Sun Jun 22 14:46:15 1997 *************** *** 179,181 **** --- 179,184 ---- #define CASE_REP 107 #define CASE_CSI_EX_STATE 108 #define CASE_DECSTR 109 + #define CASE_DECDHL 110 + #define CASE_DECSWL 111 + #define CASE_DECDWL 112 Index: button.c *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/button.c Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/button.c Sun Jun 22 14:46:15 1997 *************** *** 542,547 **** --- 542,548 ---- { TScreen *screen = &term->screen; + TRACE(("StartSelect row=%d, col=%d\n", startrow, startcol)) if (screen->cursor_state) HideCursor (); if (numberOfClicks == 1) { *************** *** 711,716 **** --- 712,718 ---- { int coord = Coordinate(row, col); + TRACE(("ExtendExtend row=%d, col=%d\n", row, col)) if (eventMode == LEFTEXTENSION && (coord + (selectUnit!=SELECTCHAR)) > Coordinate(endSRow, endSCol)) { /* Whoops, he's changed his mind. Do RIGHTEXTENSION */ *************** *** 1178,1183 **** --- 1180,1186 ---- } *lp = '\0'; /* make sure we have end marked */ + TRACE(("Salted TEXT:%.*s\n", lp - line, line)) screen->selection_length = (lp - line); _OwnSelection(term, params, num_params); } *************** *** 1432,1437 **** --- 1435,1446 ---- *eol = 0; i = Length(screen, row, scol, ecol); ecol = scol + i; + #if OPT_DEC_CHRSET + if (CSET_DOUBLE(SCRN_BUF_CSETS(screen, row)[0])) { + scol = (scol + 0) / 2; + ecol = (ecol + 1) / 2; + } + #endif if (*eol == 0) { if(ScrnGetAttributes(screen, row + screen->topline, 0, &attr, 1) == 1) { *eol = (attr & LINEWRAPPED) ? 0 : 1; Index: charproc.c *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/charproc.c Tue Jun 10 15:10:00 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/charproc.c Sun Jun 22 14:46:15 1997 *************** *** 135,141 **** static void VTNonMaskableEvent PROTO_XT_EV_HANDLER_ARGS; static void VTallocbuf PROTO((void)); static void VTparse PROTO((void)); - static void WriteText PROTO(( TScreen *screen, char *str, int len)); static void ansi_modes PROTO((XtermWidget termw, void (*func)(unsigned *p, unsigned mask))); static void bitclr PROTO((unsigned *p, unsigned mask)); static void bitcpy PROTO((unsigned *p, unsigned q, unsigned mask)); --- 135,140 ---- *************** *** 787,793 **** register TScreen *screen = &term->screen; Pixel fg; ! HideCursor(); if (color >= 0) { term->flags |= FG_COLOR; } else { --- 786,792 ---- register TScreen *screen = &term->screen; Pixel fg; ! /* FIXME HideCursor(); */ if (color >= 0) { term->flags |= FG_COLOR; } else { *************** *** 951,956 **** --- 950,956 ---- } #endif + TRACE(("parse %d -> %d\n", c, parsestate[c])) switch (parsestate[c]) { case CASE_PRINT: /* printable characters */ *************** *** 1095,1100 **** --- 1095,1115 ---- parsestate = groundtable; break; + case CASE_DECDHL: + xterm_DECDHL(c == '3'); + parsestate = groundtable; + break; + + case CASE_DECSWL: + xterm_DECSWL(); + parsestate = groundtable; + break; + + case CASE_DECDWL: + xterm_DECDWL(); + parsestate = groundtable; + break; + case CASE_SCR_STATE: /* enter scr state */ parsestate = scrtable; *************** *** 2374,2380 **** n = len; next_col = screen->cur_col + n; ! WriteText(screen, (char *)ptr, n); /* * the call to WriteText updates screen->cur_col. --- 2389,2395 ---- n = len; next_col = screen->cur_col + n; ! WriteText(screen, ptr, n); /* * the call to WriteText updates screen->cur_col. *************** *** 2391,2400 **** * write a string str of length len onto the screen at * the current cursor position. update cursor position. */ ! static void WriteText(screen, str, len) register TScreen *screen; ! register char *str; register int len; { unsigned flags = term->flags; --- 2406,2415 ---- * write a string str of length len onto the screen at * the current cursor position. update cursor position. */ ! void WriteText(screen, str, len) register TScreen *screen; ! register Char *str; register int len; { unsigned flags = term->flags; *************** *** 2402,2414 **** unsigned bg = term->cur_background; GC currentGC; if(screen->cur_row - screen->topline <= screen->max_row) { if(screen->cursor_state) HideCursor(); if (flags & INSERT) InsertChar(screen, len); ! if (!(AddToRefresh(screen))) { /* make sure that the correct GC is current */ currentGC = updatedXtermGC(screen, flags, fg, bg, False); --- 2417,2435 ---- unsigned bg = term->cur_background; GC currentGC; + TRACE(("write (%2d,%2d) (%d) %3d:%.*s\n", + screen->cur_row, + screen->cur_col, + curXtermChrSet(screen->cur_row), + len, len, str)) + if(screen->cur_row - screen->topline <= screen->max_row) { if(screen->cursor_state) HideCursor(); if (flags & INSERT) InsertChar(screen, len); ! if (!AddToRefresh(screen)) { /* make sure that the correct GC is current */ currentGC = updatedXtermGC(screen, flags, fg, bg, False); *************** *** 2418,2426 **** if (flags & INVISIBLE) memset(str, ' ', len); drawXtermText(screen, flags, currentGC, ! CursorX(screen, screen->cur_col), CursorY(screen, screen->cur_row), str, len); resetXtermGC(screen, flags, False); --- 2439,2452 ---- if (flags & INVISIBLE) memset(str, ' ', len); + TRACE(("%s @%d, calling drawXtermText (%d,%d)\n", + __FILE__, __LINE__, + screen->cur_col, + screen->cur_row)) drawXtermText(screen, flags, currentGC, ! CurCursorX(screen, screen->cur_row, screen->cur_col), CursorY(screen, screen->cur_row), + curXtermChrSet(screen->cur_row), str, len); resetXtermGC(screen, flags, False); *************** *** 3462,3467 **** --- 3488,3498 ---- new->num_ptrs = new->screen.colorMode ? 3 : 2; new->sgr_foreground = -1; #endif /* OPT_ISO_COLORS */ + + #if OPT_DEC_CHRSET + new->num_ptrs = 4; + #endif + new->screen.underline = request->screen.underline; new->cur_foreground = 0; *************** *** 3969,3974 **** --- 4000,4010 ---- c = SCRN_BUF_CHARS(screen, screen->cursor_row)[screen->cursor_col]; flags = SCRN_BUF_ATTRS(screen, screen->cursor_row)[screen->cursor_col]; + #if OPT_DEC_CHRSET + if (CSET_DOUBLE(SCRN_BUF_CSETS(screen, screen->cursor_row)[0])) { + c = SCRN_BUF_CHARS(screen, screen->cursor_row)[screen->cursor_col/2]; + } + #endif #ifndef NO_ACTIVE_ICON if (IsIcon(screen)) { *************** *** 4024,4033 **** } } drawXtermText(screen, flags, currentGC, x = CursorX(screen, screen->cur_col), y = CursorY(screen, screen->cur_row), ! (char *) &c, 1); if (!screen->select && !screen->always_highlight) { screen->box->x = x; --- 4060,4071 ---- } } + TRACE(("%s @%d, calling drawXtermText\n", __FILE__, __LINE__)) drawXtermText(screen, flags, currentGC, x = CursorX(screen, screen->cur_col), y = CursorY(screen, screen->cur_row), ! curXtermChrSet(screen->cur_row), ! &c, 1); if (!screen->select && !screen->always_highlight) { screen->box->x = x; *************** *** 4049,4057 **** register TScreen *screen = &term->screen; GC currentGC; register int flags, fg = 0, bg = 0; ! char c; Boolean in_selection; if(screen->cursor_row - screen->topline > screen->max_row) return; --- 4087,4097 ---- register TScreen *screen = &term->screen; GC currentGC; register int flags, fg = 0, bg = 0; ! Char c; Boolean in_selection; + if (screen->cursor_state == OFF) /* FIXME */ + return; if(screen->cursor_row - screen->topline > screen->max_row) return; *************** *** 4087,4095 **** --- 4127,4137 ---- if (c == 0) c = ' '; + TRACE(("%s @%d, calling drawXtermText\n", __FILE__, __LINE__)) drawXtermText(screen, flags, currentGC, CursorX(screen, screen->cursor_col), CursorY(screen, screen->cursor_row), + curXtermChrSet(screen->cur_row), &c, 1); screen->cursor_state = OFF; Index: configure *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/configure Sun Jun 15 14:07:12 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/configure Sun Jun 22 14:46:15 1997 *************** *** 26,31 **** --- 26,33 ---- ac_help="$ac_help --enable-color-mode set default colorMode resource (default: off)" ac_help="$ac_help + --disable-doublechars disable support for double-size characters (default: on)" + ac_help="$ac_help --enable-trace set to enable debugging traces (default: off)" ac_help="$ac_help --disable-vt52 disable VT52 emulation (default: on)" *************** *** 568,574 **** # 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:572: 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 --- 570,576 ---- # 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:574: 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 *************** *** 597,603 **** # 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:601: 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 --- 599,605 ---- # 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:603: 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 *************** *** 645,651 **** fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 ! echo "configure:649: 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. --- 647,653 ---- fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 ! echo "configure:651: 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. *************** *** 655,665 **** cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&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 --- 657,667 ---- cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&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 *************** *** 679,690 **** { 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:683: 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:688: 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 --- 681,692 ---- { 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:685: 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:690: 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 *************** *** 693,699 **** yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:697: \"$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 --- 695,701 ---- yes; #endif EOF ! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:699: \"$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 *************** *** 708,714 **** ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:712: 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 --- 710,716 ---- ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 ! echo "configure:714: 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 *************** *** 736,742 **** fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:740: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= --- 738,744 ---- fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 ! echo "configure:742: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= *************** *** 751,763 **** # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:761: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : --- 753,765 ---- # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : *************** *** 768,780 **** rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:778: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : --- 770,782 ---- rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:780: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : *************** *** 798,810 **** if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 ! echo "configure:802: 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 < Autoconf TIOCGETP --- 800,812 ---- if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 ! echo "configure:804: 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 < Autoconf TIOCGETP *************** *** 822,828 **** if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA --- 824,830 ---- if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA *************** *** 873,879 **** # 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:877: 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 --- 875,881 ---- # 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:879: 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 *************** *** 925,933 **** ### checks for UNIX variants that set C preprocessor variables echo $ac_n "checking for AIX""... $ac_c" 1>&6 ! echo "configure:929: checking for AIX" >&5 cat > conftest.$ac_ext <&6 ! echo "configure:931: checking for AIX" >&5 cat > conftest.$ac_ext <&6 ! echo "configure:953: 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 --- 951,957 ---- echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 ! echo "configure:955: 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 *************** *** 971,987 **** ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6 ! echo "configure:975: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 973,989 ---- ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6 ! echo "configure:977: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:987: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 1023,1034 **** ### checks for typedefs echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 ! echo "configure:1027: 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 < #include --- 1025,1036 ---- ### checks for typedefs echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 ! echo "configure:1029: 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 < #include *************** *** 1036,1042 **** #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 1038,1044 ---- #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1042: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 1053,1059 **** 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 --- 1055,1061 ---- 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 *************** *** 1071,1077 **** 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 --- 1073,1079 ---- 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 *************** *** 1092,1098 **** : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --- 1094,1100 ---- : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') *************** *** 1103,1109 **** exit (0); } EOF ! if { (eval echo configure:1107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else --- 1105,1111 ---- exit (0); } EOF ! if { (eval echo configure:1109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else *************** *** 1127,1138 **** fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:1131: 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 < #if STDC_HEADERS --- 1129,1140 ---- fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:1133: 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 < #if STDC_HEADERS *************** *** 1160,1171 **** fi echo $ac_n "checking for time_t""... $ac_c" 1>&6 ! echo "configure:1164: 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 < #if STDC_HEADERS --- 1162,1173 ---- fi echo $ac_n "checking for time_t""... $ac_c" 1>&6 ! echo "configure:1166: 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 < #if STDC_HEADERS *************** *** 1201,1212 **** do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:1205: 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 <&6 ! echo "configure:1207: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 1231,1237 ---- ; return 0; } EOF ! if { (eval echo configure:1235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 1257,1263 **** 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:1261: 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 --- 1259,1265 ---- 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:1263: 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 *************** *** 1266,1272 **** cf_cv_good_bcopy=unknown else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then cf_cv_good_bcopy=yes else --- 1281,1287 ---- } EOF ! if { (eval echo configure:1285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then cf_cv_good_bcopy=yes else *************** *** 1313,1319 **** echo $ac_n "checking for workable tgetent function""... $ac_c" 1>&6 ! echo "configure:1317: checking for workable tgetent function" >&5 if eval "test \"`echo '$''{'cf_cv_func_tgetent'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1315,1321 ---- echo $ac_n "checking for workable tgetent function""... $ac_c" 1>&6 ! echo "configure:1319: checking for workable tgetent function" >&5 if eval "test \"`echo '$''{'cf_cv_func_tgetent'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1329,1335 **** cf_cv_func_tgetent=no else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then echo "yes, there is a termcap/tgetent present" 1>&5 cf_cv_func_tgetent=yes --- 1344,1350 ---- tgetent(buffer, "vt100"); exit(buffer[0] == 0); } EOF ! if { (eval echo configure:1348: \"$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 present" 1>&5 cf_cv_func_tgetent=yes *************** *** 1363,1376 **** for cf_termlib in $cf_TERMLIB do cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "there is a terminfo/tgetent present" 1>&5 cf_cv_func_tgetent=$cf_termlib --- 1365,1378 ---- for cf_termlib in $cf_TERMLIB do cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "there is a terminfo/tgetent present" 1>&5 cf_cv_func_tgetent=$cf_termlib *************** *** 1396,1412 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:1400: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1410: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 1398,1414 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:1402: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 1445,1456 **** ### checks for compiler characteristics echo $ac_n "checking for working const""... $ac_c" 1>&6 ! echo "configure:1449: 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 <&6 ! echo "configure:1451: 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 <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else --- 1501,1507 ---- ; return 0; } EOF ! if { (eval echo configure:1505: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else *************** *** 1520,1526 **** fi echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 ! echo "configure:1524: 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 --- 1522,1528 ---- fi echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 ! echo "configure:1526: 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 *************** *** 1537,1543 **** do CFLAGS="$cf_save_CFLAGS $cf_arg" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ansi_cc="$cf_arg"; break else --- 1554,1560 ---- struct s2 {int (*f) (double a);}; ; return 0; } EOF ! if { (eval echo configure:1558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* cf_cv_ansi_cc="$cf_arg"; break else *************** *** 1579,1585 **** # 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:1583: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then --- 1581,1587 ---- # 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:1585: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then *************** *** 1641,1652 **** # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 1643,1654 ---- # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 1715,1728 **** ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&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. --- 1717,1730 ---- ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&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. *************** *** 1828,1844 **** 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:1832: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else --- 1830,1846 ---- 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:1834: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else *************** *** 1854,1867 **** else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else --- 1856,1869 ---- else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else *************** *** 1893,1899 **** # 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:1897: 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 --- 1895,1901 ---- # 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:1899: 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 *************** *** 1901,1907 **** ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 1914,1920 ---- dnet_ntoa() ; return 0; } EOF ! if { (eval echo configure:1918: \"$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 *************** *** 1934,1940 **** 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:1938: 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 --- 1936,1942 ---- 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:1940: 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 *************** *** 1942,1948 **** ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 1955,1961 ---- dnet_ntoa() ; return 0; } EOF ! if { (eval echo configure:1959: \"$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 *************** *** 1982,1993 **** # 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:1986: 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 <&6 ! echo "configure:1988: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else --- 2012,2018 ---- ; return 0; } EOF ! if { (eval echo configure:2016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else *************** *** 2031,2037 **** if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 ! echo "configure:2035: 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 --- 2033,2039 ---- if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 ! echo "configure:2037: 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 *************** *** 2039,2045 **** ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2052,2058 ---- gethostbyname() ; return 0; } EOF ! if { (eval echo configure:2056: \"$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 *************** *** 2080,2091 **** # -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:2084: 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 <&6 ! echo "configure:2086: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else --- 2110,2116 ---- ; return 0; } EOF ! if { (eval echo configure:2114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else *************** *** 2129,2135 **** if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 ! echo "configure:2133: 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 --- 2131,2137 ---- if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 ! echo "configure:2135: 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 *************** *** 2137,2143 **** ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2150,2156 ---- connect() ; return 0; } EOF ! if { (eval echo configure:2154: \"$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 *************** *** 2172,2183 **** # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 ! echo "configure:2176: 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 <&6 ! echo "configure:2178: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else --- 2202,2208 ---- ; return 0; } EOF ! if { (eval echo configure:2206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else *************** *** 2221,2227 **** if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 ! echo "configure:2225: 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 --- 2223,2229 ---- if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 ! echo "configure:2227: 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 *************** *** 2229,2235 **** ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2242,2248 ---- remove() ; return 0; } EOF ! if { (eval echo configure:2246: \"$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 *************** *** 2264,2275 **** # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 ! echo "configure:2268: 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 <&6 ! echo "configure:2270: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else --- 2294,2300 ---- ; return 0; } EOF ! if { (eval echo configure:2298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else *************** *** 2313,2319 **** if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 ! echo "configure:2317: 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 --- 2315,2321 ---- if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 ! echo "configure:2319: 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 *************** *** 2321,2327 **** ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2334,2340 ---- shmat() ; return 0; } EOF ! if { (eval echo configure:2338: \"$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 *************** *** 2365,2371 **** # 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:2369: 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 --- 2367,2373 ---- # 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:2371: 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 *************** *** 2373,2379 **** ac_save_LIBS="$LIBS" LIBS="-lICE $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2386,2392 ---- IceConnectionNumber() ; return 0; } EOF ! if { (eval echo configure:2390: \"$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 *************** *** 2414,2420 **** echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 ! echo "configure:2418: 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 --- 2416,2422 ---- echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 ! echo "configure:2420: 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 *************** *** 2422,2428 **** ac_save_LIBS="$LIBS" LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2435,2441 ---- XOpenDisplay() ; return 0; } EOF ! if { (eval echo configure:2439: \"$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 *************** *** 2454,2460 **** fi echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6 ! echo "configure:2458: 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 --- 2456,2462 ---- fi echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6 ! echo "configure:2460: 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 *************** *** 2462,2468 **** ac_save_LIBS="$LIBS" LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2475,2481 ---- XtAppInitialize() ; return 0; } EOF ! if { (eval echo configure:2479: \"$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 *************** *** 2505,2521 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:2509: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 2507,2523 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:2511: 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 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:2521: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 2542,2548 **** done echo $ac_n "checking for XmuClientWindow in -lXmu""... $ac_c" 1>&6 ! echo "configure:2546: 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 --- 2544,2550 ---- done echo $ac_n "checking for XmuClientWindow in -lXmu""... $ac_c" 1>&6 ! echo "configure:2548: 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 *************** *** 2550,2556 **** ac_save_LIBS="$LIBS" LIBS="-lXmu $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2563,2569 ---- XmuClientWindow() ; return 0; } EOF ! if { (eval echo configure:2567: \"$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 *************** *** 2589,2595 **** fi echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6 ! echo "configure:2593: 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 --- 2591,2597 ---- fi echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6 ! echo "configure:2595: 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 *************** *** 2597,2603 **** ac_save_LIBS="$LIBS" LIBS="-lXext $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2610,2616 ---- XextCreateExtension() ; return 0; } EOF ! if { (eval echo configure:2614: \"$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 *************** *** 2629,2635 **** fi echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -lXaw""... $ac_c" 1>&6 ! echo "configure:2633: checking for XawSimpleMenuAddGlobalActions in -lXaw" >&5 ac_lib_var=`echo Xaw'_'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 --- 2631,2637 ---- fi echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -lXaw""... $ac_c" 1>&6 ! echo "configure:2635: checking for XawSimpleMenuAddGlobalActions in -lXaw" >&5 ac_lib_var=`echo Xaw'_'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 *************** *** 2637,2643 **** ac_save_LIBS="$LIBS" LIBS="-lXaw $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2650,2656 ---- XawSimpleMenuAddGlobalActions() ; return 0; } EOF ! if { (eval echo configure:2654: \"$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 *************** *** 2675,2681 **** LIBS="$LIBS $X_EXTRA_LIBS" echo $ac_n "checking if we should use imake to help""... $ac_c" 1>&6 ! echo "configure:2679: 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 enableval="$enable_imake" --- 2677,2683 ---- LIBS="$LIBS $X_EXTRA_LIBS" echo $ac_n "checking if we should use imake to help""... $ac_c" 1>&6 ! echo "configure:2681: 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 enableval="$enable_imake" *************** *** 2700,2706 **** # 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:2704: 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 --- 2702,2708 ---- # 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:2706: 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 *************** *** 2778,2784 **** # macros do not work well enough to actually use the Makefile for a build, but # the definitions are usable (probably). echo $ac_n "checking for compiler options known to imake""... $ac_c" 1>&6 ! echo "configure:2782: checking for compiler options known to imake" >&5 if eval "test \"`echo '$''{'cf_cv_imake_cflags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2780,2786 ---- # macros do not work well enough to actually use the Makefile for a build, but # the definitions are usable (probably). echo $ac_n "checking for compiler options known to imake""... $ac_c" 1>&6 ! echo "configure:2784: checking for compiler options known to imake" >&5 if eval "test \"`echo '$''{'cf_cv_imake_cflags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2824,2830 **** echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6 ! echo "configure:2828: 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 withval="$with_terminal_id" --- 2826,2832 ---- echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6 ! echo "configure:2830: 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 withval="$with_terminal_id" *************** *** 2845,2851 **** ### checks for optional features echo $ac_n "checking if you want ANSI color""... $ac_c" 1>&6 ! echo "configure:2849: 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 enableval="$enable_ansi_color" --- 2847,2853 ---- ### checks for optional features echo $ac_n "checking if you want ANSI color""... $ac_c" 1>&6 ! echo "configure:2851: 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 enableval="$enable_ansi_color" *************** *** 2868,2874 **** echo $ac_n "checking if you want 16 colors like aixterm""... $ac_c" 1>&6 ! echo "configure:2872: 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 enableval="$enable_16_color" --- 2870,2876 ---- echo $ac_n "checking if you want 16 colors like aixterm""... $ac_c" 1>&6 ! echo "configure:2874: 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 enableval="$enable_16_color" *************** *** 2891,2897 **** echo $ac_n "checking for default color-mode""... $ac_c" 1>&6 ! echo "configure:2895: checking for default color-mode" >&5 # Check whether --enable-color-mode or --disable-color-mode was given. if test "${enable_color_mode+set}" = set; then enableval="$enable_color_mode" --- 2893,2899 ---- echo $ac_n "checking for default color-mode""... $ac_c" 1>&6 ! echo "configure:2897: checking for default color-mode" >&5 # Check whether --enable-color-mode or --disable-color-mode was given. if test "${enable_color_mode+set}" = set; then enableval="$enable_color_mode" *************** *** 2913,2920 **** EOF echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6 ! echo "configure:2918: checking if you want debugging traces" >&5 # Check whether --enable-trace or --disable-trace was given. if test "${enable_trace+set}" = set; then enableval="$enable_trace" --- 2915,2945 ---- EOF + echo $ac_n "checking for doublesize characters""... $ac_c" 1>&6 + echo "configure:2920: checking for doublesize characters" >&5 + # Check whether --enable-doublechars or --disable-doublechars was given. + if test "${enable_doublechars+set}" = set; then + enableval="$enable_doublechars" + test "$enableval" != no && enableval=yes + if test "$enableval" != "yes" ; then + enable_doublechars=no + else + enable_doublechars=yes + fi + else + enableval=yes + enable_doublechars=yes + + fi + + echo "$ac_t""$enable_doublechars" 1>&6 + test $enable_doublechars = no && cat >> confdefs.h <<\EOF + #define OPT_DEC_CHRSET 0 + EOF + + echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6 ! echo "configure:2943: checking if you want debugging traces" >&5 # Check whether --enable-trace or --disable-trace was given. if test "${enable_trace+set}" = set; then enableval="$enable_trace" *************** *** 2941,2947 **** fi echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6 ! echo "configure:2945: checking if you want VT52 emulation" >&5 # Check whether --enable-vt52 or --disable-vt52 was given. if test "${enable_vt52+set}" = set; then enableval="$enable_vt52" --- 2966,2972 ---- fi echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6 ! echo "configure:2970: checking if you want VT52 emulation" >&5 # Check whether --enable-vt52 or --disable-vt52 was given. if test "${enable_vt52+set}" = set; then enableval="$enable_vt52" *************** *** 2965,2971 **** if test -n "$GCC" ; then echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6 ! echo "configure:2969: 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 enableval="$enable_warnings" --- 2990,2996 ---- if test -n "$GCC" ; then echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6 ! echo "configure:2994: 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 enableval="$enable_warnings" *************** *** 3004,3012 **** if test -n "$GCC" then echo "checking for gcc __attribute__ directives" 1>&6 ! echo "configure:3008: checking for gcc __attribute__ directives" >&5 cat > conftest.$ac_ext <&6 ! echo "configure:3033: checking for gcc __attribute__ directives" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6 cat conftest.h >>confdefs.h # else --- 3069,3075 ---- EOF ;; esac ! if { (eval echo configure:3073: \"$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 *************** *** 3058,3068 **** cat > conftest.$ac_ext <&6 ! echo "configure:3066: checking for gcc warning options" >&5 cf_save_CFLAGS="$CFLAGS" cf_warn_CFLAGS="-W -Wall" for cf_opt in \ --- 3083,3093 ---- cat > conftest.$ac_ext <&6 ! echo "configure:3091: checking for gcc warning options" >&5 cf_save_CFLAGS="$CFLAGS" cf_warn_CFLAGS="-W -Wall" for cf_opt in \ *************** *** 3078,3084 **** Wstrict-prototypes do CFLAGS="$cf_save_CFLAGS $cf_warn_CFLAGS -$cf_opt" ! if { (eval echo configure:3082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6 cf_warn_CFLAGS="$cf_warn_CFLAGS -$cf_opt" test "$cf_opt" = Wcast-qual && cf_warn_CFLAGS="$cf_warn_CFLAGS -DXTSTRINGDEFINES" --- 3103,3109 ---- Wstrict-prototypes do CFLAGS="$cf_save_CFLAGS $cf_warn_CFLAGS -$cf_opt" ! if { (eval echo configure:3107: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6 cf_warn_CFLAGS="$cf_warn_CFLAGS -$cf_opt" test "$cf_opt" = Wcast-qual && cf_warn_CFLAGS="$cf_warn_CFLAGS -DXTSTRINGDEFINES" Index: configure.in *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/configure.in Tue Jun 10 15:10:00 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/configure.in Sun Jun 22 14:46:15 1997 *************** *** 124,129 **** --- 124,137 ---- AC_MSG_RESULT($default_colormode) AC_DEFINE_UNQUOTED(DFT_COLORMODE,$default_colormode) + AC_MSG_CHECKING(for doublesize characters) + CF_ARG_DISABLE(doublechars, + [ --disable-doublechars disable support for double-size characters], + [enable_doublechars=no], + [enable_doublechars=yes]) + AC_MSG_RESULT($enable_doublechars) + test $enable_doublechars = no && AC_DEFINE(OPT_DEC_CHRSET,0) + AC_MSG_CHECKING(if you want debugging traces) CF_ARG_ENABLE(trace, [ --enable-trace set to enable debugging traces], Index: doublechr.c *** /dev/null Sun Jul 17 19:46:18 1994 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/doublechr.c Sun Jun 22 14:46:15 1997 *************** *** 0 **** --- 1,119 ---- + /* + * $XFree86$ + */ + + /************************************************************ + + Copyright 1997 by Thomas E. Dickey + + All Rights Reserved + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name(s) of the above copyright + holders shall not be used in advertising or otherwise to promote the + sale, use or other dealings in this Software without prior written + authorization. + + ********************************************************/ + + #ifdef HAVE_CONFIG_H + #include + #endif + + #include "ptyx.h" + #include "data.h" + #include "xterm.h" + + /* + * The first column is all that matters for double-size characters (since the + * controls apply to a whole line). However, it's easier to maintain the + * information for special fonts by writing to all cells. + */ + #define curChrSet SCRN_BUF_CSETS(screen, screen->cur_row)[0] + + #if OPT_DEC_CHRSET + static void repaint_line PROTO((unsigned set)); + + static void + repaint_line(newChrSet) + unsigned newChrSet; + { + register TScreen *screen = &term->screen; + int curcol = screen->cur_col; + int len = screen->max_col + 1; + int width = len; + + TRACE(("repaint_line(%2d,%2d) (%d)\n", screen->cur_row, screen->cur_col, newChrSet)) + + /* If switching from single-width, clear the part of the line that is + * pushed off to the right. + */ + if (CSET_DOUBLE(newChrSet)) { + width /= 2; + if (!CSET_DOUBLE(curChrSet)) { + screen->cur_col = width; + ClearRight(screen, -1); + } + } + + /* FIXME: do VT220 softchars allow double-sizes? */ + memset(SCRN_BUF_CSETS(screen, screen->cur_row), newChrSet, len); + + screen->cur_col = 0; + ScrnRefresh (screen, screen->cur_row, 0, 1, len, True); + screen->cur_col = curcol; + } + #endif + + /* + * Set the line to double-height characters. The 'top' flag denotes whether + * we'll be using it for the top (true) or bottom (false) of the line. + */ + void + xterm_DECDHL(top) + Bool top; + { + #if OPT_DEC_CHRSET + repaint_line(top ? CSET_DHL_TOP : CSET_DHL_BOT); + #endif + } + + /* + * Set the line to single-width characters (the normal state). + */ + void + xterm_DECSWL() + { + #if OPT_DEC_CHRSET + repaint_line(CSET_SWL); + #endif + } + + /* + * Set the line to double-width characters + */ + void + xterm_DECDWL() + { + #if OPT_DEC_CHRSET + repaint_line(CSET_DWL); + #endif + } Index: ptyx.h *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/ptyx.h Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/ptyx.h Sun Jun 22 14:46:15 1997 *************** *** 294,303 **** --- 294,311 ---- #define OPT_BLINK_CURS 0 /* FIXME: do this later (96/7/31) */ + #ifndef OPT_DEC_CHRSET + #define OPT_DEC_CHRSET 1 /* true if xterm is configured for DEC charset */ + #endif + #ifndef OPT_ISO_COLORS #define OPT_ISO_COLORS 1 /* true if xterm is configured with ISO colors */ #endif + #ifndef OPT_TRACE + #define OPT_TRACE 0 /* true if we're using debugging traces */ + #endif + #ifndef OPT_VT52_MODE #define OPT_VT52_MODE 1 /* true if xterm supports VT52 emulation */ #endif *************** *** 346,364 **** #define if_OPT_AIX_COLORS(screen, code) /* nothing */ #endif /* the number of pointers per row in 'ScrnBuf' */ ! #if OPT_ISO_COLORS #define MAX_PTRS term->num_ptrs #else #define MAX_PTRS 2 #endif #if OPT_VT52_MODE #define if_OPT_VT52_MODE(screen, code) if(screen->ansi_level == 0) code #else #define if_OPT_VT52_MODE(screen, code) /* nothing */ #endif /* ScrnBuf-level macros */ #define BUF_CHARS(buf, row) (buf[MAX_PTRS * (row) + 0]) #define BUF_ATTRS(buf, row) (buf[MAX_PTRS * (row) + 1]) --- 354,416 ---- #define if_OPT_AIX_COLORS(screen, code) /* nothing */ #endif + /***====================================================================***/ + + #if OPT_DEC_CHRSET + #define if_OPT_DEC_CHRSET(code) code + /* Use 3 bits for encoding the double high/wide sense of characters */ + #define CSET_SWL 0 + #define CSET_DHL_TOP 1 + #define CSET_DHL_BOT 2 + #define CSET_DWL 4 + /* Use remaining bits for encoding the other character-sets */ + #define CSET_NORMAL(code) ((code) == CSET_SWL) + #define CSET_DOUBLE(code) (!CSET_NORMAL(code) && !CSET_EXTEND(code)) + #define CSET_EXTEND(code) ((code) >= 8) + #define CurMaxCol(screen, row) \ + (CSET_DOUBLE(SCRN_BUF_CSETS(screen, row)[0]) \ + ? (screen->max_col / 2) \ + : (screen->max_col)) + #define CurCursorX(screen, row, col) \ + (CSET_DOUBLE(SCRN_BUF_CSETS(screen, row)[0]) \ + ? CursorX(screen, 2*(col)) \ + : CursorX(screen, (col))) + #define CurFontWidth(screen, row) \ + (CSET_DOUBLE(SCRN_BUF_CSETS(screen, row)[0]) \ + ? 2*FontWidth(screen) \ + : FontWidth(screen)) + #else + #define if_OPT_DEC_CHRSET(code) /*nothing*/ + #define CurMaxCol(screen, row) screen->max_col + #define CurCursorX(screen, row, col) CursorX(screen, col) + #define CurFontWidth(screen, row) FontWidth(screen) + #endif + /* the number of pointers per row in 'ScrnBuf' */ ! #if OPT_ISO_COLORS || OPT_DEC_CHRSET #define MAX_PTRS term->num_ptrs #else #define MAX_PTRS 2 #endif + /***====================================================================***/ + + #if OPT_TRACE + #include "trace.h" + #else + #define TRACE(p) /*nothing*/ + #endif + + /***====================================================================***/ + #if OPT_VT52_MODE #define if_OPT_VT52_MODE(screen, code) if(screen->ansi_level == 0) code #else #define if_OPT_VT52_MODE(screen, code) /* nothing */ #endif + /***====================================================================***/ + /* ScrnBuf-level macros */ #define BUF_CHARS(buf, row) (buf[MAX_PTRS * (row) + 0]) #define BUF_ATTRS(buf, row) (buf[MAX_PTRS * (row) + 1]) *************** *** 367,372 **** --- 419,428 ---- #define BUF_COLOR(buf, row) (buf[MAX_PTRS * (row) + 2]) #endif + #if OPT_DEC_CHRSET + #define BUF_CSETS(buf, row) (buf[MAX_PTRS * (row) + 3]) + #endif + /* TScreen-level macros */ #define SCRN_BUF_CHARS(screen, row) BUF_CHARS(screen->buf, row) #define SCRN_BUF_ATTRS(screen, row) BUF_ATTRS(screen->buf, row) *************** *** 375,380 **** --- 431,440 ---- #define SCRN_BUF_COLOR(screen, row) BUF_COLOR(screen->buf, row) #endif + #if OPT_DEC_CHRSET + #define SCRN_BUF_CSETS(screen, row) BUF_CSETS(screen->buf, row) + #endif + typedef struct { /* These parameters apply to both windows */ Display *display; /* X display for screen */ *************** *** 401,406 **** --- 461,469 ---- Boolean colorULMode; /* use color for underline? */ Boolean colorBDMode; /* use color for bold? */ #endif + #if OPT_DEC_CHRSET + Char chrset; /* character-set index & code */ + #endif int border; /* inner border */ Cursor arrow; /* arrow cursor */ unsigned short send_mouse_pos; /* user wants mouse transition */ *************** *** 663,668 **** --- 726,733 ---- unsigned cur_background; /* current background color */ #if OPT_ISO_COLORS unsigned sgr_foreground; /* current SGR foreground color */ + #endif + #if OPT_ISO_COLORS || OPT_DEC_CHRSET int num_ptrs; /* number of pointers per row in 'ScrnBuf' */ #endif unsigned initflags; /* initial mode flags */ *************** *** 732,737 **** --- 797,803 ---- #define OFF_PROTECT 0 #define DEC_PROTECT 1 #define ISO_PROTECT 2 + #define CursorX(screen,col) ((col) * FontWidth(screen) + screen->border \ + Scrollbar(screen)) #define CursorY(screen,row) ((((row) - screen->topline) * FontHeight(screen)) \ Index: screen.c *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/screen.c Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/screen.c Sun Jun 22 14:46:15 1997 *************** *** 201,211 **** void ScreenWrite (screen, str, flags, cur_fg, cur_bg, length) /* ! Writes str into buf at row row and column col. Characters are set to match ! flags. */ TScreen *screen; ! char *str; register unsigned flags; register unsigned cur_fg, cur_bg; register int length; /* length of string */ --- 201,211 ---- void ScreenWrite (screen, str, flags, cur_fg, cur_bg, length) /* ! * Writes str into buf at screen's current row and column. Characters are set ! * to match flags. */ TScreen *screen; ! Char *str; register unsigned flags; register unsigned cur_fg, cur_bg; register int length; /* length of string */ *************** *** 213,218 **** --- 213,221 ---- #if OPT_ISO_COLORS register Char *fb = 0; #endif + #if OPT_DEC_CHRSET + register Char *cb = 0; + #endif register Char *attrs; register int avail = screen->max_col - screen->cur_col + 1; register Char *col; *************** *** 229,242 **** if_OPT_ISO_COLORS(screen,{ fb = SCRN_BUF_COLOR(screen, screen->cur_row) + screen->cur_col; }) wrappedbit = *attrs & LINEWRAPPED; /* write blanks if we're writing invisible text */ if (flags & INVISIBLE) { ! bzero(col, length); } else { ! memcpy( col, str, length); } flags &= ATTRIBUTES; --- 232,248 ---- if_OPT_ISO_COLORS(screen,{ fb = SCRN_BUF_COLOR(screen, screen->cur_row) + screen->cur_col; }) + if_OPT_DEC_CHRSET({ + cb = SCRN_BUF_CSETS(screen, screen->cur_row) + screen->cur_col; + }) wrappedbit = *attrs & LINEWRAPPED; /* write blanks if we're writing invisible text */ if (flags & INVISIBLE) { ! memset(col, ' ', length); } else { ! memcpy(col, str, length); } flags &= ATTRIBUTES; *************** *** 246,251 **** --- 252,260 ---- if_OPT_ISO_COLORS(screen,{ memset( fb, makeColorPair(cur_fg, cur_bg), length); }) + if_OPT_DEC_CHRSET({ + memset( cb, curXtermChrSet(screen->cur_row), length); + }) if (wrappedbit) *attrs |= LINEWRAPPED; *************** *** 377,382 **** --- 386,394 ---- if_OPT_ISO_COLORS(screen,{ memset(BUF_COLOR(sb, row) + col, xtermColorPair(), n); }) + if_OPT_DEC_CHRSET({ + memset(BUF_CSETS(sb, row) + col, curXtermChrSet(row), n); + }) if (wrappedbit) attrs[0] |= LINEWRAPPED; *************** *** 407,412 **** --- 419,427 ---- if_OPT_ISO_COLORS(screen,{ memset(BUF_COLOR(sb, row) + size - n, xtermColorPair(), n); }) + if_OPT_DEC_CHRSET({ + memset(BUF_CSETS(sb, row) + size - n, curXtermChrSet(row), n); + }) if (wrappedbit) attrs[0] |= LINEWRAPPED; } *************** *** 418,423 **** --- 433,439 ---- Requires: (toprow, leftcol), (toprow + nrows, leftcol + ncols) are coordinates of characters in screen; nrows and ncols positive. + all dimensions are based on single-characters. */ register TScreen *screen; int toprow, leftcol, nrows, ncols; *************** *** 431,444 **** int max = screen->max_row; int gc_changes = 0; ! if(screen->cursor_col >= leftcol && screen->cursor_col <= ! (leftcol + ncols - 1) && screen->cursor_row >= toprow + topline && ! screen->cursor_row <= maxrow + topline) screen->cursor_state = OFF; for (row = toprow; row <= maxrow; y += FontHeight(screen), row++) { #if OPT_ISO_COLORS register Char *fb = 0; #endif register Char *chars; register Char *attrs; register int col = leftcol; --- 447,471 ---- int max = screen->max_row; int gc_changes = 0; ! TRACE(("ScrnRefresh (%d,%d) - (%d,%d)%s\n", ! toprow, leftcol, ! nrows, ncols, ! force ? " force" : "")) ! ! if(screen->cursor_col >= leftcol ! && screen->cursor_col <= (leftcol + ncols - 1) ! && screen->cursor_row >= toprow + topline ! && screen->cursor_row <= maxrow + topline) screen->cursor_state = OFF; + for (row = toprow; row <= maxrow; y += FontHeight(screen), row++) { #if OPT_ISO_COLORS register Char *fb = 0; #endif + #if OPT_DEC_CHRSET + register Char *cb = 0; + #endif + Char cs = 0; register Char *chars; register Char *attrs; register int col = leftcol; *************** *** 462,475 **** chars = SCRN_BUF_CHARS(screen, lastind + topline); attrs = SCRN_BUF_ATTRS(screen, lastind + topline); ! if_OPT_ISO_COLORS(screen,{ ! fb = SCRN_BUF_COLOR(screen, lastind + topline); }) if (row < screen->startHRow || row > screen->endHRow || (row == screen->startHRow && maxcol < screen->startHCol) || (row == screen->endHRow && col >= screen->endHCol)) { /* row does not intersect selection; don't hilite */ if (!force) { while (col <= maxcol && (attrs[col] & ~BOLD) == 0 && --- 489,512 ---- chars = SCRN_BUF_CHARS(screen, lastind + topline); attrs = SCRN_BUF_ATTRS(screen, lastind + topline); ! if_OPT_DEC_CHRSET({ ! cb = SCRN_BUF_CSETS(screen, lastind + topline); }) if (row < screen->startHRow || row > screen->endHRow || (row == screen->startHRow && maxcol < screen->startHCol) || (row == screen->endHRow && col >= screen->endHCol)) { + #if OPT_DEC_CHRSET + /* + * Temporarily change dimensions to double-sized characters so + * we can reuse the recursion on this function. + */ + if (CSET_DOUBLE(*cb)) { + col /= 2; + maxcol /= 2; + } + #endif /* row does not intersect selection; don't hilite */ if (!force) { while (col <= maxcol && (attrs[col] & ~BOLD) == 0 && *************** *** 480,485 **** --- 517,528 ---- (chars[maxcol] & ~040) == 0) maxcol--; } + #if OPT_DEC_CHRSET + if (CSET_DOUBLE(*cb)) { + col *= 2; + maxcol *= 2; + } + #endif hilite = False; } else { *************** *** 511,517 **** * apparent). */ if (screen->highlight_selection - /* && maxcol >= screen->max_col */ && screen->send_mouse_pos != 3) { hi_col = screen->max_col; while (hi_col > 0 && !(attrs[hi_col] & CHARDRAWN)) --- 554,559 ---- *************** *** 524,538 **** if (col > maxcol) continue; flags = attrs[col]; if_OPT_ISO_COLORS(screen,{ fg = extract_fg(fb[col], flags); bg = extract_bg(fb[col]); }) gc = updatedXtermGC(screen, flags, fg, bg, hilite); gc_changes |= (flags & (FG_COLOR|BG_COLOR)); ! x = CursorX(screen, col); lastind = col; for (; col <= maxcol; col++) { --- 566,594 ---- if (col > maxcol) continue; + /* + * Go back to double-sized character dimensions if the line has + * double-width characters. Note that 'hi_col' is already in the + * right units. + */ + if_OPT_DEC_CHRSET({ + if (CSET_DOUBLE(*cb)) { + col /= 2; + maxcol /= 2; + } + cs = cb[col]; + }) + flags = attrs[col]; if_OPT_ISO_COLORS(screen,{ + fb = SCRN_BUF_COLOR(screen, lastind + topline); fg = extract_fg(fb[col], flags); bg = extract_bg(fb[col]); }) gc = updatedXtermGC(screen, flags, fg, bg, hilite); gc_changes |= (flags & (FG_COLOR|BG_COLOR)); ! x = CurCursorX(screen, row, col); lastind = col; for (; col <= maxcol; col++) { *************** *** 542,552 **** || ((flags & FG_COLOR) && (extract_fg(fb[col],attrs[col]) != fg)) || ((flags & BG_COLOR) && (extract_bg(fb[col]) != bg)) #endif ) { drawXtermText(screen, flags, gc, x, y, ! (char *) &chars[lastind], col - lastind); ! x += (col - lastind) * FontWidth(screen); lastind = col; --- 598,613 ---- || ((flags & FG_COLOR) && (extract_fg(fb[col],attrs[col]) != fg)) || ((flags & BG_COLOR) && (extract_bg(fb[col]) != bg)) #endif + #if OPT_DEC_CHRSET + || (cb[col] != cs) + #endif ) { + TRACE(("%s @%d, calling drawXtermText\n", __FILE__, __LINE__)) drawXtermText(screen, flags, gc, x, y, ! cs, ! &chars[lastind], col - lastind); ! x += (col - lastind) * CurFontWidth(screen,row); lastind = col; *************** *** 558,563 **** --- 619,627 ---- fg = extract_fg(fb[col], flags); bg = extract_bg(fb[col]); }) + if_OPT_DEC_CHRSET({ + cs = cb[col]; + }) gc = updatedXtermGC(screen, flags, fg, bg, hilite); gc_changes |= (flags & (FG_COLOR|BG_COLOR)); } *************** *** 566,573 **** chars[col] = ' '; } drawXtermText(screen, flags, gc, x, y, ! (char *) &chars[lastind], col - lastind); } /* --- 630,639 ---- chars[col] = ' '; } + TRACE(("%s @%d, calling drawXtermText\n", __FILE__, __LINE__)) drawXtermText(screen, flags, gc, x, y, ! cs, ! &chars[lastind], col - lastind); } /* *************** *** 597,607 **** --- 663,677 ---- register int row; register int flags = TERM_COLOR_FLAGS; + TRACE(("ClearBufRows %d..%d\n", first, last)) for (row = first; row <= last; row++) { bzero (BUF_CHARS(buf, row), len); memset(BUF_ATTRS(buf, row), flags, len); if_OPT_ISO_COLORS(screen,{ memset(BUF_COLOR(buf, row), xtermColorPair(), len); + }) + if_OPT_DEC_CHRSET({ + memset(BUF_CSETS(buf, row), 0, len); }) } } Index: tabs.c *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/tabs.c Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/tabs.c Sun Jun 22 14:46:15 1997 *************** *** 138,145 **** int saved_column = screen->cur_col; screen->cur_col = TabNext(term->tabs, screen->cur_col); ! if (screen->cur_col > screen->max_col) ! screen->cur_col = screen->max_col; return (screen->cur_col > saved_column); } --- 138,145 ---- int saved_column = screen->cur_col; screen->cur_col = TabNext(term->tabs, screen->cur_col); ! if (screen->cur_col > CurMaxCol(screen, screen->cur_row)) ! screen->cur_col = CurMaxCol(screen, screen->cur_row); return (screen->cur_col > saved_column); } Index: util.c *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/util.c Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/util.c Sun Jun 22 14:46:15 1997 *************** *** 32,44 **** #include #endif #include "ptyx.h" #include "data.h" #include "error.h" #include "menu.h" - #include - #include "xterm.h" extern Bool waiting_for_initial_map; --- 32,50 ---- #include #endif + #include + + #ifndef X_NOT_STDC_ENV + #include + #else + extern char *malloc(); + #endif + #include "ptyx.h" #include "data.h" #include "error.h" #include "menu.h" #include "xterm.h" extern Bool waiting_for_initial_map; *************** *** 488,496 **** --- 494,508 ---- screen->do_wrap = 0; if(screen->cur_row - screen->topline <= screen->max_row) { if(!AddToRefresh(screen)) { + int col = screen->max_col + 1 - n; if(screen->scroll_amt) FlushScroll(screen); + #if OPT_DEC_CHRSET + if (CSET_DOUBLE(SCRN_BUF_CSETS(screen, screen->cur_row)[0])) { + col = (screen->max_col + 1) / 2 - n; + } + #endif /* * prevent InsertChar from shifting the end of a line over * if it is being appended to *************** *** 498,512 **** if (non_blank_line (screen->buf, screen->cur_row, screen->cur_col, screen->max_col + 1)) horizontal_copy_area(screen, screen->cur_col, ! screen->max_col+1 - (screen->cur_col+n), n); FillCurBackground( screen, ! CursorX (screen, screen->cur_col), CursorY (screen, screen->cur_row), ! (unsigned) n * FontWidth(screen), ! (unsigned) FontHeight(screen)); } } /* adjust screen->buf */ --- 510,524 ---- if (non_blank_line (screen->buf, screen->cur_row, screen->cur_col, screen->max_col + 1)) horizontal_copy_area(screen, screen->cur_col, ! col - screen->cur_col, n); FillCurBackground( screen, ! CurCursorX (screen, screen->cur_row, screen->cur_col), CursorY (screen, screen->cur_row), ! n * CurFontWidth(screen,screen->cur_row), ! FontHeight(screen)); } } /* adjust screen->buf */ *************** *** 531,548 **** if(screen->cur_row - screen->topline <= screen->max_row) { if(!AddToRefresh(screen)) { if(screen->scroll_amt) FlushScroll(screen); horizontal_copy_area(screen, screen->cur_col+n, ! screen->max_col+1 - (screen->cur_col+n), -n); ! FillCurBackground ( screen, ! Width(screen) + CursorX(screen, -n), CursorY (screen, screen->cur_row), ! n * FontWidth(screen), FontHeight(screen)); } } --- 543,566 ---- if(screen->cur_row - screen->topline <= screen->max_row) { if(!AddToRefresh(screen)) { + int col = screen->max_col + 1 - n; if(screen->scroll_amt) FlushScroll(screen); + #if OPT_DEC_CHRSET + if (CSET_DOUBLE(SCRN_BUF_CSETS(screen, screen->cur_row)[0])) { + col = (screen->max_col + 1) / 2 - n; + } + #endif horizontal_copy_area(screen, screen->cur_col+n, ! col - screen->cur_col, -n); ! FillCurBackground ( screen, ! CurCursorX(screen, screen->cur_row, col), CursorY (screen, screen->cur_row), ! n * CurFontWidth(screen,screen->cur_row), FontHeight(screen)); } } *************** *** 690,698 **** FlushScroll(screen); FillCurBackground ( screen, ! CursorX (screen, col), CursorY (screen, row), ! len * FontWidth(screen), FontHeight(screen)); } } --- 708,716 ---- FlushScroll(screen); FillCurBackground ( screen, ! CurCursorX (screen, row, col), CursorY (screen, row), ! len * CurFontWidth(screen,row), FontHeight(screen)); } } *************** *** 703,708 **** --- 721,729 ---- if_OPT_ISO_COLORS(screen,{ memset(SCRN_BUF_COLOR(screen, row) + col, xtermColorPair(), len); }) + if_OPT_DEC_CHRSET({ + memset(SCRN_BUF_CSETS(screen, row) + col, curXtermChrSet(screen->cur_row), len); + }) return rc; } *************** *** 946,957 **** int nchars; int amount; /* number of characters to move right */ { ! int src_x = CursorX(screen, firstchar); int src_y = CursorY(screen, screen->cur_row); copy_area(screen, src_x, src_y, ! (unsigned)nchars*FontWidth(screen), FontHeight(screen), ! src_x + amount*FontWidth(screen), src_y); } /* --- 967,979 ---- int nchars; int amount; /* number of characters to move right */ { ! int src_x = CurCursorX(screen, screen->cur_row, firstchar); int src_y = CursorY(screen, screen->cur_row); copy_area(screen, src_x, src_y, ! (unsigned)nchars * CurFontWidth(screen,screen->cur_row), ! FontHeight(screen), ! src_x + amount*CurFontWidth(screen,screen->cur_row), src_y); } /* *************** *** 1055,1065 **** { register int toprow, leftcol, nrows, ncols; toprow = (rect_y - screen->border) / FontHeight(screen); if(toprow < 0) toprow = 0; leftcol = (rect_x - screen->border - Scrollbar(screen)) ! / FontWidth(screen); if(leftcol < 0) leftcol = 0; nrows = (rect_y + rect_height - 1 - screen->border) / --- 1077,1090 ---- { register int toprow, leftcol, nrows, ncols; + TRACE(("handle_translated_exposure (%d,%d) - (%d,%d)\n", + rect_y, rect_x, rect_height, rect_width)) + toprow = (rect_y - screen->border) / FontHeight(screen); if(toprow < 0) toprow = 0; leftcol = (rect_x - screen->border - Scrollbar(screen)) ! / CurFontWidth(screen,screen->cur_row); if(leftcol < 0) leftcol = 0; nrows = (rect_y + rect_height - 1 - screen->border) / *************** *** 1286,1306 **** * Draws text with the specified combination of bold/underline */ void ! drawXtermText(screen, flags, gc, x, y, text, len) register TScreen *screen; unsigned flags; GC gc; int x; int y; ! char *text; int len; { y += FontAscent(screen); XDrawImageString(screen->display, TextWindow(screen), gc, ! x, y, text, len); if ((flags & BOLD) && screen->enbolden) XDrawString(screen->display, TextWindow(screen), gc, ! x+1, y, text, len); if ((flags & UNDERLINE) && screen->underline) XDrawLine(screen->display, TextWindow(screen), gc, x, y+1, x + len * FontWidth(screen), y+1); --- 1311,1352 ---- * Draws text with the specified combination of bold/underline */ void ! drawXtermText(screen, flags, gc, x, y, chrset, text, len) register TScreen *screen; unsigned flags; GC gc; int x; int y; ! int chrset; ! Char *text; int len; { + #if OPT_DEC_CHRSET + if (CSET_DOUBLE(chrset)) { + Char *temp = malloc(2 * len); + int n = 0; + TRACE(("DRAWTEXT%c[%4d,%4d] (%d) %d:%.*s\n", + screen->cursor_state == OFF ? ' ' : '*', + y, x, chrset, len, len, text)) + while (len--) { + temp[n++] = *text++; + temp[n++] = ' '; + } + drawXtermText(screen, flags, gc, x, y, 0, temp, n); + x += FontWidth(screen) * n; + free(temp); + return; + } + #endif + TRACE(("drawtext%c[%4d,%4d] (%d) %d:%.*s\n", + screen->cursor_state == OFF ? ' ' : '*', + y, x, chrset, len, len, text)) y += FontAscent(screen); XDrawImageString(screen->display, TextWindow(screen), gc, ! x, y, (char *)text, len); if ((flags & BOLD) && screen->enbolden) XDrawString(screen->display, TextWindow(screen), gc, ! x+1, y, (char *)text, len); if ((flags & UNDERLINE) && screen->underline) XDrawLine(screen->display, TextWindow(screen), gc, x, y+1, x + len * FontWidth(screen), y+1); *************** *** 1491,1496 **** --- 1537,1567 ---- } #endif /* OPT_ISO_COLORS */ + #if OPT_DEC_CHRSET + int + getXtermChrSet(row, col) + int row; + int col; + { + TScreen *screen = &term->screen; + Char set = SCRN_BUF_CSETS(screen, row)[0]; + if (!CSET_DOUBLE(set)) + set = SCRN_BUF_CSETS(screen, row)[col]; + return set; + } + + int + curXtermChrSet(row) + int row; + { + TScreen *screen = &term->screen; + Char set = SCRN_BUF_CSETS(screen, row)[0]; + if (!CSET_DOUBLE(set)) + set = screen->chrset; + return set; + } + #endif /* OPT_DEC_CHRSET */ + #ifdef HAVE_CONFIG_H #if USE_MY_MEMMOVE char * my_memmove(s1, s2, n) *************** *** 1500,1515 **** { if (n != 0) { if ((s1+n > s2) && (s2+n > s1)) { ! static char *buffer; static size_t length; ! register int j; if (length < n) { length = (n * 3) / 2; ! buffer = doalloc(buffer, length = n); } for (j = 0; j < n; j++) ! buffer[j] = s2[j]; ! s2 = buffer; } while (n-- != 0) s1[n] = s2[n]; --- 1571,1588 ---- { if (n != 0) { if ((s1+n > s2) && (s2+n > s1)) { ! static char *bfr; static size_t length; ! register size_t j; if (length < n) { length = (n * 3) / 2; ! bfr = (bfr != 0) ! ? realloc(bfr, length) ! : malloc(length); } for (j = 0; j < n; j++) ! bfr[j] = s2[j]; ! s2 = bfr; } while (n-- != 0) s1[n] = s2[n]; Index: xterm.h *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/xterm.h Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/xterm.h Sun Jun 22 14:46:15 1997 *************** *** 53,58 **** --- 53,59 ---- extern void SwitchBufPtrs PROTO((TScreen *screen)); extern void VTReset PROTO((int full)); extern void VTRun PROTO((void)); + extern void WriteText PROTO(( TScreen *screen, Char *str, int len)); extern void set_cursor_gcs PROTO((TScreen *screen)); extern void unparseputc1 PROTO((int c, int fd)); extern void unparseputc PROTO((int c, int fd)); *************** *** 77,82 **** --- 78,88 ---- extern void Index PROTO((TScreen *screen, int amount)); extern void RevIndex PROTO((TScreen *screen, int amount)); + /* doublechr.c */ + extern void xterm_DECDHL PROTO((Bool top)); + extern void xterm_DECSWL PROTO((void)); + extern void xterm_DECDWL PROTO((void)); + /* input.c */ extern void Input PROTO((TKeyboard *keyboard, TScreen *screen, XKeyEvent *event, Bool eightbit)); extern void StringInput PROTO((TScreen *screen, char *string, Size_t nbytes)); *************** *** 148,154 **** extern int ScreenResize PROTO((TScreen *screen, int width, int height, unsigned *flags)); extern int ScrnGetAttributes PROTO((TScreen *screen, int row, int col, Char *str, int length)); extern void ClearBufRows PROTO((TScreen *screen, int first, int last)); ! extern void ScreenWrite PROTO((TScreen *screen, char *str, unsigned flags, unsigned cur_fg, unsigned cur_bg, int length)); extern void ScrnDeleteChar PROTO((TScreen *screen, int n, int size)); extern void ScrnDeleteLine PROTO((ScrnBuf sb, int n, int last, int size, int where)); extern void ScrnInsertChar PROTO((TScreen *screen, int n, int size)); --- 154,160 ---- extern int ScreenResize PROTO((TScreen *screen, int width, int height, unsigned *flags)); extern int ScrnGetAttributes PROTO((TScreen *screen, int row, int col, Char *str, int length)); extern void ClearBufRows PROTO((TScreen *screen, int first, int last)); ! extern void ScreenWrite PROTO((TScreen *screen, Char *str, unsigned flags, unsigned cur_fg, unsigned cur_bg, int length)); extern void ScrnDeleteChar PROTO((TScreen *screen, int n, int size)); extern void ScrnDeleteLine PROTO((ScrnBuf sb, int n, int last, int size, int where)); extern void ScrnInsertChar PROTO((TScreen *screen, int n, int size)); *************** *** 195,201 **** extern void Scroll PROTO((TScreen *screen, int amount)); extern void do_erase_display PROTO((TScreen *screen, int param, int mode)); extern void do_erase_line PROTO((TScreen *screen, int param, int mode)); ! extern void drawXtermText PROTO((TScreen *screen, unsigned flags, GC gc, int x, int y, char *text, int len)); extern void recolor_cursor PROTO((Cursor cursor, unsigned long fg, unsigned long bg)); extern void resetXtermGC PROTO((TScreen *screen, int flags, Bool hilite)); extern void scrolling_copy_area PROTO((TScreen *screen, int firstline, int nlines, int amount)); --- 201,207 ---- extern void Scroll PROTO((TScreen *screen, int amount)); extern void do_erase_display PROTO((TScreen *screen, int param, int mode)); extern void do_erase_line PROTO((TScreen *screen, int param, int mode)); ! extern void drawXtermText PROTO((TScreen *screen, unsigned flags, GC gc, int x, int y, int chrset, Char *text, int len)); extern void recolor_cursor PROTO((Cursor cursor, unsigned long fg, unsigned long bg)); extern void resetXtermGC PROTO((TScreen *screen, int flags, Bool hilite)); extern void scrolling_copy_area PROTO((TScreen *screen, int firstline, int nlines, int amount)); *************** *** 234,238 **** --- 240,252 ---- XFillRectangle (screen->display, TextWindow(screen), \ ReverseGC(screen), left, top, width, height); \ useCurBackground(FALSE) + + #if OPT_DEC_CHRSET + extern int getXtermChrSet PROTO((int row, int col)); + extern int curXtermChrSet PROTO((int row)); + #else + #define getXtermChrSet(row, col) 0 + #define curXtermChrSet(row) 0 + #endif #endif /* included_xterm_h */ Index: xterm.man *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/xterm.man Fri Dec 27 03:01:57 1996 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/xterm.man Sun Jun 22 14:46:15 1997 *************** *** 56,64 **** menu in the 4014 window. .SH EMULATIONS The VT102 emulation is fairly complete, but does not support ! autorepeat, ! the blinking character attribute ! nor the double-wide and double-size character sets. .IR Termcap (5) entries that work with .I xterm --- 56,63 ---- menu in the 4014 window. .SH EMULATIONS The VT102 emulation is fairly complete, but does not support ! autorepeat or ! the blinking character attribute. .IR Termcap (5) entries that work with .I xterm Index: xtermcfg.hin *** /build/x11r6/XFree86-3.9g/xc/programs/xterm/xtermcfg.hin Tue Jun 3 16:05:50 1997 --- /build/x11r6/XFree86-3.9g-patched/xc/programs/xterm/xtermcfg.hin Sun Jun 22 14:46:15 1997 *************** *** 35,40 **** --- 35,41 ---- #undef HAVE_STRERROR /* AC_CHECK_FUNCS(strerror) */ #undef HAVE_TERMCAP_H /* AC_CHECK_HEADERS(termcap.h) */ #undef OPT_AIX_COLORS /* CF_ARG_DISABLE(16-color) */ + #undef OPT_DEC_CHRSET /* CF_ARG_DISABLE(doublechars) */ #undef OPT_ISO_COLORS /* CF_ARG_DISABLE(ansi-color) */ #undef OPT_TRACE /* CF_ARG_ENABLE(trace) */ #undef OPT_VT52_MODE /* CF_ARG_DISABLE(vt52) */ *************** *** 47,52 **** --- 48,57 ---- #if USE_OK_BCOPY #define memmove(d,s,n) bcopy(s,d,n) + #endif + + #if USE_MY_MEMMOVE + #define memmove(d,s,n) my_memmove(d,s,n) #endif #if !HAVE_STRERROR