ExpectTerm 1.0 beta                                   September 10 1992
Mark D. Weissman
Christopher J. Matheus
GTE Laboratories Incorporated

Don Libe's expect provides automated control of interactive programs.
expecTerm adds terminal emulation to expect.  expecTerm can emulate
any terminal for which terminfo and/or termcap information is
available.  The details are described in the manpage.  The manpage for
expect is also included in this distribution.

This release requires the installation of tcl version 6.2 or greater.
tcl6.4.tar is ftp-able from ceylon.gte.com.

This release does NOT require the prior installation of expect.  The
necessary code from expect (version 3.22.6) is included as part of the
expecTerm package.

expecTerm has been compiled and tested on:

	SparcStation 2 (OS 4.1.1)   (use Makefile)
	RS6000 (AIX Version 3.2)    (use Makefile.aix)
	MIPS (Ultrix V4.2)          (use Makefile.ultrix)

The Makefile has predefined setups for each of these platforms.  After
customizing the Makefile for your system, type "make install". If you
port expecTerm to another platform or define another terminal in
ExpectCap please send the diffs to Mark Weissman (weissman@gte.com).

It's VERY IMPORTANT either to install ExpectCap in the LIBDIR
directory specified in the Makefile or set the environment variable
EXPECT_DIR to point to the directory containing ExpectCap.  

There is a special ExpectCap file named ExpectCap.hp2624 that made be
used in the rare event you have an application requiring the local
modes of the HP Block Terminal 2624.

Two sample expecTerm scripts are provided: felix.exp and web.exp.
felix.exp is specific to a program here at GTE Laboratories and will
not function elsewhere; it is, however, a simple example of a useful
script.  web.exp accesses the webster dictionary at Rutgers to look up
definitions of words.  

Limitations:
	* only guaranteed to work with inter_select and pty_bsd versions
          (but other pty_*'s  *should* work also)
	* Compilation on a SUN requires use of the system 5 libraries 
 	  for proper support of curses: /usr/5bin, /usr/5include, /usr/5lib.
	* some terminal control sequences may not be available in
          the standard terminfo/termcaps files, and must be added to
          the ExpectCap file.  Additional sequences for xterm are
          included in the default ExpectCap file.
	* the ultrix version may not recognize the xterm termcap on
          some systems. fix: issue a "set term = vt100" or its equivalent
          before running expecTerm.

** PLEASE DIRECT ALL COMMENTS AND BUG REPORTS TO: **
   weissman@gte.com
   Mark Weissman
   GTE Laboratories
   40 Sylvan Rd.
   Waltham, MA 02254

===============================================================================
Excerpt from expecTerm.man:
===============================================================================

EXPECTERM(1)             USER COMMANDS               EXPECTERM(1)



NAME
     expecTerm -- expect with terminal emulation

SYNOPSIS
     expecTerm [ expect_options ]

INTRODUCTION
     expecTerm adds terminal emulation to Don Libes' expect  pro-
     gram.   The standard expect commands are all supported, mak-
     ing expecTerm compatible with existing expect scripts.

     expecTerm introduces five new commands:

          emulate adds terminal emulation to an existing  spawned
          process

          screen_info returns  information  about  an  emulator's
          screen and cursor

          set_master controls which emulator the user is viewing

          status_line displays a message  on  expecTerm's  status
          line

          term_info acceses terminfo capabilities and  may  issue
          them to the terminal

          term_switch provides access to terminal  switches  such
          as echo and logging.

     expecTerm adds several new options to the expect command  to
     support  screen-based pattern matching.  These are described
     in the COMMANDS section below.

     The timeout command  has  also  been  changed  to  accept  a
     decimal argument for time, e.g. set timeout 0.5. The follow-
     ing simple script illustrates the use of terminal  emulation
     in expecTerm:

          spawn csh
          emulate -term vt100
          send who\n
          expect -cols 0:3 jcr2 {puts stdout "jcr2 is logged in"}

===============================================================================

Copyright 1992 by GTE Laboratories Incorporated.

Portions of this work are in the public domain.  Permission to use,
copy, modify, and distribute this software and its documentation for
any purpose and without fee is hereby granted, provided that the above
copyright notice appear in all copies and that both the copyright
notice and warranty disclaimer appear in supporting documentation, and
that the names of GTE Laboratories or any of their entities not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.

GTE disclaims all warranties with regard to this software, including
all implied warranties of merchantability and fitness for a particular
purpose, even if GTE Laboratories Incorporated knows about the
purpose.  In no event shall GTE be liable for any special, indirect or
consequential damages or any damages whatsoever resulting from loss of
use, data or profits, whether in an action of contract, negligence or
other tortuous action, arising out of or in connection with the use or
performance of this software.

This code is based on and may include parts of Don Libes' expect code:
  expect written by: Don Libes, NIST, 2/6/90
  Design and implementation of expect was paid for by U.S. tax
  dollars.  Therefore it is public domain.  However, the author and NIST
  would appreciate credit if this program or parts of it are used.
