# ------------------------------------------------------------------------------
# INSTALL | 11
# VTPrsTbl.c | 335 ++++++++++++++++++++++++
# VTparse.def | 5
# VTparse.h | 8
# aclocal.m4 | 143 ++++++++++
# button.c | 484 +++++++++++++++++++++++++++++++++++-
# charproc.c | 97 +++++++
# configure | 739 +++++++++++++++++++++++++++++++++++++------------------
# configure.in | 18 +
# ctlseqs.ms | 349 +++++++++++++++++--------
# data.c | 1
# data.h | 1
# main.c | 115 ++------
# menu.c | 4
# misc.c | 17 +
# print.c | 6
# ptyx.h | 15 +
# resize.c | 2
# version.h | 2
# xcharmouse.h | 24 +
# xterm.h | 25 +
# xterm.log.html | 56 ++++
# xterm.man | 20 +
# xtermcfg.hin | 6
# 24 files changed, 2017 insertions, 466 deletions
# ------------------------------------------------------------------------------
Index: INSTALL
--- xterm-115+/INSTALL Fri Sep 17 06:26:32 1999
+++ xterm-116/INSTALL Sat Sep 25 10:22:40 1999
@@ -190,6 +190,17 @@
Compile-in code that interprets SGR 38 and 48 for 88-colors.
+ --enable-dec-locator enable DECterm Locator support
+ Add support for for DEC Locator control sequences for xterm:
+
+ DECEFR - Enable Filter Rectangle
+ DECELR - Enable Locator Reports
+ DECSLE - Select Locator Events
+ DECRQLP - Request Locator Position
+
+ This allows the xterm mouse to be used with applications that use the
+ DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
+
--enable-hp-fkeys enable support for HP-style function keys
Compile-in code to support HP-style function keys.
Index: VTPrsTbl.c
--- xterm-115+/VTPrsTbl.c Sun Jul 18 16:29:08 1999
+++ xterm-116/VTPrsTbl.c Sat Sep 25 10:31:43 1999
@@ -70,6 +70,11 @@
#include <VTparse.h>
+#if !OPT_DEC_LOCATOR
+#undef CASE_CSI_TICK_STATE,
+#define CASE_CSI_TICK_STATE CASE_ESC_IGNORE
+#endif
+
#if !OPT_WIDE_CHARS
#undef CASE_ESC_PERCENT
#define CASE_ESC_PERCENT CASE_ESC_IGNORE
@@ -455,7 +460,7 @@
CASE_ESC_IGNORE,
CASE_ESC_IGNORE,
CASE_ESC_IGNORE,
-CASE_ESC_IGNORE,
+CASE_CSI_TICK_STATE,
/* ( ) * + */
CASE_ESC_IGNORE,
CASE_ESC_IGNORE,
@@ -728,7 +733,7 @@
CASE_GROUND_STATE,
};
-Const PARSE_T csi_ex_table[] = /* ESC ! */
+Const PARSE_T csi_ex_table[] = /* CSI ! */
{
/* NUL SOH STX ETX */
CASE_IGNORE,
@@ -1375,6 +1380,332 @@
CASE_GROUND_STATE,
CASE_GROUND_STATE,
};
+
+#if OPT_DEC_LOCATOR
+Const PARSE_T csi_tick_table[] = /* CSI ... ' */
+{
+/* NUL SOH STX ETX */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* EOT ENQ ACK BEL */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_BELL,
+/* BS HT NL VT */
+CASE_BS,
+CASE_TAB,
+CASE_VMOT,
+CASE_VMOT,
+/* NP CR SO SI */
+CASE_VMOT,
+CASE_CR,
+CASE_SO,
+CASE_SI,
+/* DLE DC1 DC2 DC3 */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* DC4 NAK SYN ETB */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* CAN EM SUB ESC */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_ESC,
+/* FS GS RS US */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* SP ! " # */
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+/* $ % & ' */
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+/* ( ) * + */
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+/* , - . / */
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+CASE_ESC_IGNORE,
+/* 0 1 2 3 */
+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_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* < = > ? */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* @ A B C */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* D E F G */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* H I J K */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* L M N O */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* P Q R S */
+CASE_IGNORE_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* T U V W */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* X Y Z [ */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* \ ] ^ _ */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* ` a b c */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* d e f g */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* h i j k */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* l m n o */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* p q r s */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* t u v w */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_DECEFR,
+/* x y z { */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_DECELR,
+CASE_DECSLE,
+/* | } ~ DEL */
+CASE_DECRQLP,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* 0x80 0x81 0x82 0x83 */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x84 0x85 0x86 0x87 */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x88 0x89 0x8a 0x8b */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x8c 0x8d 0x8e 0x8f */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x90 0x91 0x92 0x93 */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x94 0x95 0x96 0x97 */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x98 0x99 0x9a 0x9b */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* 0x9c 0x9d 0x9e 0x9f */
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+CASE_IGNORE,
+/* nobreakspace exclamdown cent sterling */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* currency yen brokenbar section */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* diaeresis copyright ordfeminine guillemotleft */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* notsign hyphen registered macron */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* degree plusminus twosuperior threesuperior */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* acute mu paragraph periodcentered */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* cedilla onesuperior masculine guillemotright */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* onequarter onehalf threequarters questiondown */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Agrave Aacute Acircumflex Atilde */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Adiaeresis Aring AE Ccedilla */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Egrave Eacute Ecircumflex Ediaeresis */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Igrave Iacute Icircumflex Idiaeresis */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Eth Ntilde Ograve Oacute */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Ocircumflex Otilde Odiaeresis multiply */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Ooblique Ugrave Uacute Ucircumflex */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* Udiaeresis Yacute Thorn ssharp */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* agrave aacute acircumflex atilde */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* adiaeresis aring ae ccedilla */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* egrave eacute ecircumflex ediaeresis */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* igrave iacute icircumflex idiaeresis */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* eth ntilde ograve oacute */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* ocircumflex otilde odiaeresis division */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* oslash ugrave uacute ucircumflex */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+/* udiaeresis yacute thorn ydiaeresis */
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+CASE_GROUND_STATE,
+};
+#endif /* OPT_DEC_LOCATOR */
Const PARSE_T dec_table[] = /* CSI ? */
{
Index: VTparse.def
--- xterm-115+/VTparse.def Sun Apr 11 16:38:14 1999
+++ xterm-116/VTparse.def Sat Sep 25 10:30:01 1999
@@ -123,3 +123,8 @@
CASE_DEC_MC
CASE_ESC_PERCENT
CASE_UTF8
+CASE_CSI_TICK_STATE
+CASE_DECELR
+CASE_DECRQLP
+CASE_DECEFR
+CASE_DECSLE
Index: VTparse.h
--- xterm-115+/VTparse.h Sun Apr 11 16:38:14 1999
+++ xterm-116/VTparse.h Sat Sep 25 10:51:16 1999
@@ -45,6 +45,9 @@
extern Const PARSE_T ansi_table[];
extern Const PARSE_T csi_ex_table[];
extern Const PARSE_T csi_quo_table[];
+#if OPT_DEC_LOCATOR
+extern Const PARSE_T csi_tick_table[];
+#endif /* OPT_DEC_LOCATOR */
extern Const PARSE_T csi_table[];
extern Const PARSE_T dec2_table[];
extern Const PARSE_T dec3_table[];
@@ -190,5 +193,10 @@
#define CASE_DEC_MC 113
#define CASE_ESC_PERCENT 114
#define CASE_UTF8 115
+#define CASE_CSI_TICK_STATE 116
+#define CASE_DECELR 117
+#define CASE_DECRQLP 118
+#define CASE_DECEFR 119
+#define CASE_DECSLE 120
#endif /* included_VTparse_h */
Index: aclocal.m4
--- xterm-115+/aclocal.m4 Wed Sep 15 22:08:52 1999
+++ xterm-116/aclocal.m4 Fri Sep 24 20:15:42 1999
@@ -209,7 +209,7 @@
AC_DEFUN([CF_DISABLE_ECHO],[
AC_MSG_CHECKING(if you want to see long compiling messages)
CF_ARG_DISABLE(echo,
- [ --disable-echo test: display "compiling" commands],
+ [ --disable-echo display "compiling" commands],
[
ECHO_LD='@echo linking [$]@;'
RULE_CC=' @echo compiling [$]<'
@@ -657,6 +657,48 @@
test $cf_cv_type_size_t = no && AC_DEFINE(size_t, unsigned)
])dnl
dnl ---------------------------------------------------------------------------
+dnl Check if this is a SYSV flavor of UTMP
+AC_DEFUN([CF_SYSV_UTMP],
+[
+AC_REQUIRE([CF_UTMP])
+AC_CACHE_CHECK(if $cf_cv_have_utmp is SYSV flavor,cf_cv_sysv_utmp,[
+AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <${cf_cv_have_utmp}.h>],[
+struct $cf_cv_have_utmp x;
+ setutent ();
+ getutid(&x);
+ pututline(&x);
+ endutent();],
+ [cf_cv_sysv_utmp=yes],
+ [cf_cv_sysv_utmp=no])
+])
+test $cf_cv_sysv_utmp = yes && AC_DEFINE(USE_SYSV_UTMP)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl Check if the system has a tty-group defined. This is used in xterm when
+dnl setting pty ownership.
+AC_DEFUN([CF_TTY_GROUP],
+[
+AC_CACHE_CHECK(for tty group,cf_cv_tty_group,[
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <grp.h>
+int main()
+{
+ struct group *ttygrp;
+ int code = (ttygrp = getgrnam("tty")) == 0;
+ endgrent();
+ exit(code);
+}
+ ],
+ [cf_cv_tty_group=yes],
+ [cf_cv_tty_group=no],
+ [cf_cv_tty_group=unknown])
+])
+test $cf_cv_tty_group = yes && AC_DEFINE(USE_TTY_GROUP)
+])dnl
+dnl ---------------------------------------------------------------------------
dnl Check for the declaration of fd_set. Some platforms declare it in
dnl <sys/types.h>, and some in <sys/select.h>, which requires <sys/types.h>
AC_DEFUN([CF_TYPE_FD_SET],
@@ -688,6 +730,54 @@
changequote([,])dnl
])dnl
dnl ---------------------------------------------------------------------------
+dnl Check for UTMP/UTMPX headers
+AC_DEFUN([CF_UTMP],
+[
+AC_CACHE_CHECK(for utmp implementation,cf_cv_have_utmp,[
+ AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <utmp.h>],
+ [struct utmp x],
+ [cf_cv_have_utmp=utmp],
+ [AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <utmpx.h>],
+ [struct utmpx x],
+ [cf_cv_have_utmp=utmpx],
+ [cf_cv_have_utmp=no])
+ ])
+ ])
+
+if test $cf_cv_have_utmp != no ; then
+ AC_DEFINE(HAVE_UTMP)
+ test $cf_cv_have_utmp = utmpx && AC_DEFINE(UTMPX_FOR_UTMP)
+ CF_UTMP_UT_HOST
+ CF_SYSV_UTMP
+fi
+])
+dnl ---------------------------------------------------------------------------
+dnl Check if UTMP/UTMPX struct defines ut_host member
+AC_DEFUN([CF_UTMP_UT_HOST],
+[
+AC_REQUIRE([CF_UTMP])
+AC_MSG_CHECKING(if utmp.ut_host is declared)
+AC_CACHE_VAL(cf_cv_have_utmp_ut_host,[
+ AC_TRY_COMPILE([
+#include <sys/types.h>
+#ifdef UTMPX_FOR_UTMP
+#include <utmpx.h>
+#define utmp utmpx
+#else
+#include <utmp.h>
+#endif],
+ [struct utmp x; char *y = &x.ut_host[0]],
+ [cf_cv_have_utmp_ut_host=yes],
+ [cf_cv_have_utmp_ut_host=no])
+ ])
+AC_MSG_RESULT($cf_cv_have_utmp_ut_host)
+test $cf_cv_have_utmp_ut_host != no && AC_DEFINE(HAVE_UTMP_UT_HOST)
+])
+dnl ---------------------------------------------------------------------------
dnl Use AC_VERBOSE w/o the warnings
AC_DEFUN([CF_VERBOSE],
[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
@@ -702,22 +792,65 @@
XTERM_GRP=
AC_MSG_CHECKING(for presumed installation-mode)
if test -f "$XTERM_PATH" ; then
- ls -Llg $XTERM_PATH >conftest.out
- read cf_mode cf_links XTERM_USR XTERM_GRP cf_rest <conftest.out
+ cf_option="-l -L"
+
+ # Expect listing to have fields like this:
+ #-r--r--r-- 1 user group 34293 Jul 18 16:29 pathname
+ ls $cf_option $XTERM_PATH >conftest.out
+ read cf_mode cf_links cf_usr cf_grp cf_size cf_date1 cf_date2 cf_date3 cf_rest <conftest.out
+ echo "if \"$cf_rest\" is null, try the -g option" 1>&AC_FD_CC
+ if test -z "$cf_rest" ; then
+ cf_option="$cf_option -g"
+ ls $cf_option $XTERM_PATH >conftest.out
+ read cf_mode cf_links cf_usr cf_grp cf_size cf_date1 cf_date2 cf_date3 cf_rest <conftest.out
+ fi
+
+ # If we have a pathname, and the date fields look right, assume we've
+ # captured the group as well.
+ echo "if \"$cf_rest\" is null, we do not look for group" 1>&AC_FD_CC
+ if test -n "$cf_rest" ; then
+changequote(,)dnl
+ cf_test=`echo "${cf_date2}${cf_date3}" | sed -e 's/[0-9:]//g'`
+changequote([,])dnl
+ echo "if we have date in proper columns ($cf_date1 $cf_date2 $cf_date3), \"$cf_test\" is null" 1>&AC_FD_CC
+ if test -z "$cf_test" ; then
+ XTERM_USR=$cf_usr;
+ XTERM_GRP=$cf_grp;
+ fi
+ fi
+ echo "derived user \"$XTERM_USR\", group \"$XTERM_GRP\" of previously-installed xterm" 1>&AC_FD_CC
+
+ echo "see if mode \"$cf_mode\" has s-bit set" 1>&AC_FD_CC
case ".$cf_mode" in #(vi
.???s*) #(vi
XTERM_MODE=4711
+ XTERM_GRP=
;;
.??????s*)
XTERM_MODE=2711
+ XTERM_USR=
;;
esac
fi
-test "$XTERM_USR" = "root" && XTERM_USR=""
-test "$XTERM_GRP" = "root" && XTERM_GRP=""
+
+if test -n "${XTERM_USR}${XTERM_GRP}" ; then
+changequote(,)dnl
+ cf_usr=`id | sed -e 's/^[^(]*(//' -e 's/).*$//'`
+ cf_grp=`id | sed -e 's/^.* gid=[^(]*(//' -e 's/).*$//'`
+changequote([,])dnl
+ echo "configuring as user \"$cf_usr\", group \"$cf_grp\" of previously-installed xterm" 1>&AC_FD_CC
+ test "$XTERM_USR" = "$cf_usr" && XTERM_USR=""
+ test "$XTERM_USR" = "root" && XTERM_USR=""
+ test "$XTERM_GRP" = "$cf_grp" && XTERM_GRP=""
+ test "$XTERM_GRP" = "root" && XTERM_GRP=""
+ test "$XTERM_GRP" = "wheel" && XTERM_GRP=""
+fi
+
AC_MSG_RESULT($XTERM_MODE $XTERM_USR $XTERM_GRP)
+
test -n "$XTERM_USR" && XTERM_USR="-o $XTERM_USR"
test -n "$XTERM_GRP" && XTERM_GRP="-g $XTERM_GRP"
+
AC_SUBST(XTERM_MODE)
AC_SUBST(XTERM_USR)
AC_SUBST(XTERM_GRP)
Index: button.c
--- xterm-115+/button.c Sat Sep 18 14:09:11 1999
+++ xterm-116/button.c Sat Sep 25 11:14:56 1999
@@ -152,6 +152,12 @@
if (screen->send_mouse_pos == MOUSE_OFF)
return False;
+#if OPT_DEC_LOCATOR
+ if (screen->send_mouse_pos == DEC_LOCATOR) {
+ return( SendLocatorPosition( w, event ) );
+ }
+#endif /* OPT_DEC_LOCATOR */
+
/* Make sure the event is an appropriate type */
if ((screen->send_mouse_pos != BTN_EVENT_MOUSE)
&& (screen->send_mouse_pos != ANY_EVENT_MOUSE)
@@ -177,14 +183,6 @@
}
return False;
- case VT200_MOUSE: /* DEC vt200 compatible */
-
- if (KeyModifiers == 0 || KeyModifiers == ControlMask) {
- EditorButton((XButtonEvent *)event);
- return True;
- }
- return False;
-
case VT200_HIGHLIGHT_MOUSE: /* DEC vt200 hilite tracking */
if ( event->type == ButtonPress &&
KeyModifiers == 0 &&
@@ -198,6 +196,8 @@
}
return False;
+ case VT200_MOUSE: /* DEC vt200 compatible */
+
/* xterm extension for motion reporting. June 1998 */
/* EditorButton() will distinguish between the modes */
case BTN_EVENT_MOUSE:
@@ -213,6 +213,474 @@
}
#undef KeyModifiers
}
+
+#if OPT_DEC_LOCATOR
+
+#define KeyModifiers \
+ (event->xbutton.state & (ShiftMask | LockMask | ControlMask | Mod1Mask | \
+ Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask ))
+
+#define LocatorCoords( row, col, x, y, oor ) \
+ if( screen->locator_pixels ) { \
+ (oor)=FALSE; (row) = (y)+1; (col) = (x)+1; \
+ /* Limit to screen dimensions */ \
+ if ((row) < 1) (row) = 1,(oor)=TRUE; \
+ else if ((row) > screen->border*2+Height(screen)) \
+ (row) = screen->border*2+Height(screen),(oor)=TRUE; \
+ if ((col) < 1) (col) = 1,(oor)=TRUE; \
+ else if ((col) > OriginX(screen)*2+Width(screen)) \
+ (col) = OriginX(screen)*2+Width(screen),(oor)=TRUE; \
+ } else { \
+ (oor)=FALSE; \
+ /* Compute character position of mouse pointer */ \
+ (row) = ((y) - screen->border) / FontHeight(screen); \
+ (col) = ((x) - OriginX(screen)) / FontWidth(screen); \
+ /* Limit to screen dimensions */ \
+ if ((row) < 0) (row) = 0,(oor)=TRUE; \
+ else if ((row) > screen->max_row) \
+ (row) = screen->max_row,(oor)=TRUE; \
+ if ((col) < 0) (col) = 0,(oor)=TRUE; \
+ else if ((col) > screen->max_col) \
+ (col) = screen->max_col,(oor)=TRUE; \
+ (row)++; (col)++; \
+ }
+
+#define MotionOff( s, t ) { \
+ (s)->event_mask |= ButtonMotionMask; \
+ (s)->event_mask &= ~PointerMotionMask; \
+ XSelectInput(XtDisplay((t)), XtWindow((t)), (s)->event_mask); }
+
+#define MotionOn( s, t ) { \
+ (s)->event_mask &= ~ButtonMotionMask; \
+ (s)->event_mask |= PointerMotionMask; \
+ XSelectInput(XtDisplay((t)), XtWindow((t)), (s)->event_mask); }
+
+Boolean
+SendLocatorPosition(Widget w, XEvent* event)
+{
+ TScreen *screen = &((XtermWidget)w)->screen;
+ int pty = screen->respond;
+ Char line[20];
+ int row, col;
+ Boolean oor;
+ int button, count = 0;
+ int state;
+
+ /* Make sure the event is an appropriate type */
+ if ((event->type != ButtonPress &&
+ event->type != ButtonRelease &&
+ !screen->loc_filter) ||
+ (KeyModifiers != 0 && KeyModifiers != ControlMask))
+ return( False );
+
+ if ((event->type == ButtonPress &&
+ !(screen->locator_events & LOC_BTNS_DN)) ||
+ (event->type == ButtonRelease &&
+ !(screen->locator_events & LOC_BTNS_UP)))
+ return( True );
+
+ if( event->type == MotionNotify ) {
+ CheckLocatorPosition( w, event );
+ return( True );
+ }
+
+ /* get button # */
+ button = event->xbutton.button - 1;
+
+ LocatorCoords( row, col, event->xbutton.x, event->xbutton.y, oor );
+
+ /*
+ * DECterm mouse:
+ *
+ * ESCAPE '[' event ; mask ; row ; column '&' 'w'
+ */
+ /* Build key sequence starting with \E[ */
+ if (screen->control_eight_bits) {
+ line[count++] = CSI;
+ } else {
+ line[count++] = ESC;
+ line[count++] = '[';
+ }
+
+ if( oor) {
+ /* Event - 0 = locator unavailable */
+ line[count++] = '0';
+
+ /* Sequence termination */
+ line[count++] = '&';
+ line[count++] = 'w';
+
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+ return( True );
+ }
+
+ /*
+ * event:
+ * 1 no buttons
+ * 2 left button down
+ * 3 left button up
+ * 4 middle button down
+ * 5 middle button up
+ * 6 right button down
+ * 7 right button up
+ * 8 M4 down
+ * 9 M4 up
+ */
+ switch(event->type)
+ {
+ case ButtonPress:
+ line[count++] = '2' + (button<<1);
+ break;
+ case ButtonRelease:
+ line[count++] = '3' + (button<<1);
+ break;
+ default:
+ return( True );
+ }
+ line[count++] = ';';
+ /*
+ * mask:
+ * bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
+ * M4 down left down middle down right down
+ *
+ * Notice that Button1 (left) and Button3 (right) are swapped in the mask.
+ * Also, mask should be the state after the button press/release,
+ * X provides the state not including the button press/release.
+ */
+ state = (event->xbutton.state & (Button1Mask | Button2Mask | Button3Mask | Button4Mask)) >> 8;
+ state ^= 1 << button; /* update mask to "after" state */
+ state = (state & ~(4|1)) | ((state&1)?4:0) | ((state&4)?1:0); /* swap Button1 & Button3 */
+ sprintf( &(line[count]), "%d;%d;%d&w", state, row, col );
+ count = strlen( line );
+
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+
+ /*
+ * DECterm turns the Locator off if a button is pressed while a filter rectangle
+ * is active. This might be a bug, but I don't know, so I'll emulate it anyways.
+ */
+ if( screen->loc_filter ) {
+ screen->send_mouse_pos = MOUSE_OFF;
+ screen->loc_filter = FALSE;
+ screen->locator_events = 0;
+ MotionOff( screen, term );
+ }
+
+ return( True );
+}
+#undef KeyModifiers
+
+#define KeyModifiers \
+ (mask & (ShiftMask | LockMask | ControlMask | Mod1Mask | \
+ Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask ))
+/*
+* mask:
+* bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
+* M4 down left down middle down right down
+*
+* Button1 (left) and Button3 (right) are swapped in the mask relative to X.
+*/
+#define ButtonState(state, mask) \
+{ (state) = ((mask) & (Button1Mask | Button2Mask | Button3Mask | Button4Mask)) >> 8; \
+ /* swap Button1 & Button3 */ \
+ (state) = ((state) & ~(4|1)) | (((state)&1)?4:0) | (((state)&4)?1:0); \
+}
+
+void
+GetLocatorPosition(XtermWidget w)
+{
+ TScreen *screen = &w->screen;
+ Window root, child;
+ int rx, ry, x, y;
+ unsigned int mask;
+ Char line[20];
+ int pty = screen->respond;
+ int row = 0, col = 0;
+ Boolean oor = FALSE;
+ Bool ret = FALSE;
+ int count = 0;
+ int state;
+
+
+ /*
+ * DECterm turns the Locator off if the position is requested while a filter rectangle
+ * is active. This might be a bug, but I don't know, so I'll emulate it anyways.
+ */
+ if( screen->loc_filter ) {
+ screen->send_mouse_pos = MOUSE_OFF;
+ screen->loc_filter = FALSE;
+ screen->locator_events = 0;
+ MotionOff( screen, term );
+ }
+
+ /* Build key sequence starting with \E[ */
+ if (screen->control_eight_bits) {
+ line[count++] = CSI;
+ } else {
+ line[count++] = ESC;
+ line[count++] = '[';
+ }
+ if (screen->send_mouse_pos == DEC_LOCATOR) {
+ ret = XQueryPointer( screen->display, VWindow(screen), &root,
+ &child, &rx, &ry, &x, &y, &mask );
+ if (ret) {
+ LocatorCoords( row, col, x, y, oor );
+ }
+ }
+ if( ret == FALSE || oor /* || (KeyModifiers != 0 && KeyModifiers != ControlMask) */ )
+ {
+ /* Event - 0 = locator unavailable */
+ line[count++] = '0';
+
+ /* Sequence termination */
+ line[count++] = '&';
+ line[count++] = 'w';
+
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+ return;
+ }
+
+ /* Event - 1 = response to locator request */
+ line[count++] = '1';
+ line[count++] = ';';
+
+ ButtonState( state, mask );
+ sprintf( &(line[count]), "%d;%d;%d&w", state, row, col );
+ count = strlen( line );
+
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+}
+
+void
+InitLocatorFilter( XtermWidget w )
+{
+ TScreen *screen = &w->screen;
+ Window root, child;
+ int rx, ry, x, y;
+ unsigned int mask;
+ Char line[20];
+ int pty = screen->respond;
+ int row, col;
+ Boolean oor;
+ Bool ret;
+ int count = 0;
+ int state;
+
+
+ ret = XQueryPointer( screen->display, VWindow(screen),
+ &root, &child, &rx, &ry, &x, &y, &mask );
+ if (ret) {
+ LocatorCoords( row, col, x, y, oor );
+ }
+ if( ret == FALSE || oor )
+ {
+ /* Locator is unavailable */
+
+ if( screen->loc_filter_top != LOC_FILTER_POS ||
+ screen->loc_filter_left != LOC_FILTER_POS ||
+ screen->loc_filter_bottom != LOC_FILTER_POS ||
+ screen->loc_filter_right != LOC_FILTER_POS )
+ {
+ /*
+ * If any explicit coordinates were received,
+ * report immediately with no coordinates.
+ */
+ /* Build key sequence starting with \E[ */
+ if (screen->control_eight_bits) {
+ line[count++] = CSI;
+ } else {
+ line[count++] = ESC;
+ line[count++] = '[';
+ }
+ /* Event - 0 = locator unavailable */
+ line[count++] = '0';
+
+ /* Sequence termination */
+ line[count++] = '&';
+ line[count++] = 'w';
+
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+ } else {
+ /*
+ * No explicit coordinates were received, and the pointer is
+ * unavailable. Report when the pointer re-enters the window.
+ */
+ screen->loc_filter = TRUE;
+ MotionOn( screen, term );
+ }
+ return;
+ }
+
+ /*
+ * Adjust rectangle coordinates:
+ * 1. Replace "LOC_FILTER_POS" with current coordinates
+ * 2. Limit coordinates to screen size
+ * 3. make sure top and left are less than bottom and right, resp.
+ */
+ if( screen->locator_pixels ) {
+ rx = OriginX(screen)*2+Width(screen);
+ ry = screen->border*2+Height(screen);
+ } else {
+ rx = screen->max_col;
+ ry = screen->max_row;
+ }
+
+#define Adjust( coord, def, max ) \
+ if( (coord) == LOC_FILTER_POS ) (coord) = (def); \
+ else if ((coord) < 1) (coord) = 1; \
+ else if ((coord) > (max)) (coord) = (max)
+
+ Adjust( screen->loc_filter_top, row, ry );
+ Adjust( screen->loc_filter_left, col, rx );
+ Adjust( screen->loc_filter_bottom, row, ry );
+ Adjust( screen->loc_filter_right, col, rx );
+
+ if( screen->loc_filter_top > screen->loc_filter_bottom ) {
+ ry = screen->loc_filter_top;
+ screen->loc_filter_top = screen->loc_filter_bottom;
+ screen->loc_filter_bottom = ry;
+ }
+
+ if( screen->loc_filter_left > screen->loc_filter_right ) {
+ rx = screen->loc_filter_left;
+ screen->loc_filter_left = screen->loc_filter_right;
+ screen->loc_filter_right = rx;
+ }
+
+ if( (col < screen->loc_filter_left) ||
+ (col > screen->loc_filter_right) ||
+ (row < screen->loc_filter_top) ||
+ (row > screen->loc_filter_bottom) )
+ {
+ /* Pointer is already outside the rectangle - report immediately */
+ /* Build key sequence starting with \E[ */
+ if (screen->control_eight_bits) {
+ line[count++] = CSI;
+ } else {
+ line[count++] = ESC;
+ line[count++] = '[';
+ }
+ /* Event - 10 = locator outside filter */
+ line[count++] = '1';
+ line[count++] = '0';
+ line[count++] = ';';
+
+ ButtonState( state, mask );
+ sprintf( &(line[count]), "%d;%d;%d&w", state, row, col );
+ count = strlen( line );
+
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+ return;
+ }
+
+ /*
+ * Rectangle is set up. Allow pointer tracking
+ * to detect if the mouse leaves the rectangle.
+ */
+ screen->loc_filter = TRUE;
+ MotionOn( screen, term );
+}
+
+void
+CheckLocatorPosition( Widget w, XEvent *event )
+{
+ TScreen *screen = &((XtermWidget)w)->screen;
+ Char line[20];
+ int pty = screen->respond;
+ int row, col;
+ Boolean oor;
+ int count = 0;
+ int state;
+
+ LocatorCoords( row, col, event->xbutton.x, event->xbutton.y, oor );
+
+ /*
+ * Send report if the pointer left the filter rectangle, if
+ * the pointer left the window, or if the filter rectangle
+ * had no coordinates and the pointer re-entered the window.
+ */
+ if (oor || (screen->loc_filter_top == LOC_FILTER_POS) ||
+ (col < screen->loc_filter_left) ||
+ (col > screen->loc_filter_right) ||
+ (row < screen->loc_filter_top) ||
+ (row > screen->loc_filter_bottom))
+ {
+ /* Filter triggered - disable it */
+ screen->loc_filter = FALSE;
+ MotionOff( screen, term );
+
+ /* Build key sequence starting with \E[ */
+ if (screen->control_eight_bits) {
+ line[count++] = CSI;
+ } else {
+ line[count++] = ESC;
+ line[count++] = '[';
+ }
+
+ if (oor) {
+ /* Event - 0 = locator unavailable */
+ line[count++] = '0';
+
+ /* Sequence termination */
+ line[count++] = '&';
+ line[count++] = 'w';
+ } else {
+ /* Event - 10 = locator outside filter */
+ line[count++] = '1';
+ line[count++] = '0';
+ line[count++] = ';';
+
+ ButtonState( state, event->xbutton.state );
+ sprintf( &(line[count]), "%d;%d;%d&w", state, row, col );
+ count = strlen( line );
+ }
+ /* Transmit key sequence to process running under xterm */
+ v_write(pty, line, count);
+
+ if( screen->locator_reset ) {
+ MotionOff( screen, term );
+ screen->send_mouse_pos = MOUSE_OFF;
+ }
+ }
+}
+#undef KeyModifiers
+#endif /* OPT_DEC_LOCATOR */
void
DiredButton(
Index: charproc.c
--- xterm-115+/charproc.c Sat Sep 18 12:40:04 1999
+++ xterm-116/charproc.c Sat Sep 25 10:28:07 1999
@@ -940,6 +940,13 @@
memcpy(new_string, area, used * sizeof(type)); \
}
+#define MotionOff( s, t ) \
+ if ((s)->event_mask & PointerMotionMask) { \
+ (s)->event_mask |= ButtonMotionMask; \
+ (s)->event_mask &= ~PointerMotionMask; \
+ XSelectInput(XtDisplay((t)), XtWindow((t)), (s)->event_mask); \
+ }
+
static void VTparse(void)
{
/* Buffer for processing printable text */
@@ -2104,10 +2111,92 @@
break;
case CASE_CSI_EX_STATE:
- /* esc exclamation */
+ /* csi exclamation */
parsestate = csi_ex_table;
break;
+#if OPT_DEC_LOCATOR
+ case CASE_CSI_TICK_STATE:
+ /* csi tick (') */
+ parsestate = csi_tick_table;
+ break;
+
+ case CASE_DECEFR:
+ /* DECEFR - Enable Filter Rectangle */
+ if (screen->send_mouse_pos == DEC_LOCATOR) {
+ MotionOff( screen, term );
+ if((screen->loc_filter_top = param[0]) < 1)
+ screen->loc_filter_top = LOC_FILTER_POS;
+ if(nparam < 2 || (screen->loc_filter_left = param[1]) < 1)
+ screen->loc_filter_left = LOC_FILTER_POS;
+ if(nparam < 3 || (screen->loc_filter_bottom = param[2]) < 1)
+ screen->loc_filter_bottom = LOC_FILTER_POS;
+ if(nparam < 4 || (screen->loc_filter_right = param[3]) < 1)
+ screen->loc_filter_right = LOC_FILTER_POS;
+ InitLocatorFilter( term );
+ }
+ parsestate = groundtable;
+ break;
+
+ case CASE_DECELR:
+ /* DECELR - Enable Locator Reports */
+ MotionOff( screen, term );
+ if (param[0] <= 0 || param[0] > 2) {
+ screen->send_mouse_pos = MOUSE_OFF;
+ } else {
+ screen->send_mouse_pos = DEC_LOCATOR;
+ if (param[0] == 2) {
+ screen->locator_reset = TRUE;
+ } else {
+ screen->locator_reset = FALSE;
+ }
+ if (nparam < 2 || param[1] != 1) {
+ screen->locator_pixels = FALSE;
+ } else {
+ screen->locator_pixels = TRUE;
+ }
+ screen->loc_filter = FALSE;
+ }
+ parsestate = groundtable;
+ break;
+
+ case CASE_DECSLE:
+ /* DECSLE - Select Locator Events */
+ for (count=0; count<nparam; ++count) {
+ switch (param[count]) {
+ case DEFAULT:
+ case 0:
+ MotionOff( screen, term );
+ screen->loc_filter = FALSE;
+ screen->locator_events = 0;
+ break;
+ case 1:
+ screen->locator_events |= LOC_BTNS_DN;
+ break;
+ case 2:
+ screen->locator_events &= ~LOC_BTNS_DN;
+ break;
+ case 3:
+ screen->locator_events |= LOC_BTNS_UP;
+ break;
+ case 4:
+ screen->locator_events &= ~LOC_BTNS_UP;
+ break;
+ }
+ }
+ parsestate = groundtable;
+ break;
+
+ case CASE_DECRQLP:
+ /* DECRQLP - Request Locator Position */
+ if( param[0] < 2 ) {
+ /* Issue DECLRP Locator Position Report */
+ GetLocatorPosition( term );
+ }
+ parsestate = groundtable;
+ break;
+#endif /* OPT_DEC_LOCATOR */
+
case CASE_S7C1T:
show_8bit_control(False);
parsestate = groundtable;
@@ -2881,6 +2970,7 @@
/* ignore autorepeat */
break;
case SET_X10_MOUSE: /* MIT bogus sequence */
+ MotionOff( screen, termw );
set_mousemode(X10_MOUSE);
break;
case 18: /* DECPFF: print form feed */
@@ -2986,13 +3076,16 @@
(*func)(&termw->keyboard.flags, MODE_DECBKM);
update_decbkm();
break;
- case SET_VT200_MOUSE: /* xterm bogus sequence */
+ case SET_VT200_MOUSE: /* xterm bogus sequence */
+ MotionOff( screen, termw );
set_mousemode(VT200_MOUSE);
break;
case SET_VT200_HIGHLIGHT_MOUSE: /* xterm sequence w/hilite tracking */
+ MotionOff( screen, termw );
set_mousemode(VT200_HIGHLIGHT_MOUSE);
break;
case SET_BTN_EVENT_MOUSE:
+ MotionOff( screen, termw );
set_mousemode(BTN_EVENT_MOUSE);
break;
case SET_ANY_EVENT_MOUSE:
Index: configure
--- xterm-115+/configure Fri Sep 17 06:57:26 1999
+++ xterm-116/configure Sat Sep 25 11:08:11 1999
@@ -219,13 +219,14 @@
--enable-toolbar compile-in toolbar for pulldown menus
--disable-vt52 disable VT52 emulation
--enable-wide-chars enable wide-character support
+ --enable-dec-locator enable DECterm Locator support
--disable-ziconbeep disable -ziconbeep option
--enable-trace test: set to enable debugging traces
- --disable-echo test: display "compiling" commands
+ --disable-echo display "compiling" commands
--enable-xmc-glitch test: enable xmc magic-cookie emulation
- --enable-warnings test: turn on GCC compiler warnings
EOF
cat <<EOF
+ --enable-warnings test: turn on GCC compiler warnings
EOF
exit 0 ;;
@@ -593,7 +594,7 @@
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:597: checking host system type" >&5
+echo "configure:598: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -644,7 +645,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:648: checking for $ac_word" >&5
+echo "configure:649: 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
@@ -674,7 +675,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:678: checking for $ac_word" >&5
+echo "configure:679: 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
@@ -725,7 +726,7 @@
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:729: checking for $ac_word" >&5
+echo "configure:730: 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
@@ -757,7 +758,7 @@
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:761: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:762: 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.
@@ -768,12 +769,12 @@
cat > conftest.$ac_ext << EOF
-#line 772 "configure"
+#line 773 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; 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
@@ -799,12 +800,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:803: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:804: 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:808: checking whether we are using GNU C" >&5
+echo "configure:809: 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
@@ -813,7 +814,7 @@
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:817: \"$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:818: \"$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
@@ -832,7 +833,7 @@
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:836: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:837: 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
@@ -864,7 +865,7 @@
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:868: checking how to run the C preprocessor" >&5
+echo "configure:869: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -879,13 +880,13 @@
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 883 "configure"
+#line 884 "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:889: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -896,13 +897,13 @@
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 900 "configure"
+#line 901 "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:906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:907: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -913,13 +914,13 @@
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 917 "configure"
+#line 918 "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:923: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:924: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -945,13 +946,13 @@
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:949: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:950: 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 955 "configure"
+#line 956 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -969,7 +970,7 @@
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 973 "configure"
+#line 974 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -1002,7 +1003,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:1006: checking for a BSD compatible install" >&5
+echo "configure:1007: 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
@@ -1057,9 +1058,9 @@
### checks for UNIX variants that set C preprocessor variables
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1061: checking for AIX" >&5
+echo "configure:1062: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 1063 "configure"
+#line 1064 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
@@ -1081,7 +1082,7 @@
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1085: checking for POSIXized ISC" >&5
+echo "configure:1086: 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
@@ -1103,17 +1104,17 @@
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1107: checking for minix/config.h" >&5
+echo "configure:1108: 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 1112 "configure"
+#line 1113 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1117: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1152,21 +1153,25 @@
### checks for header files
-for ac_hdr in stdlib.h termios.h unistd.h
+for ac_hdr in \
+stdlib.h \
+termios.h \
+unistd.h \
+
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1160: checking for $ac_hdr" >&5
+echo "configure:1165: 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 1165 "configure"
+#line 1170 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1175: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1196,13 +1201,13 @@
### checks for typedefs
echo $ac_n "checking for size_t in <sys/types.h> or <stdio.h>""... $ac_c" 1>&6
-echo "configure:1200: checking for size_t in <sys/types.h> or <stdio.h>" >&5
+echo "configure:1205: checking for size_t in <sys/types.h> or <stdio.h>" >&5
if eval "test \"`echo '$''{'cf_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1206 "configure"
+#line 1211 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -1215,7 +1220,7 @@
size_t x
; return 0; }
EOF
-if { (eval echo configure:1219: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_cv_type_size_t=yes
else
@@ -1235,12 +1240,12 @@
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1239: checking for ANSI C header files" >&5
+echo "configure:1244: 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 1244 "configure"
+#line 1249 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -1248,7 +1253,7 @@
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1252: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1265,7 +1270,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 1269 "configure"
+#line 1274 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -1283,7 +1288,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 1287 "configure"
+#line 1292 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -1304,7 +1309,7 @@
:
else
cat > conftest.$ac_ext <<EOF
-#line 1308 "configure"
+#line 1313 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1315,7 +1320,7 @@
exit (0); }
EOF
-if { (eval echo configure:1319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -1339,12 +1344,12 @@
fi
echo $ac_n "checking for time_t""... $ac_c" 1>&6
-echo "configure:1343: checking for time_t" >&5
+echo "configure:1348: 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 1348 "configure"
+#line 1353 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1382,12 +1387,12 @@
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1386: checking for $ac_func" >&5
+echo "configure:1391: 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 1391 "configure"
+#line 1396 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1410,7 +1415,7 @@
; return 0; }
EOF
-if { (eval echo configure:1414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -1436,12 +1441,12 @@
echo $ac_n "checking for memmove""... $ac_c" 1>&6
-echo "configure:1440: checking for memmove" >&5
+echo "configure:1445: checking for memmove" >&5
if eval "test \"`echo '$''{'ac_cv_func_memmove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1445 "configure"
+#line 1450 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char memmove(); below. */
@@ -1464,7 +1469,7 @@
; return 0; }
EOF
-if { (eval echo configure:1468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_memmove=yes"
else
@@ -1483,12 +1488,12 @@
echo "$ac_t""no" 1>&6
echo $ac_n "checking for bcopy""... $ac_c" 1>&6
-echo "configure:1487: checking for bcopy" >&5
+echo "configure:1492: checking for bcopy" >&5
if eval "test \"`echo '$''{'ac_cv_func_bcopy'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1492 "configure"
+#line 1497 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char bcopy(); below. */
@@ -1511,7 +1516,7 @@
; return 0; }
EOF
-if { (eval echo configure:1515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_bcopy=yes"
else
@@ -1527,7 +1532,7 @@
echo "$ac_t""yes" 1>&6
echo $ac_n "checking if bcopy does overlapping moves""... $ac_c" 1>&6
-echo "configure:1531: checking if bcopy does overlapping moves" >&5
+echo "configure:1536: 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
@@ -1536,7 +1541,7 @@
cf_cv_good_bcopy=unknown
else
cat > conftest.$ac_ext <<EOF
-#line 1540 "configure"
+#line 1545 "configure"
#include "confdefs.h"
int main() {
@@ -1549,7 +1554,7 @@
}
EOF
-if { (eval echo configure:1553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cf_cv_good_bcopy=yes
else
@@ -1587,7 +1592,7 @@
echo $ac_n "checking for full tgetent function""... $ac_c" 1>&6
-echo "configure:1591: checking for full tgetent function" >&5
+echo "configure:1596: checking for full tgetent function" >&5
if eval "test \"`echo '$''{'cf_cv_lib_tgetent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1602,7 +1607,7 @@
echo "cross-compiling, cannot verify if a termcap/tgetent is present in $cf_termlib" 1>&5
else
cat > conftest.$ac_ext <<EOF
-#line 1606 "configure"
+#line 1611 "configure"
#include "confdefs.h"
/* terminfo implementations ignore the buffer argument, making it useless for
@@ -1616,7 +1621,7 @@
tgetent(buffer, "vt100");
exit(buffer[0] == 0); }
EOF
-if { (eval echo configure:1620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
echo "yes, there is a termcap/tgetent in $cf_termlib" 1>&5
if test -n "$cf_termlib" ; then
@@ -1651,17 +1656,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1655: checking for $ac_hdr" >&5
+echo "configure:1660: 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 1660 "configure"
+#line 1665 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1670: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1694,7 +1699,7 @@
# validate values for the TERM environment variable given to
# child processes.
echo $ac_n "checking for partial tgetent function""... $ac_c" 1>&6
-echo "configure:1698: checking for partial tgetent function" >&5
+echo "configure:1703: checking for partial tgetent function" >&5
if eval "test \"`echo '$''{'cf_cv_lib_part_tgetent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1703,14 +1708,14 @@
for cf_termlib in $cf_TERMLIB ; do
LIBS="$cf_save_LIBS -l$cf_termlib"
cat > conftest.$ac_ext <<EOF
-#line 1707 "configure"
+#line 1712 "configure"
#include "confdefs.h"
int main() {
tgetent(0, 0)
; return 0; }
EOF
-if { (eval echo configure:1714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
echo "there is a terminfo/tgetent in $cf_termlib" 1>&5
cf_cv_lib_part_tgetent="-l$cf_termlib"
@@ -1733,17 +1738,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1737: checking for $ac_hdr" >&5
+echo "configure:1742: 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 1742 "configure"
+#line 1747 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1752: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1780,16 +1785,163 @@
fi
+echo $ac_n "checking for utmp implementation""... $ac_c" 1>&6
+echo "configure:1790: checking for utmp implementation" >&5
+if eval "test \"`echo '$''{'cf_cv_have_utmp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ cat > conftest.$ac_ext <<EOF
+#line 1796 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <utmp.h>
+int main() {
+struct utmp x
+; return 0; }
+EOF
+if { (eval echo configure:1805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_have_utmp=utmp
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cat > conftest.$ac_ext <<EOF
+#line 1813 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <utmpx.h>
+int main() {
+struct utmpx x
+; return 0; }
+EOF
+if { (eval echo configure:1822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_have_utmp=utmpx
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cf_cv_have_utmp=no
+fi
+rm -f conftest*
+
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$cf_cv_have_utmp" 1>&6
+
+if test $cf_cv_have_utmp != no ; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_UTMP 1
+EOF
+
+ test $cf_cv_have_utmp = utmpx && cat >> confdefs.h <<\EOF
+#define UTMPX_FOR_UTMP 1
+EOF
+
+
+
+echo $ac_n "checking if utmp.ut_host is declared""... $ac_c" 1>&6
+echo "configure:1852: checking if utmp.ut_host is declared" >&5
+if eval "test \"`echo '$''{'cf_cv_have_utmp_ut_host'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ cat > conftest.$ac_ext <<EOF
+#line 1858 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#ifdef UTMPX_FOR_UTMP
+#include <utmpx.h>
+#define utmp utmpx
+#else
+#include <utmp.h>
+#endif
+int main() {
+struct utmp x; char *y = &x.ut_host[0]
+; return 0; }
+EOF
+if { (eval echo configure:1872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_have_utmp_ut_host=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cf_cv_have_utmp_ut_host=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$cf_cv_have_utmp_ut_host" 1>&6
+test $cf_cv_have_utmp_ut_host != no && cat >> confdefs.h <<\EOF
+#define HAVE_UTMP_UT_HOST 1
+EOF
+
+
+
+
+echo $ac_n "checking if $cf_cv_have_utmp is SYSV flavor""... $ac_c" 1>&6
+echo "configure:1894: checking if $cf_cv_have_utmp is SYSV flavor" >&5
+if eval "test \"`echo '$''{'cf_cv_sysv_utmp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+cat > conftest.$ac_ext <<EOF
+#line 1900 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <${cf_cv_have_utmp}.h>
+int main() {
+
+struct $cf_cv_have_utmp x;
+ setutent ();
+ getutid(&x);
+ pututline(&x);
+ endutent();
+; return 0; }
+EOF
+if { (eval echo configure:1914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_cv_sysv_utmp=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ cf_cv_sysv_utmp=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$cf_cv_sysv_utmp" 1>&6
+test $cf_cv_sysv_utmp = yes && cat >> confdefs.h <<\EOF
+#define USE_SYSV_UTMP 1
+EOF
+
+
+fi
+
+
### checks for structures
echo $ac_n "checking for declaration of fd_set""... $ac_c" 1>&6
-echo "configure:1787: checking for declaration of fd_set" >&5
+echo "configure:1939: checking for declaration of fd_set" >&5
if eval "test \"`echo '$''{'cf_cv_type_fd_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1793 "configure"
+#line 1945 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -1797,7 +1949,7 @@
fd_set x
; return 0; }
EOF
-if { (eval echo configure:1801: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_cv_type_fd_set=sys/types.h
else
@@ -1805,7 +1957,7 @@
cat conftest.$ac_ext >&5
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 1809 "configure"
+#line 1961 "configure"
#include "confdefs.h"
#include <sys/types.h>
@@ -1814,7 +1966,7 @@
fd_set x
; return 0; }
EOF
-if { (eval echo configure:1818: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1970: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_cv_type_fd_set=sys/select.h
else
@@ -1838,14 +1990,14 @@
echo $ac_n "checking if POSIX VDISABLE symbol should be used""... $ac_c" 1>&6
-echo "configure:1842: checking if POSIX VDISABLE symbol should be used" >&5
+echo "configure:1994: checking if POSIX VDISABLE symbol should be used" >&5
if eval "test \"`echo '$''{'cf_cv_posix_vdisable'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
cat > conftest.$ac_ext <<EOF
-#line 1849 "configure"
+#line 2001 "configure"
#include "confdefs.h"
#if HAVE_TERMIOS_H && HAVE_TCGETATTR
@@ -1863,7 +2015,7 @@
#endif
; return 0; }
EOF
-if { (eval echo configure:1867: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_cv_posix_vdisable=yes
else
@@ -1875,7 +2027,7 @@
rm -f conftest*
else
cat > conftest.$ac_ext <<EOF
-#line 1879 "configure"
+#line 2031 "configure"
#include "confdefs.h"
#if HAVE_TERMIOS_H && HAVE_TCGETATTR
@@ -1888,7 +2040,7 @@
int main() { exit(_POSIX_VDISABLE == -1); }
#endif
EOF
-if { (eval echo configure:1892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
cf_cv_posix_vdisable=yes
else
@@ -1914,13 +2066,13 @@
echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
-echo "configure:1918: checking if external errno is declared" >&5
+echo "configure:2070: checking if external errno is declared" >&5
if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1924 "configure"
+#line 2076 "configure"
#include "confdefs.h"
#if HAVE_STDLIB_H
@@ -1933,7 +2085,7 @@
long x = (long) errno
; return 0; }
EOF
-if { (eval echo configure:1937: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval 'cf_cv_dcl_'errno'=yes'
else
@@ -1964,13 +2116,13 @@
# It's possible (for near-UNIX clones) that the data doesn't exist
echo $ac_n "checking if external errno exists""... $ac_c" 1>&6
-echo "configure:1968: checking if external errno exists" >&5
+echo "configure:2120: checking if external errno exists" >&5
if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1974 "configure"
+#line 2126 "configure"
#include "confdefs.h"
#undef errno
@@ -1980,7 +2132,7 @@
errno = 2
; return 0; }
EOF
-if { (eval echo configure:1984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval 'cf_cv_have_'errno'=yes'
else
@@ -2011,14 +2163,60 @@
+echo $ac_n "checking for tty group""... $ac_c" 1>&6
+echo "configure:2168: checking for tty group" >&5
+if eval "test \"`echo '$''{'cf_cv_tty_group'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+if test "$cross_compiling" = yes; then
+ cf_cv_tty_group=unknown
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2177 "configure"
+#include "confdefs.h"
+
+#include <sys/types.h>
+#include <grp.h>
+int main()
+{
+ struct group *ttygrp;
+ int code = (ttygrp = getgrnam("tty")) == 0;
+ endgrent();
+ exit(code);
+}
+
+EOF
+if { (eval echo configure:2191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ cf_cv_tty_group=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ cf_cv_tty_group=no
+fi
+rm -fr conftest*
+fi
+
+
+fi
+
+echo "$ac_t""$cf_cv_tty_group" 1>&6
+test $cf_cv_tty_group = yes && cat >> confdefs.h <<\EOF
+#define USE_TTY_GROUP 1
+EOF
+
+
+
### checks for compiler characteristics
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2017: checking for working const" >&5
+echo "configure:2215: 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 2022 "configure"
+#line 2220 "configure"
#include "confdefs.h"
int main() {
@@ -2067,7 +2265,7 @@
; return 0; }
EOF
-if { (eval echo configure:2071: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2269: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -2089,7 +2287,7 @@
echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:2093: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:2291: 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
@@ -2113,7 +2311,7 @@
do
CFLAGS="$cf_save_CFLAGS $cf_arg"
cat > conftest.$ac_ext <<EOF
-#line 2117 "configure"
+#line 2315 "configure"
#include "confdefs.h"
#ifndef CC_HAS_PROTOS
@@ -2129,7 +2327,7 @@
struct s2 {int (*f) (double a);};
; return 0; }
EOF
-if { (eval echo configure:2133: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_cv_ansi_cc="$cf_arg"; break
else
@@ -2159,12 +2357,12 @@
### checks for system services and user specified options
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:2163: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:2361: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2168 "configure"
+#line 2366 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -2180,7 +2378,7 @@
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:2184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -2206,7 +2404,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:2210: checking for X" >&5
+echo "configure:2408: checking for X" >&5
# Check whether --with-x or --without-x was given.
@@ -2269,12 +2467,12 @@
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 2273 "configure"
+#line 2471 "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:2278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2343,14 +2541,14 @@
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2347 "configure"
+#line 2545 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:2354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -2450,7 +2648,7 @@
# FIXME: modify the library lookup in autoconf to
# allow _s.a suffix ahead of .a
echo $ac_n "checking for open in -lc_s""... $ac_c" 1>&6
-echo "configure:2454: checking for open in -lc_s" >&5
+echo "configure:2652: checking for open in -lc_s" >&5
ac_lib_var=`echo c_s'_'open | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2458,7 +2656,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lc_s $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2462 "configure"
+#line 2660 "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
@@ -2469,7 +2667,7 @@
open()
; return 0; }
EOF
-if { (eval echo configure:2473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2486,7 +2684,7 @@
echo "$ac_t""yes" 1>&6
LIBS="-lc_s $LIBS"
echo $ac_n "checking for gethostname in -lbsd""... $ac_c" 1>&6
-echo "configure:2490: checking for gethostname in -lbsd" >&5
+echo "configure:2688: checking for gethostname in -lbsd" >&5
ac_lib_var=`echo bsd'_'gethostname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2494,7 +2692,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lbsd $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2498 "configure"
+#line 2696 "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
@@ -2505,7 +2703,7 @@
gethostname()
; return 0; }
EOF
-if { (eval echo configure:2509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2522,7 +2720,7 @@
echo "$ac_t""yes" 1>&6
LIBS="-lbsd $LIBS"
echo $ac_n "checking for gethostname in -lnsl_s""... $ac_c" 1>&6
-echo "configure:2526: checking for gethostname in -lnsl_s" >&5
+echo "configure:2724: checking for gethostname in -lnsl_s" >&5
ac_lib_var=`echo nsl_s'_'gethostname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2530,7 +2728,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lnsl_s $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2534 "configure"
+#line 2732 "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
@@ -2541,7 +2739,7 @@
gethostname()
; return 0; }
EOF
-if { (eval echo configure:2545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2558,7 +2756,7 @@
echo "$ac_t""yes" 1>&6
LIBS="-lnsl_s $LIBS"
echo $ac_n "checking for XOpenDisplay in -lX11_s""... $ac_c" 1>&6
-echo "configure:2562: checking for XOpenDisplay in -lX11_s" >&5
+echo "configure:2760: checking for XOpenDisplay in -lX11_s" >&5
ac_lib_var=`echo X11_s'_'XOpenDisplay | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2566,7 +2764,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lX11_s $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2570 "configure"
+#line 2768 "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
@@ -2577,7 +2775,7 @@
XOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:2581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2594,7 +2792,7 @@
echo "$ac_t""yes" 1>&6
LIBS="-lX11_s $LIBS"
echo $ac_n "checking for XtAppInitialize in -lXt_s""... $ac_c" 1>&6
-echo "configure:2598: checking for XtAppInitialize in -lXt_s" >&5
+echo "configure:2796: checking for XtAppInitialize in -lXt_s" >&5
ac_lib_var=`echo Xt_s'_'XtAppInitialize | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2602,7 +2800,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXt_s $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2606 "configure"
+#line 2804 "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
@@ -2613,7 +2811,7 @@
XtAppInitialize()
; return 0; }
EOF
-if { (eval echo configure:2617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2654,7 +2852,7 @@
;;
*)
echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2658: checking for socket in -lsocket" >&5
+echo "configure:2856: checking for socket in -lsocket" >&5
ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2662,7 +2860,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2666 "configure"
+#line 2864 "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
@@ -2673,7 +2871,7 @@
socket()
; return 0; }
EOF
-if { (eval echo configure:2677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2701,7 +2899,7 @@
fi
echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:2705: checking for gethostname in -lnsl" >&5
+echo "configure:2903: checking for gethostname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2709,7 +2907,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2713 "configure"
+#line 2911 "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
@@ -2720,7 +2918,7 @@
gethostname()
; return 0; }
EOF
-if { (eval echo configure:2724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2771,17 +2969,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:2775: checking whether -R must be followed by a space" >&5
+echo "configure:2973: 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 2778 "configure"
+#line 2976 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
@@ -2797,14 +2995,14 @@
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 2801 "configure"
+#line 2999 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
@@ -2836,7 +3034,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:2840: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:3038: 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
@@ -2844,7 +3042,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2848 "configure"
+#line 3046 "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
@@ -2855,7 +3053,7 @@
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:2859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2877,7 +3075,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:2881: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:3079: 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
@@ -2885,7 +3083,7 @@
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2889 "configure"
+#line 3087 "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
@@ -2896,7 +3094,7 @@
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:2900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2925,12 +3123,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:2929: checking for gethostbyname" >&5
+echo "configure:3127: 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 2934 "configure"
+#line 3132 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@@ -2953,7 +3151,7 @@
; return 0; }
EOF
-if { (eval echo configure:2957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@@ -2974,7 +3172,7 @@
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2978: checking for gethostbyname in -lnsl" >&5
+echo "configure:3176: 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
@@ -2982,7 +3180,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2986 "configure"
+#line 3184 "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
@@ -2993,7 +3191,7 @@
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:2997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3023,12 +3221,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:3027: checking for connect" >&5
+echo "configure:3225: 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 3032 "configure"
+#line 3230 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@@ -3051,7 +3249,7 @@
; return 0; }
EOF
-if { (eval echo configure:3055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@@ -3072,7 +3270,7 @@
if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:3076: checking for connect in -lsocket" >&5
+echo "configure:3274: 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
@@ -3080,7 +3278,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3084 "configure"
+#line 3282 "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
@@ -3091,7 +3289,7 @@
connect()
; return 0; }
EOF
-if { (eval echo configure:3095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3115,12 +3313,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:3119: checking for remove" >&5
+echo "configure:3317: 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 3124 "configure"
+#line 3322 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
@@ -3143,7 +3341,7 @@
; return 0; }
EOF
-if { (eval echo configure:3147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
@@ -3164,7 +3362,7 @@
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:3168: checking for remove in -lposix" >&5
+echo "configure:3366: 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
@@ -3172,7 +3370,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3176 "configure"
+#line 3374 "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
@@ -3183,7 +3381,7 @@
remove()
; return 0; }
EOF
-if { (eval echo configure:3187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3207,12 +3405,12 @@
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:3211: checking for shmat" >&5
+echo "configure:3409: 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 3216 "configure"
+#line 3414 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
@@ -3235,7 +3433,7 @@
; return 0; }
EOF
-if { (eval echo configure:3239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
@@ -3256,7 +3454,7 @@
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:3260: checking for shmat in -lipc" >&5
+echo "configure:3458: 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
@@ -3264,7 +3462,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3268 "configure"
+#line 3466 "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
@@ -3275,7 +3473,7 @@
shmat()
; return 0; }
EOF
-if { (eval echo configure:3279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3308,7 +3506,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:3312: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:3510: 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
@@ -3316,7 +3514,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3320 "configure"
+#line 3518 "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
@@ -3327,7 +3525,7 @@
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:3331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3354,7 +3552,7 @@
LDFLAGS="$LDFLAGS $X_LIBS"
CFLAGS="$CFLAGS $X_CFLAGS"
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:3358: checking for XOpenDisplay in -lX11" >&5
+echo "configure:3556: 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
@@ -3362,7 +3560,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lX11 $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3366 "configure"
+#line 3564 "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
@@ -3373,7 +3571,7 @@
XOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:3377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3394,7 +3592,7 @@
fi
echo $ac_n "checking for XtAppInitialize in -lXt""... $ac_c" 1>&6
-echo "configure:3398: checking for XtAppInitialize in -lXt" >&5
+echo "configure:3596: 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
@@ -3402,7 +3600,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3406 "configure"
+#line 3604 "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
@@ -3413,7 +3611,7 @@
XtAppInitialize()
; return 0; }
EOF
-if { (eval echo configure:3417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3469,17 +3667,17 @@
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3473: checking for $ac_hdr" >&5
+echo "configure:3671: 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 3478 "configure"
+#line 3676 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3483: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3681: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -3527,7 +3725,7 @@
echo $ac_n "checking for XextCreateExtension in -lXext""... $ac_c" 1>&6
-echo "configure:3531: checking for XextCreateExtension in -lXext" >&5
+echo "configure:3729: 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
@@ -3535,7 +3733,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lXext $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3539 "configure"
+#line 3737 "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
@@ -3546,7 +3744,7 @@
XextCreateExtension()
; return 0; }
EOF
-if { (eval echo configure:3550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3582,13 +3780,13 @@
if test $cf_path != default ; then
CFLAGS="-I$cf_path/include $cf_save"
echo $ac_n "checking for $cf_test in $cf_path""... $ac_c" 1>&6
-echo "configure:3586: checking for $cf_test in $cf_path" >&5
+echo "configure:3784: checking for $cf_test in $cf_path" >&5
else
echo $ac_n "checking for $cf_test""... $ac_c" 1>&6
-echo "configure:3589: checking for $cf_test" >&5
+echo "configure:3787: checking for $cf_test" >&5
fi
cat > conftest.$ac_ext <<EOF
-#line 3592 "configure"
+#line 3790 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
@@ -3597,7 +3795,7 @@
; return 0; }
EOF
-if { (eval echo configure:3601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cf_result=yes
else
@@ -3623,21 +3821,21 @@
if test $cf_path != default ; then
LIBS="-L$cf_path/lib $cf_lib $LIBS"
echo $ac_n "checking for $cf_lib in $cf_path""... $ac_c" 1>&6
-echo "configure:3627: checking for $cf_lib in $cf_path" >&5
+echo "configure:3825: checking for $cf_lib in $cf_path" >&5
else
LIBS="$cf_lib $LIBS"
echo $ac_n "checking for $cf_test in $cf_lib""... $ac_c" 1>&6
-echo "configure:3631: checking for $cf_test in $cf_lib" >&5
+echo "configure:3829: checking for $cf_test in $cf_lib" >&5
fi
cat > conftest.$ac_ext <<EOF
-#line 3634 "configure"
+#line 3832 "configure"
#include "confdefs.h"
int main() {
$cf_test()
; return 0; }
EOF
-if { (eval echo configure:3641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
cf_result=yes
else
@@ -3683,12 +3881,12 @@
for ac_func in grantpt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3687: checking for $ac_func" >&5
+echo "configure:3885: 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 3692 "configure"
+#line 3890 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3711,7 +3909,7 @@
; return 0; }
EOF
-if { (eval echo configure:3715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3733,7 +3931,7 @@
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6
-echo "configure:3737: checking for openpty in -lutil" >&5
+echo "configure:3935: checking for openpty in -lutil" >&5
ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3741,7 +3939,7 @@
ac_save_LIBS="$LIBS"
LIBS="-lutil $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3745 "configure"
+#line 3943 "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
@@ -3752,7 +3950,7 @@
openpty()
; return 0; }
EOF
-if { (eval echo configure:3756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3787,7 +3985,7 @@
# Extract the first word of "xterm", so it can be a program name with args.
set dummy xterm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3791: checking for $ac_word" >&5
+echo "configure:3989: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XTERM_PATH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3823,22 +4021,60 @@
XTERM_USR=
XTERM_GRP=
echo $ac_n "checking for presumed installation-mode""... $ac_c" 1>&6
-echo "configure:3827: checking for presumed installation-mode" >&5
+echo "configure:4025: checking for presumed installation-mode" >&5
if test -f "$XTERM_PATH" ; then
- ls -Llg $XTERM_PATH >conftest.out
- read cf_mode cf_links XTERM_USR XTERM_GRP cf_rest <conftest.out
+ cf_option="-l -L"
+
+ # Expect listing to have fields like this:
+ #-r--r--r-- 1 user group 34293 Jul 18 16:29 pathname
+ ls $cf_option $XTERM_PATH >conftest.out
+ read cf_mode cf_links cf_usr cf_grp cf_size cf_date1 cf_date2 cf_date3 cf_rest <conftest.out
+ echo "if \"$cf_rest\" is null, try the -g option" 1>&5
+ if test -z "$cf_rest" ; then
+ cf_option="$cf_option -g"
+ ls $cf_option $XTERM_PATH >conftest.out
+ read cf_mode cf_links cf_usr cf_grp cf_size cf_date1 cf_date2 cf_date3 cf_rest <conftest.out
+ fi
+
+ # If we have a pathname, and the date fields look right, assume we've
+ # captured the group as well.
+ echo "if \"$cf_rest\" is null, we do not look for group" 1>&5
+ if test -n "$cf_rest" ; then
+ cf_test=`echo "${cf_date2}${cf_date3}" | sed -e 's/[0-9:]//g'`
+ echo "if we have date in proper columns ($cf_date1 $cf_date2 $cf_date3), \"$cf_test\" is null" 1>&5
+ if test -z "$cf_test" ; then
+ XTERM_USR=$cf_usr;
+ XTERM_GRP=$cf_grp;
+ fi
+ fi
+ echo "derived user \"$XTERM_USR\", group \"$XTERM_GRP\" of previously-installed xterm" 1>&5
+
+ echo "see if mode \"$cf_mode\" has s-bit set" 1>&5
case ".$cf_mode" in #(vi
.???s*) #(vi
XTERM_MODE=4711
+ XTERM_GRP=
;;
.??????s*)
XTERM_MODE=2711
+ XTERM_USR=
;;
esac
fi
-test "$XTERM_USR" = "root" && XTERM_USR=""
-test "$XTERM_GRP" = "root" && XTERM_GRP=""
+
+if test -n "${XTERM_USR}${XTERM_GRP}" ; then
+ cf_usr=`id | sed -e 's/^[^(]*(//' -e 's/).*$//'`
+ cf_grp=`id | sed -e 's/^.* gid=[^(]*(//' -e 's/).*$//'`
+ echo "configuring as user \"$cf_usr\", group \"$cf_grp\" of previously-installed xterm" 1>&5
+ test "$XTERM_USR" = "$cf_usr" && XTERM_USR=""
+ test "$XTERM_USR" = "root" && XTERM_USR=""
+ test "$XTERM_GRP" = "$cf_grp" && XTERM_GRP=""
+ test "$XTERM_GRP" = "root" && XTERM_GRP=""
+ test "$XTERM_GRP" = "wheel" && XTERM_GRP=""
+fi
+
echo "$ac_t""$XTERM_MODE $XTERM_USR $XTERM_GRP" 1>&6
+
test -n "$XTERM_USR" && XTERM_USR="-o $XTERM_USR"
test -n "$XTERM_GRP" && XTERM_GRP="-g $XTERM_GRP"
@@ -3846,17 +4082,18 @@
+
for ac_func in \
XkbStdBell \
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3855: checking for $ac_func" >&5
+echo "configure:4092: 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 3860 "configure"
+#line 4097 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3879,7 +4116,7 @@
; return 0; }
EOF
-if { (eval echo configure:3883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3905,7 +4142,7 @@
echo $ac_n "checking if we should use imake to help""... $ac_c" 1>&6
-echo "configure:3909: checking if we should use imake to help" >&5
+echo "configure:4146: 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
@@ -3930,7 +4167,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:3934: checking for $ac_word" >&5
+echo "configure:4171: 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
@@ -4069,7 +4306,7 @@
echo $ac_n "checking for default terminal-id""... $ac_c" 1>&6
-echo "configure:4073: checking for default terminal-id" >&5
+echo "configure:4310: 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
@@ -4090,7 +4327,7 @@
echo $ac_n "checking for default terminal-type""... $ac_c" 1>&6
-echo "configure:4094: checking for default terminal-type" >&5
+echo "configure:4331: checking for default terminal-type" >&5
# Check whether --with-terminal-type or --without-terminal-type was given.
if test "${with_terminal_type+set}" = set; then
@@ -4107,7 +4344,7 @@
echo $ac_n "checking for private terminfo-directory""... $ac_c" 1>&6
-echo "configure:4111: checking for private terminfo-directory" >&5
+echo "configure:4348: checking for private terminfo-directory" >&5
# Check whether --with-own-terminfo or --without-own-terminfo was given.
if test "${with_own_terminfo+set}" = set; then
@@ -4144,7 +4381,7 @@
### checks for optional features
echo $ac_n "checking if you want active-icons""... $ac_c" 1>&6
-echo "configure:4148: checking if you want active-icons" >&5
+echo "configure:4385: checking if you want active-icons" >&5
# Check whether --enable-active-icon or --disable-active-icon was given.
if test "${enable_active_icon+set}" = set; then
@@ -4170,7 +4407,7 @@
fi
echo $ac_n "checking if you want ANSI color""... $ac_c" 1>&6
-echo "configure:4174: checking if you want ANSI color" >&5
+echo "configure:4411: 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
@@ -4196,7 +4433,7 @@
if test $enable_ansi_color = yes ; then
echo $ac_n "checking if you want 16 colors like aixterm""... $ac_c" 1>&6
-echo "configure:4200: checking if you want 16 colors like aixterm" >&5
+echo "configure:4437: 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
@@ -4220,7 +4457,7 @@
echo $ac_n "checking if you want 256 colors""... $ac_c" 1>&6
-echo "configure:4224: checking if you want 256 colors" >&5
+echo "configure:4461: checking if you want 256 colors" >&5
# Check whether --enable-256-color or --disable-256-color was given.
if test "${enable_256_color+set}" = set; then
@@ -4247,7 +4484,7 @@
else
echo $ac_n "checking if you want 88 colors""... $ac_c" 1>&6
-echo "configure:4251: checking if you want 88 colors" >&5
+echo "configure:4488: checking if you want 88 colors" >&5
# Check whether --enable-88-color or --disable-88-color was given.
if test "${enable_88_color+set}" = set; then
@@ -4278,7 +4515,7 @@
fi
echo $ac_n "checking if you want blinking cursor""... $ac_c" 1>&6
-echo "configure:4282: checking if you want blinking cursor" >&5
+echo "configure:4519: checking if you want blinking cursor" >&5
# Check whether --enable-blink-cursor or --disable-blink-cursor was given.
if test "${enable_blink_cursor+set}" = set; then
@@ -4304,7 +4541,7 @@
if test $enable_ansi_color = yes ; then
echo $ac_n "checking if you want bold colors mapped like IBM PC""... $ac_c" 1>&6
-echo "configure:4308: checking if you want bold colors mapped like IBM PC" >&5
+echo "configure:4545: checking if you want bold colors mapped like IBM PC" >&5
# Check whether --enable-bold-color or --disable-bold-color was given.
if test "${enable_bold_color+set}" = set; then
@@ -4328,7 +4565,7 @@
echo $ac_n "checking if you want color-mode enabled by default""... $ac_c" 1>&6
-echo "configure:4332: checking if you want color-mode enabled by default" >&5
+echo "configure:4569: checking if you want color-mode enabled by default" >&5
# Check whether --enable-color-mode or --disable-color-mode was given.
if test "${enable_color_mode+set}" = set; then
@@ -4354,7 +4591,7 @@
fi
echo $ac_n "checking if you want support for color highlighting""... $ac_c" 1>&6
-echo "configure:4358: checking if you want support for color highlighting" >&5
+echo "configure:4595: checking if you want support for color highlighting" >&5
# Check whether --enable-highlighting or --disable-highlighting was given.
if test "${enable_highlighting+set}" = set; then
@@ -4378,7 +4615,7 @@
echo $ac_n "checking if you want support for doublesize characters""... $ac_c" 1>&6
-echo "configure:4382: checking if you want support for doublesize characters" >&5
+echo "configure:4619: checking if you want support for doublesize characters" >&5
# Check whether --enable-doublechars or --disable-doublechars was given.
if test "${enable_doublechars+set}" = set; then
@@ -4402,7 +4639,7 @@
echo $ac_n "checking if you want fallback-support for box characters""... $ac_c" 1>&6
-echo "configure:4406: checking if you want fallback-support for box characters" >&5
+echo "configure:4643: checking if you want fallback-support for box characters" >&5
# Check whether --enable-boxchars or --disable-boxchars was given.
if test "${enable_boxchars+set}" = set; then
@@ -4426,7 +4663,7 @@
echo $ac_n "checking if you want support for HP-style function keys""... $ac_c" 1>&6
-echo "configure:4430: checking if you want support for HP-style function keys" >&5
+echo "configure:4667: checking if you want support for HP-style function keys" >&5
# Check whether --enable-hp-fkeys or --disable-hp-fkeys was given.
if test "${enable_hp_fkeys+set}" = set; then
@@ -4452,7 +4689,7 @@
fi
echo $ac_n "checking if you want support for internationalization""... $ac_c" 1>&6
-echo "configure:4456: checking if you want support for internationalization" >&5
+echo "configure:4693: checking if you want support for internationalization" >&5
# Check whether --enable-i18n or --disable-i18n was given.
if test "${enable_i18n+set}" = set; then
@@ -4478,7 +4715,7 @@
fi
echo $ac_n "checking if you want support for initial-erase setup""... $ac_c" 1>&6
-echo "configure:4482: checking if you want support for initial-erase setup" >&5
+echo "configure:4719: checking if you want support for initial-erase setup" >&5
# Check whether --enable-initial-erase or --disable-initial-erase was given.
if test "${enable_initial_erase+set}" = set; then
@@ -4504,7 +4741,7 @@
fi
echo $ac_n "checking if you want support for input-method""... $ac_c" 1>&6
-echo "configure:4508: checking if you want support for input-method" >&5
+echo "configure:4745: checking if you want support for input-method" >&5
# Check whether --enable-input-method or --disable-input-method was given.
if test "${enable_input_method+set}" = set; then
@@ -4524,13 +4761,13 @@
echo "$ac_t""$enable_ximp" 1>&6
echo $ac_n "checking if X libraries support input-method""... $ac_c" 1>&6
-echo "configure:4528: checking if X libraries support input-method" >&5
+echo "configure:4765: checking if X libraries support input-method" >&5
if eval "test \"`echo '$''{'cf_cv_input_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4534 "configure"
+#line 4771 "configure"
#include "confdefs.h"
#include <X11/IntrinsicP.h>
@@ -4557,7 +4794,7 @@
; return 0; }
EOF
-if { (eval echo configure:4561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
cf_cv_input_method=yes
else
@@ -4580,7 +4817,7 @@
fi
echo $ac_n "checking if you want support for logging""... $ac_c" 1>&6
-echo "configure:4584: checking if you want support for logging" >&5
+echo "configure:4821: checking if you want support for logging" >&5
# Check whether --enable-logging or --disable-logging was given.
if test "${enable_logging+set}" = set; then
@@ -4604,7 +4841,7 @@
EOF
echo $ac_n "checking if you want to allow logging via a pipe""... $ac_c" 1>&6
-echo "configure:4608: checking if you want to allow logging via a pipe" >&5
+echo "configure:4845: checking if you want to allow logging via a pipe" >&5
# Check whether --enable-logfile-exec or --disable-logfile-exec was given.
if test "${enable_logfile_exec+set}" = set; then
@@ -4631,7 +4868,7 @@
fi
echo $ac_n "checking if you want support for iconify/maximize translations""... $ac_c" 1>&6
-echo "configure:4635: checking if you want support for iconify/maximize translations" >&5
+echo "configure:4872: checking if you want support for iconify/maximize translations" >&5
# Check whether --enable-maximize or --disable-maximize was given.
if test "${enable_maximize+set}" = set; then
@@ -4655,7 +4892,7 @@
echo $ac_n "checking if you want NumLock to override keyboard tables""... $ac_c" 1>&6
-echo "configure:4659: checking if you want NumLock to override keyboard tables" >&5
+echo "configure:4896: checking if you want NumLock to override keyboard tables" >&5
# Check whether --enable-num-lock or --disable-num-lock was given.
if test "${enable_num_lock+set}" = set; then
@@ -4679,7 +4916,7 @@
echo $ac_n "checking if you want support for right-scrollbar""... $ac_c" 1>&6
-echo "configure:4683: checking if you want support for right-scrollbar" >&5
+echo "configure:4920: checking if you want support for right-scrollbar" >&5
# Check whether --enable-rightbar or --disable-rightbar was given.
if test "${enable_rightbar+set}" = set; then
@@ -4705,7 +4942,7 @@
fi
echo $ac_n "checking if you want check for redundant name-change""... $ac_c" 1>&6
-echo "configure:4709: checking if you want check for redundant name-change" >&5
+echo "configure:4946: checking if you want check for redundant name-change" >&5
# Check whether --enable-samename or --disable-samename was given.
if test "${enable_samename+set}" = set; then
@@ -4729,7 +4966,7 @@
echo $ac_n "checking if you want support for tek4014""... $ac_c" 1>&6
-echo "configure:4733: checking if you want support for tek4014" >&5
+echo "configure:4970: checking if you want support for tek4014" >&5
# Check whether --enable-tek4014 or --disable-tek4014 was given.
if test "${enable_tek4014+set}" = set; then
@@ -4759,7 +4996,7 @@
fi
echo $ac_n "checking if you want pulldown menus with a toolbar""... $ac_c" 1>&6
-echo "configure:4763: checking if you want pulldown menus with a toolbar" >&5
+echo "configure:5000: checking if you want pulldown menus with a toolbar" >&5
# Check whether --enable-toolbar or --disable-toolbar was given.
if test "${enable_toolbar+set}" = set; then
@@ -4783,7 +5020,7 @@
echo $ac_n "checking if you want VT52 emulation""... $ac_c" 1>&6
-echo "configure:4787: checking if you want VT52 emulation" >&5
+echo "configure:5024: checking if you want VT52 emulation" >&5
# Check whether --enable-vt52 or --disable-vt52 was given.
if test "${enable_vt52+set}" = set; then
@@ -4807,7 +5044,7 @@
echo $ac_n "checking if you want wide-character support""... $ac_c" 1>&6
-echo "configure:4811: checking if you want wide-character support" >&5
+echo "configure:5048: checking if you want wide-character support" >&5
# Check whether --enable-wide-chars or --disable-wide-chars was given.
if test "${enable_wide_chars+set}" = set; then
@@ -4835,8 +5072,34 @@
EXTRAOBJS="$EXTRAOBJS keysym2ucs.o"
fi
+echo $ac_n "checking if you want DECterm Locator support""... $ac_c" 1>&6
+echo "configure:5077: checking if you want DECterm Locator support" >&5
+
+# Check whether --enable-dec-locator or --disable-dec-locator was given.
+if test "${enable_dec_locator+set}" = set; then
+ enableval="$enable_dec_locator"
+ test "$enableval" != yes && enableval=no
+ if test "$enableval" != "no" ; then
+ enable_dec_locator=yes
+ else
+ enable_dec_locator=no
+ fi
+else
+ enableval=no
+ enable_dec_locator=no
+
+fi
+
+echo "$ac_t""$enable_dec_locator" 1>&6
+if test $enable_dec_locator = yes ; then
+ cat >> confdefs.h <<\EOF
+#define OPT_DEC_LOCATOR 1
+EOF
+
+fi
+
echo $ac_n "checking if you want -ziconbeep option""... $ac_c" 1>&6
-echo "configure:4840: checking if you want -ziconbeep option" >&5
+echo "configure:5103: checking if you want -ziconbeep option" >&5
# Check whether --enable-ziconbeep or --disable-ziconbeep was given.
if test "${enable_ziconbeep+set}" = set; then
@@ -4861,7 +5124,7 @@
# development/testing aids
echo $ac_n "checking if you want debugging traces""... $ac_c" 1>&6
-echo "configure:4865: checking if you want debugging traces" >&5
+echo "configure:5128: checking if you want debugging traces" >&5
# Check whether --enable-trace or --disable-trace was given.
if test "${enable_trace+set}" = set; then
@@ -4890,7 +5153,7 @@
echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:4894: checking if you want to see long compiling messages" >&5
+echo "configure:5157: checking if you want to see long compiling messages" >&5
# Check whether --enable-echo or --disable-echo was given.
if test "${enable_echo+set}" = set; then
@@ -4930,7 +5193,7 @@
echo $ac_n "checking if you want magic cookie emulation""... $ac_c" 1>&6
-echo "configure:4934: checking if you want magic cookie emulation" >&5
+echo "configure:5197: 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
@@ -4959,7 +5222,7 @@
if test -n "$GCC" ; then
echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:4963: checking if you want to turn on gcc warnings" >&5
+echo "configure:5226: 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
@@ -4999,9 +5262,9 @@
if test -n "$GCC"
then
echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:5003: checking for gcc __attribute__ directives" >&5
+echo "configure:5266: checking for gcc __attribute__ directives" >&5
cat > conftest.$ac_ext <<EOF
-#line 5005 "configure"
+#line 5268 "configure"
#include "confdefs.h"
#include "conftest.h"
#include "conftest.i"
@@ -5039,7 +5302,7 @@
EOF
;;
esac
- if { (eval echo configure:5043: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:5306: \"$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
@@ -5056,11 +5319,11 @@
if test -n "$GCC"
then
cat > conftest.$ac_ext <<EOF
-#line 5060 "configure"
+#line 5323 "configure"
int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
EOF
echo "checking for gcc warning options" 1>&6
-echo "configure:5064: checking for gcc warning options" >&5
+echo "configure:5327: checking for gcc warning options" >&5
cf_save_CFLAGS="$CFLAGS"
EXTRA_CFLAGS="-W -Wall"
cf_warn_CONST=""
@@ -5078,7 +5341,7 @@
Wstrict-prototypes $cf_warn_CONST
do
CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
- if { (eval echo configure:5082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:5345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
Index: configure.in
--- xterm-115+/configure.in Fri Sep 17 06:25:56 1999
+++ xterm-116/configure.in Sat Sep 25 11:07:49 1999
@@ -44,7 +44,11 @@
AC_MINIX
### checks for header files
-AC_CHECK_HEADERS(stdlib.h termios.h unistd.h)
+AC_CHECK_HEADERS( \
+stdlib.h \
+termios.h \
+unistd.h \
+)
### checks for typedefs
CF_SIZE_T
@@ -60,6 +64,7 @@
)
CF_FUNC_MEMMOVE
CF_FUNC_TGETENT
+CF_UTMP
### checks for structures
CF_TYPE_FD_SET
@@ -67,6 +72,7 @@
### checks for external data
CF_ERRNO
+CF_TTY_GROUP
### checks for compiler characteristics
AC_CONST
@@ -412,6 +418,16 @@
EXTRAHDRS="$EXTRAHDRS keysym2ucs.h"
EXTRASRCS="$EXTRASRCS keysym2ucs.c"
EXTRAOBJS="$EXTRAOBJS keysym2ucs.o"
+fi
+
+AC_MSG_CHECKING(if you want DECterm Locator support)
+CF_ARG_ENABLE(dec-locator,
+ [ --enable-dec-locator enable DECterm Locator support],
+ [enable_dec_locator=yes],
+ [enable_dec_locator=no])
+AC_MSG_RESULT($enable_dec_locator)
+if test $enable_dec_locator = yes ; then
+ AC_DEFINE(OPT_DEC_LOCATOR,1)
fi
AC_MSG_CHECKING(if you want -ziconbeep option)
Index: ctlseqs.ms
--- xterm-115+/ctlseqs.ms Fri Sep 17 06:04:56 1999
+++ xterm-116/ctlseqs.ms Sat Sep 25 12:50:47 1999
@@ -200,6 +200,7 @@
.[] [[ [
.[] ]] ]
.[] bS \\e
+.[] { {
.[] ] ]
.[] ^ ^
.[] _ _
@@ -228,6 +229,7 @@
.[] w w
.[] x x
.[] y y
+.[] z z
.[] | |
.[] } }
.[] ! !
@@ -238,11 +240,15 @@
.ds Cb \fIC\v'.3m'\h'-.2m'\s-2b\s0\v'-.3m'\fP
.ds Cx \fIC\v'.3m'\h'-.2m'\s-2x\s0\v'-.3m'\fP
.ds Cy \fIC\v'.3m'\h'-.2m'\s-2y\s0\v'-.3m'\fP
+.ds Pb \fIP\v'.3m'\h'-.2m'\s-2b\s0\v'-.3m'\fP
.ds Pc \fIP\v'.3m'\h'-.2m'\s-2c\s0\v'-.3m'\fP
+.ds Pl \fIP\v'.3m'\h'-.2m'\s-2l\s0\v'-.3m'\fP
.ds Pm \fIP\v'.3m'\h'-.2m'\s-2m\s0\v'-.3m'\fP
.ds Pp \fIP\v'.3m'\h'-.2m'\s-2p\s0\v'-.3m'\fP
+.ds Pr \fIP\v'.3m'\h'-.2m'\s-2r\s0\v'-.3m'\fP
.ds Ps \fIP\v'.3m'\h'-.2m'\s-2s\s0\v'-.3m'\fP
.ds Pt \fIP\v'.3m'\h'-.2m'\s-2t\s0\v'-.3m'\fP
+.ds Pu \fIP\v'.3m'\h'-.2m'\s-2u\s0\v'-.3m'\fP
.ds Pv \fIP\v'.3m'\h'-.2m'\s-2v\s0\v'-.3m'\fP
.ds Ix \fIx\fP
.ds Iy \fIy\fP
@@ -351,7 +357,9 @@
.
.St
.\"
-.\" Single-character functions
+.LP
+.B
+Single-character functions
.\"
.IP \\*(Be
Bell (Ctrl-G)
@@ -389,10 +397,14 @@
.IP \\*(Si
Shift In (Ctrl-O) \(-> Switch to Standard Character Set: invokes the
G0 character set (the default).
-.sp
+.Ed
.\"
-.\" Controls beginning with ESC (other than those where ESC is part of a 7-bit
-.\" equivalent to 8-bit C1 controls), ordered by the final character(s).
+.\"
+.\"
+.St
+.LP
+.B
+Controls beginning with ESC (other than those where ESC is part of a 7-bit equivalent to 8-bit C1 controls), ordered by the final character(s).
.\"
.IP \\*(Es\\*(Sp\\*F
7-bit controls (S7C1T).
@@ -496,16 +508,21 @@
.
.IP \\*(Es\\*(c~
Invoke the G1 Character Set as GR (LS1R). Has no visible effect in \fIxterm\fP.
+.Ed
.
-.sp
+.St
+.LP
+.B
+Application Program-Control functions
.IP \\*(AP\\*(Pt\\*s\\*(ST
\fIxterm\fP implements no APC functions; \*(Pt is ignored.
\*(Pt need not be printable characters.
+.Ed
.
-.sp
-.\"
-.\" Device-Control functions
-.\"
+.St
+.LP
+.B
+Device-Control functions
.IP \\*(Dc\\*(Ps\\*;\\*(Ps\\*|\\*(Pt\\*s\\*(ST
User-Defined Keys (DECUDK).
The first parameter:
@@ -535,14 +552,56 @@
or
\*(Dc\*0\*$\*r\*(Pt\*s\*(ST
for invalid requests.
-.
-.sp
-.\"
-.\" Functions using CSI, ordered by the final character(s)
+.Ed
.\"
+.St
+.LP
+.B
+Functions using CSI, ordered by the final character(s)
.IP \\*(Cs\\*(Ps\\*s\\*@
Insert \*(Ps (Blank) Character(s) (default = 1) (ICH)
.
+.IP \\*(Cs\\*(Ps\\*s\\*'\\*s\\*|
+Request Locator Position (DECRQLP)
+.br
+Valid values for the parameter are:
+ \*(Ps = \*0, 1 or omitted \(-> transmit a single DECLRP locator report
+.sp
+If Locator Reporting has been enabled by a DECELR, xterm will respond
+with a DECLRP Locator Report. This report is also generated on button
+up and down events if they have been enabled with a DECSLE, or when
+the locator is detected outside of a filter rectangle, if filter rectangles
+have been enabled with a DECEFR.
+.sp
+ \(-> \*(Cs\*(Ps\*s\*;\*(Ps\*s\*;\*(Ps\*s\*;\*(Ps\*s\*;\*(Ps\*s\\&\*s\*w
+.sp
+Parameters are [event;button;row;column;page].
+.br
+Valid values for the event:
+ \*(Ps = \*0 \(-> locator unavailable - no other parameters sent
+ \*(Ps = \*1 \(-> request - xterm received a DECRQLP
+ \*(Ps = \*2 \(-> left button down
+ \*(Ps = \*3 \(-> left button up
+ \*(Ps = \*4 \(-> middle button down
+ \*(Ps = \*5 \(-> middle button up
+ \*(Ps = \*6 \(-> right button down
+ \*(Ps = \*7 \(-> right button up
+ \*(Ps = \*8 \(-> M4 button down
+ \*(Ps = \*9 \(-> M4 button up
+ \*(Ps = \*1\*0 \(-> locator outside filter rectangle
+.br
+``button'' parameter is a bitmask indicating which buttons are pressed:
+ \*(Ps = \*0 \(-> no buttons down
+ \*(Ps & \*1 \(-> right button down
+ \*(Ps & \*2 \(-> middle button down
+ \*(Ps & \*4 \(-> left button down
+ \*(Ps & \*8 \(-> M4 button down
+.br
+``row'' and ``column'' parameters are the coordinates of the locator
+position in the xterm window, encoded as ASCII decimal.
+.br
+The ``page'' parameter is not used by xterm, and will be omitted.
+.
.IP \\*(Cs\\*(Ps\\*s\\*A
Cursor Up \*(Ps Times (default = 1) (CUU)
.
@@ -679,6 +738,55 @@
\*(Ps = \*1\*2 \(-> Send/receive (SRM)
\*(Ps = \*2\*0 \(-> Automatic Newline (LNM)
.
+.IP \\*(Cs\\*?\\*(Pm\\*s\\*h
+DEC Private Mode Set (DECSET)
+ \*(Ps = \*1 \(-> Application Cursor Keys (DECCKM)
+ \*(Ps = \*2 \(-> Designate USASCII for character sets G0-G3 (DECANM),
+and set VT100 mode.
+ \*(Ps = \*3 \(-> 132 Column Mode (DECCOLM)
+ \*(Ps = \*4 \(-> Smooth (Slow) Scroll (DECSCLM)
+ \*(Ps = \*5 \(-> Reverse Video (DECSCNM)
+ \*(Ps = \*6 \(-> Origin Mode (DECOM)
+ \*(Ps = \*7 \(-> Wraparound Mode (DECAWM)
+ \*(Ps = \*8 \(-> Auto-repeat Keys (DECARM)
+ \*(Ps = \*9 \(-> Send Mouse X & Y on button press.
+See the section \fBMouse Tracking\fP.
+ \*(Ps = \*1\*8 \(-> Print form feed (DECPFF)
+ \*(Ps = \*1\*9 \(-> Set print extent to full screen (DECPEX)
+ \*(Ps = \*2\*5 \(-> Show Cursor (DECTCEM)
+ \*(Ps = \*3\*0 \(-> Show scrollbar (rxvt).
+ \*(Ps = \*3\*5 \(-> Enable shifted key-functions (rxvt).
+ \*(Ps = \*3\*8 \(-> Enter Tektronix Mode (DECTEK)
+ \*(Ps = \*4\*0 \(-> Allow 80 \z\(<-\(-> 132 Mode
+ \*(Ps = \*4\*1 \(-> \fImore\fP(1) fix (see \fIcurses\fP resource)
+ \*(Ps = \*4\*2 \(-> Enable Nation Replacement Character sets (DECNRCM)
+ \*(Ps = \*4\*4 \(-> Turn On Margin Bell
+ \*(Ps = \*4\*5 \(-> Reverse-wraparound Mode
+ \*(Ps = \*4\*6 \(-> Start Logging
+(normally disabled by a compile-time option)
+ \*(Ps = \*4\*7 \(-> Use Alternate Screen Buffer (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*6\*6 \(-> Application keypad (DECNKM)
+ \*(Ps = \*6\*7 \(-> Backarrow key sends delete (DECBKM)
+ \*(Ps = \*1\*0\*0\*0 \(-> Send Mouse X & Y on button press and release.
+See the section \fBMouse Tracking\fP.
+ \*(Ps = \*1\*0\*0\*1 \(-> Use Hilite Mouse Tracking.
+ \*(Ps = \*1\*0\*0\*2 \(-> Use Cell Motion Mouse Tracking.
+ \*(Ps = \*1\*0\*0\*3 \(-> Use All Motion Mouse Tracking.
+ \*(Ps = \*1\*0\*1\*0 \(-> Scroll to bottom on tty output (rxvt).
+ \*(Ps = \*1\*0\*1\*1 \(-> Scroll to bottom on key press (rxvt).
+ \*(Ps = \*1\*0\*3\*5 \(-> Enable special modifiers for Alt and NumLock keys.
+ \*(Ps = \*1\*0\*4\*7 \(-> Use Alternate Screen Buffer (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*1\*0\*4\*8 \(-> Save cursor as in DECSC (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*1\*0\*4\*9 \(-> Save cursor as in DECSC
+and use Alternate Screen Buffer, clearing it first (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*1\*0\*5\*1 \(-> Set Sun function-key mode.
+ \*(Ps = \*1\*0\*5\*2 \(-> Set HP function-key mode.
+ \*(Ps = \*1\*0\*6\*1 \(-> Set Sun/PC keyboard mode.
+.
.IP \\*(Cs\\*(Pm\\*s\\*i
Media Copy (MC)
\*(Ps = \*0 \(-> Print screen (default)
@@ -698,6 +806,53 @@
\*(Ps = \*1\*2 \(-> Send/receive (SRM)
\*(Ps = \*2\*0 \(-> Normal Linefeed (LNM)
.
+.IP \\*(Cs\\*?\\*(Pm\\*s\\*l
+DEC Private Mode Reset (DECRST)
+ \*(Ps = \*1 \(-> Normal Cursor Keys (DECCKM)
+ \*(Ps = \*2 \(-> Designate VT52 mode (DECANM).
+ \*(Ps = \*3 \(-> 80 Column Mode (DECCOLM)
+ \*(Ps = \*4 \(-> Jump (Fast) Scroll (DECSCLM)
+ \*(Ps = \*5 \(-> Normal Video (DECSCNM)
+ \*(Ps = \*6 \(-> Normal Cursor Mode (DECOM)
+ \*(Ps = \*7 \(-> No Wraparound Mode (DECAWM)
+ \*(Ps = \*8 \(-> No Auto-repeat Keys (DECARM)
+ \*(Ps = \*9 \(-> Don't Send Mouse X & Y on button press
+ \*(Ps = \*1\*8 \(-> Don't print form feed (DECPFF)
+ \*(Ps = \*1\*9 \(-> Limit print to scrolling region (DECPEX)
+ \*(Ps = \*2\*5 \(-> Hide Cursor (DECTCEM)
+ \*(Ps = \*3\*0 \(-> Don't show scrollbar (rxvt).
+ \*(Ps = \*3\*5 \(-> Disable shifted key-functions (rxvt).
+ \*(Ps = \*4\*0 \(-> Disallow 80 \z\(<-\(-> 132 Mode
+ \*(Ps = \*4\*1 \(-> No \fImore\fP(1) fix (see \fIcurses\fP resource)
+ \*(Ps = \*4\*2 \(-> Disable Nation Replacement Character sets (DECNRCM)
+ \*(Ps = \*4\*4 \(-> Turn Off Margin Bell
+ \*(Ps = \*4\*5 \(-> No Reverse-wraparound Mode
+ \*(Ps = \*4\*6 \(-> Stop Logging
+(normally disabled by a compile-time option)
+ \*(Ps = \*4\*7 \(-> Use Normal Screen Buffer
+ \*(Ps = \*6\*6 \(-> Numeric keypad (DECNKM)
+ \*(Ps = \*6\*7 \(-> Backarrow key sends backspace (DECBKM)
+ \*(Ps = \*1\*0\*0\*0 \(-> Don't Send Mouse X & Y on button press and
+release.
+See the section \fBMouse Tracking\fP.
+ \*(Ps = \*1\*0\*0\*1 \(-> Don't Use Hilite Mouse Tracking
+ \*(Ps = \*1\*0\*0\*2 \(-> Don't Use Cell Motion Mouse Tracking
+ \*(Ps = \*1\*0\*0\*3 \(-> Don't Use All Motion Mouse Tracking
+ \*(Ps = \*1\*0\*1\*0 \(-> Don't scroll to bottom on tty output (rxvt).
+ \*(Ps = \*1\*0\*1\*1 \(-> Don't scroll to bottom on key press (rxvt).
+ \*(Ps = \*1\*0\*3\*5 \(-> Disable special modifiers for Alt and NumLock keys.
+ \*(Ps = \*1\*0\*4\*7 \(-> Use Normal Screen Buffer, clearing screen
+first if in the Alternate Screen (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*1\*0\*4\*8 \(-> Restore cursor as in DECRC (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*1\*0\*4\*9 \(-> Use Normal Screen Buffer and restore cursor
+as in DECRC (unless
+disabled by the \fBtiteInhibit\fP resource)
+ \*(Ps = \*1\*0\*5\*1 \(-> Reset Sun function-key mode.
+ \*(Ps = \*1\*0\*5\*2 \(-> Reset HP function-key mode.
+ \*(Ps = \*1\*0\*6\*1 \(-> Reset Sun/PC keyboard mode.
+.
.IP \\*(Cs\\*(Pm\\*s\\*m
Character Attributes (SGR)
\*(Ps = \*0 \(-> Normal (default)
@@ -764,6 +919,7 @@
Device Status Report (DSR)
\*(Ps = \*5 \(-> Status Report \*(Cs\*0\*n (``OK'')
\*(Ps = \*6 \(-> Report Cursor Position (CPR) [row;column] as
+.br
\*(Cs\*(Ir\*s\*;\*(Ic\*s\*R
.
.IP \\*(Cs\\*?\\*(Ps\\*s\\*n
@@ -780,6 +936,7 @@
or
\*(Cs\*?\*2\*1\*s\*n (locked)
\*(Ps = \*2\*6 \(-> Report Keyboard status as
+.br
\*(Cs\*?\*2\*7\*s\*;\*s\*1\*s\*;\*s\*0\*s\*;\*s\*0\*s\*n (North American)
.
.IP \\*(Cs\\*s\\*!\\*p
@@ -806,7 +963,14 @@
.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*r
Set Scrolling Region [top;bottom] (default = full size of window) (DECSTBM)
.
-.IP \\*(Cs\\*(Ps\\*s\\*;\\*s\\*(Ps\\*s\\*;\\*(Ps\\*s\\*t
+.IP \\*(Cs\\*?\\*(Pm\\*s\\*r
+Restore DEC Private Mode Values. The value of \*(Ps previously saved is
+restored. \*(Ps values are the same as for DECSET.
+.
+.IP \\*(Cs\\*?\\*(Pm\\*s\\*(cs
+Save DEC Private Mode Values. \*(Ps values are the same as for DECSET.
+.
+.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*;\\*(Ps\\*s\\*t
Window manipulation (from \fIdtterm\fP, as well as extensions).
Valid values for the first (and any additional parameters) are:
\*(Ps = \*1 \(-> De-iconify window.
@@ -836,113 +1000,54 @@
\*(Os\*s\*l\*s\fItitle\fP\*s\*(ST
\*(Ps >= \*2\*4 \(-> Resize to \*(Ps lines (DECSLPP)
.
+.IP \\*(Cs\\*(Pt\\*s\\*;\\*(Pl\\*s\\*;\\*s\\*(Pb\\*s\\*;\\*s\\*(Pr\\*s\\*s\\*'\\*s\\*w
+Enable Filter Rectangle (DECEFR)
+.br
+Parameters are [top;left;bottom;right].
+.br
+Defines the coordinates of a filter rectangle and activates it.
+Anytime the locator is detected outside of the filter rectangle,
+an outside rectangle event is generated and the rectangle is disabled.
+Filter rectangles are always treated as "one-shot" events.
+Any parameters that are omitted default to the current locator position.
+If all parameters are omitted, any locator motion will be reported.
+DECELR always cancels any prevous rectangle definition.
+.
.IP \\*(Cs\\*(Ps\\*s\\*x
Request Terminal Parameters (DECREQTPARM)
.
-.IP \\*(Cs\\*?\\*(Pm\\*s\\*h
-DEC Private Mode Set (DECSET)
- \*(Ps = \*1 \(-> Application Cursor Keys (DECCKM)
- \*(Ps = \*2 \(-> Designate USASCII for character sets G0-G3 (DECANM),
-and set VT100 mode.
- \*(Ps = \*3 \(-> 132 Column Mode (DECCOLM)
- \*(Ps = \*4 \(-> Smooth (Slow) Scroll (DECSCLM)
- \*(Ps = \*5 \(-> Reverse Video (DECSCNM)
- \*(Ps = \*6 \(-> Origin Mode (DECOM)
- \*(Ps = \*7 \(-> Wraparound Mode (DECAWM)
- \*(Ps = \*8 \(-> Auto-repeat Keys (DECARM)
- \*(Ps = \*9 \(-> Send Mouse X & Y on button press.
-See the section \fBMouse Tracking\fP.
- \*(Ps = \*1\*8 \(-> Print form feed (DECPFF)
- \*(Ps = \*1\*9 \(-> Set print extent to full screen (DECPEX)
- \*(Ps = \*2\*5 \(-> Show Cursor (DECTCEM)
- \*(Ps = \*3\*0 \(-> Show scrollbar (rxvt).
- \*(Ps = \*3\*5 \(-> Enable shifted key-functions (rxvt).
- \*(Ps = \*3\*8 \(-> Enter Tektronix Mode (DECTEK)
- \*(Ps = \*4\*0 \(-> Allow 80 \z\(<-\(-> 132 Mode
- \*(Ps = \*4\*1 \(-> \fImore\fP(1) fix (see \fIcurses\fP resource)
- \*(Ps = \*4\*2 \(-> Enable Nation Replacement Character sets (DECNRCM)
- \*(Ps = \*4\*4 \(-> Turn On Margin Bell
- \*(Ps = \*4\*5 \(-> Reverse-wraparound Mode
- \*(Ps = \*4\*6 \(-> Start Logging
-(normally disabled by a compile-time option)
- \*(Ps = \*4\*7 \(-> Use Alternate Screen Buffer (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*6\*6 \(-> Application keypad (DECNKM)
- \*(Ps = \*6\*7 \(-> Backarrow key sends delete (DECBKM)
- \*(Ps = \*1\*0\*0\*0 \(-> Send Mouse X & Y on button press and release.
-See the section \fBMouse Tracking\fP.
- \*(Ps = \*1\*0\*0\*1 \(-> Use Hilite Mouse Tracking.
- \*(Ps = \*1\*0\*0\*2 \(-> Use Cell Motion Mouse Tracking.
- \*(Ps = \*1\*0\*0\*3 \(-> Use All Motion Mouse Tracking.
- \*(Ps = \*1\*0\*1\*0 \(-> Scroll to bottom on tty output (rxvt).
- \*(Ps = \*1\*0\*1\*1 \(-> Scroll to bottom on key press (rxvt).
- \*(Ps = \*1\*0\*3\*5 \(-> Enable special modifiers for Alt and NumLock keys.
- \*(Ps = \*1\*0\*4\*7 \(-> Use Alternate Screen Buffer (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*1\*0\*4\*8 \(-> Save cursor as in DECSC (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*1\*0\*4\*9 \(-> Save cursor as in DECSC
-and use Alternate Screen Buffer, clearing it first (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*1\*0\*5\*1 \(-> Set Sun function-key mode.
- \*(Ps = \*1\*0\*5\*2 \(-> Set HP function-key mode.
- \*(Ps = \*1\*0\*6\*1 \(-> Set Sun/PC keyboard mode.
-.
-.IP \\*(Cs\\*?\\*(Pm\\*s\\*l
-DEC Private Mode Reset (DECRST)
- \*(Ps = \*1 \(-> Normal Cursor Keys (DECCKM)
- \*(Ps = \*2 \(-> Designate VT52 mode (DECANM).
- \*(Ps = \*3 \(-> 80 Column Mode (DECCOLM)
- \*(Ps = \*4 \(-> Jump (Fast) Scroll (DECSCLM)
- \*(Ps = \*5 \(-> Normal Video (DECSCNM)
- \*(Ps = \*6 \(-> Normal Cursor Mode (DECOM)
- \*(Ps = \*7 \(-> No Wraparound Mode (DECAWM)
- \*(Ps = \*8 \(-> No Auto-repeat Keys (DECARM)
- \*(Ps = \*9 \(-> Don't Send Mouse X & Y on button press
- \*(Ps = \*1\*8 \(-> Don't print form feed (DECPFF)
- \*(Ps = \*1\*9 \(-> Limit print to scrolling region (DECPEX)
- \*(Ps = \*2\*5 \(-> Hide Cursor (DECTCEM)
- \*(Ps = \*3\*0 \(-> Don't show scrollbar (rxvt).
- \*(Ps = \*3\*5 \(-> Disable shifted key-functions (rxvt).
- \*(Ps = \*4\*0 \(-> Disallow 80 \z\(<-\(-> 132 Mode
- \*(Ps = \*4\*1 \(-> No \fImore\fP(1) fix (see \fIcurses\fP resource)
- \*(Ps = \*4\*2 \(-> Disable Nation Replacement Character sets (DECNRCM)
- \*(Ps = \*4\*4 \(-> Turn Off Margin Bell
- \*(Ps = \*4\*5 \(-> No Reverse-wraparound Mode
- \*(Ps = \*4\*6 \(-> Stop Logging
-(normally disabled by a compile-time option)
- \*(Ps = \*4\*7 \(-> Use Normal Screen Buffer
- \*(Ps = \*6\*6 \(-> Numeric keypad (DECNKM)
- \*(Ps = \*6\*7 \(-> Backarrow key sends backspace (DECBKM)
- \*(Ps = \*1\*0\*0\*0 \(-> Don't Send Mouse X & Y on button press and
-release.
-See the section \fBMouse Tracking\fP.
- \*(Ps = \*1\*0\*0\*1 \(-> Don't Use Hilite Mouse Tracking
- \*(Ps = \*1\*0\*0\*2 \(-> Don't Use Cell Motion Mouse Tracking
- \*(Ps = \*1\*0\*0\*3 \(-> Don't Use All Motion Mouse Tracking
- \*(Ps = \*1\*0\*1\*0 \(-> Don't scroll to bottom on tty output (rxvt).
- \*(Ps = \*1\*0\*1\*1 \(-> Don't scroll to bottom on key press (rxvt).
- \*(Ps = \*1\*0\*3\*5 \(-> Disable special modifiers for Alt and NumLock keys.
- \*(Ps = \*1\*0\*4\*7 \(-> Use Normal Screen Buffer, clearing screen
-first if in the Alternate Screen (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*1\*0\*4\*8 \(-> Restore cursor as in DECRC (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*1\*0\*4\*9 \(-> Use Normal Screen Buffer and restore cursor
-as in DECRC (unless
-disabled by the \fBtiteInhibit\fP resource)
- \*(Ps = \*1\*0\*5\*1 \(-> Reset Sun function-key mode.
- \*(Ps = \*1\*0\*5\*2 \(-> Reset HP function-key mode.
- \*(Ps = \*1\*0\*6\*1 \(-> Reset Sun/PC keyboard mode.
+.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Pu\\*s\\*s\\*'\\*s\\*z
+Enable Locator Reporting (DECELR)
+.br
+Valid values for the first parameter:
+ \*(Ps = \*0 \(-> Locator disabled (default)
+ \*(Ps = \*1 \(-> Locator enabled
+ \*(Ps = \*2 \(-> Locator enabled for one report, then disabled
+.br
+The second parameter specifies the coordinate unit for locator reports.
+.br
+Valid values for the second parameter:
+ \*(Pu = \*0 or omitted \(-> default to character cells
+ \*(Pu = \*1 \(-> device physical pixels
+ \*(Pu = \*2 \(-> character cells
.
-.IP \\*(Cs\\*?\\*(Pm\\*s\\*r
-Restore DEC Private Mode Values. The value of \*(Ps previously saved is
-restored. \*(Ps values are the same as for DECSET.
+.IP \\*(Cs\\*(Pm\\*s\\*s\\*'\\*s\\*{
+Select Locator Events (DECSLE)
+.br
+Valid values for the first (and any additional parameters) are:
+ \*(Ps = \*0 \(-> only respond to explicit host requests (DECRQLP)
+ (default) also cancels any filter rectangle
+ \*(Ps = \*1 \(-> report button down transitions
+ \*(Ps = \*2 \(-> do not report button down transitions
+ \*(Ps = \*3 \(-> report button up transitions
+ \*(Ps = \*4 \(-> do not report button up transitions
+.Ed
.
-.IP \\*(Cs\\*?\\*(Pm\\*s\\*(cs
-Save DEC Private Mode Values. \*(Ps values are the same as for DECSET.
+.St
+.LP
+.B
+Operating System Controls
.
-.sp
.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(ST
.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(Be
Set Text Parameters.
@@ -975,15 +1080,17 @@
next character is a plus or minus sign) or absolute. A number is
expected but not required after the sign (the default is the current
entry for relative, zero for absolute indexing).
+.Ed
.
-.sp
+.St
+.LP
+.B
+Privacy Message
.IP \\*(PM\\*(Pt\\*s\\*(ST
\fIxterm\fP implements no PM functions; \*(Pt is ignored.
\*(Pt need not be printable characters.
-.
.Ed
.
-.
.SH
PC-Style Function Keys
.ds RH Function Keys
@@ -1241,8 +1348,10 @@
the mouse.
.
.LP
-There are five mutually exclusive modes, each enabled (or disabled)
-by a different parameter in the
+There are six mutually exclusive modes. One is DEC Locator mode, enabled by the
+DECELR \*(Cs\*(Ps\*s\*;\*(Ps\*s\*s\*'\*s\*z
+control sequence, and is not described here. The remaining five
+modes are each enabled (or disabled) by a different parameter in
DECSET \*(Cs\*?\*(Pm\*s\*h
or
DECRST \*(Cs\*?\*(Pm\*s\*l
Index: data.c
--- xterm-115+/data.c Sat Sep 18 14:23:33 1999
+++ xterm-116/data.c Sat Sep 25 09:42:53 1999
@@ -61,6 +61,7 @@
XtermWidget term; /* master data structure for client */
char *xterm_name; /* argv[0] */
Boolean sunFunctionKeys;
+int hold_screen;
#if OPT_HP_FUNC_KEYS
Boolean hpFunctionKeys;
Index: data.h
--- xterm-115+/data.h Sat Sep 18 14:22:43 1999
+++ xterm-116/data.h Sat Sep 25 09:42:48 1999
@@ -55,6 +55,7 @@
extern char *ttydev;
extern char *xterm_name;
extern Boolean sunFunctionKeys;
+extern int hold_screen;
#if OPT_HP_FUNC_KEYS
extern Boolean hpFunctionKeys;
Index: main.c
--- xterm-115+/main.c Wed Sep 15 21:51:12 1999
+++ xterm-116/main.c Sat Sep 25 15:46:54 1999
@@ -110,7 +110,6 @@
#define setpgrp(pid, pgid) setpgid(pid, pgid)
#define USE_TERMIOS
-#define HAS_UTMP_UT_HOST
#define MNX_LASTLOG
#define WTMP
/* Remap or define non-existing termios flags */
@@ -129,7 +128,6 @@
#endif
#ifdef __osf__
-#define USE_SYSV_UTMP
#define USE_SYSV_SIGNALS
#endif
@@ -137,15 +135,12 @@
#undef SYSV /* predefined on Solaris 2.4 */
#define SYSV /* SVR4 is (approx) superset of SVR3 */
#define ATT
-#define USE_SYSV_UTMP
#ifndef __sgi
#define USE_TERMIOS
#endif
-#define HAS_UTMP_UT_HOST
#endif
#if defined(SYSV) && defined(i386) && !defined(SVR4)
-#define USE_SYSV_UTMP
#define ATT
#define USE_HANDSHAKE
static Bool IsPts = False;
@@ -174,9 +169,7 @@
#ifdef linux
#define USE_TERMIOS
#define USE_SYSV_PGRP
-#define USE_SYSV_UTMP
#define USE_SYSV_SIGNALS
-#define HAS_UTMP_UT_HOST
#define LASTLOG
#define WTMP
#undef HAS_LTCHARS
@@ -190,11 +183,8 @@
#define USE_POSIX_TERMIOS
#define USE_USG_PTYS
#define USE_SYSV_PGRP
-#define USE_SYSV_UTMP
#define USE_SYSV_SIGNALS
-#define USE_TTY_GROUP
-#define UTMP
-#define HAS_UTMP_UT_HOST
+#define HAVE_UTMP
#define ut_name ut_user
#define ut_xtime ut_tv.tv_sec
#undef HAS_LTCHARS
@@ -227,7 +217,6 @@
#define USE_SYSV_PGRP
#define WTMP
#define HAS_BSD_GROUPS
-#define USE_TTY_GROUP
#endif
#ifdef USE_TTY_GROUP
@@ -252,10 +241,9 @@
#endif
#endif
-#ifdef USE_POSIX_TERMIOS
+#if defined(USE_POSIX_TERMIOS)
#include <termios.h>
-#else
-#ifdef USE_TERMIOS
+#elif defined(USE_TERMIOS)
#include <termios.h>
/* this hacked termios support only works on SYSV */
#define USE_SYSV_TERMIO
@@ -264,18 +252,13 @@
#define TCGETA TCGETS
#undef TCSETA
#define TCSETA TCSETS
-#else /* USE_TERMIOS */
-#ifdef SYSV
+#elif defined(SYSV)
#include <sys/termio.h>
-#else /* SYSV */
-#if defined(sun) && !defined(SVR4)
+#elif defined(sun) && !defined(SVR4)
#include <sys/ttycom.h>
#ifdef TIOCSWINSZ
#undef TIOCSSIZE
#endif
-#endif
-#endif /* SYSV */
-#endif /* USE_TERMIOS else */
#endif /* USE_POSIX_TERMIOS */
#ifdef SVR4
@@ -312,14 +295,10 @@
* now get system-specific includes
*/
#ifdef CRAY
-#define USE_SYSV_UTMP
-#define HAS_UTMP_UT_HOST
#define HAS_BSD_GROUPS
#endif
#ifdef macII
-#define USE_SYSV_UTMP
-#define HAS_UTMP_UT_HOST
#define HAS_BSD_GROUPS
#include <sys/ttychars.h>
#undef USE_SYSV_ENVVARS
@@ -331,15 +310,11 @@
#endif
#ifdef SCO
-#define USE_SYSV_UTMP
#define USE_POSIX_WAIT
-#define HAS_UTMP_UT_HOST
#endif /* SCO */
#ifdef __hpux
#define HAS_BSD_GROUPS
-#define USE_SYSV_UTMP
-#define HAS_UTMP_UT_HOST
#define USE_POSIX_WAIT
#include <sys/ptyio.h>
#endif /* __hpux */
@@ -353,11 +328,6 @@
#include <sys/strredir.h>
#endif
-#ifdef AIXV3
-#define USE_SYSV_UTMP
-#define HAS_UTMP_UT_HOST
-#endif
-
#else /* } !SYSV { */ /* BSD systems */
#ifdef MINIX /* { */
@@ -382,10 +352,8 @@
#else
#include <resource.h>
#endif
-#define HAS_UTMP_UT_HOST
#define HAS_BSD_GROUPS
#ifdef __osf__
-#define USE_SYSV_UTMP
#define setpgrp setpgid
#endif
#endif /* !linux */
@@ -445,7 +413,9 @@
#include <sys/filio.h>
#endif
-#if (defined(SVR4) || defined(SCO325)) && !defined(__CYGWIN32__)
+#include <sys/types.h>
+
+#if defined(UTMPX_FOR_UTMP)
#include <utmpx.h>
#define setutent setutxent
@@ -454,16 +424,8 @@
#define endutent endutxent
#define pututline pututxline
-#else
+#elif defined(HAVE_UTMP)
-#ifdef ISC
-#include <sys/types.h>
-#endif
-#ifdef Lynx
-#ifdef UTMP
-#undef UTMP
-#endif
-#endif
#include <utmp.h>
#if defined(_CRAY) && (OSMAJORVERSION < 8)
extern struct utmp *getutid __((struct utmp *_Id));
@@ -471,14 +433,9 @@
#endif
-#ifndef ISC
-#if defined(UTMP) && !defined(__MVS__)
-#include <utmp.h>
-#endif
#if defined(LASTLOG) && (!defined(BSD) || (BSD < 199103))
#include <lastlog.h>
#endif
-#endif
#ifdef PUCC_PTYD
#include <local/openpty.h>
@@ -803,6 +760,7 @@
char *icon_name;
char *term_name;
char *tty_modes;
+ Boolean hold_screen; /* true if we keep window open */
Boolean utmpInhibit;
Boolean sunFunctionKeys; /* %%% should be widget resource? */
#if OPT_SUNPC_KBD
@@ -846,6 +804,8 @@
offset(term_name), XtRString, (caddr_t) NULL},
{"ttyModes", "TtyModes", XtRString, sizeof(char *),
offset(tty_modes), XtRString, (caddr_t) NULL},
+ {"hold", "Hold", XtRBoolean, sizeof (Boolean),
+ offset(hold_screen), XtRString, "false"},
{"utmpInhibit", "UtmpInhibit", XtRBoolean, sizeof (Boolean),
offset(utmpInhibit), XtRString, "false"},
{"sunFunctionKeys", "SunFunctionKeys", XtRBoolean, sizeof (Boolean),
@@ -939,6 +899,8 @@
{"-hf", "*hpKeyboard", XrmoptionNoArg, (caddr_t) "on"},
{"+hf", "*hpKeyboard", XrmoptionNoArg, (caddr_t) "off"},
#endif
+{"-hold", "*hold", XrmoptionNoArg, (caddr_t) "on"},
+{"+hold", "*hold", XrmoptionNoArg, (caddr_t) "off"},
#if OPT_INITIAL_ERASE
{"-ie", "*ptyInitialErase", XrmoptionNoArg, (caddr_t) "on"},
{"+ie", "*ptyInitialErase", XrmoptionNoArg, (caddr_t) "off"},
@@ -1067,6 +1029,7 @@
#if OPT_HP_FUNC_KEYS
{ "-/+hf", "turn on/off HP Function Key escape codes" },
#endif
+{ "-/+hold", "turn on/off logic that retains window after exit" },
#if OPT_INITIAL_ERASE
{ "-/+ie", "turn on/off initialization of 'erase' from pty" },
#endif
@@ -1111,7 +1074,7 @@
#if OPT_WIDE_CHARS
{ "-/+u8", "turn on/off UTF-8 mode (implies wide-characters)" },
#endif
-#ifdef UTMP
+#ifdef HAVE_UTMP
{ "-/+ut", "turn on/off utmp inhibit" },
#else
{ "-/+ut", "turn on/off utmp inhibit (not supported)" },
@@ -1662,6 +1625,7 @@
#if OPT_SAME_NAME
sameName = resource.sameName;
#endif
+ hold_screen = resource.hold_screen ? 1 : 0;
xterm_name = resource.xterm_name;
sunFunctionKeys = resource.sunFunctionKeys;
#if OPT_SUNPC_KBD
@@ -1810,7 +1774,7 @@
if(i >= 0) {
#if defined(USE_SYSV_TERMIO) && !defined(SVR4) && !defined(linux)
/* SYSV has another pointer which should be part of the
- ** FILE structure but is actually a seperate array.
+ ** FILE structure but is actually a separate array.
*/
unsigned char *old_bufend;
@@ -2283,7 +2247,8 @@
set_owner(char *device, int uid, int gid, int mode)
{
if (chown (device, uid, gid) < 0) {
- if (getuid() == 0) {
+ if (errno != ENOENT
+ && getuid() == 0) {
fprintf(stderr, "Cannot chown %s to %d,%d: %s\n",
device, uid, gid, strerror(errno));
}
@@ -2345,7 +2310,7 @@
struct winsize ws;
#endif
struct passwd *pw = NULL;
-#ifdef UTMP
+#ifdef HAVE_UTMP
#if (defined(SVR4) || defined(SCO325)) && !defined(__CYGWIN32__)
struct utmpx utmp;
#else
@@ -2354,7 +2319,7 @@
#ifdef LASTLOG
struct lastlog lastlog;
#endif /* LASTLOG */
-#endif /* UTMP */
+#endif /* HAVE_UTMP */
screen->uid = getuid();
screen->gid = getgid();
@@ -2671,7 +2636,7 @@
#else
int pgrp = getpid();
#endif
-#if defined(UTMP) && defined(USE_SYSV_UTMP)
+#if defined(HAVE_UTMP) && defined(USE_SYSV_UTMP)
char* ptyname;
char* ptynameptr = 0;
#endif
@@ -3177,14 +3142,14 @@
/* compute number of Setenv() calls below */
envsize = 1; /* (NULL terminating entry) */
envsize += 3; /* TERM, WINDOWID, DISPLAY */
-#ifdef UTMP
+#ifdef HAVE_UTMP
envsize += 1; /* LOGNAME */
-#endif /* UTMP */
+#endif /* HAVE_UTMP */
#ifdef USE_SYSV_ENVVARS
envsize += 2; /* COLUMNS, LINES */
-#ifdef UTMP
+#ifdef HAVE_UTMP
envsize += 2; /* HOME, SHELL */
-#endif /* UTMP */
+#endif /* HAVE_UTMP */
#ifdef OWN_TERMINFO_DIR
envsize += 1; /* TERMINFO */
#endif
@@ -3276,7 +3241,7 @@
}
#endif
-#ifdef UTMP
+#ifdef HAVE_UTMP
pw = getpwuid(screen->uid);
if (pw && pw->pw_name)
Setenv ("LOGNAME=", pw->pw_name); /* for POSIX */
@@ -3335,7 +3300,7 @@
(void) strncpy (utmp.ut_line,
ptyname + strlen("/dev/"), sizeof (utmp.ut_line));
-#ifdef HAS_UTMP_UT_HOST
+#ifdef HAVE_UTMP_UT_HOST
(void) strncpy(buf, DisplayString(screen->display),
sizeof(buf));
#ifndef linux
@@ -3384,7 +3349,7 @@
#else /* USE_SYSV_UTMP */
/* We can now get our ttyslot! We can also set the initial
- * UTMP entry.
+ * utmp entry.
*/
tslot = ttyslot();
added_utmp_entry = False;
@@ -3401,7 +3366,7 @@
utmp.ut_pid = getpid();
utmp.ut_type = USER_PROCESS;
#endif /* MINIX */
-#ifdef HAS_UTMP_UT_HOST
+#ifdef HAVE_UTMP_UT_HOST
(void) strncpy(utmp.ut_host,
XDisplayString (screen->display),
sizeof(utmp.ut_host));
@@ -3471,7 +3436,7 @@
strcpy(handshake.buffer, ttydev);
(void)write(cp_pipe[1], (char *)&handshake, sizeof(handshake));
#endif /* USE_HANDSHAKE */
-#endif/* UTMP */
+#endif/* HAVE_UTMP */
(void) setgid (screen->gid);
#ifdef HAS_BSD_GROUPS
@@ -3526,14 +3491,14 @@
sprintf (numbuf, "%d", screen->max_row + 1);
Setenv("LINES=", numbuf);
}
-#ifdef UTMP
+#ifdef HAVE_UTMP
if (pw) { /* SVR4 doesn't provide these */
if (!getenv("HOME"))
Setenv("HOME=", pw->pw_dir);
if (!getenv("SHELL"))
Setenv("SHELL=", pw->pw_shell);
}
-#endif /* UTMP */
+#endif /* HAVE_UTMP */
#ifdef OWN_TERMINFO_DIR
Setenv("TERMINFO=", OWN_TERMINFO_DIR);
#endif
@@ -3592,15 +3557,15 @@
signal (SIGHUP, SIG_DFL);
#endif
-#ifdef UTMP
+#ifdef HAVE_UTMP
if(((ptr = getenv("SHELL")) == NULL || *ptr == 0) &&
((pw == NULL && (pw = getpwuid(screen->uid)) == NULL) ||
*(ptr = pw->pw_shell) == 0))
-#else /* UTMP */
+#else /* HAVE_UTMP */
if(((ptr = getenv("SHELL")) == NULL || *ptr == 0) &&
((pw = getpwuid(screen->uid)) == NULL ||
*(ptr = pw->pw_shell) == 0))
-#endif /* UTMP */
+#endif /* HAVE_UTMP */
ptr = "/bin/sh";
if ((shname = strrchr(ptr, '/')) != 0)
shname++;
@@ -4116,9 +4081,9 @@
Exit(int n)
{
register TScreen *screen = &term->screen;
-#ifdef UTMP
+#ifdef HAVE_UTMP
#ifdef USE_SYSV_UTMP
-#if defined(SVR4) || defined(SCO325)
+#if defined(UTMPX_FOR_UTMP)
struct utmpx utmp;
struct utmpx *utptr;
#else
@@ -4214,7 +4179,7 @@
#endif /* WTMP */
}
#endif /* USE_SYSV_UTMP */
-#endif /* UTMP */
+#endif /* HAVE_UTMP */
#ifndef AMOEBA
close(screen->respond); /* close explicitly to avoid race with slave side */
#endif
Index: menu.c
--- xterm-115+/menu.c Sat Sep 18 12:46:02 1999
+++ xterm-116/menu.c Sat Sep 25 09:44:21 1999
@@ -589,6 +589,7 @@
{
register TScreen *screen = &term->screen;
+ if (hold_screen > 1) hold_screen = 0;
if (screen->pid > 1) kill_process_group (screen->pid, sig);
}
@@ -1966,8 +1967,9 @@
boxWidgetClass, *forms,
XtNorientation, XtorientHorizontal,
XtNtop, XawChainTop,
+ XtNbottom, XawChainTop,
XtNleft, XawChainLeft,
- XtNright, XawChainRight,
+ XtNright, XawChainLeft,
NULL);
if (shell == toplevel) { /* vt100 */
Index: misc.c
--- xterm-115+/misc.c Fri Sep 17 06:22:45 1999
+++ xterm-116/misc.c Sat Sep 25 10:16:01 1999
@@ -160,7 +160,11 @@
else
if(OUR_EVENT(event, LeaveNotify))
DoSpecialLeaveNotify (&event.xcrossing);
- else if (screen->send_mouse_pos == ANY_EVENT_MOUSE
+ else if ((screen->send_mouse_pos == ANY_EVENT_MOUSE
+#if OPT_DEC_LOCATOR
+ || screen->send_mouse_pos == DEC_LOCATOR
+#endif /* OPT_DEC_LOCATOR */
+ )
&& event.xany.type == MotionNotify
&& event.xcrossing.window == XtWindow(term)) {
SendMousePosition((Widget)term, &event);
@@ -1718,7 +1722,6 @@
Cleanup(i);
}
-
/*
* cleanup by sending SIGHUP to client processes
*/
@@ -1727,7 +1730,17 @@
{
register TScreen *screen;
+ TRACE(("Cleanup %d\n", code))
+
screen = &term->screen;
+
+ if (hold_screen) {
+ hold_screen = 2;
+ while (hold_screen) {
+ xevents();
+ }
+ }
+
if (screen->pid > 1) {
(void) kill_process_group (screen->pid, SIGHUP);
}
Index: print.c
--- xterm-115+/print.c Fri Sep 17 06:42:49 1999
+++ xterm-116/print.c Sat Sep 25 21:40:39 1999
@@ -96,8 +96,8 @@
register TScreen *screen = &term->screen;
Char *c = SCRN_BUF_CHARS(screen, row);
Char *a = SCRN_BUF_ATTRS(screen, row);
- Char attr = *a & SGR_MASK;
- int last = screen->max_col;
+ Char attr = 0;
+ int last = screen->max_col + 1;
int col;
#if OPT_ISO_COLORS && OPT_PRINT_COLORS
#if OPT_EXT_COLORS
@@ -252,7 +252,7 @@
if (attr & BOLD)
strcat(msg, ";1");
if (attr & UNDERLINE)
- strcat(msg, ";2");
+ strcat(msg, ";4"); /* typo? DEC documents this as '2' */
if (attr & BLINK)
strcat(msg, ";5");
if (attr & INVERSE) /* typo? DEC documents this as invisible */
Index: ptyx.h
--- xterm-115+/ptyx.h Sat Sep 18 14:30:12 1999
+++ xterm-116/ptyx.h Sat Sep 25 10:14:55 1999
@@ -361,6 +361,10 @@
#define OPT_DEC_CHRSET 1 /* true if xterm is configured for DEC charset */
#endif
+#ifndef OPT_DEC_LOCATOR
+#define OPT_DEC_LOCATOR 0 /* true if xterm supports VT220-style mouse events */
+#endif
+
#ifndef OPT_DEC_SOFTFONT
#define OPT_DEC_SOFTFONT 0 /* true if xterm is configured for VT220 softfonts */
#endif
@@ -881,6 +885,17 @@
unsigned long event_mask;
unsigned short send_mouse_pos; /* user wants mouse transition */
/* and position information */
+#if OPT_DEC_LOCATOR
+ Boolean locator_reset; /* turn mouse off after 1 report? */
+ Boolean locator_pixels; /* report in pixels? */
+ /* if false, report in cells */
+ unsigned short locator_events; /* what events to report */
+ int loc_filter; /* is filter rectangle active? */
+ int loc_filter_top; /* filter rectangle for DEC Locator */
+ int loc_filter_left;
+ int loc_filter_bottom;
+ int loc_filter_right;
+#endif /* OPT_DEC_LOCATOR */
int mouse_button; /* current button pressed */
int mouse_row; /* ...and its row */
int mouse_col; /* ...and its column */
Index: resize.c
--- xterm-115+/resize.c Sun Aug 22 14:20:13 1999
+++ xterm-116/resize.c Fri Sep 24 20:26:32 1999
@@ -76,7 +76,6 @@
#ifdef linux
#define USE_TERMIOS
-#define USE_SYSV_UTMP
#endif
#ifdef Lynx
@@ -96,7 +95,6 @@
#if defined(SYSV) || defined(__CYGWIN32__)
#define USE_SYSV_TERMIO
-#define USE_SYSV_UTMP
#elif defined(__QNX__)
#define USE_TERMINFO
#include <unix.h>
Index: version.h
--- xterm-115+/version.h Sat Sep 18 12:53:42 1999
+++ xterm-116/version.h Wed Sep 22 06:21:05 1999
@@ -6,5 +6,5 @@
* XFree86 to which this version of xterm has been built. The number in
* parentheses is my patch number (T.Dickey).
*/
-#define XTERM_PATCH 115
+#define XTERM_PATCH 116
#define XFREE86_VERSION "XFree86 3.9.16a"
Index: xcharmouse.h
--- xterm-115+/xcharmouse.h Sun Aug 30 06:43:03 1998
+++ xterm-116/xcharmouse.h Sat Sep 25 10:34:10 1999
@@ -43,14 +43,26 @@
#define SET_BTN_EVENT_MOUSE 1002
#define SET_ANY_EVENT_MOUSE 1003
+#if OPT_DEC_LOCATOR
+
+/* Bit fields for screen->locator_events */
+#define LOC_BTNS_DN 0x1
+#define LOC_BTNS_UP 0x2
+
+/* Special values for screen->loc_filter_* */
+#define LOC_FILTER_POS -1
+
+#endif /* OPT_DEC_LOCATOR */
+
/* Values for screen->send_mouse_pos */
enum {
- MOUSE_OFF,
- X10_MOUSE,
- VT200_MOUSE,
- VT200_HIGHLIGHT_MOUSE,
- BTN_EVENT_MOUSE,
- ANY_EVENT_MOUSE
+ MOUSE_OFF
+ , X10_MOUSE
+ , VT200_MOUSE
+ , VT200_HIGHLIGHT_MOUSE
+ , BTN_EVENT_MOUSE
+ , ANY_EVENT_MOUSE
+ , DEC_LOCATOR
};
#endif /* included_xcharmouse_h */
Index: xterm.h
--- xterm-115+/xterm.h Sat Sep 18 12:15:02 1999
+++ xterm-116/xterm.h Sat Sep 25 10:41:35 1999
@@ -84,6 +84,24 @@
#define HAVE_TCGETATTR 1
#endif
+#if defined(UTMP)
+#define HAVE_UTMP 1
+#endif
+
+#if (defined(SVR4) || defined(SCO325)) && !defined(__CYGWIN32__)
+#define UTMPX_FOR_UTMP 1
+#endif
+
+#define HAVE_UTMP_UT_HOST 1
+
+#if defined(AIXV3) || defined(CRAY) || defined(SCO) || defined(SVR4) || (defined(SYSV) && defined(i386)) || defined(__MVS__) || defined(__hpux) || defined(__osf__) || defined(linux) || defined(macII)
+#define USE_SYSV_UTMP
+#endif
+
+#if defined(__GNU__) || defined(__MVS__)
+#define USE_TTY_GROUP
+#endif
+
#endif /* HAVE_CONFIG_H */
/***====================================================================***/
@@ -371,6 +389,13 @@
extern void TrackMouse (int func, int startrow, int startcol, int firstrow, int lastrow);
extern void TrackText (int frow, int fcol, int trow, int tcol);
extern void ViButton PROTO_XT_ACTIONS_ARGS;
+
+#if OPT_DEC_LOCATOR
+extern Boolean SendLocatorPosition (Widget w, XEvent* event);
+extern void CheckLocatorPosition (Widget w, XEvent *event);
+extern void GetLocatorPosition (XtermWidget w);
+extern void InitLocatorFilter (XtermWidget w);
+#endif /* OPT_DEC_LOCATOR */
/* charproc.c */
extern int VTInit (void);
Index: xterm.log.html
--- xterm-115+/xterm.log.html Sat Sep 18 14:34:32 1999
+++ xterm-116/xterm.log.html Sat Sep 25 21:56:21 1999
@@ -41,6 +41,7 @@
xc/programs/Xserver/hw/xfree86).
<UL>
+<LI><A HREF="#xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A>
<LI><A HREF="#xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A>
<LI><A HREF="#xterm_114">Patch #114 - 1999/9/15 - XFree86 3.9.16</A>
<LI><A HREF="#xterm_113">Patch #113 - 1999/8/15 - XFree86 3.9.15b</A>
@@ -158,6 +159,61 @@
<LI><A HREF="#xterm_02">Patch #2 - 1996/1/7</A>
<LI><A HREF="#xterm_01">Patch #1 - 1996/1/6</A>
</UL>
+
+<H1><A NAME="xterm_116">Patch #116 - 1999/9/25 - XFree86 3.9.16a</A></H1>
+<ul>
+ <li>modify warning if change-ownership of PTY fails; some
+ configurations may not happen to have old-style pty's (reported by
+ Bob Maynard).
+
+ <li>improve check in configure script for group ownership of installed
+ xterm; some platforms use the -g option of ls to toggle group off
+ rather than on (reported by Greg Smith).
+
+ <li>minor improvement to toolbar geometry, to make it not resizable.
+ This still is not satisfactory (but is usable) since the toolbar
+ overlaps the xterm widget if the window is resized to make it
+ smaller. It appears that some work is needed for the xterm widget's
+ geometry management to make it function properly.
+
+ <li>implement configure script tests for utmp, tty group.
+
+ <li>implement <em>-hold</em> option, allowing users to retain the
+ window after a shell has exited (this is recently an FAQ, but
+ prompted by a comment by Joachim Plaettner-Hochwarth
+ <plaettner@aem.umn.edu> in comp.unix.programmer, that the IRIX
+ winterm provides this option).
+
+ <li>integrated change by Steve Wall to
+ add support for DEC Locator control sequences for xterm:
+ <pre>
+
+ DECEFR - Enable Filter Rectangle
+ DECELR - Enable Locator Reports
+ DECSLE - Select Locator Events
+ DECRQLP - Request Locator Position
+ </pre>
+ This allows the xterm mouse to be used with applications that use the
+ DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
+
+ <li>patch from Matthias Baake <Matthias.Baake@gmx.de>, for print
+ action. From his notes:
+ <ul>
+ <li>Bug 1:
+ Underlined text is preceded by ESC [0;2m . This should be ESC [0;4m , ESC
+ [2m doesn't seem to have any effect. (print.c/send_SGR)
+
+ <li>Bug 2:
+ The check for the last non-empty column (while (last > 0) ... in
+ print.c/printLine) omits the rightmost column of the screen, the loop must
+ start with last = screen->max_col+1 instead of last = screen->max_col.
+
+ <li>Bug 3:
+ Any attributes of the first character (and of all immediately following
+ characters with the same attributes) are ignored. The variable attr
+ (print.c/printLine) should be initialized with 0, not with *a & SGR_MASK.
+ </ul>
+</ul>
<H1><A NAME="xterm_115">Patch #115 - 1999/9/18 - XFree86 3.9.16a</A></H1>
<ul>
Index: xterm.man
--- xterm-115+/xterm.man Sat Sep 18 12:47:47 1999
+++ xterm-116/xterm.man Sat Sep 25 11:02:32 1999
@@ -351,6 +351,16 @@
This option indicates that HP Function Key escape codes should not be generated
for function keys.
.TP 8
+.BI \-hold
+Turn on the \fBhold\fP resource, i.e.,
+xterm will not immediately destroy its window when the shell command completes.
+It will wait until you use the window manager to destroy/kill the window, or
+if you use the menu entries that send a signal, e.g., HUP or KILL.
+.TP 8
+.BI \+hold
+Turn off the \fBhold\fP resource, i.e.,
+xterm will immediately destroy its window when the shell command completes.
+.TP 8
.B \-ie
Turn on the \fBptyInitialErase\fP resource, i.e.,
use the pseudo-terminal's sense of the stty erase value.
@@ -708,6 +718,15 @@
stty erase is a backspace or delete character.
The default is ``false'', which disables this feature.
.TP 8
+.B "hold (\fPclass\fB Hold)"
+If true,
+xterm will not immediately destroy its window when the shell command completes.
+It will wait until you use the window manager to destroy/kill the window, or
+if you use the menu entries that send a signal, e.g., HUP or KILL.
+You may scroll back, select text, etc., to perform most graphical operations.
+Resizing the display will lose data, however, since this involves interaction
+with the shell which is no longer running.
+.TP 8
.B "hpFunctionKeys (\fPclass\fB HpFunctionKeys)"
Specifies whether or not HP Function Key escape codes should be generated for
function keys instead of standard escape sequences.
@@ -2444,5 +2463,6 @@
Steve Pitschke (Stellar), Ron Newman (MIT-Athena), Jim Fulton (MIT X
Consortium), Dave Serisky (HP), Jonathan Kamens (MIT-Athena),
Jason Bacon <acadix@execpc.com>,
+Stephen P. Wall <swall@redcom.com>,
David Wexelblat, and
Thomas Dickey (XFree86 Project).
Index: xtermcfg.hin
--- xterm-115+/xtermcfg.hin Fri Sep 17 06:25:04 1999
+++ xterm-116/xtermcfg.hin Sat Sep 25 10:12:14 1999
@@ -47,6 +47,8 @@
#undef HAVE_TERMCAP_H /* AC_CHECK_HEADERS(termcap.h) */
#undef HAVE_TERMIOS_H /* AC_CHECK_HEADERS(termios.h) */
#undef HAVE_UNISTD_H /* AC_CHECK_HEADERS(unistd.h) */
+#undef HAVE_UTMP /* CF_UTMP */
+#undef HAVE_UTMP_UT_HOST /* CF_UTMP_UT_HOST */
#undef HAVE_WAITPID /* AC_CHECK_FUNCS(waitpid) */
#undef HAVE_X11_DECKEYSYM_H /* AC_CHECK_HEADERS(X11/DECkeysym.h) */
#undef HAVE_X11_XPOLL_H /* AC_CHECK_HEADERS(X11/Xpoll.h) */
@@ -58,6 +60,7 @@
#undef OPT_BLINK_CURS /* CF_ARG_DISABLE(blink-cursor) */
#undef OPT_BOX_CHARS /* CF_ARG_DISABLE(boxchars) */
#undef OPT_DEC_CHRSET /* CF_ARG_DISABLE(doublechars) */
+#undef OPT_DEC_LOCATOR /* CF_ARG_ENABLE(dec-locator) */
#undef OPT_HIGHLIGHT_COLOR /* CF_ARG_DISABLE(highlighting) */
#undef OPT_HP_FUNC_KEYS /* CF_ARG_ENABLE(hp-fkeys) */
#undef OPT_I18N_SUPPORT /* CF_ARG_DISABLE(i18n) */
@@ -78,8 +81,11 @@
#undef SCROLLBAR_RIGHT /* CF_ARG_ENABLE(rightbar) */
#undef USE_MY_MEMMOVE /* CF_FUNC_MEMMOVE */
#undef USE_OK_BCOPY /* CF_FUNC_MEMMOVE */
+#undef USE_SYSV_UTMP /* CF_UTMP */
#undef USE_SYS_SELECT_H /* CF_TYPE_FD_SET */
#undef USE_TERMINFO /* CF_FUNC_TGETENT */
+#undef USE_TTY_GROUP /* CF_TTY_GROUP */
+#undef UTMPX_FOR_UTMP /* CF_UTMP */
#undef const /* AC_CONST */
#undef size_t /* AC_TYPE_SIZE_T */
#undef time_t /* AC_CHECK_TYPE(time_t, long) */