XFree86 3.9h - xterm patch #46 - T.Dickey <dickey@clark.net>
This is a patch to provide test-support for some work I'm doing on ncurses. It
does not modify the normal configuration of xterm; the code is compiled if the
standalone configure option "--enable-xmc-glitch" is specified.
--------------------------------------------------------------------------------
charproc.c | 50 +++++++-
configure | 304 ++++++++++++++++++++++++++++-----------------------
configure.in | 21 ++-
ptyx.h | 22 +++
screen.c | 4
terminfo | 9 +
xterm-46/testxmc.c | 220 ++++++++++++++++++++++++++++++++++++
xterm.h | 8 +
xtermcfg.hin | 1
9 files changed, 494 insertions, 145 deletions
--------------------------------------------------------------------------------
Index: charproc.c
--- xterm-45+/charproc.c Wed Jul 2 21:59:37 1997
+++ xterm-46/charproc.c Fri Jul 4 11:37:09 1997
@@ -135,11 +135,11 @@
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));
static void bitset PROTO((unsigned *p, unsigned mask));
-static void dotext PROTO((TScreen *screen, int charset, Char *buf, Char *ptr));
static void dpmodes PROTO((XtermWidget termw, void (*func)(unsigned *p, unsigned mask)));
static void report_win_label PROTO((TScreen *screen, int code, XTextProperty *text, Status ok));
static void restoremodes PROTO((XtermWidget termw));
@@ -180,6 +180,10 @@
#define XtNcharClass "charClass"
#define XtNcurses "curses"
#define XtNhpLowerleftBugCompat "hpLowerleftBugCompat"
+#define XtNxmcGlitch "xmcGlitch"
+#define XtNxmcAttributes "xmcAttributes"
+#define XtNxmcInline "xmcInline"
+#define XtNxmcMoveSGR "xmcMoveSGR"
#define XtNcursorColor "cursorColor"
#define XtNcursorBlinkTime "cursorBlinkTime"
#define XtNcutNewline "cutNewline"
@@ -258,6 +262,10 @@
#define XtCCharClass "CharClass"
#define XtCCurses "Curses"
#define XtCHpLowerleftBugCompat "HpLowerleftBugCompat"
+#define XtCXmcGlitch "XmcGlitch"
+#define XtCXmcAttributes "XmcAttributes"
+#define XtCXmcInline "XmcInline"
+#define XtCXmcMoveSGR "XmcMoveSGR"
#define XtCCutNewline "CutNewline"
#define XtCCutToBeginningOfLine "CutToBeginningOfLine"
#define XtCCursorBlinkTime "CursorBlinkTime"
@@ -460,6 +468,20 @@
{XtNhpLowerleftBugCompat, XtCHpLowerleftBugCompat, XtRBoolean, sizeof(Boolean),
XtOffsetOf(XtermWidgetRec, screen.hp_ll_bc),
XtRBoolean, (XtPointer) &defaultFALSE},
+#if OPT_XMC_GLITCH
+{XtNxmcGlitch, XtCXmcGlitch, XtRInt, sizeof(int),
+ XtOffsetOf(XtermWidgetRec, screen.xmc_glitch),
+ XtRString, "0"},
+{XtNxmcAttributes, XtCXmcAttributes, XtRInt, sizeof(int),
+ XtOffsetOf(XtermWidgetRec, screen.xmc_attributes),
+ XtRString, "1"},
+{XtNxmcInline, XtCXmcInline, XtRBoolean, sizeof(Boolean),
+ XtOffsetOf(XtermWidgetRec, screen.xmc_inline),
+ XtRBoolean, (XtPointer) &defaultFALSE},
+{XtNxmcMoveSGR, XtCXmcMoveSGR, XtRBoolean, sizeof(Boolean),
+ XtOffsetOf(XtermWidgetRec, screen.move_sgr_ok),
+ XtRBoolean, (XtPointer) &defaultTRUE},
+#endif
{XtNcutNewline, XtCCutNewline, XtRBoolean, sizeof(Boolean),
XtOffsetOf(XtermWidgetRec, screen.cutNewline),
XtRBoolean, (XtPointer) &defaultTRUE},
@@ -1214,6 +1236,9 @@
case CASE_CUP:
/* CUP | HVP */
+ if_OPT_XMC_GLITCH(screen,{
+ Jump_XMC(screen);
+ })
if((row = param[0]) < 1)
row = 1;
if(nparam < 2 || (col = param[1]) < 1)
@@ -1417,6 +1442,9 @@
case CASE_SGR:
/* SGR */
for (row=0; row<nparam; ++row) {
+ if_OPT_XMC_GLITCH(screen,{
+ Mark_XMC(screen,param[row]);
+ })
switch (param[row]) {
case DEFAULT:
case 0:
@@ -2335,7 +2363,7 @@
* process a string of characters according to the character set indicated
* by charset. worry about end of line conditions (wraparound if selected).
*/
-static void
+void
dotext(screen, charset, buf, ptr)
register TScreen *screen;
char charset;
@@ -2354,6 +2382,9 @@
*s = '\036'; /* UK pound sign*/
break;
+#if OPT_XMC_GLITCH
+ case '?':
+#endif
case '1': /* Alternate Character ROM standard characters */
case '2': /* Alternate Character ROM special graphics */
case 'B': /* ASCII set */
@@ -2369,6 +2400,13 @@
return;
}
+ if_OPT_XMC_GLITCH(screen,{
+ if (charset != '?')
+ for (s=buf; s<ptr; ++s)
+ if (*s == XMC_GLITCH)
+ *s = XMC_GLITCH+1;
+ })
+
len = ptr - buf;
ptr = buf;
while (len > 0) {
@@ -2417,7 +2455,7 @@
unsigned bg = term->cur_background;
GC currentGC;
- TRACE(("write (%2d,%2d) (%d) %3d:%.*s\n",
+ TRACE(("WriteText (%2d,%2d) (%d) %3d:%.*s\n",
screen->cur_row,
screen->cur_col,
curXtermChrSet(screen->cur_row),
@@ -3413,6 +3451,12 @@
new->screen.c132 = request->screen.c132;
new->screen.curses = request->screen.curses;
new->screen.hp_ll_bc = request->screen.hp_ll_bc;
+#if OPT_XMC_GLITCH
+ new->screen.xmc_glitch = request->screen.xmc_glitch;
+ new->screen.xmc_attributes = request->screen.xmc_attributes;
+ new->screen.xmc_inline = request->screen.xmc_inline;
+ new->screen.move_sgr_ok = request->screen.move_sgr_ok;
+#endif
new->screen.foreground = request->screen.foreground;
new->screen.cursorcolor = request->screen.cursorcolor;
#if OPT_BLINK_CURS
Index: configure
--- xterm-45+/configure Mon Jun 30 08:51:00 1997
+++ xterm-46/configure Fri Jul 4 08:32:58 1997
@@ -24,15 +24,17 @@
ac_help="$ac_help
--disable-16-color disable 16-color support (default: on)"
ac_help="$ac_help
- --enable-color-mode set default colorMode resource (default: off)"
+ --enable-color-mode set default colorMode resource (default: off)"
ac_help="$ac_help
- --disable-doublechars disable support for double-size characters (default: on)"
+ --disable-doublechars disable support for double-size chars (default: on)"
ac_help="$ac_help
- --enable-trace set to enable debugging traces (default: off)"
+ --enable-trace test: set to enable debugging traces (default: off)"
ac_help="$ac_help
--disable-vt52 disable VT52 emulation (default: on)"
ac_help="$ac_help
- --enable-warnings turn on GCC compiler warnings (default: off)"
+ --enable-xmc-glitch test: enable xmc magic-cookie emulation (default: off)"
+ac_help="$ac_help
+ --enable-warnings test: turn on GCC compiler warnings (default: off)"
# Initialize some variables set by options.
# The variables have the same names as the options, with
@@ -570,7 +572,7 @@
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:574: checking for $ac_word" >&5
+echo "configure:576: 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,7 +601,7 @@
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:603: checking for $ac_word" >&5
+echo "configure:605: 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
@@ -647,7 +649,7 @@
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
+echo "configure:653: 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.
@@ -657,11 +659,11 @@
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 661 "configure"
+#line 663 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -681,12 +683,12 @@
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:685: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:687: 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
+echo "configure:692: 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
@@ -695,7 +697,7 @@
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
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:701: \"$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
@@ -710,7 +712,7 @@
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
+echo "configure:716: 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
@@ -738,7 +740,7 @@
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
+echo "configure:744: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -753,13 +755,13 @@
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 757 "configure"
+#line 759 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -770,13 +772,13 @@
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 774 "configure"
+#line 776 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:780: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -800,13 +802,13 @@
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
+echo "configure:806: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 810 "configure"
+#line 812 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -824,7 +826,7 @@
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 828 "configure"
+#line 830 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -875,7 +877,7 @@
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:879: checking for a BSD compatible install" >&5
+echo "configure:881: 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
@@ -927,9 +929,9 @@
### checks for UNIX variants that set C preprocessor variables
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:931: checking for AIX" >&5
+echo "configure:933: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 933 "configure"
+#line 935 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
@@ -951,7 +953,7 @@
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:955: checking for POSIXized ISC" >&5
+echo "configure:957: 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
@@ -973,17 +975,17 @@
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
+echo "configure:979: checking for minix/config.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 982 "configure"
+#line 984 "configure"
#include "confdefs.h"
#include <minix/config.h>
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; }
+{ (eval echo configure:989: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1025,12 +1027,12 @@
### 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
+echo "configure:1031: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1034 "configure"
+#line 1036 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1038,7 +1040,7 @@
#include <float.h>
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; }
+{ (eval echo configure:1044: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1055,7 +1057,7 @@
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1059 "configure"
+#line 1061 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1073,7 +1075,7 @@
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 1077 "configure"
+#line 1079 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1094,7 +1096,7 @@
:
else
cat > conftest.$ac_ext <<EOF
-#line 1098 "configure"
+#line 1100 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1105,7 +1107,7 @@
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
+if { (eval echo configure:1111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1129,12 +1131,12 @@
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1133: checking for size_t" >&5
+echo "configure:1135: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1138 "configure"
+#line 1140 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1162,12 +1164,12 @@
fi
echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:1166: checking for time_t" >&5
+echo "configure:1168: checking for time_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1171 "configure"
+#line 1173 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1203,12 +1205,12 @@
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1207: checking for $ac_func" >&5
+echo "configure:1209: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1212 "configure"
+#line 1214 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1231,7 +1233,7 @@
; return 0; }
EOF
-if { (eval echo configure:1235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1259,7 +1261,7 @@
if test ".$ac_cv_func_memmove" != .yes ; then
if test $ac_cv_func_bcopy = yes ; then
echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
-echo "configure:1263: checking if bcopy does overlapping moves" >&5
+echo "configure:1265: 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
@@ -1268,7 +1270,7 @@
cf_cv_good_bcopy=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 1272 "configure"
+#line 1274 "configure"
#include "confdefs.h"
int main() {
@@ -1281,7 +1283,7 @@
}
EOF
-if { (eval echo configure:1285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
cf_cv_good_bcopy=yes
else
@@ -1315,7 +1317,7 @@
echo $ac_n "checking for workable tgetent function""... $ac_c" 1>&6
-echo "configure:1319: checking for workable tgetent function" >&5
+echo "configure:1321: 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
@@ -1331,7 +1333,7 @@
cf_cv_func_tgetent=no
else
cat > conftest.$ac_ext <<EOF
-#line 1335 "configure"
+#line 1337 "configure"
#include "confdefs.h"
/* terminfo implementations ignore the buffer argument, making it useless for
@@ -1344,7 +1346,7 @@
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
+if { (eval echo configure:1350: \"$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
@@ -1365,14 +1367,14 @@
for cf_termlib in $cf_TERMLIB
do
cat > conftest.$ac_ext <<EOF
-#line 1369 "configure"
+#line 1371 "configure"
#include "confdefs.h"
int main() {
tgetent(0, 0)
; return 0; }
EOF
-if { (eval echo configure:1376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1378: \"$ac_link\") 1>&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
@@ -1398,17 +1400,17 @@
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
+echo "configure:1404: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1407 "configure"
+#line 1409 "configure"
#include "confdefs.h"
#include <$ac_hdr>
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; }
+{ (eval echo configure:1414: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1447,12 +1449,12 @@
### checks for compiler characteristics
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1451: checking for working const" >&5
+echo "configure:1453: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1456 "configure"
+#line 1458 "configure"
#include "confdefs.h"
int main() {
@@ -1501,7 +1503,7 @@
; return 0; }
EOF
-if { (eval echo configure:1505: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1507: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1522,7 +1524,7 @@
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
+echo "configure:1528: 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
@@ -1539,7 +1541,7 @@
do
CFLAGS="$cf_save_CFLAGS $cf_arg"
cat > conftest.$ac_ext <<EOF
-#line 1543 "configure"
+#line 1545 "configure"
#include "confdefs.h"
#ifndef CC_HAS_PROTOS
@@ -1554,7 +1556,7 @@
struct s2 {int (*f) (double a);};
; return 0; }
EOF
-if { (eval echo configure:1558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_cv_ansi_cc="$cf_arg"; break
else
@@ -1581,7 +1583,7 @@
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:1585: checking for X" >&5
+echo "configure:1587: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -1643,12 +1645,12 @@
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 1647 "configure"
+#line 1649 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1654: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1717,14 +1719,14 @@
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1721 "configure"
+#line 1723 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:1728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -1830,17 +1832,17 @@
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:1834: checking whether -R must be followed by a space" >&5
+echo "configure:1836: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 1837 "configure"
+#line 1839 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_R_nospace=yes
else
@@ -1856,14 +1858,14 @@
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 1860 "configure"
+#line 1862 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_R_space=yes
else
@@ -1895,7 +1897,7 @@
# libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:1899: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:1901: 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
@@ -1903,7 +1905,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1907 "configure"
+#line 1909 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1914,7 +1916,7 @@
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:1918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1920: \"$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
@@ -1936,7 +1938,7 @@
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:1940: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:1942: 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
@@ -1944,7 +1946,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1948 "configure"
+#line 1950 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1955,7 +1957,7 @@
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:1959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1961: \"$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
@@ -1984,12 +1986,12 @@
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:1988: checking for gethostbyname" >&5
+echo "configure:1990: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1993 "configure"
+#line 1995 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@@ -2012,7 +2014,7 @@
; return 0; }
EOF
-if { (eval echo configure:2016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@@ -2033,7 +2035,7 @@
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
+echo "configure:2039: 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
@@ -2041,7 +2043,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2045 "configure"
+#line 2047 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2052,7 +2054,7 @@
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:2056: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2058: \"$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
@@ -2082,12 +2084,12 @@
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:2086: checking for connect" >&5
+echo "configure:2088: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2091 "configure"
+#line 2093 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@@ -2110,7 +2112,7 @@
; return 0; }
EOF
-if { (eval echo configure:2114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@@ -2131,7 +2133,7 @@
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
+echo "configure:2137: 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
@@ -2139,7 +2141,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2143 "configure"
+#line 2145 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2150,7 +2152,7 @@
connect()
; return 0; }
EOF
-if { (eval echo configure:2154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2156: \"$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
@@ -2174,12 +2176,12 @@
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:2178: checking for remove" >&5
+echo "configure:2180: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2183 "configure"
+#line 2185 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
@@ -2202,7 +2204,7 @@
; return 0; }
EOF
-if { (eval echo configure:2206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
@@ -2223,7 +2225,7 @@
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
+echo "configure:2229: 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
@@ -2231,7 +2233,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2235 "configure"
+#line 2237 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2242,7 +2244,7 @@
remove()
; return 0; }
EOF
-if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2248: \"$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
@@ -2266,12 +2268,12 @@
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:2270: checking for shmat" >&5
+echo "configure:2272: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2275 "configure"
+#line 2277 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
@@ -2294,7 +2296,7 @@
; return 0; }
EOF
-if { (eval echo configure:2298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
@@ -2315,7 +2317,7 @@
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
+echo "configure:2321: 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
@@ -2323,7 +2325,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2327 "configure"
+#line 2329 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2334,7 +2336,7 @@
shmat()
; return 0; }
EOF
-if { (eval echo configure:2338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2340: \"$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
@@ -2367,7 +2369,7 @@
# libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:2371: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:2373: 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
@@ -2375,7 +2377,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lICE $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2379 "configure"
+#line 2381 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2386,7 +2388,7 @@
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:2390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2392: \"$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
@@ -2416,7 +2418,7 @@
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:2420: checking for XOpenDisplay in -lX11" >&5
+echo "configure:2422: 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
@@ -2424,7 +2426,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2428 "configure"
+#line 2430 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2435,7 +2437,7 @@
XOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:2439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2441: \"$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
@@ -2456,7 +2458,7 @@
fi
echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:2460: checking for XtAppInitialize in -lXt" >&5
+echo "configure:2462: 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
@@ -2464,7 +2466,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2468 "configure"
+#line 2470 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2475,7 +2477,7 @@
XtAppInitialize()
; return 0; }
EOF
-if { (eval echo configure:2479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2481: \"$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
@@ -2507,17 +2509,17 @@
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
+echo "configure:2513: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2516 "configure"
+#line 2518 "configure"
#include "confdefs.h"
#include <$ac_hdr>
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; }
+{ (eval echo configure:2523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2544,7 +2546,7 @@
done
echo $ac_n "checking for XmuClientWindow in -lXmu""... $ac_c" 1>&6
-echo "configure:2548: checking for XmuClientWindow in -lXmu" >&5
+echo "configure:2550: 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
@@ -2552,7 +2554,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXmu $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2556 "configure"
+#line 2558 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2563,7 +2565,7 @@
XmuClientWindow()
; return 0; }
EOF
-if { (eval echo configure:2567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2569: \"$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
@@ -2591,7 +2593,7 @@
fi
echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:2595: checking for XextCreateExtension in -lXext" >&5
+echo "configure:2597: 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
@@ -2599,7 +2601,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXext $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2603 "configure"
+#line 2605 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2610,7 +2612,7 @@
XextCreateExtension()
; return 0; }
EOF
-if { (eval echo configure:2614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2616: \"$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
@@ -2631,7 +2633,7 @@
fi
echo $ac_n "checking for XawSimpleMenuAddGlobalActions in -lXaw""... $ac_c" 1>&6
-echo "configure:2635: checking for XawSimpleMenuAddGlobalActions in -lXaw" >&5
+echo "configure:2637: 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
@@ -2639,7 +2641,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXaw $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2643 "configure"
+#line 2645 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2650,7 +2652,7 @@
XawSimpleMenuAddGlobalActions()
; return 0; }
EOF
-if { (eval echo configure:2654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2656: \"$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
@@ -2677,7 +2679,7 @@
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
+echo "configure:2683: 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"
@@ -2702,7 +2704,7 @@
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2706: checking for $ac_word" >&5
+echo "configure:2708: 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
@@ -2780,7 +2782,7 @@
# 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
+echo "configure:2786: 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
@@ -2826,7 +2828,7 @@
echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6
-echo "configure:2830: checking for default terminal-id" >&5
+echo "configure:2832: 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"
@@ -2847,7 +2849,7 @@
### 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
+echo "configure:2853: 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"
@@ -2870,7 +2872,7 @@
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
+echo "configure:2876: 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"
@@ -2893,7 +2895,7 @@
echo $ac_n "checking for default color-mode""... $ac_c" 1>&6
-echo "configure:2897: checking for default color-mode" >&5
+echo "configure:2899: 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"
@@ -2916,7 +2918,7 @@
echo $ac_n "checking for doublesize characters""... $ac_c" 1>&6
-echo "configure:2920: checking for doublesize characters" >&5
+echo "configure:2922: checking for doublesize characters" >&5
# Check whether --enable-doublechars or --disable-doublechars was given.
if test "${enable_doublechars+set}" = set; then
enableval="$enable_doublechars"
@@ -2939,7 +2941,7 @@
echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6
-echo "configure:2943: checking if you want debugging traces" >&5
+echo "configure:2945: 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"
@@ -2966,7 +2968,7 @@
fi
echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6
-echo "configure:2970: checking if you want VT52 emulation" >&5
+echo "configure:2972: 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"
@@ -2988,9 +2990,37 @@
EOF
+# this is only for testing purposes
+echo $ac_n "checking if you want magic cookie emulation""... $ac_c" 1>&6
+echo "configure:2996: checking if you want magic cookie emulation" >&5
+# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
+if test "${enable_xmc_glitch+set}" = set; then
+ enableval="$enable_xmc_glitch"
+ test "$enableval" != yes && enableval=no
+ if test "$enableval" != "no" ; then
+ enable_xmc=yes
+ else
+ enable_xmc=no
+ fi
+else
+ enableval=no
+ enable_xmc=no
+
+fi
+
+echo "$ac_t""$enable_xmc" 1>&6
+if test $enable_xmc = yes ; then
+ cat >> confdefs.h <<\EOF
+#define OPT_XMC_GLITCH 1
+EOF
+
+ EXTRASRCS="$EXTRASRCS testxmc.c"
+ EXTRAOBJS="$EXTRAOBJS testxmc.o"
+fi
+
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
+echo "configure:3024: 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"
@@ -3029,9 +3059,9 @@
if test -n "$GCC"
then
echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:3033: checking for gcc __attribute__ directives" >&5
+echo "configure:3063: checking for gcc __attribute__ directives" >&5
cat > conftest.$ac_ext <<EOF
-#line 3035 "configure"
+#line 3065 "configure"
#include "confdefs.h"
#include "conftest.h"
#include "conftest.i"
@@ -3069,7 +3099,7 @@
EOF
;;
esac
- if { (eval echo configure:3073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:3103: \"$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
@@ -3083,11 +3113,11 @@
cat > conftest.$ac_ext <<EOF
-#line 3087 "configure"
+#line 3117 "configure"
int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
EOF
echo "checking for gcc warning options" 1>&6
-echo "configure:3091: checking for gcc warning options" >&5
+echo "configure:3121: checking for gcc warning options" >&5
cf_save_CFLAGS="$CFLAGS"
cf_warn_CFLAGS="-W -Wall"
for cf_opt in \
@@ -3103,7 +3133,7 @@
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
+ if { (eval echo configure:3137: \"$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
--- xterm-45+/configure.in Mon Jun 30 08:51:00 1997
+++ xterm-46/configure.in Fri Jul 4 08:32:58 1997
@@ -118,7 +118,7 @@
AC_MSG_CHECKING(for default color-mode)
CF_ARG_ENABLE(color-mode,
- [ --enable-color-mode set default colorMode resource ],
+ [ --enable-color-mode set default colorMode resource],
[default_colormode=TRUE],
[default_colormode=FALSE])
AC_MSG_RESULT($default_colormode)
@@ -126,7 +126,7 @@
AC_MSG_CHECKING(for doublesize characters)
CF_ARG_DISABLE(doublechars,
- [ --disable-doublechars disable support for double-size characters],
+ [ --disable-doublechars disable support for double-size chars],
[enable_doublechars=no],
[enable_doublechars=yes])
AC_MSG_RESULT($enable_doublechars)
@@ -134,7 +134,7 @@
AC_MSG_CHECKING(if you want debugging traces)
CF_ARG_ENABLE(trace,
- [ --enable-trace set to enable debugging traces],
+ [ --enable-trace test: set to enable debugging traces],
[enable_trace=yes],
[enable_trace=no])
AC_MSG_RESULT($enable_trace)
@@ -152,10 +152,23 @@
AC_MSG_RESULT($enable_vt52)
test $enable_vt52 = no && AC_DEFINE(OPT_VT52_MODE,0)
+# this is only for testing purposes
+AC_MSG_CHECKING(if you want magic cookie emulation)
+CF_ARG_ENABLE(xmc-glitch,
+ [ --enable-xmc-glitch test: enable xmc magic-cookie emulation],
+ [enable_xmc=yes],
+ [enable_xmc=no])
+AC_MSG_RESULT($enable_xmc)
+if test $enable_xmc = yes ; then
+ AC_DEFINE(OPT_XMC_GLITCH,1)
+ EXTRASRCS="$EXTRASRCS testxmc.c"
+ EXTRAOBJS="$EXTRAOBJS testxmc.o"
+fi
+
if test -n "$GCC" ; then
AC_MSG_CHECKING(if you want to turn on gcc warnings)
CF_ARG_ENABLE(warnings,
- [ --enable-warnings turn on GCC compiler warnings],
+ [ --enable-warnings test: turn on GCC compiler warnings],
[with_warnings=yes],
[with_warnings=no])
AC_MSG_RESULT($with_warnings)
Index: ptyx.h
--- xterm-45+/ptyx.h Mon Jun 30 08:51:00 1997
+++ xterm-46/ptyx.h Fri Jul 4 09:32:11 1997
@@ -310,6 +310,10 @@
#define OPT_VT52_MODE 1 /* true if xterm supports VT52 emulation */
#endif
+#ifndef OPT_XMC_GLITCH
+#define OPT_XMC_GLITCH 0 /* true if xterm supports xmc (magic cookie glitch) */
+#endif
+
/***====================================================================***/
#if OPT_AIX_COLORS && !OPT_ISO_COLORS
@@ -411,6 +415,16 @@
/***====================================================================***/
+#if OPT_XMC_GLITCH
+#define if_OPT_XMC_GLITCH(screen, code) if(screen->xmc_glitch) code
+#define XMC_GLITCH 1 /* the character we'll show */
+#define XMC_FLAGS (INVERSE|UNDERLINE|BOLD)
+#else
+#define if_OPT_XMC_GLITCH(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])
@@ -577,6 +591,14 @@
Boolean jumpscroll; /* whether we should jumpscroll */
Boolean always_highlight; /* whether to highlight cursor */
Boolean underline; /* whether to underline text */
+
+ /* Testing */
+#if OPT_XMC_GLITCH
+ int xmc_glitch; /* # of spaces to pad on SGR's */
+ int xmc_attributes; /* attrs that make a glitch */
+ Boolean xmc_inline; /* SGR's propagate only to eol */
+ Boolean move_sgr_ok; /* SGR is reset on move */
+#endif
/* Tektronix window parameters */
GC TnormalGC; /* normal painting */
Index: screen.c
--- xterm-45+/screen.c Mon Jun 30 08:51:00 1997
+++ xterm-46/screen.c Fri Jul 4 11:37:04 1997
@@ -258,6 +258,10 @@
if (wrappedbit)
*attrs |= LINEWRAPPED;
+
+ if_OPT_XMC_GLITCH(screen,{
+ Resolve_XMC(screen);
+ })
}
static void
Index: terminfo
--- xterm-45+/terminfo Tue Jun 3 16:05:50 1997
+++ xterm-46/terminfo Fri Jul 4 08:32:58 1997
@@ -164,6 +164,15 @@
kf4=\E[14~,
use=xterm,
#
+# This is used only for testing (it's not relevant to DEC VTxxx terminals, but
+# to ncurses).
+xterm-xmc|xterm with magic-cookie glitch,
+ xmc#1,
+ use=xterm,
+#
+# This one also is primarily for testing ncurses; while the ISO 6429 defines
+# the REP control, none of the DEC VTxxx terminals (VT52 through VT420) support
+# it.
xterm-rep|xterm with repeat-character control,
rep=%p1%c\E[%p2%{1}%-%db,
use=xterm,
Index: testxmc.c
--- /dev/null Sun Jul 17 19:46:18 1994
+++ xterm-46/testxmc.c Fri Jul 4 11:37:17 1997
@@ -0,0 +1,220 @@
+/*
+ * $XFree86$
+ */
+
+/************************************************************
+
+Copyright 1997 by Thomas E. Dickey <dickey@clark.net>
+
+ 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.
+
+********************************************************/
+
+/*
+ * This module provides test support for curses applications that must work
+ * with terminals that have the xmc (magic cookie) glitch. The xmc_glitch
+ * resource denotes the number of spaces that are emitted when switching to or
+ * from standout (reverse) mode. Some terminals implement this by storing the
+ * attribute controls in the character cell that is skipped. So if the cell is
+ * overwritten by text, then the attribute change in the cell is cancelled,
+ * causing attributes to the left of the change to propagate.
+ *
+ * We implement the glitch by writing a character that won't be mistaken for
+ * other normal characters (and mapping normal writes to that character to a
+ * different one).
+ *
+ * Since xmc isn't normally part of xterm, we document it here rather than in
+ * the man-page. This module is driven by resources rather than by the
+ * termcap/terminfo description to make it a little more flexible for testing
+ * purposes.
+ *
+ * Resources:
+ *
+ * xmcGlitch (class XmcGlitch)
+ * When true, enables this extension. The default is `0', which disables
+ * the module. (termcap sg, terminfo xmc).
+ *
+ * xmcAttributes (class XmcAttributes)
+ * The attributes for which we'll generate a glitch, as a bitmask.
+ *
+ * INVERSE 1
+ * UNDERLINE 2
+ * BOLD 4
+ *
+ * The default is `1' (INVERSE). Some terminals emit glitches for
+ * underline.
+ *
+ * xmcInline (class XmcInline)
+ * When true, limits the extent of an SGR change to the current line.
+ * The default is `false'. (No termcap or terminfo equivalent, though
+ * there are comments in some entries relating to this issue).
+ *
+ * xmcMoveSGR (class XmcMoveSGR)
+ * When false, a cursor movement will leave a glitch when SGR's are
+ * active. The default is `true'. (termcap ms, terminfo msgr).
+ *
+ * TODO:
+ * When xmc is active, the terminfo max_attributes (ma) capability is
+ * assumed to be 1.
+ *
+ * The xmcAttributes resource should also apply to alternate character
+ * sets and to color.
+ */
+#ifdef HAVE_CONFIG_H
+#include <xtermcfg.h>
+#endif
+
+#include <X11/Xos.h>
+
+#ifndef X_NOT_STDC_ENV
+#include <stdlib.h>
+#else
+extern char *malloc();
+#endif
+
+#include "ptyx.h"
+#include "data.h"
+#include "xterm.h"
+
+#define MARK_ON(a) (my_attrs & a) != 0 && (term->flags & (whichone = a)) == 0
+#define MARK_OFF(a) (my_attrs & a) != 0 && (term->flags & (whichone = a)) != 0
+
+void Mark_XMC(register TScreen *screen, int param)
+{
+ static Char *glitch;
+ Boolean found = FALSE;
+ Char my_attrs = (screen->xmc_attributes & XMC_FLAGS);
+ Char whichone = 0;
+
+ if (glitch == 0) {
+ glitch = malloc(screen->xmc_glitch);
+ memset(glitch, XMC_GLITCH, screen->xmc_glitch);
+ }
+ switch (param) {
+ case -1:/* DEFAULT */
+ case 0: /* FALLTHRU */
+ found = MARK_OFF(XMC_FLAGS);
+ break;
+ case 1:
+ found = MARK_ON(BOLD);
+ break;
+ case 4:
+ found = MARK_ON(UNDERLINE);
+ break;
+ case 7:
+ found = MARK_ON(INVERSE);
+ break;
+ case 22:
+ found = MARK_OFF(BOLD);
+ break;
+ case 24:
+ found = MARK_OFF(UNDERLINE);
+ break;
+ case 27:
+ found = MARK_OFF(INVERSE);
+ break;
+ }
+
+ /*
+ * Write a glitch with the attributes temporarily set to the new(er)
+ * ones.
+ */
+ if (found) {
+ unsigned save = term->flags;
+ term->flags ^= whichone;
+ TRACE(("XMC Writing glitch (%d/%d)\n", my_attrs, whichone))
+ dotext(screen, '?', glitch, glitch + screen->xmc_glitch);
+ term->flags = save;
+ }
+}
+
+/*
+ * Force a glitch on cursor movement when we're in standout mode and not at the
+ * end of a line.
+ */
+void Jump_XMC(register TScreen *screen)
+{
+ if (!screen->move_sgr_ok
+ && screen->cur_col <= CurMaxCol(screen, screen->cur_row)) {
+ Mark_XMC(screen, -1);
+ }
+}
+
+/*
+ * After writing text to the screen, resolve mismatch between the current
+ * location and any attributes that would have been set by preceding locations.
+ */
+void Resolve_XMC(register TScreen *screen)
+{
+ Boolean changed = False;
+ Char start;
+ Char my_attrs = (screen->xmc_attributes & XMC_FLAGS);
+ int row = screen->cur_row;
+ int col = screen->cur_col;
+
+ /* Find the preceding cell.
+ */
+ if (SCRN_BUF_CHARS(screen, row)[col] != XMC_GLITCH) {
+ if (col != 0) {
+ col--;
+ } else if (!screen->xmc_inline && row != 0) {
+ row--;
+ col = CurMaxCol(screen, row);
+ }
+ }
+ start = (SCRN_BUF_ATTRS(screen, row)[col] & my_attrs);
+
+ /* Now propagate the starting state until we reach a cell which holds
+ * a glitch.
+ */
+ for (;;) {
+ if (col < CurMaxCol(screen, row)) {
+ col++;
+ } else if (!screen->xmc_inline && row < screen->max_row) {
+ row++;
+ col = 0;
+ } else
+ break;
+ if (SCRN_BUF_CHARS(screen, row)[col] == XMC_GLITCH)
+ break;
+ if ((SCRN_BUF_ATTRS(screen, row)[col] & my_attrs) != start) {
+ SCRN_BUF_ATTRS(screen, row)[col] = start |
+ (SCRN_BUF_ATTRS(screen, row)[col] & ~my_attrs);
+ changed = True;
+ }
+ }
+
+ TRACE(("XMC %s (%s:%d/%d) from %d,%d to %d,%d\n",
+ changed ? "Ripple" : "Nochange",
+ term->flags & my_attrs ? "on" : "off",
+ my_attrs, start,
+ screen->cur_row, screen->cur_col, row, col))
+
+ if (changed) {
+ ScrnRefresh (screen, screen->cur_row, 0, row + 1 - screen->cur_row, screen->max_col + 1, True);
+ }
+}
Index: xterm.h
--- xterm-45+/xterm.h Mon Jun 30 08:51:00 1997
+++ xterm-46/xterm.h Fri Jul 4 10:49:22 1997
@@ -53,7 +53,7 @@
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 dotext PROTO((TScreen *screen, int charset, Char *buf, Char *ptr));
extern void set_cursor_gcs PROTO((TScreen *screen));
extern void unparseputc1 PROTO((int c, int fd));
extern void unparseputc PROTO((int c, int fd));
@@ -247,6 +247,12 @@
#else
#define getXtermChrSet(row, col) 0
#define curXtermChrSet(row) 0
+#endif
+
+#if OPT_XMC_GLITCH
+extern void Mark_XMC PROTO((TScreen *screen, int param));
+extern void Jump_XMC PROTO((TScreen *screen));
+extern void Resolve_XMC PROTO((TScreen *screen));
#endif
#endif /* included_xterm_h */
Index: xtermcfg.hin
--- xterm-45+/xtermcfg.hin Mon Jun 30 08:51:00 1997
+++ xterm-46/xtermcfg.hin Fri Jul 4 08:32:58 1997
@@ -39,6 +39,7 @@
#undef OPT_ISO_COLORS /* CF_ARG_DISABLE(ansi-color) */
#undef OPT_TRACE /* CF_ARG_ENABLE(trace) */
#undef OPT_VT52_MODE /* CF_ARG_DISABLE(vt52) */
+#undef OPT_XMC_GLITCH /* CF_ARG_ENABLE(xmc-glitch) */
#undef USE_MY_MEMMOVE /* CF_FUNC_MEMMOVE */
#undef USE_OK_BCOPY /* CF_FUNC_MEMMOVE */
#undef USE_TERMINFO /* CF_FUNC_TGETENT */