Commit 38fb4802 authored by Nalin Dahyabhai's avatar Nalin Dahyabhai

Initial revision

parents
This diff is collapsed.
This tree will stay in disarray until I clean up some basic stuff. Please
contact me directly if you intend to hack on it.
Nalin (nalin@redhat.com)
SUBDIRS = src
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AS = @AS@
AWK = @AWK@
CC = @CC@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
MAINT = @MAINT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
STRIP = @STRIP@
VERSION = @VERSION@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
SUBDIRS = src
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS aclocal.m4 compile config.guess \
config.h.in config.sub configure configure.ac depcomp \
install-sh ltmain.sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$@ $(SHELL) ./config.status
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h
@if test ! -f $@; then \
rm -f stamp-h; \
$(MAKE) stamp-h; \
else :; fi
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h stamp-hT
@echo timestamp > stamp-hT 2> /dev/null
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@mv stamp-hT stamp-h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/./stamp-h.in
@if test ! -f $@; then \
rm -f $(srcdir)/./stamp-h.in; \
$(MAKE) $(srcdir)/./stamp-h.in; \
else :; fi
$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
@rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
distclean-hdr:
-rm -f config.h
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
# Avoid unsightly `./'.
distdir = $(PACKAGE)-$(VERSION)
GZIP_ENV = --best
distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
mkdir $(distdir)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \
exit 1) ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
&& rm -f $(distdir).tar.gz \
&& (test `find . -type f -print | wc -l` -eq 0 \
|| (echo "Error: files left after distclean" 1>&2; \
exit 1) )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive
-rm -f config.status config.cache config.log
distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-libtool clean-recursive dist dist-all \
distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-recursive distclean-tags distdir \
dvi dvi-am dvi-recursive info info-am info-recursive install \
install-am install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-libtool mostlyclean-recursive tags tags-recursive \
uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
* What is VTE?
- You could say that VTE is something of a research project of mine, based on
the simple question: "if programs can use a termcap file (through either
libtermcap or curses or ncurses) to determine how to drive a terminal, why
can't a terminal emulator use a termcap file to determine how to behave?"
* What does VTE include?
- VTE includes a library (libvte) which implements such a terminal emulator
widget for GTK+ 2.0, and a sample application (vte) which wraps that widget
in a GTK window.
* How does it work?
- The VTE library inserts terminal capability strings into a trie, and then
uses it to determine if data received from a pseudo-terminal is a control
sequence or just random data. The sample program "interpret" illustrates
what the widget actually sees after it filters incoming data.
* What's missing?
- Entries in the termcap file also don't contain the sequences which a terminal
is supposed to send to the application when a specific sequence is received
(for example, the query-cursor-position control sequence). I haven't figured
out how to do those yet.
- Most commands specific to Xterm or dtterm are recognized, but very few of
their behaviors are implemented.
- Certain termcap-specific commands aren't implemented yet. There are enough
to run ls, vim, less, and probably emacs and mutt, but more need to be
implemented.
- I'm not sure the widget implementation itself is correct. There are many
changes in going from GTK+ 1.2 to 2.0, and examples of the proper way to do
things is currently scarce, so some of it's guesswork.
- An actual property interface needs to be retrofitted over the various options
which are currently hard-coded at startup-time.
- The widget uses wide characters internally, converting from the narrow streams
it interfaces with for internal storage using iconv, but it doesn't handle
changes to the terminal encoding in the middle of a block of characters until
after it's processed the entire block, meaning that sometimes encoding isn't
handled properly.
- Selection and copy/paste support isn't started yet.
- Input method support isn't started yet.
- Mouse tracking isn't started yet.
This diff is collapsed.
#!/bin/bash -e
#PROTOTYPES="-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
WARNINGS="-Wcast-align $PROTOTYPES"
CFLAGS="${CFLAGS:--g3 -Wall $WARNINGS}" ; export CFLAGS
set -x
libtoolize -f
autoheader
aclocal
automake -a
autoconf
./configure --disable-shared --enable-maintainer-mode $@
/* config.h.in. Generated automatically from configure.ac by autoheader. */
/* Disable deprecated gdk features. */
#undef GDK_DISABLE_DEPRECATED
/* Disable deprecated gtk features. */
#undef GTK_DISABLE_DEPRECATED
/* Disable deprecated glib features. */
#undef G_DISABLE_DEPRECATED
/* Define if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define if you have the `getpt' function. */
#undef HAVE_GETPT
/* Define if you have the `grantpt' function. */
#undef HAVE_GRANTPT
/* Define if you have the `ptsname' function. */
#undef HAVE_PTSNAME
/* Define if you have the `ptsname_r' function. */
#undef HAVE_PTSNAME_R
/* Define if you have the `unlockpt' function. */
#undef HAVE_UNLOCKPT
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION
/* Enable debugging of unrecognized sequences. */
#undef VTE_DEBUG
/* Define if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
/* Use all features. */
#undef _GNU_SOURCE
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
This diff is collapsed.
AC_INIT(configure.ac)
AM_INIT_AUTOMAKE(vte,0.1)
AM_PROG_LIBTOOL
AC_EGREP_CPP(glibc,
[
#include <stdio.h>
#ifdef __GLIBC__
glibc
#endif
],
AC_DEFINE(_GNU_SOURCE,1,[Use all features.]))
AC_SYS_LARGEFILE
AC_PATH_XTRA
PKG_CHECK_MODULES(GLIB,[glib-2.0 gobject-2.0])
PKG_CHECK_MODULES(GTK, [glib-2.0 gobject-2.0 gtk+-2.0])
AC_DEFINE(G_DISABLE_DEPRECATED,1,[Disable deprecated glib features.])
AC_DEFINE(GDK_DISABLE_DEPRECATED,1,[Disable deprecated gdk features.])
AC_DEFINE(GTK_DISABLE_DEPRECATED,1,[Disable deprecated gtk features.])
AC_CHECK_FUNCS(getpt grantpt unlockpt ptsname ptsname_r)
AM_MAINTAINER_MODE
if test x$USE_MAINTAINER_MODE != x ; then
if test x$USE_MAINTAINER_MODE != xno ; then
VTE_DEBUG=1
fi
fi
if test x$VTE_DEBUG = x1 ; then
AC_DEFINE(VTE_DEBUG,,[Enable debugging of unrecognized sequences.])
fi
AM_CONFIG_HEADER(config.h)
AC_OUTPUT([Makefile src/Makefile])
This diff is collapsed.
This diff is collapsed.
Most of the documents in this directory come from Thomas E. Dickey's xterm pages
at http://www.invisible-island.net/xterm/.
ctlseqs.ms From the xterm source tree.
vttest.tar.gz From http://invisible-island.net/vttest/vttest.html
-- $Id$
Please report bugs to tom@invisible-island.net
This is a list of known problems with VTTEST:
+ SD and SU tests pass with dtterm, but not with VT420, which uses a
different scrolling model.
+ the skip_csi/skip_dcs functions are too permissive (they're allowing
either 8-bit or 7-bit responses).
+ when I test the DECRQSS responses on a VT420, they usually come back
with a code '1' (according to my manual, that's invalid), though the
data looks correct otherwise.
+ testing on a VT420 (console on VMS), there's a problem with the VT52 test:
I see highlighted glitches at the positions where erase line (ESC K)
controls are printed. Increasing the padding doesn't change this behavior.
$Id$
-------------------------------------------------------------------------------
20011130
add tests for xterm alternate screen
split-out xterm mouse tests into mouse.c menu.
20000208
change coding of wheel-mouse events, XFree86 xterm patch #126.
991228
modify to report wheel-mouse events for XFree86 xterm (patch #122).
991025
clarify top-level reports menu, which mixes tests that apply to various
models (VT100-VT420).
show decoded modifiers for the xterm mouse tests
991014
modify position of cursor for printer tests, so autoprint tests work
as expected.
correct escape sequence for mc_print_page().
991007
implement tests for Media Copy, e.g., transparent printing.
add examples for DEC locator events and DSR responses.
add DA responses for VT50 and VT55 (I'd forgotten that I once bought a
DECscope booklet).
990712
modify menu 3.12 (non-VT100 "Test Keyboard Layout with G0 Selection")
to show numeric codes as well as the actual character.
remove spurious test for SD which indicated that ISO's coding differed
from DEC's. The difference was a typographical error in ECMA-48
(reported by Paul Williams <paul@celigne.co.uk>).
990120
correct initialization of G0, for character-set shift-in/shift-out test.
change keyboard layout screen so that, when invoked from the character
set menu, it will display NRC characters properly.
correct logic of reset_charset() function, which used the wrong index
for do_scs() (reported by Jeffrey Altman).
set/restore character set for keyboard layout test in character-set
menu.
990119
add menu entry for enabling NRC mode, and (for VT220 & up) a menu
entry to allow testing keyboard layout with NRC mode enabled.
remove logic that sets NRC mode from setup for character-set tests,
since that interferes with new menu entry.
change delimiting characters for single-shift test screen from "{" and
"}" to "(" and ")" to avoid confusion (the DECterm program which I have
tested with maps the curly braces even in an unshifted state according
to the state of the NRC mode).
reset character-set of G0 after tst_vt100_charsets
restore terminal modes after answerback test.
980719
add tests to illustrate any-event and button-event tracking in XFree86
xterm.
980328
add logic to ensure we pick up the proper choice (e.g., in Norwegian)
where the choice depends on the terminal id (e.g., VT220 vs VT320).
minor correction for VT220 vs VT320 logic in do_scs for Latin-1 vs
British character set.
980327
implement test for single-shift (SS2 and SS3).
980326
implement shift-in/shift-out character-set tests oriented toward VT220.
several corrections to VT220 character-set tests, from reports by
Kenneth R. Robinette <zkrr01@mailbox.neosoft.com>:
+ move SCS strings to immediately before/after the tests to
avoid conflict with menu selection, and to keep the tests
distinct.
+ use 96-character control sequences only for character sets
(Latin 1), and 94-character control sequences for the
National Replacement character sets.
+ add ISO Latin-1 as a font option
+ add Swiss as a font option
980310
decode known values for secondary DA response.
make mouse-highlight test a little clearer by putting '+' marks at the
corners of the highlight-region.
970524
eliminate 'gets()' calls, which can overflow buffer.
970520
implement CF_FCNTL_VS_IOCTL check to make this build on SCO 3.x and
CLIX, which are both non-POSIX systems.
970518
add CF_POSIX_VDISABLE test to work around gcc 2.6.2 bug.
970419
correct sign-extension in xterm mouse-position
961215
correct err introduced between d960905 and v2_5 that broke test for IRM
mode by using decsclm (reported by Jeffrey Altman).
961125
add VT220 character-set tests for locking-shifts
VERSION 2.7
961113
corrected early return from test for DECRPM when badly-formatted
reply is received.
add DA1 codes from VT500 manual (from Jeffrey Altman).