summaryrefslogtreecommitdiff
path: root/expect/HISTORY
diff options
context:
space:
mode:
Diffstat (limited to 'expect/HISTORY')
-rw-r--r--expect/HISTORY3042
1 files changed, 3042 insertions, 0 deletions
diff --git a/expect/HISTORY b/expect/HISTORY
new file mode 100644
index 00000000000..df0ea58c1e9
--- /dev/null
+++ b/expect/HISTORY
@@ -0,0 +1,3042 @@
+This is the HISTORY file for Expect. Modifications made by Cygnus
+support are in ChangeLog. - Don
+
+Date Version Description
+------- ------- ------------------------------------------------------
+6/15/98 5.26.1 Dean Sauder <dsauder@dcn.att.com> noted C-preprocessor lines in
+ configure must start in column 0.
+
+5/18/98 5.26.0 Kevin Schleicher <kms@lucent.com> noted xkibitz leaves xterms
+ if first xterm is HUP'd. Kevin also noticed a resource leak
+ in dislocate. Both problems fixed.
+
+ Robbie Gilbert <rwg@fns.com> noted expect_devtty was logging
+ devtty (twice) to stdout. Fixed.
+
+ Added support inttypes.h, required on Solaris 5.6 for termios.h
+
+ Kristina <kristina@greatbasin.net> noted that tip failed when
+ spawned from a cgi script (BSDI BSD/OS 3.1 i386) because tip
+ didn't see a definition for SHELL and HOME. They need to be
+ set. (Doesn't have to be anything useful; the empty string is
+ fine!) Solution: documented this in Expect man page.
+
+ Zachariah Baum <zack@studioarchetype.com> noted that config.sub
+ didn't grok Intel 686. Found a newer version that did in
+ autoconf-2.11.
+
+ POTENTIAL INCOMPATIBILITY: Changed interact so that it observes
+ parity while matching. It used to ignore parity. This impacts
+ people who use interact to connect through to a real serial
+ device that generates parity. If matches don't work, use the
+ exp_parity command. (This fix should have been made years ago,
+ when the exp_parity command was added. It is now absolutely
+ necessary now that people are doing matching with 8 bits.)
+
+ After the second occurrence of a system admin who broke grantpt
+ by removing setuid from the relevant system util, I added an
+ explicit test and explanation.
+
+ Disabled history in xkibitz. There seems to be some new
+ incestuous relationship between history and unknown now so that
+ redefining unknown leaves Tcl calling history but without
+ knowing what it is because it's never been defined (as it would
+ be by the traditional unknown).
+
+ Fixed quoting bug in passwd.cgi example.
+
+9/28/97 5.25.0 Switched back to hand-generating pkgIndex.tcl file after too
+ many complaints about problems running pkg_mkIndex.
+
+8/12/97 5.24.1 Chris Schanzle <chris@goof2.ncsl.nist.gov> pointed out that
+ install fails on a virgin file system because install_shared_
+ lib depends on a directory that hasn't yet been created.
+
+ Larry Virden gave corrections to URLs in README.
+
+8/21/97 5.24.0 Bo Johansson <bo.johansson@mbox2.swipnet.se> noted TclWordEnd
+ had changed and provided fix. This caused crash in expect.
+
+8/18/97 5.23.0 This version supports Tcl 8.0 and continues support for 7.6.
+ Refs to Tcl_Files dropped. inter_return and close became
+ obj cmds. Rewrote notifier (again) to accomodate new notifier
+ model. Lots of other miscellaneous tweaks. Also see debugger
+ HISTORY file.
+
+ Finally removed long-deprecated commands "continue -expect",
+ "send_spawn", and "getpid" and their exp_ versions.
+
+ Harold Brauer <harold.brauer@canada.cdev.com> reported problems
+ with an old SCO system (i386-unknown-sco3.2v5.0) that turned
+ out to be due to a typo in the configure script.
+
+ Jimmy Aitken supplied mods to config.guess for brand new and
+ very old Pyramid systems.
+
+ Buz Owen noted memory leak in use of expect_background (with
+ no args).
+
+ Jonathon Kamens noted provided patch for pty_termios.c for
+ modern Sequent (which ptmx).
+
+ Jonathon Kamens noted that TCL defined RANLIB for shared lib
+ (if --enabled-shared) which isn't appropriate when Expect tries
+ to build both shared and unshared libs.
+
+ Jonathon Kamens noted that shared lib config didn't work on
+ SunOS. I had used Tcl's SHLIB_SUFFIX instead of its
+ SHARED_LIB_SUFFIX.
+
+ Qingyi Liao <liao@casabyte.com> encountered core dump when
+ exp_bg -i $exp_spawn_any was retracted. Bug in ecmd_remove_fd.
+
+ Fixed a bunch of bugs in example/gethostbyaddr.
+
+ Josef Sachs noted that stty cannot be caught when no /dev/tty.
+ It calls exit instead of returning an error.
+
+ Gordon Chaffee <chaffee@plateau.CS.Berkeley.EDU> patched
+ Exp_WaitCmd - it was zeroing pid element instead of wait.
+
+ Bob Manson <manson@cygnus.com> provided fix for HP on which it
+ was possible for timer to be mistakenly deleted in
+ exp_get_next_event while processing a pty open event.
+
+ Jeff Slonaker <JSlonaker@osc.uscg.mil> noted that exp_poll.c
+ had wrong signature and poll had arguments out of order! That
+ would suggest that no one has ever used exp_poll.c before...
+
+ 5.22.1 Larry Virden noted that TCL_BUILD_LIB_SPEC can't be used if
+ build directory has been removed. Added check to configure.
+
+ Worked more on package command. Buz Owen pointed out that my
+ code wouldn't support redefinition of TCL_LIBRARY. Bumped up
+ minor version to avoid package loading mishaps.
+
+ Nigel Standing <nigel@idiom.com> noted lack of C-u binding in
+ tkpasswd - must be due to change in tk4.2.
+
+ Forced env(SHELL) to be defined inside kibitz for when using
+ with CGI.
+
+ Charles Packer <packer@fermi.gsfc.nasa.gov> noted that CRAY-YMP
+ needed sys/types.h in exp_console.c
+
+ Extra / when developing defn of TCL_LIBRARY. Shouldn't
+ actually cause any problems though.
+
+2/3/97 5.22.0 Fixed package support - again. Sigh.
+
+ David Pasirstein <dpasirst@sun.cs.wcupa.edu> noted that RedHat
+ Linux 2nd passwd prompt requires slightly different pattern -
+ modified mkpasswd and tkpasswd.
+
+ Toshiaki Nomura <nom@yk.fujitsu.co.jp> provided patch to
+ config.guess for Fujitsu DS/90.
+
+ Roger Brooks <R.S.Brooks@liverpool.ac.uk> noted C lib passed
+ argv[0] instead of file to first arg of execvp.
+
+ Cary D. Renzema <caryr@mxim.com> noted that a simple puts -nnl
+ might never appear - Expect closes all of its fds before Tcl
+ gets a chance to flush. Stdout is the obvious problem since
+ Expect thinks it can cavalierly close that too. Hmm.
+
+ At request of Tom Tromey, solved possible missing tclRegexp.h
+ problem by having Expect install it. Cleaned up TCLHDIR and
+ TCL_LIBRARY hackery in Makefile.
+
+12/27/96 5.21.7 Nelson Beebe noted unset is not portable in /bin/sh. Removed
+ and converted everything to understand CONFIG_SHELL.
+
+ Modified cryptdir to strip out shell metachars from filenames.
+
+12/10/96 5.21.6 Michael Schumacher noted that some systems cannot build
+ unshared libs from shared objects. Chose to go with BLT's
+ approach of building shared objs in separate shared directory.
+
+ Buz Owen <ado@bbn.com> noted that "package require Expect"
+ didn't work because it looked for Expect lib in the wrong
+ place (well, the "documented" place). The problem is that Tcl
+ insists libraries should be in the same directory as the
+ pkgIndex.tcl file while the natural thing to do would be to
+ split them up and put the .tcl file in the arch-indepent
+ app-specific scripts dir and the lib in the arch-dependent
+ common dir. Sigh. If this is ever fixed/changed, the
+ instructions in the Makefile should be fixed.
+
+ <Van.Trinh@siemenscom.com> noted that expect library name
+ exceed filename max on some systems - like his old SCO.
+
+12/4/96 5.21.5 Michael Schumacher noted new configure wasn't passing on Tcl's
+ shared lib cflags.
+
+10/26/96 5.21.4 Achyutram Bhamidipaty <ram@epic.com> ran into bugs in Expect's
+ file event handler which prevented expectk from entering
+ implied event loop. Also found one memory problem - thanks
+ to CenterLine.
+
+ Tom Tromey fixed handling of --enable-shared when overriding
+ Tcl's value et al. Tom also added missing "else true" to
+ Makefile: "In a Makefile, you have to always supply an "else"
+ clause for an "if", to work around a bug in certain versions of
+ sh. In some versions of sh, an "if" whose test fails will
+ return the status of the test if there is no "else" clause --
+ causing spurious make failures." See ChangeLog.
+
+10/18/96 5.21.3 Example directory was missing several examples.
+
+10/17/96 5.21.2 Debugger section of configure file corrupted.
+
+10/10/96 5.21.1 Oops, distribution unpacked into wrong version.
+
+ Tom Tromey provided patch for stty to understand OSF 4.0.
+
+9/28/96 5.21.0 Official Expect release for Tcl 7.5.
+
+ Junio Hamano <junio@twinsun.com> provided fixes for aclocal
+ for with_tcl/tkconfig.
+
+ Roger Billau <rfbilla@amtnet.sandia.gov> noted that C library
+ didn't work on Solaris 2.5. Turns out Solaris requires fflush
+ be called between input and output operations on FILE pointers.
+
+ Lots of Cygnus mods - see ChangeLog.
+
+ Sid Cowles <scowles@incyte.com> and Hans Riethmann
+ <hans@F1.telekurs.ch> noted relative path specs of tcl-includes
+ (and others) caused debugger config to fail since it is at a
+ different directory level.
+
+ Al Snow <asnow@fuwutai.att.com> noted -C failed due to typo.
+
+8/17/96 5.20b18 Andrew Rakowski <andrew.rakowski@nr.usu.edu> noted no defn of
+ LIB_RUNTIME_DIR, a creation of Tcl7.5p1.
+
+ Tom Tromey added -v to Expect and -version to Expectk.
+
+ Ben Boule <bboule@xylogics.com> noted that Interactive (IUNIX)
+ requires 9 char max length after -l. Looks like squeezing out
+ the "." is sufficient. He also noted that IUNIX needs -Xp in
+ LIBS to find strftime. This test should really be done by Tcl.
+
+8/12/96 5.20b17 Glen Biagioni <glen@prosoft.com> noted interact -re "A(xx)"
+ failed to match. Problem turned out to be that Tcl 7.5 changed
+ a constant which in the regexp code, which Expect didn't see
+ because it provides its own defn for interact. Alas, the one
+ thing Expect reuses from Tcl was where the change was. This
+ should really be fixed so Expect doesn't rely on Expect in this
+ way, but there's no point in putting in a lot of work on regexp
+ when we're anticipating a new one soon anyway.
+
+ Bjorn S. Nilsson <nilsson@nbivms.nbi.dk> noted fixcat hangs.
+ Turned out that new Tcl (7.5p1) now waits for all children to
+ disappear. But Expect still had a handle to a child. I added
+ an exit handler to close the connections before Tcl's exit
+ handler.
+
+ Tom Tromey provided patch to support augmenting CFLAGS on
+ Makefile invocation.
+
+ Gary Merinstein <gmerin@panix.com> noted that configure failed
+ on his linux unless it had --enabled-shared. Not quite sure
+ about how this can be, but the flag wasn't being passed to the
+ debugger's configure, so I've fixed that and hopefully this
+ will cure the original prob.
+
+ Added initial announcement of full version at beginning of
+ configure. This should ease my pain in responding to people
+ sending me config output without including version numbers.
+
+ Tom Tromey noted expect_cf.h was machine dependent. Fixed
+ expect_comm.h so that it no longer required expect_cf.h (which
+ should be renamed to indicate it is no longer public).
+
+ Bart Robinson <lomew@cs.utah.edu> provides mods to support
+ openpty() in FreeBSD/NetBSD. Without openpty, Expect doesn't
+ see the full pty namespace (ptyX[0-v]).
+
+7/15/96 5.20b16 Nathan Estey <nfe@the-hermes.net> noted that Makefile failed
+ on SunOS when shared libs were enabled due to incomplete dot
+ stripping in lib prefix.
+
+7/6/96 5.20b15 Malcolm Tredinnick <malcolmt@geko.net.au> noted that shared lib
+ has to be installed before building expect. Also noted that
+ ldconfig should be run on Linux 2.0 systems and maybe others.
+
+6/25/96 5.20b14 Tim Mooney provided fixes to obey --includedir and similar
+ configure conventions.
+
+6/25/96 5.20b13 A bug when installing Expect using new _installed targets.
+
+6/24/96 5.20b12 Numerous complaints from Solaris users about shared libraries.
+ Unfortunately, no one is giving me configure-ready fixes so
+ (and Tk's configure seems to have bugs as well) so fixing
+ these is like throwing darts.
+
+ Stan Brown <stanb@netcom.com> noted noidle example broke when
+ fed "-".
+
+ Gordon Irlam <gordoni@cygnus.com> noted typo in install-sh.
+
+ David Sheinberg <sheinb@bcmvision.neusc.bcm.tmc.edu> noted no
+ args test for spawn -open/leaveopen.
+
+ Misc patches from Tim Mooney to pacify much of gcc -wall.
+
+ Kayvan Sylvan insists Linux stty reads from stdin so added
+ hardcoding to configure.in for that. In xkibitz, Linux stty
+ -raw didn't disable all post-processing. How odd that it is
+ not a problem in interact. In the meantime, added extra stty
+ to xkibitz to do what was missed.
+
+5/30/96 5.20b11 Kayvan Sylvan <kayvan@sylvan.com> noted quoting bug in
+ autoexpect.
+
+5/22/96 5.20.b10 Patches from Larry Virden in Makefile.in and exp_int.h
+
+5/20/96 5.20.b9 Too many substitutions in configure caused sed failures on
+ DEC (limit 99) and HP (100). Commented out definitions
+ that weren't absolutely critical. Hopefully, this gets us
+ under the limit but can't be sure since there's no easy way
+ of knowing.
+
+ Numerous mods from Mark Diekhans to support clist-style ptys
+ on SCO OpenServer. (He says SVR4 ptys are broken on that
+ platform.)
+
+ Simon J. Gerraty <sjg@zen.void.oz.au> says that write() returns
+ 0 inside of exact_write on SunOS. This is outside the SunOS
+ spec so of course we have no idea what's going on. So I added
+ code to try and recover from (or at least warn of) this.
+
+ Tom Tromey unified decls of errno to #includes.
+
+5/13/96 5.20b8 Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> pointed out
+ backwards stty test - this would have corrupted every platform!
+ He also pointed out that alpha-dec-osf3.2 (3.2c) complained
+ too many args to sed. Someone earlier said similarly about
+ HPUX 10, but I assumed it was the quotes in the weird stty
+ flag I was passing, so that "fix" wasn't. GNU sed has no
+ problem, but obviously this is not sufficient for many people.
+
+5/10/96 5.20b7 Renamed/numbered versions so that it's easier for others to
+ track.
+
+ Upgraded to autoconf 2.10.
+
+ Matthias Kurz <mk@baerlap.north.de> noted Makefile problems
+ with final Tcl7.5.
+
+ Blair Zajac <blair@gps.caltech.edu> noted configure mishandled
+ stty defaults on HP and shared lib must be installed executable
+ on HP.
+
+ autoconf insists on adding -O to CFLAGS when using gcc. Ack!
+
+3/23/96 5.20b1 Beta release 1 of Expect for Tcl 7.5.
+
+ Michael Hunter <mphunter@qnx.com> provided misc mods for QNX.
+
+ Various people reported problems with IRIX. Removing from the
+ stty list fixed the problem. Similar problem with Solaris.
+
+ Added explicit close to autoexpect. Added a mechanism for
+ enabling conservative mode after script is generated.
+
+ Hal Schechner <hal-j@netusa.net> pointed out passwd.cgi must
+ meet passwd's requirement that it not be run by an unrelated
+ user. Easy enough - just do an su first.
+
+3/26/96 5.20a5 Alpha release 5 of Expect for Tcl 7.5b3.
+
+ Added example passwd.{html,cgi} to change a password.
+
+ Many fixes from Stephen Williams <steve@icarus.com>
+ and Jonathon Kamens for Makefile and configure.
+
+3/22/96 5.20a4 Alpha release 4 of Expect for Tcl 7.5b3.
+
+ Added version number to lib directories (POTENTIAL
+ INCOMPATIBILITY).
+
+ Revised gethostbyaddr example - evidentally hadn't worked for
+ some time!
+
+ Jan Nijtmans <nijtmans@nici.kun.nl> provided pkgIndex.tcl.in.
+ Renamed Exp_Init to Expect_Init to support package cmd.
+ Provided #define so that Exp_Init will continue to work.
+
+ Revised exit handling so that it works if Expect is dynamically
+ loaded.
+
+ aclocal.m4 Patches from Tom Tromey.
+
+3/15/96 5.20a3 Alpha release 3 of Expect for Tcl 7.5b3.
+
+ Edward Haletky <elh@astroarch.com> noted that Machten required
+ inclusion of types.h in exp_tty_in.h.
+
+ Added various patches from Rob Savoye. One incompatibility
+ is that the static lib now ends with the version number.
+
+ Added support for TCL_SHLIB_{LD_LIBS,VERSION} in Tcl b3.
+
+ Jonathan Karges <J.Karges@dkfz-heidelberg.de> found that clib
+ was timing out immediately on -1.
+
+3/6/96 5.20a2 Alpha release 2 of Expect for Tcl 7.5b2.
+
+ Leland Joseph <leland@tec.tetd.bellcore.com> noted
+ expect-tests.exp exceeds the 14 character filename length.
+
+ Added config.{sub,guess} to support AC_CANONICAL_....
+
+ Rewrote much of aclocal, configure.in, and Makefile.in
+ to handle Tcl/Tk config.sh files and shared/dl support.
+
+ Simplified varargs/stdarg mess for Expect's C library.
+
+ Threw away closetcl junk. No longer required because
+ Tcl finally started doing close-on-exec.
+
+ Incorporated various fixes from Tom Tromey at Cygnus.
+ See ChangeLog for details.
+
+ Added require/provide support.
+
+ Rejiggered event handling to support new Tcl_File interface.
+
+ Removed libexpectk. Because event loop was moved into Tcl, it
+ is no longer necessary for it to be different than libexpect.
+
+ Removed all support for earlier versions of Tcl and Tk.
+
+ Numerous misc patches from Paul Eggert <eggert@twinsun.com>
+ most to support Tcl 7.5.
+
+ Arnold Robbins supplied yet another patch to fix earlier
+ problem noted by Hume Smith.
+
+ David Engel <david@ods.com> reported problem with Linux dumping
+ core. CenterLine, of course, immediately found the problem -
+ uninit'd lowercase buffer.
+
+ Peter Haggerty <haggerty@borg.lib.vt.edu> noted that his Next
+ died in cron. It seems that Next doesn't support O_NOCTTY
+ (even though the man pages says it does) and so during pty
+ testing, control terminal would get allocated and then kill
+ the process (by generating a HUP) when deallocated. Avoid
+ by ignoring HUP when doing pty testing on such machines.
+
+1/3/96 5.19.0 Fixed bug that made expect report wrong string when using
+ a terminating anchor in a positive-length glob match,
+ reported by Graham L. Randall <grandall@nit.airtouch.com>.
+
+ Added rlogin-display to included examples. rlogin-display
+ automatically propagates your $DISPLAY when you rlogin.
+
+ Hume Smith <hclsmith@localhost.isisnet.com> noted problem
+ with day of the week calc at year end/start. Arnold Robbins
+ supplied fixes.
+
+ Jonathan Kamens provided fix to make sync byte reads
+ recover from EINTR.
+
+ Henry Spencer noted errant line of spaces in Makefile.
+
+10/21/95 5.18.1 Began adding support for tcl7.5a1/tk4.1a1. (not finished!!)
+ - Make aclocal understand new Tcl/Tk directory layout
+ for finding tclInt.h and private libraries.
+ - Added support for Tcl_AsyncReady.
+
+ Paul Townsend <aab@aab.cc.purdue.edu> noted that distclean did
+ not remove some config cruft. Also recommended unsetting
+ M*FLAGS that cause make called from configure to fail.
+
+ Various fixes from Cygnus. See Changelog.
+
+ Deleted "-" before rm in loop in deinstall in Makefile as per
+ Doug Claar <dclaar@hprtnyc.ptp.hp.com>. Doug also found prob
+ involving recent STTY fix. Symptom was that pty wasn't
+ correctly inited in cgi scripts on HPs - and Cray pty support
+ blew up entirely.
+
+ Added exp_ prefix to tests so that they can be run with other
+ extensions.
+
+ Seth Ornstein <pp001465@pop3.interramp.com> noted bug in the
+ way rftp detected symlinks.
+
+ Upgraded to autoconf 2.4. This fixes a bug in AC_PROC_CPP
+ which blew up when CPP was defined in the environment. Noted
+ by John Pfuntner.
+
+ Jonathan Kamens noted that library didn't check return pipe()
+ return value.
+
+ Added vrfy example.
+
+ Przemek Klosowski <przemek@rrdjazz.nist.gov> Irix 6.0 fails
+ to use ptys that have been used by someone else. SGI admitted
+ this is a bug and the solution is to upgrade to 6.1.
+
+ Yoad Grinberg noted "expect -timeout" mistakenly ate next arg
+ as pattern.
+
+8/24/95 5.18.0 Wayne Christopher noted that the way exp_eval_with_one_arg
+ modifies the original argv makes the ICEM Tcl compiler unhappy
+ so I rewrote it to avoid that.
+
+ Ian Zimmerman <itz@rahul.net> found that a braced arg list of
+ a single pattern beginning with a \n caused expect to reeval
+ for multiple args twice. I added a -nobrace flag that expect
+ and/interact can use internally to prevent this.
+
+ Florian La Roche <florian@jurix.jura.uni-sb.de> noted a few
+ glitches in the way -ltcl was searched for in aclocal.
+
+ Joachim Posegga <posegga@ira.uka.de> noted lack of Tcl internal
+ includes should be an error during configure.
+
+8/10/95 5.17.8 Martin Wunderli <wunderli@baloo.limmat.net.ch> found missing
+ quote in config.
+
+ Danny Faught noted problems in Makefile when passing STTY defn
+ with quotes. Created another a STTY-less CPPFLAGS for cases
+ where additional reexpansion occurs.
+
+ Danny Faught noted bug in error handling for checking
+ permission problem with /tmp.
+
+8/1/95 5.17.7 Todd Rimmer <trimmer@mantis.ssw.com> noted that HP 10 with
+ optional streams package has both PTYM and PTMX which conflict
+ in pty_termios.
+
+ Rainer Wilcke provides fixes: scripts not listed as dependency.
+ distclean target used Makefile after deleting, and many fixes
+ to man pages.
+
+ Saad Mufti <mufti@hobbit.pls.com> noted bug in how C library
+ handled polling (when handling multiple fds).
+
+ Jeff Bowyer noted more autoexpect bugs.
+
+7/22/95 5.17.6 More features added to autoexpect (now version 1.3).
+
+ Sanjay <sanjay@clef.lcs.mit.edu> noted bug in TCLH config macro
+ which caused it to use 7.3 instead of 7.4.
+
+ Rodney Barnett <rlb@us.teltech.com> noted expectd.proto had a
+ few refs to interact_out where it should've had expect_out.
+
+ Terry Rhodes <tbr@88open.org> noted that Expect returned a 0
+ exit status upon syntax error unlike tclsh and wish.
+
+ Fred Obermann <fredo@conan.ids.net> noted that Unixware 2.01
+ native development tools don't permit configure to find memcpy
+ because memcpy is handled specially by the compiler and it
+ complains when it finds configure's default test with no args.
+ Changed to a hand-crafted test with args.
+
+7/12/95 5.17.5 Jeff Bowyer <jbowyer@muni.cz> noted minor bugs in autoexpect.
+
+ Rob Saul <robs@sco.com> noted that configure failed on SCO OSR5
+ because trap requested by Cygnus (to allow config in bg) used
+ higher traps than SCO sh knows about.
+
+ Changed "can't happen" to "xmkmf is broken" when configure
+ fails to compile simple C-Tk program.
+
+ John H. Chauvin <jchauvin@netcom.com> noted exp_tty_current and
+ cooked raised multiple def errors on SGI 5.3 with native cc.
+
+7/9/95 5.17.4 Wolfhardt Lotz <s11@blue.lrw.uni-bremen.de> noted Solaris
+ doesn't do case-insensitive man page lookups so I lowerized
+ the beginning of the .SH lines.
+
+ Henry Spencer noted unbackslashed quotes in the autoexpect
+ boilerplate.
+
+7/3/95 5.17.3 Modified VARARGS decls to support new Tcl 7.4 definitions.
+
+ Fine-tuned aclocal so that it would prefer later versions.
+
+ Added autoexpect example and man page.
+
+6/30/95 5.17.2 select-based dsleep() was returning an internal expect-style
+ return code instead of a Tcl-style.
+
+6/30/95 5.17.1 Kannan Varadhan <kannan@isi.edu> noted aclocal didn't
+ look in right directories to find Tk.
+
+6/30/95 5.17.0 Modified regexp interfaces to support Tcl 7.4b4.
+
+ Mods from Tony Isles <ittony@traf.com> for Sequent Dynix/ptx
+ V2.1.5 (which is really old).
+
+ Michael Schumacher <hightec@rz.uni-sb.de> noted that Solaris
+ 2.4 header files require __EXTENSIONS__ for all sorts of
+ traditional but non-standard definitions.
+
+ Modified aclocal to support new Tcl/Tk library names.
+
+ George Forman <forman@cs.washington.edu> requested support in
+ C lib for fds that already exist. I added exp_spawnfd.
+
+ Fixed bug preventing signal rearming on Linux (using SV-style
+ signal handling).
+
+ Wayne Christopher <wayne@pmac.icemcfd.com> noted missing interp
+ in call to exp_error.
+
+ Added null support to interact's exact matching.
+
+ Bruce Jerrick noted INSTALL was being used rather than
+ INSTALL_PROGRAM/DATA.
+
+ Dennis Ferguson <dennis@mci.net> noted that on Solaris 2.4
+ close(pty) occasionally returns EINVAL.
+
+ Added tests so that if we can't get a pty, we can give the user
+ much more help with what to do about it.
+
+ Steven Byrnes noted that Solaris has replaced TIOCCONS with
+ SRIOCISREDIR interface.
+
+ Technically speaking, interact shouldn't do buffer-shuffling
+ but I've added as a fail-safe mechanism to catch people who
+ use preposterous patterns.
+
+ Alan Heckert <heckert@tiber.nist.gov> noted missing decl in
+ Convex pty support.
+
+ Fixed all expectk examples for Tk4.
+
+ Bryan S. So <so@cs.wisc.edu> noted that interact -o eof failed
+ if an unbuffered pattern was partially in progress.
+
+ Added -timeout flag to expect command to override timeout var.
+
+ John Pfuntner <pfuntner@VNET.IBM.COM> noted that OpenMVS did
+ not notice @ inside of Makefile SETUID macro as suppression
+ but instead treated it as part of the program name.
+
+ Jim Porter <James.W.Porter@att.com> noted that exp_free_i freed
+ the variable name even if not allocated.
+
+ Yet more mods to aclocal and various .in files from Rob Savoye.
+
+4/21/95 5.16.3 Matija Grabnar <Matija.Grabnar@ijs.si> noted that sleep maxed
+ out after about 36 minutes. Turned out to be a poor assumption
+ in some interfacing code.
+
+4/19/95 5.16.2 rbd <uport@netcom.com> noted tcl_RcFileName multiply defined
+ when compiling with Tk4.
+
+4/16/95 5.16.1 Robert Nicholson <robert@steffi.dircon.co.uk> noted NextStep's
+ sys/wait.h is not POSIX-like so WNOHANG fails to get a defn.
+
+ Alexandre Rafalovitch <arafalov@socs.uts.edu.au> discovered
+ example on dislocate man page didn't work. I fixed it.
+
+4/8/95 5.16.0 gcc 2.3.3 complains about internal errors so I figure: time to
+ upgrade. Switched to Cygnus 2.6-95q1. Works now but now
+ complains about wait status. I trashed all the gory wait
+ status configure code and adopted autoconf's suggestion about
+ refusing to use sys/wait.h if not POSIX.1 compatible. Nice!
+
+ Jeffrey C Honig <jch@nr-tech.cit.cornell.edu> requested a -gmt
+ flag for timestamp command.
+
+ Chuck Ocheret <chuck@gigadactyl.com> noted that expect -pty
+ fails. Problem is that Tcl's exec blindly closes all the fds
+ between 3 and its own highest fd. See comments in code.
+
+ Loris Caren <loris@caren.demon.co.uk> noted eof in fg bombs on
+ Linux. Turns out to be analogous to eof in bg problem fixed
+ in 5.14.0.
+
+ Upgraded to autoconf 2.3. Continued making changed to config
+ script to take advantage of autoconf 2 capabilities.
+
+4/1/95 5.15.4 Steve Simmons noted .x remnant from earlier dir install proc.
+
+3/31/95 5.15.3 Forgot to export TCLHDIR defn when configuring debugger.
+
+3/29/95 5.15.2 Steve Simmons <scs@aisinc.com> noted Makefile multiple defined
+ distclean and it might be nice to provide aclocal.m4 even
+ though it isn't normally used.
+
+ cevans@resdev1.ppco.com added prompts to passmass for AIX.
+
+3/27/95 5.15.1 Fixed tkterm script - inadvertently left tic debugging on.
+ Also add support for Ctrl-space and Ctrl-@ as requested by
+ Zbigniew Wieckowski <wieckows@cs.umn.edu>.
+
+ Larry Virden asked that configure also check for .so libs.
+
+3/23/95 5.15.0 Everitt Beers <ebeers@scf.usc.edu> noted that Linux doesn't
+ support kill -STOP 0. Changed 0 to [pid].
+
+ zhengping (z.) you <you@bnr.ca> found bug where a bg expect did
+ not rearm a spawn id after a first bg expect (and another one)
+ to clear it.
+
+ Elliott Wolin <wolin@physics.wm.edu> noted that tkterm
+ complained if tic wasn't found. I'll have it override the
+ user misconfig in that case. Also noted that interact failed
+ on AIX. Evidentally, my new config tests for ISC found that
+ AIX looked just like it. Added additional test for tcsetattr
+ to distinguish them.
+
+ Rob Savoye asked for Dbg config.in to be distributed. Rob
+ supplied numerous other mods: install-sh replaced install.sh,
+ mkinstalldirs, testsuite mods, new aclocal.m4, support for
+ recursive make.
+
+ Fixed bugs in configuration of debugger.
+
+ Disabled configure's file-caching.
+
+ Kannan Varadhan <kannan@isi.edu> noted incorrect diag reporting
+ TCLHDIR in configure.
+
+ Marty Olevitch <marty@howdy.wustl.edu> noted that DEC Alpha
+ did not sleep correctly because configure didn't find sleep
+ and found poll (which is broken). Problem turned out to be a
+ bug in autoconf's AC_CHECK_FUNC. Got patch from Jim Meyering
+ <meyering@comco.com>
+
+ Fixed config probs for Edward Huie <huie@net.com> on Mac SE/30,
+ System 7.1, Tenon Intersystems' MachTen 2.1.1-G (BSD 4.3 on
+ Mach kernel) and MachTen X11R4 3.1.
+
+ Moved libraries forward in configure to allow for AC_CHECK_FUNC
+ to succeed when funcs are in other libraries.
+
+ Made configure test for Linux and unset CFLAGS=-g if so.
+
+2/25/95 5.14.3 Larry Virden noted configure was missing brackets in raw shell
+ cmds evidentally due to m4 interpretation.
+
+2/24/95 5.14.2 Larry Virden noted configure was not correctly rewriting from
+ --(exec-)prefix. Due to new autoconf. Also noted glob was
+ finding tclX directory.
+
+ Hal Peterson noted that because configure now actually attempts
+ a link before using a library, the code to check for -ltk would
+ have to worry about all the other utility libraries first.
+
+2/23/95 5.14.1 Hal Peterson noted that configure.in checked incorrectly for
+ tcllib.
+
+2/22/95 5.14.0 Jamal <root@lonestar.tlug.org> noted Linux has tic in a
+ different place than on my system - affected tkterm script.
+
+ Xiaokun Zhu <xiaokun@stats.gla.ac.uk> noted problem on DEC
+ Alpha OSF/1.3 evidentally due to backwards decl of index macro.
+
+ Greg McFarlane <gregm@nms.otc.com.au> noted that large args in
+ send cmd cannot be passed blindly to exp_error.
+
+ david d `zoo' zuhn <zoo@armadillo.com> requested modifying
+ configure so that it did not require Tcl/Tk to be built - only
+ configured. This means that it may not find installed
+ libraries. Hopefully, this won't cause anyone problems but its
+ not my preference.
+
+ Fixed error which caused spurious eof when changing patterns
+ in expect_bg.
+
+ Moved to autoconf-2.1 and m4-1.4. Rewrote a LOT of the config
+ file. Finally got my hands on an ISC box and fixed configure
+ for that.
+
+ Tony Booker <tb@sequent.com> provides mods for Sequent ptx 2
+ and 4.
+
+ Jeffrey Friedl <jfriedl@nff.ncl.omron.co.jp> provided fixes for
+ timezone handling in config and exp_strf.c.
+
+ David Schmitt <dschmitt@netcom.com> noted that library did
+ not detect eof on HP. I didn't think this was necessary for
+ read() but it evidentally is. I added the support for raw fds
+ although it is not obvious to me how to do it for FILEs.
+
+ James Carter <jimc@math.ucla.edu> noted expect_after couldn't
+ worked in the exp_bg because I had accidentally written BEFORE
+ instead of AFTER when checking the cases. He also found that
+ the eof body could be trashed in an exp_bg.
+
+ Ousterhout apologized for the Tcl7.4 change I noted in 5.13.1
+ and said he will undo it.
+
+ Eric Frias <efrias@vt.edu> found library bombed after timeouts.
+ exp_match_end was not updated - which makes sense since there
+ was no match - however the following expect call assumed that
+ exp_match_end was meaningful in order to do its buffer
+ shuffling.
+
+ Jonathan Kamens supplied new configure test for REARM_SIG after
+ noting old could fail if limit prevented creation of core file.
+ He also noted REARM_SIG had accidentally been commented out
+ of cf file.
+
+ Vincent D. Skahan <vds7789@aw101.iasl.ca.boeing.com> noted that
+ Apollo's stty reads stdout and doesn't complain if its bogus.
+
+ Yoad Grinberg <grinberg@vnet.ibm.com> noted that SIGCHLD does
+ not work for forked processes, only spawned processes. Fixed
+ this and added counting to make sure none get lost.
+
+ Hal Peterson contributed mods for Unicos. He noted that
+ configure should be more careful adding libs to the link line.
+ On the Cray, non-existent libs generate warnings which are not
+ detected by configure but which annoy make.
+
+ Bela Gazdy <bela@euch3e.chem.emory.edu> noted /etc/resolv.conf
+ misspelled in kibitz.
+
+ Rainer Wilcke noted that "send -null/break" mishandled return
+ code, and these and send/expect_tty were not in man page.
+
+ Dvorak example was missing -- in send -.
+
+1/12/95 5.13.2 Peter Wassenaar <peterw@stack.urc.tue.nl> noted that kibitz
+ didn't work on AIX. My fixcat script assumed that AIX's cat
+ was like HP's cat - buffered by default.
+
+1/7/95 5.13.1 Marc Bouron <mbouron@lhr-sys.bru-ro.DHL.COM> noted I forgot to
+ add virterm to distribution.
+
+ Marc W. Mengel <mengel@dcdmwm.fnal.gov> noted that configure
+ must be run in the foreground due to the stty tests. Added
+ this to documentation.
+
+ Modified interpreter to account for the change in Tcl7.4 which
+ forces Tcl_RecordAndEval to call Tcl_GlobalEval instead of
+ Tcl_Eval.
+
+ Changed ptys to be initialized based on current tty setting
+ rather than original tty setting.
+
+ Stephen Melvin <melvin@zytek.fr> noted that set -e is the real
+ problem with ash (see 5.13). I bet "[" is returning a value
+ and triggering it. It appears that the script can live without
+ the set, so out it goes.
+
+ Braun Brelin <bbrelin@netcom.com> noted pipe allocs in spawn
+ could fail with meaningless error message.
+
+12/15/94 5.13.0 Synchronize with appearance of "Exploring Expect". This
+ distribution corresponds to the book both in description of
+ Expect and in containing all the substantive examples.
+
+ Graham Mark <gam@lanl.gov> noted that his Cray (Unicos 7.0.6.1)
+ didn't recognize TCSETCTTY. Since this was in some Cray-
+ specific code, I guess Unicos must have changed some .h files.
+ I made it include either termios or termio. It, at least,
+ works on our Cray (Unicos 8.0.2.4).
+
+ Robert Withrow <witr@rwwa.com> noted that FreeBSD 1.1.5.1
+ supplied union wait but waitpid doesn't use it! So I modified
+ configure to be smarter. He also noted that its /bin/sh is
+ really ash which blows up on install.sh. It appears that it
+ doesn't handle uninitialized parameters correctly. I'm not
+ going to fix this because having a broken /bin/sh is so awful
+ probably other things are breaking too. He did note that it
+ worked if he switched to bash or the native install, but that
+ blows the whole point of install.sh - that we have found too
+ much variation in native installs. Rather than try and figure
+ out everyone's variation, we'd like to simplify our life and
+ use this common, simple-to-understand sh script.
+
+ Added more example scripts: Adrian Mariano's virterm (like
+ expect_term but without relying on Tk), gethostbyaddr, and
+ expectd.proto for telnet daemon.
+
+ Matt DiMeo <mdimeo@brooktree.com> noted that expect_background
+ failed to detect eof on HP. I had forgotten to pass the mask.
+
+ Josef Sachs noted that expect_background put Tk's event handler
+ in an infinite loop if it was listening to a pipeline that was
+ killed. I had aborted the cleanup procedure if Tcl's close
+ reported an error. That was a mistake.
+
+ Rick Lyons <rick@razorback.brisnet.org.au> noted a bug. C lib
+ expect would turn a normal read into a poll if remtime reached
+ zero on the nose.
+
+ Added ResetResult to Exp_Init to clean up diags in Expectk.
+ Made GENFUNCs return -1 on error as per ParseArgv's convention.
+
+11/13/94 5.12.0 Alon Albert noted that in clib, exp_match_end should be init'd
+ to exp_buffer before trying to match the pattern - if the
+ expect doesn't produce a match, exp_match_end is incorrect and
+ will be wrong for subsequent expects.
+
+ Steven Diamond noted that fg expect did not react to a change
+ in an indirect spawn id list if it was just waiting for I/O
+ (rather than looping in exp_continue).
+
+ Wait fix in previous version broke system() whose return value
+ is horribly overloaded.
+
+11/10/94 5.11.0 Stephen Fitzpatrick <sfitzp@cs.qub.ac.uk> noted that NeXT wait
+ macros do not accept int wait status. Switched to using Tcl's
+ detection of wait status type.
+
+ Made log_file -leaveopen leave file id open until close like
+ spawn -leaveopen did.
+
+ Bruce Jerrick <bruce@cse.ogi.edu> noted public include dir
+ wasn't getting created.
+
+ Karl Vogel noted 1) Pyramid has index instead of strchr, strf.c
+ needs sys/time.h instead of time.h in strf.c, needs to call
+ timezone(), and stty reads stdout but usual stty test fails.
+
+ Made expect_out(spawn_id) always be written to assist people
+ who want to log different procs to different files. This is
+ no longer an efficiency problem because interact can do so
+ much more then it used to. Made full_buffer condition write
+ forgotten chars even when full_buffer isn't explicitly
+ specified.
+
+ Bert Robben <Bert.Robben@CS.kuleuven.ac.be> noted that the
+ debugger needs to know about the presence of stdlib.h. I was
+ hoping to avoid this because it's a pain getting configure to
+ call another configure.
+
+ Rainer Wilcke provide several improvements for xkibitz and man
+ page.
+
+10/6/94 5.10.0 Moved example files around. Added password generation to
+ tkpasswd. Created standalone script to generate and set
+ passwords - good for all those adduser shell scripts.
+
+ Rick Cady <rickc@NSD.3Com.COM> found a bug when switching log
+ files.
+
+ Rainer Wilcke <wilcke@esrf.fr> noted that xkibitz died when
+ closing a connection. stdin was mistakenly being closed. He
+ also noted that killing xterms under HPUX 9 requires kill -9.
+
+ Enzo Michelangeli <enzo@airhk.air.org> noted that SCO 3.2.1
+ defined window size structure in ptem.h.
+
+ Josef Sachs <sachs@panix.com> found a bug when calling fg
+ expects repeatedly between bg expects. On the first fg expect,
+ it cached the fact that the filehandler was armed. The next
+ background expect disarmed it but failed to update the cache.
+
+ John P. Rouillard" <rouilj@dstar.iddis.com> provided configure
+ support for --with-{tcl,tk}{lib,include}.
+
+ Mike Figg <figg@pencom.com> noted that man page used old style
+ of continue command.
+
+8/23/94 5.9.1 Adrian Mariano noted it would be useful to have exp_continue
+ not reset the timer. Added flag to support this.
+
+ Morris Gasser <gasser@ksr.com> noted that lowering match_max
+ didn't work (lib was broken too).
+
+ Keith Hanlan provided a fix for exp_exact.
+
+ Added more examples: mkpasswd, tkterm, term_expect.
+
+ Put close_tcl_files in sep file for easier non-Tcl use of clib.
+
+8/21/94 5.9.0 Fixed window handling code - on AIX, termios does not define
+ TIOCGWINSZ. Instead, you have to include ioctl.h. Of course,
+ you have to avoid the trap of including both on OTHER systems
+ such as SunOS 4.1 where the include files conflict!
+
+ Dan MacDonald found that close in async routine caused sync
+ expect to blow up.
+
+ Missed deletion of last line of out macro in exp_inter.c
+
+ Simon Warfield <simonw@bwh.harvard.edu> noted bug in xkibitz
+ help message.
+
+ Fixed exp_background to use global scope instead of current.
+
+ Steve Diamond <sdd@aplcomm.jhuapl.edu> noted that -i "4 5"
+ only used spawn id 5.
+
+ Rob Nagler found yet another bug in log_file when called
+ incorrectly.
+
+ Expectk wasn't creating a window by default.
+
+7/25/94 5.8.1 Made exp_interp external. Users should be able to set this
+ explicitly.
+
+ David Barnett <davidb@cats.ucsc.edu> found that Linux was not
+ getting a controlling terminal. The original test for doing
+ that was based on Stevens and tested in a very nonspecific way
+ for the presence of a Sun via CIBAUD. Replaced this with a
+ more specific test.
+
+ It seems Tcl 7.3 broke my -nostack hack. The top-level interp
+ translates unknown return codes to TCL_ERROR. Sigh. I wish
+ Ousterhout would stop all of those translations. If the user
+ wants them, they can do so themselves, but now they're forced.
+
+ Martin Buchhoz <buchhlz@vnet.ibm.com> suggested adding
+ XKIBITZ_XTERM_ARGS environment variable to xkibitz. He also
+ noted that stty rows/columns support doesn't seem to work on
+ AIX. I haven't yet looked into this.
+
+ Copied 2nd sync mechanism from Expect to C library.
+ Added exp_child_exec_prelude hook.
+
+ Jonathan Kamens noted that "spawn cat;close;wait" returned
+ -1 on AIX and 0 on Sun. This is "correct", however to
+ address this, I added -ignore to spawn and otherwise made
+ signals default. Also added extra information to return value
+ of wait if caused by signal.
+
+ Dan MacDonald <hfvstud@bcarh80a.bnr.ca> noted that exp_continue
+ didn't cause timeout to get reread.
+
+ Ting Tan <utan@cisco.com> noted that when using -b, expect
+ hangs if open brace and doesn't stop in case of error.
+
+ Oops, broke "log_file" with no args.
+
+ Removed -timestamp from documentation. Use "timestamp" command
+ instead.
+
+ Keith Hanlan noted C library didn't test already arrived data
+ before attempting to read more. He also suggested I avoid
+ forcing the user to do save/restores of per-fd globals.
+
+6/24/94 5.8.0 Hubert Halkin <hhalkin@ucsd.edu> pointed out that interleaved
+ expect_bgs and spawns dump core. I had used the exp_f ptrs
+ as handles to TkCreateFileHandler but realloc shuffled them
+ around.
+
+ Rick Lyons <pclink@qus102.qld.tne.oz.au> provided misc. mods
+ for Pyramid.
+
+ Keith Hanlan <keithh@bnr.ca> noted that HP-UX C compiler causes
+ odd behavior in Expect when it is compiled with -O. -g works
+ fine.
+
+ Peter Gasche <zrspg01@compserv.zdv.uni-tuebingen.de> pointed
+ out that Convex 10.2 fails to build. New version of Convex OS
+ added getpty(). Naturally, it differs from old one. Testing
+ is tricky because there is no header file for it. Even worse,
+ the algorithm in the Convex man page is incorrect - it allows
+ you to allocate ptys already in use! Unfortunately, the man
+ page is too vague to allow the reader to see that immediately.
+
+ In contrast to BSD stty, Convex, Mach, and NeXT stty don't
+ complain if redirected to null. I'll just have to hardwire the
+ test in configure.
+
+ Added -nowait flag to wait command.
+
+ Upon suggestions from David Vezie <dv@xnet.ssl.berkeley.edu>:
+ Added -noappend, -open, and -leaveopen to log_file command.
+ Added -leaveopen flag to spawn and exp_open.
+ Modified spawn to close -open immediately.
+ Modified exp_open to close spawn_id immediately.
+
+ Between Jeff Wright <wright@spock.cen.encompass.com>, Brad
+ Skrbec, Arup Mukherjee <arup+@cmu.edu>, and the anonymous
+ Mach support group at CMU, finally got hard answers about Mach.
+ It is no longer supported and there is no intention to provide
+ full POSIX support. Now, at least, I can fix the configure
+ script to understand this.
+
+ Added "unbuffer" example.
+
+ Dana Chee <dana@dino.bellcore.com> provided configure hooks
+ for finding -lnsl and -lsocket.
+
+ Henry Spencer <henry@zoo.toronto.edu> noted timestamp doc did
+ not jive with C defn. Fixed doc and added timezone support.
+
+ Steve Pynes <fb@steve@ucsd.edu> noted that exp_win.c needs
+ _IBCS2 (Intel Binary Compat Standard #2!?!) before it will
+ recognize winsize. He also noted #out was redefined in inter
+ code if using simple_event.
+
+ Fixed defn of "stty cooked" to retain echo setting.
+
+ Bennett Todd noted dislocate's pidfile_read was missing close.
+ He also noted useless bind in tkpasswd.
+
+ Marty Leisner noted that ^C causes xkibitz to exit ungracefully
+ when in interpreter.
+
+ Added yet another sync mechanism (see 5.6) to spawn so that
+ child cannot eof before parent has prepped the pty (only a
+ probably on HPs, of course). I had actually written most of
+ the code, but left it disabled because I hoped that the
+ problem simply wouldn't happen in practice. Alas, Jonathon
+ Kamens found a case where it does.
+
+ Jimmy Aitken <jimmy@pyra.co.uk> noted problem on Pyramid. My
+ original code only looked for /dev/tty##. On pyramid, ptys
+ look like /dev/pts/4. term wants the last two characters, but
+ on the Pyramid, the first of the last two characters can be a
+ / in which case xterm wants a 0. I.e., suffix of /dev/pts/4
+ is "04". xterm fails completely with 3-digit ptys! I sent
+ a suggestion and patch to X Consortium for this and the pid
+ problem - xterm has no way of telling it to which pid to send
+ the SIGWINCH.
+
+ Poul-Henning Kamp <phk@TFS.COM> noted that -lm would make
+ autoconf forget about other libs.
+
+ Ram Bhamidipaty noted I forgot to document sleep.
+
+ Removed disasterous performance with * at beginning of glob.
+
+ Mods from Rob Savoye. See ChangeLog.
+
+ Earnest Hua <eh@c-cube.com> noted expectk.man need wasn't
+ installed.
+
+ Bogus arguments to expectk were not reported correctly.
+
+ Modified clib to catch when user changes match_max between
+ expects on two different fds and then switches back.
+
+ Rewrote timestamp to get rid of 200 char limit.
+
+ Ram Bhamidipaty <ram@xor.epi.wisc.edu> noted NetBSD .9 stty
+ complained "stdout appears redirected, but stdin is the
+ control descriptor". It compares dev(stdout) to dev(stderr)
+ and assumes if they are different then user thinks stty
+ ioctls stdout. This is one case when that assumption is wrong.
+ Fixed fd 2 so it points new 2 and is reset to old 2 if an
+ error occurs. This forced me to remove any diagnostic output
+ from child (in getptyslave) since this now went back to the
+ proc as child output rather than original stderr, sigh.
+
+ Stephan Winokur <swinokur@pinky.trevose.sgi.com> noted that
+ IRIX 4.2 had problems with gcc. While diagnosing, I found
+ PTY_TYPE was used before set. Make doesn't mind (how odd)
+ but I changed it anyway.
+
+ Made send understand "-null". Deprecated "-0".
+
+ Made Expect read .expect.rc from DOTDIR if present.
+
+3/30/94 5.7.0 Removed alpha status.
+
+ Added $(EVENT).o to library.
+
+ Finally deleted old shar file. Revised README.
+
+3/22/94 5.6.3 Phil Moore <phil@signals.geol.scarolina.edu> noted termios.h
+ should not come from sys even if it exists. (SGI doesn't have
+ sys/termios.h.)
+
+3/21/94 5.6.2 Paul Kinzelman <pkinz@cougar.tandem.com> noted that I forgot
+ to remove -update from documentation.
+
+ Fixed interact's -i so it understands indirect spawn ids.
+
+3/21/94 5.6.1 expect_background randomly failed. I forgot to save Tk's
+ event mask so occasionally events were incorrectly classified
+ as eof.
+
+ Added -buffer to expectk and made "nobuffer" the default so
+ scripts are read in much faster.
+
+3/15/94 5.6.0 Added cat_buffers marker to avoid "catu" option to scripts.
+
+ Got temporary use of an evaluation copy of TestCenter.
+ Promptly found several memory leaks. Oops.
+
+ Added a synchronization mechanism to spawn so that user cannot
+ send to pty before it is init'd. This also deals with the HP
+ trap more simply. Removed extra open added in 5.5.1. While
+ working on this, it occurred to me stty needs to temporarily
+ disable trap. Added exp_slave_control so that C programmers
+ can get to it portably.
+
+ Added "expect -ex" to documentation.
+
+ Fixed winsize bug on Solaris.
+
+ Added functions to allow user flexibility closing fds in child.
+
+3/8/93 5.5.1 Integrated bug fixes from Arnold Robbins <arnold@skeeve.atl.
+ ga.us> for his own strftime code.
+
+ Rob Savoye passed back a patch from OSF to cast ptsname.
+
+ Added a test for cat. R.K.Lloyd noted HP failed pid test.
+ Turned out to be another bug related to pty-trapping. The test
+ of course, was doing something that a user would never do.
+ Hope this doesn't break other HPs. Pty trapping is becoming
+ less and less clear to me. Ioctls generated by slave look like
+ modem ioctls. Added an artificial open because different
+ versions of HP's stty execute differing numbers of ioctls.
+ In test script, changed each cat to cat -u.
+
+2/17/93 5.5.0 Began a test suite based on Ousterhout's model: make test
+
+ Added passmass man page.
+ Added decl of exp_tty_original to pty_sgtty.c.
+ Added error_spawn_id
+
+ Alon Albert <al@mercury.co.il> provided a bug fix for new
+ buffer handling code in C library.
+
+ Fix fd leak related to spawn -open.
+
+2/7/94 5.4.0 Some installation improvements from Rob Savoye and Owen Rees.
+
+ Bug in handling empty string match - crept in recently.
+
+ Finally fixed longstanding oddness: stty -raw reset echo.
+
+ Made spawn close all file descriptors. Added exp_open command
+ to get old effect.
+
+1/26/94 5.3.5 Made rftp use /bin/ls to avoid -F from people's aliases.
+
+ Initialized auto_path.
+
+ Fixed exp_version so it fails if the major #s are not equal
+ (which is what the man page said).
+
+1/18/94 5.3.4 Jim Meyering <meyering@idefix.comco.com> gave config fixes
+ of X handling on Irix-4.0.5 and suggested that tknewsbiff
+ observe DOTDIR.
+
+1/18/94 5.3.3 Kevin Short <short@gdc.com> noted some remaining use of malloc
+ and free instead of ck versions.
+
+ Initialize tcl_interactive to 0 while processing -c flag to
+ avoid unreliable handling of unknown proc.
+
+1/17/94 5.3.2 Jeffry Abramson <jra@hrcms.att.com> noted that "spawn -pty"
+ hung on an HP. Problem was trapping was enabled so as soon
+ as I tried to open the slave, Expect blocked waiting for ack!
+
+1/14/94 5.3.1 Forgot to delete a bad call to strcat in exp_internal.
+
+1/13/94 5.3.0 Added -info flag to log_file, log_user, exp_internal, and
+ strace, so you could get original args back out.
+
+ Wrote tknewsbiff script (and was extremely pleased).
+
+ Fixed rftp. I must have broke it when I changed to using Tcl's
+ new switch cmd. Also sped it up by replacing split/join
+ nonsense with a single regexp.
+
+ Danny Faught <faught@convex.com> noted that glob patterns
+ returned shortest matches. While fixing this, found that glob
+ patterns ending in $ were broken, too.
+
+ Massaged libraries and include files. The include file for
+ using Expect with Tcl or Tk is now expectcl.h. libexpect.a
+ now suffices for using Expect's funcs with C or Tcl.
+
+ Add all the features from Expect into C library including
+ null and full buffer matching. Added exp_buffer (_end) and
+ some other variables to support fd multiplexing better.
+ Made unmatched chars from previous expects remain for future
+ matches.
+
+ Chen <johnny@e0sun3.ccl.itri.org.tw> found bug in exp_pid when
+ -i had no arg.
+
+ Rewrote expect_bg, after, and before so they all handle args
+ the same. Interact and all the expect variables now handle
+ indirects. exp_bg now handles -brace flag.
+
+ Geoff Bullen <geoff@itx.nsg.com.au> noted that interact put
+ terminal into raw mode even if stdin was redirected.
+
+ Rob Savoye provided more configure mods to better find Tcl/Tk.
+
+ Fixed bug in wait that didn't close down "busied" fds.
+
+ Kazuro Furukawa <furukawa@apricot.kek.jp> provided a better
+ default for SHORT_BINDIR in the Makefile and noted that DEC
+ doesn't understand "test -x".
+
+12/3/93 5.2.0 Recent fix was buggy and blew up when eof case still had data
+ in buffer.
+
+11/23/93 5.1.4 At request of Rod Beckwith <rodb@slugo.corp.sgi.com> fix some
+ minor things to which SGI cc was sensitive.
+
+ Fixed bug in dvorak script where eof could occur in nested
+ interact, upsetting original interact.
+
+ Forgot to change -flush to -nobuffer in man page.
+
+ Added some more places to search for X11 for Jeff Moore
+ <jbm@internet.sbi.com> note.
+
+ Added yet more fixes and notes for NeXT for Brad Skrbec
+ <skrbec@motcid.rtsg.mot.com> who found that NeXT has POSIX
+ include files but NOT the functions that go with them. Sigh.
+ Needless to say, configure is thrown off by this.
+
+11/14/93 5.1.3 John Pierce <jpierce@chem.UCSD.EDU> noted several declarations
+ that AIX's cc couldn't handle include a struct with same elt
+ name at two different levels. Also _IO is declared twice
+ in AIX include files but only checked once.
+
+ Fixed bad args in exp_spawnl call in chesslib examples. Can't
+ imagine how it ever worked before.
+
+ Richard Weidner <richard@cicero.jpl.nasa.gov> found a bug in
+ configure (test always treats a bare string as true!) that
+ caused NeXT to be declared as POSIX.
+
+ Fixed two bugs in Tcl_StringMatch2. One caused glob ranges to
+ succeed when they shouldn't. Another was how malformed ranges
+ are handled, and came right from Tcl. Reported to John.
+ Switched Expect library to use T_SM2 from Expect itself.
+
+ Blair Zajac <blair@olympia.gps.caltech.edu> noted expectk used
+ CLFLAGS instead of CFLAGS.
+
+ Forgot to fix mishandling of parens inside of alternation in
+ interact.
+
+11/9/93 5.1.2 Added "null" keyword and remove_nulls command to allow matching
+ ASCII 0 in expect/interact.
+
+ Rob Nagler <nagler@olsen.ch> noted that expect_background
+ failed if pattern didn't consume all data. event handler
+ knows nothing about data already arrived but not processed.
+
+ Made Expectk understand --
+
+11/8/93 5.1.1 Fixed yet another bug in setting expectk's argv0.
+
+11/6/93 5.1.0 Provided support to work with Tcl 7.[0-1] and Tk 3.[3-4].
+
+ Pasi Kaara <ppk@atk.tpo.fi> found an off-by-one in the buffer
+ shuffling when buffers fill up during an expect.
+
+ Changed \\\$ to \\$ in patterns that search for literal $.
+
+ Added "spawn -pty" support for xterm -S.
+
+ Fixed yet another argv problem in Expectk. When run using
+ expectk explicitly, script name was left in argv.
+
+ Fixed system command's return value to match exec new style.
+
+11/1/93 5.0.4 Mark Davies <mark@comp.vuw.ac.nz> noted that BSD4.4 sysconf
+ returns -1 (a bug). Rewrote to avoid requiring this info.
+ Switched from from explicit refs of sys_errlist to Tcl's
+ strerror.
+
+ As per Adrian Mariano <adrian@cam.cornell.edu>, added exp_sleep
+ command primarily to allow sleeping by sub-second intervals.
+ Also avoids exec overhead. Not yet documented.
+
+ Kartik Subbarao <subbarao@concorde.fc.hp.com> noted that on
+ HPUX 9, SC_OPEN_MAX should be ifdef'd on itself rather than
+ HAVE_SYSCONF.
+
+ Karl Vogel <vogelke@c-17igp.wpafb.af.mil> noted Pyramid
+ didn't like varargs included twice in exp_command.c.
+
+ Deleted expect_version variable (was never documented) and
+ deprecated expect_library to be exp_library for consistency.
+
+10/16/93 5.0.3 Lou-Salkind@deshaw.com found interpreter() could stomp past end
+ of input array. Same problem in debugger.
+
+ Bud Bach noted init.tcl wasn't being sourced, and Makefile
+ broke if all scripts were commented out.
+
+ Added interesting highlights and bindings to tkpasswd.
+
+ Made Makefile look for -ltk if libtk.a doesn't exist.
+
+ Rick Sladkey pointed out that -re patterns to look for $ should
+ "\\\$".
+
+ R.K.Lloyd noted config doesn't see prototypes with K&R cpp.
+
+10/8/93 5.0.2 Bud Bach noted tcl_interactive was not set.
+
+10/8/93 5.0.1 R.K.Lloyd noted various problems, some related to being on an
+ HP when a lot of #ifdefs kicked in.
+
+10/7/93 5.0.0 Added expect_background. In the Tk environment, this registers
+ actions to be called upon receipt of a pattern from a process.
+
+ Renamed "debug" as exp_internal" and made debugger available
+ as "debug" and "exp_debug".
+
+ Milan Gupta <mbg0@bunny.gte.com> noted that system() (at least
+ on his HP) hangs when SIGCLD is ignored.
+
+ <jason@vicor.com> noted that Tcl's exec command doesn't bother
+ to close fds, so force them with close on exec.
+
+ Renamed "continue -expect" as "exp_continue". "continue
+ -expect" will continue to work, just won't be documented. It's
+ just too dangerous when you start mixing extensions.
+ Renamed "return -tcl" as "inter_return". Had to do something
+ to avoid random return values from matching "-tcl". This
+ design was just wrong. Surprising that it never bit anyone.
+ Renamed "expect_version" as "exp_version" just to continue
+ this regularity.
+
+ Protected initial fd_new's with isatty so disconnect doesn't
+ lose redirected fds.
+
+ Allowed DFLT_STTY to be omitted entirely. Apollo doesn't need
+ it.
+
+ Modified fork to fail on failure instead of returning -1. This
+ made spawn failure match disconnect failure.
+
+ Dan Hyde <drh@citi.umich.edu> noted missing arg in exp_error.
+
+ Jerry Whelan <guru@stasi.bradley.edu> noted -buffer was botched
+ in man page. Hal Peterson noted that bug in man page caused
+ groff to choke.
+
+ wait now returns {pid, spawn_id, 0|-1, status (or error msg).
+ errorCode is now set if appropriate. wait -i -1 waits for any.
+
+ Propagated winsize to pty.
+
+ Documented "-open".
+
+ Quentin Stafford-Fraser <Fraser@europarc.xerox.com> noted that
+ interact -u was broken.
+
+ Fixed interact's default actions "return"/"interpreter" to be
+ writable. Removed ability to set default eof/timeout. Removed
+ dash from same.
+
+ Rewrote trap to use Tcl's async support.
+ Added -code switch and made interpreter understand "-nostack"
+ coming from error to use ^C to easily return to interpreter.
+ Introduced following incompatibilities:
+ - ONEXIT interface disappeared. Use "exit -onexit". (Thinking
+ of this as a signal bought nothing but complexity.)
+ Added "exit -noexit" to run all expect-related exit
+ handlers without exiting or destroying interp or ".".
+ Useful for when other apps have exit handlers.
+ - trap command takes missing action as a query. Use "" or
+ SIG_DFL to delete or reset a trap.
+ - SIGCLD gone. Now always called CHLD even if underlying
+ system only knows about CLD.
+ All sig handlers and exit handlers run at global level.
+
+ Removed setjmp/longjmp crap. Not needed since systems which
+ wait in read don't restart system calls.
+
+ Added support in expect for "-gl" and allowed longer forms to
+ match Tcl's switch command. Similarly for "-ex" in interact.
+ Rewrote arg parsing for send.
+
+ Added "stty" command to support stty of ttys other than
+ /dev/tty. Better for /dev/tty, too. This should fix
+ security complaint from BSD's Net2 stty.
+
+ <R.K.Lloyd@csc.liv.ac.uk> gave fixes for configure and noted
+ exp_main_tk was missing exp_conf.h.
+
+ Added "exp_timestamp" command. Fixed bug in interpreter cmd.
+ It wouldn't return anything with TCL_OK.
+
+ Renamed -flush to -nobuffer.
+
+ Make interact default to executing actions in raw mode.
+ Accept -reset to execute in cooked mode. Ignore -f.
+ Fixed examples. Fixed bug in "-o -timeout".
+
+ Deprecated getpid (due to Tcl's pid), added exp_pid.
+
+ Put "rm -f" inside catch. SunOS 4.1.3 and some version of AIX
+ complain despite the -f!
+
+ Added "send -break" for Dave Mielke.
+
+ Fixed argv handling of expectk to match expect for Steve Clark.
+
+ Switching to Tcl 7.0
+
+8/21/93 4.7.7 Cygnus added support for OSF/1 style ptys.
+
+ Brian Bebeau <brian@cblph.att.com> found bug in PTC support,
+ HAVE__GETPTY, timestamp doc, and provides some mods for config
+ AT&T StarServer.
+
+ Detection of direct spawn ids failed on -1.
+
+8/18/93 4.7.6 Removed zone and gmtoff from timestamp. Not ANSI.
+ Removed getpid confusion.
+ Once again, added "cat -u" into kibitz (this time for AIX 3.2).
+
+8/18/93 4.7.5 De Clarke <de@lick.UCSC.EDU> hit error in exp_global.h because
+ tcl.h had not been included.
+
+8/16/93 4.7.4 Richard Kasperowski <richk@icad.COM> found that Ultrix 4.1-2
+ failed to allocate controlling terminal. Ultrix's setsid is
+ evidentally buggy. Switched back to setpgrp - which fixed it.
+
+ Fixed type defn of exp_tty_original.
+
+ Dave Mielke found two bugs in interact: re-failure prevented
+ other patterns from matching a particular point in the stream,
+ and two or more -inputs didn't actually work. Also found bug
+ in HP trap handling - despite what docs say, other things
+ besides open/close have to be handled. Specifically, slave was
+ generating an ARGGET. Backed off on trying to wait immediately
+ for two OPENs to just waiting for one OPEN. Perhaps zero?
+ Also found deficiency in return -tcl - failed to return arg.
+
+ At Dave's request, made cmdfile by read in a single gulp rather
+ than line by line. Added -b (buffer) flag for old behavior.
+ Old behavior performs badly on very long procedures but is use-
+ ful for reading commands from pipes. Made "system stty" return
+ status of raw/echo.
+
+ Made log_user return previous value irrespective of args.
+
+ Fixed mishandling of parens inside of alternation noted by
+ Bud Bach <bachww@rtsg.mot.com>.
+
+ Added -timestamp, -iread, and -iwrite to interact and
+ expect.
+
+ Added -onexec flag to close to solve problem posed by
+ Bellave Jayaram <bjayaram@slee01.srl.ford.com>.
+
+ Added -0 to send. Removed capability of send to send multiple
+ strings.
+
+ Chip Rosenthal noted bug in releasing trap 0's action. Also
+ modified exit handler to allow recursive invocation. Instead
+ of complaining, it skips handlers that have already been
+ invoked and forces the process to exit.
+
+ Added new names for most command prefaced by "exp_".
+ Deprecated send_spawn.
+
+ Switched to Ousterhout's ckalloc and attitudes towards failure.
+
+ Started adding Tcl 7.0 support. getpid renamed to pid. Added
+ exp_pid to support things that Tcl 7 does with its pid.
+
+6/12/93 4.7.3 fnf@fishpond.cygnus.com noted minor type problems. Rob Savoye
+ noted trap SIGINT overrode debugger handler. Default should
+ be reverse.
+
+6/8/93 4.7.2 Added debugger to public release.
+
+6/7/93 4.7.1 Ed Oskiewicz <eo@ansa.co.uk> noted prototype botch - exp_cook.
+ Owen Rees <rtor@ansa.co.uk> noted missing decl - tclRegexpError
+
+6/6/93 4.7.0 Gert Bultman <bultman@dgw.rws.nl> exposed a bug in interact's
+ -update.
+
+5/27/93 4.6.0 Rick Sladkey <jrs@world.std.com> fixed a bug in send_log -
+ checking a master needlessly and indexing off the end of an
+ array.
+
+ Rob Savoye made change for detecting libpt.a, modified
+ autoconf for better handling of X, exec_prefix, and ranlib.
+
+ Kris Woeppel <krisw@cs.athabascau.ca> said SVR3 doesn't have
+ wait.h.
+
+ Made libexpect.a understand regexp. Reorganized code. It
+ now requires Tcl to be installed first, although it uses only
+ a few utility routines. Hopefully this isn't a problem for
+ anyone.
+
+ Zack Xu <zack@cs.wisc.edu> noted exp_main.h needed C++ support.
+
+ Pascal Meheut <pascal@cnam.cnam.fr> gave fix for skipping over
+ null bytes while interact is pattern matching.
+
+ Added "--" to expect, interact, and send.
+
+ Added support for associating multiple -i's with a single
+ pattern, and -i's with no pattern for use with spawn_id_any.
+
+ Made interact work with systems that lack select/poll.
+
+ Added code and #defines for debugger. Debugger itself is not
+ yet available.
+
+4/19/93 4.5.2 Achim Flammenkamp <achim@HRZ.Uni-Bielefeld.DE> noted that I
+ documented full_buffer as buffer_full.
+
+ Ted Stockwell <ted@sirius.aggregate.com> noted that wait arg
+ was missing an & in configure test.
+
+ Scott Hess noted that systems can have wait4 without waitpid.
+
+ Jonathan Kamens <jik@gza.com> noted/fixed some things that
+ weren't autoconf'd correctly: pid_t, RETSIGTYPE, malloc.
+
+ Gary Shea noted that a recent change to expectk made it not
+ default to interactive.
+
+4/12/93 4.5.1 At request of Rusty Wilson <zrlw05@hou.amoco.com>, added
+ "-console" to spawn.
+
+ Pang Wai Man Raymond <wmpang@cuse1.se.cuhk.hk> reported that
+ passmass didn't grok DEC's passwd prompts for root.
+
+4/7/93 4.5.0 Fixed bug in interact regexp preventing match of multichar
+ literals.
+
+4/6/93 4.4.3 Bennett Todd <bet@sbi.com> noted missing example scripts
+ timed-read and time-run.
+
+3/29/93 4.4.2 Bill Houle <Bill.House@SanDiego.NCR.COM reported fixes
+ for SVR4 pty support to compile.
+
+ Made string matcher understand *$. Documented tty_spawn_id.
+ Made command line -i override -f.
+
+ For Tuan Doan <tdoan@bnr.ca> on HP, make kibitz use domainname
+ as fallback and used whoami instead of env(USER).
+
+ Fixed bug in the generic pty code that could report out of ptys
+ because an earlier slave slowly deleted the lock file.
+
+3/25/93 4.4.1 Stephen House <sdhouse@bnr.ca> reported exp_tk.c wouldn't
+ compile on HP. Fixed.
+
+3/24/93 4.4.0 Added back SVR4-style pty allocation which got omitted in the
+ autoconfig process. Fixed bug in interact's -update handling.
+ Fixed bug in weather script that cut off long reports.
+
+3/15/93 4.3.0 Cleaned up /tmp files used during pty locking.
+
+ Added command "parity" to enable parity stripping. Fixed
+ match_max to do -i correctly.
+
+3/15/93 4.2.4 Fixed to work on new SGI which returns slave-close via excep
+ (select) or POLLERR (poll) rather than thru read(). Why do you
+ people do things like this?
+
+3/12/93 4.2.3 Fixed to work on AIX (using /dev/ptc) and UTS (using getpty).
+
+3/11/93 4.2.1-2 Fixed numerous bugs relating to HP ptys. It's amazing that for
+ their bewildering complexity, they couldn't support generation
+ of EOF to the master (or at least enable trapping of just
+ close), rather than forcing the code to know about opens, too.
+
+3/8/93 4.2.0 Integrated Rob Savoye's autoconfig code.
+
+ Interact mishandled new -eof flag. Added -update.
+
+ Gary Shea <shea@cs.ukans.edu> noted that tkwait hung if
+ expect had been called. Rewrote most of tk_event.c and fixed
+ some other problems related to efficiency & multiple timeouts.
+
+ E Beck <beck@qtp.ufl.edu> suggested mods to more easily support
+ Extended Tcl.
+
+ Bill Mitchell <mitchell@mdd.comm.mot.com> reported problems on
+ 4.3+BSD. Added support for TIOCSCTTY.
+
+ Dana Burd <dana@wrs.com> noted that "exit" caused by ^C during
+ expect didn't work - just returning to expect. Fixed, and then
+ removed "feature" of ^C to abort a timeout. This feature
+ proved a lot less useful than I thought it would.
+
+2/21/93 4.1.0 Bill Tierney <wtierney@leland.stanford.edu> noted that double
+ close dumped core. Rewrote fd_to_f and close/adjust functions.
+
+ Interactive interpreter() didn't properly wait in
+ get_next_event, so Tk stopped responding to events.
+ Wrote version of interpreter that shares expect's input buffers
+ but can't think of a use. Left as an ifdef SHARE_CMD_BUFFER.
+
+1/26/93 4.0.1 Added eof check to xpstat. Removed incorrect and unnec.
+ #includes from exp_main_exp.c
+
+ Chip Rosenthal <chip@chinacat.unicom.com> found my refs to
+ tclRegexpError need externs on systems that don't use Tcl's
+ string.h. string.h should probably be changed not to refer to
+ tclInt.h.
+
+ Added FAQ about Expect's copyright status.
+
+ Mark Christopher <christo@bnr.ca> pointed out some really
+ stupid errors in the HP support for select.
+
+12/16/92 4.0.0 Rewrote interact. Made re-entrant thru event-handler for Tk.
+ (Same for Expect.) Abstracted out common code so that
+ remainder is specific to select vs poll vs tk (although
+ "simple" was impossible to handle). Added timeouts, regexps
+ (at request of numerous people), ability to set up arbitrary
+ graphs of process flows, and some miscellaneous but useful
+ functionality. New flags are: -input, -output, -re, -echo,
+ -flush, -eof.
+
+ Added "-noecho" to spawn command.
+
+ Added getpid command. Something with this functionality should
+ be added to the Tcl core. When it is, this function will go
+ away.
+
+ Removed assumption of global "interp" handle. Rewrote init
+ and other routines for use as libraries. Added appropriate
+ glue to Makefile.
+
+ At request of Rob Savoye <rob@cygnus.com> added "send_log" and
+ disabled buffering on all output. The only affect unbuffered
+ output will cause users is if they pass large strings in
+ multiple args to send.
+
+ Ray Davis <rdavis@masschaos.de.convex.com> reported Convex
+ could not do job control from spawned procs. I added a symbol
+ DO_SETSID to force this.
+
+ Martin Leisner modified rftp to understand iftp. I added it
+ to the publicly donated scripts directory.
+
+11/17/92 3.24.1 Martin Leisner suggested Makefile use $(MAKE) and support Tcl
+ as a Sun shared library.
+
+ Seth Perlman <seth@welchgate.welch.jhu.edu> suggested interact
+ support timeout. I've added this as "-timeout" in inter_select
+ but left undocumented while we experiment with interface.
+
+ Joe VanAndel <vanandel@ncar.ucar.edu> pointed out that su2
+ script still used old syntax. Fixed.
+
+ Konrad Haedener <haedener@iacrs1.unibe.ch> fixed a bug in
+ POSIX tty handling on AIX. Surprisingly, we discovered AIX
+ worked just fine when pty_bsd is used and without -DPOSIX!
+
+ Doug (George Jetson) <pynq@midway.uchicago.edu> pointed out
+ that a spawn_id for /dev/tty would be really handy. I added
+ tty_spawn_id for this purpose.
+
+11/4/92 3.24.0 After problem reported by James Ward <jew@sunquest.com> added
+ to man page describing delays required by hardware such as for
+ UART switching.
+
+ Recoded all \C sequences as \### in examples and man page in
+ anticipation of them going away in next version of Tcl.
+
+ Switched to printing errorInfo during errors instead of the
+ command and only the top-level error message. Since this
+ includes entire stack, this should be very helpful.
+
+ J. Cazander <cazander:pasichva via serigate@phcoms.seri.
+ philips.nl> reported that purify found a write beyond the end
+ of an input buffer. Lucked, it was just before a double-word
+ boundary, so it probably isn't a problem. I fixed it anyway.
+
+10/9/92 3.23.1 Tor Lillqvist <tml@tik.vtt.fi> supplied support for HP 8.0.7 in
+ POSIX-mode, and a bugfix for POSIX tty mode switching
+
+10/8/92 3.23.0 Larry Rogers <lrr@Princeton.EDU> reported that "weather" blew
+ up in spawn. I'll add a catch-all to the script to report
+ similar problems (out of ptys, processes, etc.)
+
+ Ting Leung <tleung@bnr.ca> notes that log() in human_write can
+ receive a 0 (domain error). Fixed unit_random to avoid that.
+
+ Tony Primavera <aprima@xox.ssc.af.mil> notes that the sample
+ archie script needs to understand mcgill's limit of 10 users.
+ Tor Lillqvist <tml@tik.vtt.fi> noted that a lesser-used pattern
+ ("unknown...") is incorrect.
+
+ Grant Taylor <gat@pecan.cray.com> found a problem when forking
+ (using Expect's fork) multiple processes, each of which spawned
+ something. In the BSD pty support, I had used the pid to build
+ a temporary file for testing the pty before actual use. When
+ multiple processes tried to use the same tempfile, it blew up.
+
+8/12/92 3.22.13 Corey Satten pointed out that -u on cat caused kibitz to slow
+ down on Ultrix. I see the same behavior on SunOS. I added an
+ option to fix it for systems that need it. Corey also noted
+ arg miscounting in kibitz, and pointed out that world-readable
+ fifos could be a security problem. He gave a fix for this and
+ also a fix to force ptys to be put into raw mode.
+
+ Terrence Brannon <tb06@pl122e.eecs.lehigh.edu> reported rftp
+ referenced the undefined variable 'transfer'. Turned out to be
+ a bug in the code to handle symbolic links.
+
+7/20/92 3.22.12 Added O_NOCTTY (if defined) in pty_bsd.c to avoid gaining
+ control terminal while testing pty when running as daemon.
+
+ At request of Michael D. Riley <riley@mbeya.research.att.com>
+ added explanation to man page - how expect_after/before deal
+ with spawn_id.
+
+ Charles Hannum discovered the problem with AIX (see earlier)
+ was a missing "extern" in the errno declaration. Also, the
+ compiler was sensitive to a lack of access to the defn of
+ struct expect_special.
+
+ Dave Coombs gave me yet another fix for the weather server to
+ accomodate its ever continual change.
+
+7/2/92 3.22.11 Yet more work. Discovered that SunOS and Ultrix really like
+ setpgrp(0,0) much better than setpgrp(0,getpid()) but the
+ manual doesn't describe well why this seems to work better.
+ (The old call worked inconsistently.)
+
+6/30/92 3.22.10 Did more work on modifications to dissolve connection between
+ stdio and devtty. Eventually, I'd like to add a separate
+ spawn_id for devtty (expect_devtty?).
+
+6/5/92 3.22.9 Hansel Wan <hhw0@gte.com> noted that $errorInfo was clobbered
+ by prompt1. To prevent this, I added a default definition
+ for prompt1 (and prompt2 while I was at it).
+
+ Unnati Amin <uxa@po.cwru.edu> noted that the example scripts
+ checked for $ in prompts which didn't work. This bug was
+ created when $ was turned into a "match end-of-input" char
+ in the transition from v2 to v3. Solution: backslash the $.
+
+ A few parts of code assumed spawn_id was always stdin, which
+ caused "send" to send to stdout, which meant succeeding
+ expect's hung, waiting forever. Fixed is_user macro.
+ This was a problem with scripts that redirected stdin or
+ somehow reused fd 0. Surprising that no one ever did that
+ before - also surprising that it didn't bother cron jobs.
+
+6/2/92 3.22.8 Man pages fixes from Matt Crawford crawdad@fncent.fnal.gov.
+
+5/12/92 3.22.7 Missing ; in Makefile, screwed up chmod.
+
+ Fixed bug that caused interact to think the modes had changed
+ when they hadn't.
+
+5/11/92 3.22.6 Added regression paper to ftp archive - published in the 1992
+ USENIX San Antonio Proceedings.
+
+ Swapped setpgrp and fork in disconnect command for sysV88.
+ According to Dave Schmitt <daves@techmpc.csg.gss.mot.com>,
+ original code (right out of Stevens) starts the child with
+ closed stdio fds.
+
+ Fixed bug in interact that changed /dev/tty modes even if
+ interact was used to connect two completely different ttys.
+ Had never been a problem before, but today I wrote some code
+ that actually calls interact from cron! Also, copied the
+ experimental fix from 3.22.5 to inter_poll.
+
+ Jeremy Nussbaum <jeremy@world.std.com> says cat needs "-u" in
+ kibitz for his HP 8.0 system to work. I wonder why this has
+ never been a problem on earlier HP and other systems?
+
+ Forced Makefile to mark scripts executable.
+
+4/12/92 3.22.5 Fixed bugs reported by Matt Ranney <mjr@uther.Calvin.EDU>
+ including a syntax error (!) in expect.c on ecases_inuse.
+ I didn't even compile this before pushing out? He also noted
+ some # were not in column 1.
+
+ I put in an experimental fix to interact (only in select
+ version currently) to fix when pattern matching from master
+ and user needs to continue typing in order to complete match.
+
+4/3/92 3.22.4 Charles Hannum (mycroft@gnu.ai.mit.edu) pointed out that I
+ screwed up a comment in the brand new pty_aix3.c. He also gave
+ me a fix for an arg-less expect, which did a malloc(0). And
+ he said that AIX ptys return EOF in yet a new way - read()
+ returns -1 with errno == 0. Yuck.
+
+3/29/92 3.22.3 Jay Schmidgall gave me yet another pty_aix3.c. He also gave
+ ifdefs for POSIX terminal support.
+
+3/18/92 3.22.2 Jay Schmidgall <shmdgljd+@rchland.ibm.com> modified pty_sgi3.c
+ to make a pty interface for recent versions of AIX.
+
+ Steve Summit <scs@adam.mit.edu> noted that "trap 0" could
+ actually call signal(0...)
+
+ Martin Leisner <Martin_A._Leisner.Henr801C@xerox.com> noted
+ that rftp was broken. It seems I never handled symlinks. They
+ are interesting. You can't tell from the listing whether they
+ are files or directories, so you just have to blindly go ahead
+ and assume it's one or the other and see what happens!
+
+3/11/92 3.22.1 In talking to Dave Schmitt ,daves@techmpc.csg.gss.mot.com>,
+ realized the documentation for wait had never been updated
+ from the way it used to work in v2 (returning any pid).
+
+3/11/92 3.22.0 Another question from Ron, prompted me to find another bug.
+ interact -o wrongly manipulated the user buffer at one point.
+
+3/10/92 3.21.0 Ron Young <ron@nevada.edu> found that spawn failed on a
+ DECstation 3100 running Ultrix 4.2. I had forgotten to test
+ that cmdfile was valid before comparing against stdin in fix
+ related to fflush in 3.20.0.
+
+ While I was on a DECstation, I noticed that it does not accept
+ setpgrp(...,0). Changed 2nd arg to getpid().
+
+3/6/92 3.20.2 Stefan Farestam <farestam@orion.cerfacs.fr> provided a new
+ version of pty_sgi.c which uses _getpty. I renamed the old
+ one pty_sgi3.c
+
+3/3/92 3.20.1 Brian Woodson requested I update the dates and version numbers.
+
+3/1/92 3.20.0 Prompted by a question from Ken Mandelberg, added -raw to
+ noidle and kibitz script.
+
+ Fixed fflush(cmdfile) again, having been authoritatively told
+ by net wisdom that there is no way to portably fflush a shared
+ read-stream. (I take back my claim about a bug in HP's fclose!)
+
+ John Sellens gave me some more fixes for non-DEC MIPS OS.
+
+2/22/92 3.19.1 John Sellens <jmsellen@watmath.waterloo.edu> gave me a bug
+ fix for NOWAITPID.
+
+2/21/92 3.19.0 Found a bug in HPUX fclose!! It moves the I/O pointer in the
+ shared file table entry! This explains the symptoms I reported
+ earlier. Fortunately, it's easy to code around (by me - it is
+ no longer necessary to fudge the scripts).
+
+ Added some stuff to the man page to explain why expect behaves
+ the way it does in an emacs shell window and how to live with
+ it.
+
+2/21/92 3.18.0 Worked on the HP port some more. The HP causes a real problem
+ by insisting SIGCLD be delivered in order for wait to return
+ a status. This royally complicated the code, partly because
+ of the special casing all over the place in the trap command,
+ the asynchronous delivery of SIGCLD and also because Tcl itself
+ is not prepared to have system calls be interrupted. Cleverly,
+ the HP also defines both CLD and CHLD which threw my macros
+ off at first. Thanks, but I don't this kind of help!
+
+ Anyway, the end result is that on the HP, SIGCLD is ignored.
+ The manual claims wait status will not be delivered but it
+ seems to be anyway. Good grief! (Even if it were ignored,
+ it would not be such a calamity, since wait is used mainly
+ to discard zombies on other systems.)
+
+ A remaining problem is that there appears to be some odd
+ interaction, perhaps with fork, such that the script is rolled
+ back at eof if a spawned process happens to exit at the same
+ time. The solution for now is to exit all scripts via exit
+ rather than letting exit be called implicitly. There must be
+ some real bug, but I'm unable to find anything after lots of
+ testing, line and Saber. At the moment, I'm highly suspicious
+ of the HP itself rather than expect.
+
+ Bob Proulx and Jeff Okamoto supplied me with patches for
+ inter_select.c. HP transmits some pty interactions via the
+ exception field in select.
+
+ Michael Grant gave me a mod to grok ~ in the logfile and
+ debug commands.
+
+2/17/92 3.17.1 Brian Keves <keves@meaddata.com> pointed out that the man page
+ still referred to "expect_match" instead of "expect_out".
+
+2/12/92 3.17.0 Eric Arnold <Eric.Arnold@corp.sun.com> ran into a problem
+ when running in the background. interact did ioctl(0...)s to
+ change the terminal mode, ignoring the -u flag.
+
+ Fixed a bug in kibitz which blew up when asking for a password
+ due to a spelling error. The drawbacks of interpreters...
+
+2/4/92 3.16.3 Dongchul Lim <lim@doctor.chem.yale.edu> noted that scripts can
+ hang in the background. I had assumed isatty(0) was enough to
+ contrast bg/fg but it returns 1 if the script was started with
+ a & from the terminal. I added code to watch if any ioctl(0)s
+ were done. If so, than it is safe to do more, in particular
+ in the exit handler to reset the terminal modes.
+
+1/28/92 3.16.2 Fixed a bug on SV systems causing errors when trying to do
+ further reads after a SIGCLD had already arrived on a spawn_id.
+
+ Peter Funk <pf@artcom0.north.de> gave mods for SCO XENIX 386.
+
+1/24/92 3.16.1 Oops. Forgot to add pty_svr4.c to shar.
+
+1/13/92 3.16.0 Karl Lehenbauer <karl@sugar.NeoSoft.Com> a tiny change for
+ getting a clean compile on SCO 3.2.2.
+
+ My getimeofday-avoidance code wasn't right, sigh. Kibitz
+ noticed. Fixed two other bugs in kibitz - password request
+ was for wrong user and it timed out but shouldn't have.
+
+ Note: seems to work fine with new version of Tcl: 6.2
+
+1/13/92 3.15.1 Added a bit of code to avoid gettimeofday system calls when
+ timeout == -1. Fixed minor bugs in kibitz relating to cleaning
+ up and returning error messages.
+
+ Redid support for stdlib.h including making it default to fix
+ problem in Ultrix 4.2 reported by Oliver Kretzschmar <viskretz
+ @ikesg1.energietechnik.uni-stuttgart.de>.
+
+ Ian Johnstone <ianj@sequent.com> said his system (DYNIX 3.2)
+ needed an additional include <ctype.h> in inter_select.
+
+ Dave Coombs <cme.nist.gov> added logic to test/weather to
+ accomodate a new feature in the weather server.
+
+ Hal Peterson fixed some SV code that I just added for handling
+ SIGCLD properly. He made the Cray-extra-child timeout in half
+ the normal timeout to allow distinguishing between eof and real
+ timeout. Finished rest of Jeff Okamoto's fixes for HPUX.
+
+ Wally Strzelec <packman@tamuts.tamu.edu> provided mods for
+ Amdahl which has its own pty-handling functions. Ifdef'd into
+ pty_usg.
+
+12/30/91 3.15.0 Fixed a bug that struck when eof occurred when reading from
+ multiple processes simultaneously and no user-supplied eof
+ handler.
+
+12/26/91 3.14.1 Ted Gibson <tgibson@logdis11.hq.aflc.af.mil> gave me some mods
+ for a 3B2 having to do with termio vs termios, etc.
+
+12/24/91 3.14.0 Deprecated expect 2. Expect 3 is now the official version.
+
+ Parag Patel <parag@netcom.netcom.com> gave me some #includes
+ necessary for A/UX 2.
+
+ Brian Woodson noticed "send a b" generates incorrect debug
+ output.
+
+ Working with Jeff Okamoto to run expect on HP/UX 8.0, we fixed
+ SIGCLD catching (he says HPUX doesn't ignore them by default?),
+ obviating longjmp from stomping locals, fixed a bug in cmdWait
+ that would prevent the wait status from being collected in
+ rare situations.
+
+12/17/91 3.13.1 James Davis suggested fixing Makefile to handle case where no
+ example scripts should be installed. I added similar logic
+ for script man pages.
+
+ Pete Siemsen fixed a bunch of things in the Makefile including
+ where to get expect when invoking fixline1. He suggested defs
+ for supporting install and multiple MAN targets.
+
+12/12/91 3.13.0 Matthew Freedman <mattf@cac.washington.edu> noted mismatch
+ between lib man page (said "stty_init") and lib code (said
+ "exp_stty"). He also found a screwup in the library such that
+ the pty slave wasn't being set up correctly.
+
+ Added note to kibitz man page on how to kibitz with 3 or more.
+
+12/12/91 3.12.0 "expect *" worked incorrectly if it was first expect after
+ spawn, due to buffer not being initialized.
+
+ Added a good example for "expect -continue" to man page.
+ Added an FAQ about a gcc problem that seems to be common.
+
+12/11/91 3.11.2 James Davis noted I forgot to put kibitz.man in distribution.
+ I changed kibitz to read domain from resolv.conf instead of
+ calling domainname(1) for systems upon which NIS domainname
+ differs from Internet.
+
+ Pete Siemsen <siemsen@barnard.usc.edu> noted slight error in
+ libexpect man page.
+
+12/10/91 3.11.1 A couple tiny mods to the Makefile courtesy of James B. Davis
+ and Michael Grant (guest worker from Sun, temporarily at
+ <mgrant@xdr.ncsl.nist.gov>. Both of them also noted a problem
+ caused by incorrect installation of gcc that caused expect to
+ say "ioctl(set): Invalid something or other" upon exit.
+
+ Fixed complaint about exit() while compiling without STDC.
+
+12/9/91 3.11.0 beta!
+
+ Hal Peterson provided fixes for UNICOS 6.1 and 7.0 on both
+ CRAY-2 and CRAY Y-MP. He also fixed a problem in interact
+ where malloc(0) could've occurred.
+
+ Added support for allowing user to set interpreter prompt.
+
+ Added forgotten -d flag to match_max in rftp script.
+ Made kibitz understand user@host.
+
+ Expect's internal buffer-full-handling incorrectly copied
+ the latter buffer half beginning from the end of the buffer.
+
+12/5/91 3.10.1 Massaged Makefile to allow for more flexibility in
+ installation, especially with regards to scripts. #! is now
+ reset.
+
+ Added "kibitz", a really cute script to let two people control
+ one program. Example users are for one person to help another
+ remotely, logging a conversation (run emacs or whatever inside
+ kibitz and your conversation can be logged, scrolled backwards,
+ etc., or of course, playing games together.
+
+12/4/91 3.10.0 Tightened up arg checking for "wait" - it core dumped when it
+ should've said "syntax error".
+
+ Rick Cady <rickc@nsd.3com.com> noted minor inconsistency in man
+ page describing strace.
+
+ I fixed a bug that prevented "system stty -echo raw" from
+ working. The raw data was clobbering the -echo data.
+
+12/3/91 3.9.0 Brian Woodson noted that "close -i ..." evoked a syntax error.
+ I had parsed the arguments incorrectly.
+
+ After the nth request, I finally set up pub/expect/scripts as
+ a directory for scripts.
+
+12/2/91 3.8.0 Phil Sheperd <pshepher@loki.uni.edu.au> fixed a major bug in
+ exp_spawnv() preventing one side of the pty from being set up
+ correctly. Thus nothing worked! He also reported that his
+ system didn't have strdup, so I added an explicit defn of it.
+
+ James B. Davis fixed a couple nroff-bugs on the man page, and
+ said someone already gave him a dump script (see below).
+
+ Richard (R.C.) Vieregge <richv@bnr.ca> found a $ was missing
+ from test/ftp.exp.
+
+11/22/91 3.7.2 James B. Davis <james@solbourne.com> straightened out a couple
+ things in the Makefile and asked if anyone had written a script
+ for dump.
+
+ Jeff Okamoto <okamoto@hpcc25.corp.hp.com> had a couple changes
+ for HPUX 7 and 8 compat, involving termio stuff.
+
+ Prompted by Andy Norman, added note to man page describing how
+ to disable all argv processing while using #!.
+
+ Converted passmass and rftp over to new version.
+
+11/15/91 3.7.1 Brian Woodson asked me about the Tcl_WaitPids "got unknown
+ process" panic. This is a Tcl bug that John has promised
+ to fix. I'll document how to avoid it in the man page.
+
+ Incidentally, I'm going under the knife tomorrow for three
+ torn cartilage in my wrist. The doctors say it may be a couple
+ days to couple months. Until I get back, hang in there.
+
+11/13/91 3.7.0 Yet another bug discovered (and fixed). "expect eof" was
+ failing to remember the buffer, and expect_out(buffer) was
+ empty upon return.
+
+ Brian Woodson noted I forgot to document the -i flag of close.
+
+11/12/91 3.6.0 Sean Cunningham <sean@moorenet.com> reported that he couldn't
+ open /dev/tty from 'at'. 'spawn' was incorrectly not executing
+ code to claim it was a controlling tty. BSD only.
+
+11/11/91 3.5.1 Brian Woodson notes that version 2 and 3 treat the following
+ differently.
+
+ proc p {} {spawn s}; expect
+
+ In v3, spawn_id is locallized by the proc, and thrown away when
+ p returns. Unfortunately, in v2 due to some sloppy coding on
+ my part, spawn always affected the global value of spawn_id.
+ This differed from the handling of other variables, and in v3,
+ this unusual behavior had to go, because the multiprocess
+ handling and the large number of variables implicitly set
+ (especially by the expect command) demanded that I be more
+ systematic about how this was done.
+
+ Since I never depended on this behavior, I never documented it
+ as being something you should rely upon. Alas. To fix it, add
+ the line
+
+ global spawn_id
+
+ to the beginning of any proc that calls spawn and needs the
+ value of spawn_id implicitly defined outside of the proc.
+
+11/6/91 3.5.0 Drew Whitehouse <Drew.Whitehouse@anu.edu.au> hit a bad pointer.
+ I forgot an initialization in expect.c which caused problems
+ when an EOF occurred which had no eof pattern.
+
+11/2/91 3.4.0 Added FAQ from various questions people have sent me and my
+ replies. Made CONVERTING file on converting from 2 to 3.
+
+ Nelson H. F. Beebe <beebe@math.utah.edu> found a missing
+ declaration for exp_tty_original in bye() of main.c. How come
+ the Sun C compiler doesn't complain about this!?!!?
+
+ Nelson also reported that SunOS 4.0.3 had a problem including
+ varargs. It turned out that old varargs had check for
+ reinclusion, and tclInt.h also includes it. So I added an
+ #ifdef va_dcl and put my inclusion after tclInt.h.
+
+10/31/91 3.3.0 Converted most of the examples. Three more to go.
+ Worked on man page some more.
+
+ Modified expect so that if timeout > 0, and nothing in the
+ buffer matched, it will force a read, no matter how long the
+ preceeding code took. This may be hard to understand, but is
+ the intuitive behavior that I always desired.
+
+10/30/91 3.2.0 Fixed bug in eof handling. Converted some more of the
+ examples, and added to Makefile.
+
+10/29/91 3.1.0 Fixed slight bugs in tty mode switching, pty initialization
+ (via stty).
+
+ Fixed expect library. Fixed compatibility code for non-BSD
+ systems. As usual, I could only test it so far, not having
+ all these systems at my disposal. I don't expect major
+ problems though, since the basic functions I depend on haven't
+ changed.
+
+ Completely rewrote handling of continue, return, etc in
+ expect, interact, interpreter. It's actually systematic now.
+
+ Checked with John O. about some code to bounce wild return
+ codes, which he said was a mistake and would remove, so now I
+ can pass my own return codes different from Tcl's.
+
+To get | to return -> TCL_RETURN TCL_OK (no return)
+ V
+ expect return default continue -expect
+ interact return -tcl return default
+ interpreter return -tcl return default
+
+ What this table says is, to get "interpreter" (for example) to
+ return TCL_RETURN to its caller, you must say "return -tcl",
+ because "return" makes it return TCL_OK.
+
+ The "argumented" versions are considered to be the uncommon
+ form. In particular, I'd be surprised if anyone ever uses
+ the -tcl argument, but it's there for completeness and
+ consistency now.
+
+ Put together a FAQ. Needs more work, but hopefully worthwhile
+ as is.
+
+ Computing Systems with Expect article appeared a couple days
+ ago. How ironic that it describes the old version of Expect.
+ Nonetheless, it looks ok.
+
+10/25/91 3.0.0 alpha!
+ First release of Tcl-6.0-ready code.
+ It might fly for a couple seconds.
+
+ Here is a quick list of changes. Besides Tcl incompatibilities, Expect
+ incompatibilities are flagged below as:
+
+ ** major - scripts definitely won't run if they depend on this
+ * minor - scripts probably will run but there is some subtle
+ change that should be examined).
+
+ ** Select renamed 'ready' and undocumented. Seems pointless now.
+
+ Added support to expect command for waiting on patterns from
+ different processes. The old version implemented this via
+ 'select' but but it is much simpler via expect. Added -i to
+ a number of commands to signify a spawn_id which overrides
+ the variable.
+
+ Added any_spawn_id to match any spawn_id.
+ An explicit null pattern, forces a spawn_id to be considered
+ when all it can possibly match are any_spawn_id patterns.
+
+ * output is no longer flushed to expect_match upon timeout.
+ May be multiple buffers now, so it doesn't make sense to
+ flush just one.) -n was added to disable transfers from input
+ buffer to expect_match var. I suspect it will only be used
+ for experimentation.
+
+ Added expect -re for regular expressions. Added expect_out
+ array to retain indices and strings of partial matches for
+ ** for both glob and re. expect_match has been renamed
+ expect_out(buffer).
+
+ A la Tcl, added -nocase for both types of patterns. (Oddly,
+ Tcl's case only does it for regexps.)
+
+ By popular demand, unanchored glob patterns. Old patterns
+ will continue to work, since earlier interpretation was much
+ stricter. Unfortunately, unanchored matches make certain user
+ errors easier. For instance, people will send answers before
+ seeing all of the question. Typically, output can 'look'
+ ugly, as answers land in the middle of other things.
+
+ To anchor patterns, use ^ in beginning and/or $ at end.
+
+ Added expect_out(spawn_id) to report which spawn_id was read.
+
+ Made expect and variants understand all args as one arg.
+
+ Added 'default' pattern.
+
+ Added continue_expect command.
+
+ Added expect_before, expect_after commands which take same
+ args as expect, but continue to stay in effect for all expects.
+
+ ** Added match_max command, deleted it as a variable. The old
+ way was too coarse for use over multiple spawn_ids. With no
+ arg, returns current max. Takes -i flag and -d for default.
+
+ Added globbing to spawn command.
+
+ Added optional -i spawn_id to wait.
+
+ Added optional -i to send (and all its variants).
+
+ Renamed trace to 'strace' since it conflicts with Tcl's new
+ trace command. Since 'trace' traces variables, I figured
+ 'strace' wasn't too bad (for "statement trace"). I felt
+ obliged to make it short and not as obliged to make it as
+ meaningful since it will probably invariably be typed by hand.
+
+ Made timeout == -1 mean infinity.
+
+ Made interact do pattern matching in both directions via
+ use of -o flag.
+
+ Added -F flag for convenience. If -f or -F used, interact
+ can no longer be overrun. In particular, if more characters
+ arrive then match a pattern, remaining characters will be
+ buffered rather than thrown away (old behavior).
+
+ Patterns may now be substrings of one another.
+
+ Made interact optionally take all args as one.
+
+ Default action is now 'interpreter' (see below).
+ interpreter now forces cooked mode, and echos results
+ so you don't have to constantly say "send_user [...]\n"
+
+ * Interact reads characters that have been buffered but not
+ matched by expect. And vice versa. Does anyone care?
+ (My rogue script did.)
+
+ From discussion with John Conti, I decided to make
+ 'interpreter' a separate command to start up interactive
+ command processor. Changed default action in interact to this.
+ Added eval depth and event id to prompt to interpreter.
+
+ Added expect_library which contains path for commonly
+ sourced expect scripts. Automatically source expect.rc
+ out of expect_library unless -N given. Automatically source
+ ~/.expect.rc unless -n given.
+
+ Added expect_version command to print and/or verify script
+ is compatible with running expect. Tcl version is also tested.
+ Felt it was worth making this a command because it's such a
+ pain to tear apart version strings.
+
+ Tcl's close and exit are both subsumed by expect's commands
+ of the same name.
+
+ Rewrote mode switching code so that "system stty" is handled
+ specially. This allows interact and interpret to get the modes
+ they want, without burning the user. It is now much easier
+ to leave expect in raw mode all the time, but the choice is
+ up to the user.
+
+ Added vgrindefs, courtesy of Brian Fitzgerald.
+
+9/23/91 Tcl 6.0 released. This new Tcl has some incompatibilities
+ with the old Tcl, so as long as everyone is changing their
+ scripts already, I'm taking the opportunity to make some
+ incompatible changes to Expect that I've wanted to do for a
+ long time.
+
+9/11/91 2.67 Ed Klein <eklein@syrinx.umd.edu> added support for SVR4 in the
+ form of pty_svr4.c and mods to command.c.
+
+ Added explanation to man page of how to create unreadable but
+ executable scripts. (No, chmod 111 doesn't work.)
+
+ Mark Diekhans <markd@grizzly.COM> pointed out to me that there
+ is a potential problem with the trap command:
+
+ "There is no control over when the signal will cause Tcl_Eval
+ to be executed. There is a chance that code in the Tcl library
+ will be executing when the signal comes in and the interpreter
+ data structure will be in an inconsistent state. This could
+ cause all sorts of nasty things to happen. In our Extended Tcl
+ (4.0) we added signal handling. but the way we implemented it
+ was to have the signal handler set a global flag. We modified
+ Tcl_Eval to check the flag after it finishs executing each
+ command. If the signal came in, Tcl_Eval then returns an error
+ such as: "SIGINT signal received". Signals may then be caught
+ with the catch command and processed."
+
+9/10/91 2.66 Don Jackson <Don.Jackson@Eng.Sun.COM> found a syntax error in
+ the usage error message of the example ftp-rfc script.
+
+ Marty Olevitch <marty%cosray@wuphys.wustl.edu> provided mods to
+ support MORE/bsd. Namely, added #include types.h to expect.c
+ and extern int errno to a number of files.
+
+ Scott Hess <scott@nic.gac.edu> noted a potential problem in
+ interact. Since interact only checks patterns at beginning
+ of reads, user can conceivably type fast enough so that
+ patterns are typed in the middle of a read. In reality this
+ doesn't happen, but Scott was driving one expect with another
+ expect and in this way provoked the behavior.
+
+ The solution is to read chars one at a time, either by
+ read(,,1) or buffering in a stdio-like way, but I'm not going
+ to do that because the code should really be rewritten entirely
+ and it just isn't worth it, since it is so easy to get around
+ at the user level.
+
+ Steve Legowik found that spawn-disconnect sequences fail. The
+ pty testing I added in version 2.55 causes expect to regain the
+ slave as a controlling tty, which generated SIGHUPs. If anyone
+ knows a clean way to avoid regain controlling ttys, let me
+ know. For now, I just set SIGHUP to SIG_IGN in the disconnect
+ command.
+
+8/14/91 2.65 Old passmass script changed root password. I renamed it to
+ passmass.old, and made a new one which works for any account.
+ It also supports yppasswd, telnet/rlogin, different names for
+ accounts on different machines. Handles VMS machines, too.
+
+ Added Computing Systems paper to expect distribution and moved
+ all expect-related things to separate expect directory in our
+ ftp directory.
+
+8/5/91 2.64 Achille Petrilli <achille@miss.cern.ch> found that on an SGI,
+ the expect command ocassionally returned "no more processes".
+ He traced the problem back to O_NDELAY in the open, which was
+ taken as-is from the man page, by someone else who's code I
+ didn't look at too closely at the time. The result works now.
+ Oddly I thought I fixed this error myself when the SGI support
+ was first installed, but I cannot find it. I evidentally
+ screwed up.
+
+7/31/91 2.63 Steve Legowik <legowik@cme.nist.gov> wanted to implement
+ callback by having a modem dial out and NOT go away, but
+ interact in the reverse direction. I added "interact -u" to
+ support the idea of changing the user from the default stdio
+ to a second spawned process. The result is that we can now
+ write a modem callback program that doesn't depend on the cute
+ trick of having getty recognize DTR which only worked when the
+ modem was directly connected to the computer. In Steve's case,
+ there were several network switches in the way.
+
+ Added "overlay" function which is similar to plain "exec" in
+ shell. (Too bad Tcl took the name already.)
+
+ Added robohunt scripts to the test directory. I wrote these
+ back in January, '91 and forgot about them til now. But I
+ suppose they are illustrative (at the very least of how to
+ generate truly random numbers). Ha.
+
+7/20/91 2.62 Carl Witty <cwitty@jessica.stanford.edu> pointed out my fdset
+ implementation (for systems that don't have it) wasted some
+ space. I had commented it correctly, however, making the
+ incorrect code obvious (except to me).
+
+ Robert Howland <howland@rahjr.ame.nd.edu> pointed out that
+ expect complained about not running from a real terminal under
+ cron. Oops! So I added a test to skip saving/restoring
+ terminal modes when fd 0 is not a tty, since this is obviously
+ pointless.
+
+7/19/91 2.61 Oops. Forgot to include getline and getline.exp examples even
+ though they have been documented!
+
+7/17/91 2.60 UMich changed interface to weather system necessitating change
+ to weather script.
+
+7/9/91 2.59 Didn't correctly comment things right in Makefile. Fixed.
+
+ Changed 'close' in gethostbyaddr example to 'catch close'.
+
+6/22/91 2.58 Made new file (pty_sgi.c) for supporting Silicon Graphics ptys.
+ Silicon Graphics select fails to see eof immediately but poll
+ works ok. Unfortunately, there was an error in inter_poll
+ (bad_io was uninitialized). Silicon Graphics works now.
+
+ Andy Norman <ange@hplb.hpl.hp.com> notes that linking expect
+ with the BSD compatibility library under HP-UX, libc.a must
+ be loaded before libBSD.a. Modified Makefile to reflect this.
+ He notes that there is a problem with expect not reading an EOF
+ from the current process. This should go away with HP-UX 8.0
+ when select has been enhanced to flag exceptions in the readfds
+ argument. Probably inter_poll would work.
+
+ Edward Haines <haines@bbn.com> notes that close returns EPERM
+ ("Not owner") on his Sun 4.0.3. This is rather startling!
+ (That's what I get for checking the return value of close!)
+ He said it is possible that they have modified things (viz.
+ DDN X.25 is loaded), but it still sounds incredible. For now,
+ I told him to either "catch" all closes or to remove the check
+ in the source code.
+
+ Added example scripts: ftp-rfc retrieves an RFC from uunet
+ via ftp. archie mails back a listing from the archie server.
+
+ Add the rest of Hal Peterson's changes for Cray support, 1)
+ fixing a problem where spawned processes flushed unread I/O
+ upon process exit, and 2) creating processes with the correct
+ uid. See his comments in command.c for more info.
+
+6/6/91 2.57 (On Cray) made signal handler declarations right. Added
+ missing #endif. Added includes to pty_unicos.c. Fixed bug
+ in two bugs in CmdSend, one involving send_stderr, the other
+ send_user. All of these are from Hal Peterson.
+
+ Added gethostbyaddr as example script. Given an internet
+ address, it returns the domain name. By querying neighboring
+ hosts if the name server fails, a much higher probability of
+ returning the name is obtained.
+
+5/30/91 2.56 Mispelled "match_max" as "max_match" in rftp script. This
+ caused files after the 2000 byte mark (per directory) to be
+ skipped.
+
+5/21/91 2.55 Revisited BSD pty code to reject ptys that have either slave or
+ master side already open. This fixes problems rare problems
+ such as expect not being able to see EOFs from the child proc.
+ (because another process still has the pty slave side open).
+ USG and Cray pty code could probably use this code, too.
+
+ Fixed bug in expect library (lib_exp.c) which caused output to
+ be copied to stderr instead of logfile when logfile_all was
+ set. Per Sreedhar Muppala <muppalla@nssdca.gsfc.nasa.gov>.
+
+5/16/91 2.54 Fixed weather script to accomodate occasional Weather Watch
+ that would cause an unexpected initial question to pop up.
+
+5/15/91 2.53 Added comment to BUG section of man page describing pty
+ misbehavior with non-interactive programs (search for "553061"
+ below), as per Hal Peterson <hrp@cray.com>.
+
+ Removed note from README about asking Ousterhout for SV TCL
+ at his request.
+
+5/11/91 2.52 Fixed a syntax error that Bruce Larson <ires@kaspar.ires.com>
+ found in inter_poll.c
+
+4/23/91 Computing Systems accepted paper on Expect for issue 4.2.
+
+4/18/91 2.51 Added some example scripts:
+ weather - retrieves weather forecasts from National Weather
+ Service via University of Michigan server.
+ rftp - ftp a directory hierarchy (i.e., recursively).
+
+4/18/91 2.50 Changed timeout to apply to total time in expect rather than
+ per read(). Original behavior hung forever when my modem test
+ script started listening to a modem than spit out 1 spurious
+ character every 10 seconds (very consistently).
+
+ Hal Peterson <hrp@pecan.cray.com> noted that exp_spawnv's args
+ didn't match documentation. Fixed in favor of documentation.
+ Several other funcs don't match header file (but typechecking
+ is avoided during compilation), because it was too hard for me
+ to make the header file ANSI compliant and support varargs
+ (which is undeniably more portable than stdargs at this point).
+ Fixed prototype declarations (again) in expect.h for C++ and
+ Standard C. Verified with GNU, G++ and Sun C (proto-less).
+
+ Added exp_disconnect to library. Moved alarm calls closer
+ to read() to tighten windows.
+
+4/11/91 2.49 Changed passmass script to use timeout of 1000000 instead of
+ 10000000000 after discovering that Ultrix sleep(3) doesn't
+ sleep at all for large values!
+
+ Added support for systems without dup2 (SVR2) per
+ <elston@edwards-tems.af.mil>.
+
+ Added test/Makefile to shar as per Chris Pribe
+ <cpribe@park.bu.edu>.
+
+4/4/91 2.48 Fixed possible problem with poll in inter_poll.c for systems
+ that check for a valid address even though no members are used.
+
+3/27/91 2.47 Added support for Cray Unicos 6.0, which of course is different
+ from Unicos 5.1 (which was different from everything else)!
+ This and other minor bugs fixed courtesy of Pete Termaat.
+
+3/19/91 2.46 Removed a "feature" which caused patterns with no whitespace
+ not to be run through SplitList. While not documented not to
+ do so, this was mystifying even to me when I saw it. For
+ William Waite. The result actually simplified the internal
+ handling of multiple patterns, removing some excessively
+ complex logic that I thought would be helpful for speed, but
+ that in retrospect, was not that important.
+
+3/16/91 2.45 Added my own definition of FD_SET, fd_set, etc, test for
+ SIGABRT, and support different types of signal arg func
+ definitions to support SunOS 3.5 as requested by William Waite
+ <waite@scotty.colorado.edu>.
+
+3/14/91 2.44 Removed redundant def'n of pty_stty in pty_usg.c, redef of
+ sprintf and added signal.h to command.c to make compiles
+ cleaner on SV3 and HPUX machines. All compliments of Mike
+ Gourlay.
+
+3/10/91 2.43 Added -s (for slow) and -h (for human) flags to send. This
+ had been requested by several people including Frank Terhaar-
+ Yonkers (who actually wrote and tested a "send_slow" command),
+ and Steve Simmons who suggested the "human" option (over a year
+ ago), and Brian Woodson (brianw@swqa-sun.ESD.3com.com), who
+ requested both! Thanks to NIST statistician, Keith Eberhardt,
+ who taught me about the Weibull Distribution.
+
+ According to Jim Thomas <jthomas@nmsu.edu>, 3b2 requires
+ defines for R_OK and W_OK. Added to pty_usg.c.
+
+ Added support for "-" as file name on command line to mean
+ stdin as requested by Steve Clark <clark@cme.nist.gov>.
+
+ Wrote passmass (change root password on a set of machines) as
+ requested by Ken Manheimer <klm@cme.nist.gov>. Added to test
+ directory.
+
+2/21/91 2.42 Removed reinstallation of signal 0 in signal handler.
+
+ Added hook for setting initial pty parameters when started in
+ the background. Should've done this a long time ago, but I
+ was never really happy with my solution and had hoped I would
+ think of a nicer method. I only hope this is clean enough.
+
+2/10/91 2.41 Added buffer_full keyword to solve Brian Fitzgerald's problem.
+ It disables "forgetfullness" so that when expect's internal
+ buffer hits match_max, whatever it has returns at that point.
+ Didn't add this to the library version, because I want to think
+ for awhile about the cleanest way to do it.
+
+2/4/91 2.40 Per Brian Fitzgerald (fitz@mml0.meche.rpi.edu), fixed error in
+ interact example on man page which incorrectly implied that
+ "kill" was built-in.
+
+ Added fork/disconnect functions. This solved the problem of
+ Jerry Friesen (jafries@snll-arpagw.llnl.gov) who wanted to run
+ an expect script that asks for a password and then goes to
+ sleep for awhile before waking up to run in the background (to
+ run a program using Kerberos).
+
+1/30/91 2.39 Per Jim Johnson (jaj@mlb.semi.harris.com), added declaration
+ and documentation for exp_pid in libexpect.
+
+1/10/91 2.38 More mods from Frank Terhaar-Yonkers. Also, some requests
+ from Pete TerMaat (pete@willow.cray.com) for features:
+
+ 1) a single-step facility. Yeah, that would be nice. No
+ ideas on how to do this easily.
+
+ 2) Generate scripts automatically after watching a session.
+ This is hard. Read more about this in the FAQ.
+
+1/10/91 2.37 Added support for Cray Unicos 5.1, all courtesy of Frank
+ Terhaar-Yonkers (fty@sunvis.rtpnc.epa.gov). Most of it had to
+ do with pty support.
+
+1/8/91 2.36 Modified expect.h to support C++ and ANSI prototypes. Added
+ appropriate example in test directory based on chesslib.c.
+
+1/7/91 2.35 At the request of Jan Norden (jano@imdpy1.im.se) added
+ NO_MEMCPY and NO_STRING_H defines for Pyramid.
+
+1/3/91 2.34 Added a check to protect against a longjmp occurring between
+ i_read and alarm(0). Didn't think this would be a problem but
+ evidentally a function return modifies the stack, so it cannot
+ be returned to again. Drat! This appeared in the robohunt
+ script I wrote which plays hunt automatically and uses 1
+ second timeouts.
+
+12/19/90 2.33 Add signal to sighandler, to reinstall signal for those systems
+ that need it.
+
+12/12/90 2.32 Removed test for args to expect. I only recently realized that
+ no args still allows a valid way to check for timeout and eof!
+
+12/6/90 2.30-1 Mike Gourlay (mike@penguin.gatech.edu) found and fixed quite a
+ few SV-related problems that I had introduced since Clem's
+ fixes. We eventually got it to run on his HPUX machine, a
+ mixed breed of BSD/USG stuff. But spawning a shell worked but
+ always produced a complaint about "no access to tty" which we
+ were never able to get rid of, and he had a problem with
+ exp_fexpect (but not exp_expect), although it still isn't clear
+ if that was expect's fault. He said he would speak to some HP
+ engineers about what he found.
+
+12/5/90 2.29 Fixed a malloc off-by-one bug in new C library. After
+ contemplation, revised interfaces. Decided that rather than
+ following the original 'expect' style, it should be more like
+ what a C programmer is used to, so I made the file descriptors
+ be parameters to exp_expect rather than globals, added an
+ exp_popen which is a popen equivalent, and added exp_fexpect
+ versions which are stream equivalents.
+
+ Am not happy with exp_fexpect. It is much less efficient than
+ exp_expect, because there is no way to (portably) get fread()
+ to return the way read() does, with less then the number of
+ characters you supplied a buffer for. Instead, I have to call
+ fgetc for every char. Ugh.
+
+ Add a couple new examples, including lpunlock, time.exp,
+ chesslib.c (using file descriptors) and chesslib2.c (which uses
+ stream pointers).
+
+12/3/90 2.28 Created C library version of expect.
+
+11/29/90 2.27 Fixed bug in interact - when no string actions were defined,
+ the mapping table length wasn't set at all.
+
+ Made interact call printify when debugging so that crlf and
+ other nonprintables are visible. Fixed bug in printify which
+ interpreted some characters wrong due to parity.
+
+ Added some more examples to the distribution (lpunlock, dvorak,
+ timed_read) and put in another tip in the TCL HINTS section of
+ the man page.
+
+11/18/90 2.26 Fixed mismatched comment per Craig Warren (ccw@deakin.oz.au).
+ Also improved man page entry for "interact".
+
+11/17/90 2.25 Added -f (fast) on interact options, and made default case a
+ little more efficient. Added explicit support for SIG_IGN and
+ SIG_DFL in trap command. Added ability to specify signals
+ symbolically for portability.
+
+11/15/90 2.24 Craig Warren (ccw@deakin.oz.au) wanted to exit expect while in
+ interact with a single character. Dan Bernstein
+ (brnstnd@kramden.acf.nyu.edu) wanted to suspend with a single
+ character. So I generalized interact's escape character to
+ string-action pairs.
+
+11/7/90 2.23 Tired of getting reports that various (Ultrix 3.1, BSD4.3) C
+ compilers can't handle ternary conditionals returning ptr to
+ func returning void. Made all (2) such statements into
+ if-then-elses. Per Steve Simmons (scs@iti.org).
+
+10/8/90 2.22 Allow "log_file" even when no log is open. This makes user
+ programming a little simpler - they don't have to remember
+ whether they opened the log or not.
+
+9/27/90 2.21 Fixed bug, v2.19 introduced. debuglog(unknown string) requires
+ a "%s" as formatting for protection against %'s in the unknown
+ string.
+
+9/17/90 2.20 4 syntax errors in interact_poll.c, vik@sequent.com. Added
+ quotes to all the sends (now that this is more efficient) in
+ the examples and man pages. Also removed a misstatement in the
+ man page about the behavior of double quotes.
+
+9/15/90 2.19 Removed buffering from send command. Originally, I buffered
+ the args, so I could do it all in one write. But to send
+ variables bigger than the buffer didn't work. I didn't think
+ about this before. But Joe Gorman
+ (Joe.Gorman@elab-runit.sintef.no) asked me if you could "send"
+ a file in one command, and of course you can using [exec cat]
+ as the argument to send, but the damn buffering prevented big
+ files from being sent. Anyway, now it works.
+
+9/14/90 Fixed the declarations of nflog and nferrlog. Added a #define
+ so lack of pid_t could be controlled from the Makefile. Per
+ Andy Holyer (and@ux.rfhsm.lon.ac.uk)
+
+9/4/90 2.18 Added trap command to catch signals. This is nice as (among
+ other things) it allows you to turn off the conversion of ^C to
+ timeout which was requested by John Conti <jconti@cisco.com>.
+
+8/21/90 2.17 Fixed bug in printify. Forgot to reset ptr to beginning of
+ print buffer. Made debugging info wrong. Possibly screwing up
+ other things on overflow.
+
+ Paper accepted into USENIX LISA!
+
+8/15/90 Cleaned up man page. Made tabs line things up correctly,
+ finally.
+
+ Found another problem with ptys (at least under SunOS 4.1 and
+ earlier). When last pty-slave fd closed, any unread output is
+ lost after a short window of time (around 10 seconds on a
+ Sun 3/60). Sent example ptybug.c to Sun demonstrating this and
+ EIO problem found earlier. (Service Order #553061)
+
+8/6/90 2.16 Added -f to debug command, -a to log_file command. This
+ required significant changes, including revisiting all the
+ logging routines, plus miscellaneous output done in special
+ places. Noted that it cannot be done with getopt, since it
+ could be called during main's getopt, and getopt is not
+ reentrant! (Guess how I discovered this!!)
+
+ I'm not particularly happy with the design, but maybe others
+ won't be. In any case, I like the benefit of it and am now
+ glad that -a was asked for. Per Harry Bochner and Ira Fuchs
+ (fuchs@pucc.bitnet).
+
+ Changed behavior of argv, so that 0 == [length $argv] when no
+ script/args supplied.
+
+8/4/90 2.15 Added debug command, so -d-ness could be changed while expect
+ is running.
+
+7/20/90 2.14 Fixed small bug in -d output from expect, which printed ^Z as
+ ^:
+
+7/18/90 2.13 Added wait command. A waitpid/waitspawnid would be nice and
+ cleaner, too, but since csh doesn't need it, it is probably not
+ worth much.
+
+ Consequently, removed SIGCHLD handling from command.c. It
+ worked under SV but not BSD. By forcing users to explicitly
+ code waits, resulting scripts are more portable.
+
+ Rewrote rogue example. rogue sometimes misses EOF (generated
+ by close on our side) and continues reading.
+
+7/16/90 2.12 Removed buffering from variadic log routines. This was
+ faulting when the buffers overflowed.
+
+ Cleaned up the -d output from expect, so it is much more
+ readable. For example, control characters are now visible.
+
+7/14/90 2.11 Added declaration for errno, to support 4.3BSD. Per Alan
+ Crosswell. Added -i flag and related behavior.
+
+7/12/90 2.10 Fixed bug where timeout = 0 waited forever rather than not
+ waiting at all.
+
+7/11/90 Fixed man page example which didn't include the blank on the
+ end of an ftp prompt.
+
+7/9/90 2.9 Fixed bug in send when spawn_id = $user_spawn_id.
+
+6/27/90 2.8 Integrated some mods from clem cole (clemc@ccc.com) to support
+ System V.3 (386/ix Version 2.02). Unfortunately, he didn't do
+ "select".
+
+6/25/90 2.7 Test that cmdfile and logfile are open before fclosing in child
+ while spawning. Per Corey Satten <corey@cac.washington.edu>
+
+6/24/90 2.6 Pty master returns EIO instead of EOF when pty slave closes.
+ Bug in pty driver? Until I figure this out, I have put in code
+ to interpret EIO to EOF.
+
+6/21/90 Added new section to expect man page - Tcl hints.
+
+6/14/90 Spoke at USENIX. Went well. Added USENIX paper as separate
+ ftp archive.
+
+6/4/90 2.5 Fixed bug in ^C catching during expect. Changed man page to
+ accurately describe what ^C does. Fixed bug that caused "send"
+ to screw up when handed 0 arguments. All per Harry Bochner.
+
+6/1/90 2.4 Made trailing empty action in expect optional, primarily to
+ make straightline code easier to read.
+
+5/15/90 2.3 Changed expect to strip nulls from program output since there
+ is no way for Tcl to handle them, per Harry Bochner.
+
+5/5/90 Added "send_error" command.
+
+4/26/90 Got USENIX paper back from Kolstad to proof. Am depressed at
+ how awfully they formatted it.
+
+4/25/90 2.2 Eric Newton found that expect's special variables weren't being
+ found inside of user subroutines. Had to do with new Tcl,
+ which now differentiates between variables that are undefined
+ vs. empty.
+
+4/24/90 Upgraded Tcl from 2.1 to 3.3.
+
+4/22/90 Added special behaviors of ^C in expect, and when profiling.
+ Profiled rogue (at urging of Ousterhout).
+
+4/10/90 2.1 Added select command. Added support for user_spawn_id so that
+ you could treat user just like another process (i.e. with send
+ and expect). Decided to leave send_user/expect, since scripts
+ are more readable with them.
+
+4/2/90 2.0 Changed syntax of expect to provide alternatives (a la Tcl
+ case), per suggestion of John Ousterhout. Note that this
+ breaks pre-2.0 scripts.
+
+3/31/90 Got great comments from Ousterhout. (This time he said that he
+ really liked the idea. Maybe he realizes how much it will
+ promote Tcl!)
+
+3/30/90 Got comments from dpk. Made me think more about Perl.
+
+3/28/90 Evi said I should turn the paper in unformatted and they will
+ format it. (She's kidding, I hope.)
+
+3/27/90 1.8 Rewrote interface so that raw arguments can be passed in like a
+ shell. I'd been thinking about this for some time, but Eric
+ Newton finally prodded me into action.
+
+3/25/90 Got first corrections for paper - from Sue Mulroney!
+
+3/24/90 Observed that it is possible to use the #! syntax with expect.
+ I asked John O. about this (his choice of # as a comment
+ character), and he said it was pure coincidence. Deprecated
+ request to end scripts in ".exp".
+
+ Ted Hopp volunteered to be my Center WERB reader.
+
+3/23/90 Finished 1st draft of USENIX paper and sent copies to John
+ Ousterhout and panel chair, dpk@morgan.com.
+
+3/20/90 1.7 Deprecated "stty", and added more general "system" command.
+
+ Sent Evi some complaints about the business of not allowing
+ camera-ready at USENIX.
+
+3/17/90 Sent copies of man page to Doug Gwyn and Larry Wall for
+ comments. Note that gwyn downloaded it.
+
+3/16/90 Am really irritated by USENIX. My paper has been put in a
+ session against another session, the BSD people. Furthermore,
+ they called my paper an application, when it is no more so than
+ any other shell or language. Better I should be in "lessons
+ learned". Mashey said take a hike, i.e., it was too late to
+ change the schedule. On top of that, our session has four
+ people in it, so I'll have very little time to speak. Grrrr.
+
+3/13/90 1.6 Added "stty", because without it you can't do things like
+ turning off echo to accept a password.
+
+3/8/90 1.5 Abstract was accepted into USENIX!!!! Time to start writing
+ it! Sent man page to Ousterhout. He didn't seem too
+ impressed.
+
+ Added "send_user/expect_user" after listening to Ken complain
+ about how shell could not do timed reads. Actually it can, but
+ expect does it much more naturally. Deprecated echo. Now, I
+ realize that expect can be viewed as a shell!
+
+ Changed logfile/loguser to log_file/log_user to match all the
+ variables with underscores in them.
+
+ Barry Warsaw asked if there was any way one could execute any
+ command from interact (apparently without any reason in mind).
+ Nonetheless, it is a wonderful idea, and I changed the "abort
+ character" in interact to an "escape mechanism". After
+ escaping, you may execute any command. return duplicates the
+ old action of the abort character. Now you can do interactive
+ job control, recursive interacts, etc. You can bet I didn't
+ get this right the first time!
+
+ At Scott's request, fixed bug related to pty initializing.
+ Scott was putting expect in the background which disassociated
+ it from a tty, and I was blindly copying the tty parameters
+ without checking to see if they were meaningful or not.
+
+ Tightened up exit code. Fixed bug in spawn so it would print
+ error messages when it failed. Spawn sends back the error
+ message in the pty, if the fork succeeds but exec fails. Cute!
+
+ Added "close" command. Makes scripts much shorter and cleaner.
+
+ Return string matched by expect directly, rather than setting a
+ special variable.
+
+ Added "match_max" feature. Probably no one will ever use it.
+
+ Added trace command.
+
+3/6/90 1.4 Rob Densock was the second user, and suggested (demanded?) the
+ idea of the loguser command. I added it and changed "log" to
+ "logfile" making the first incompatibility with existing
+ scripts (sorry, Steve).
+
+3/1/90 1.3 Trying to make pty code more robust. Many questions unanswered
+ by manuals. Did a lot of guessing. While debugging, looked
+ through pty code in gnuemacs to see if I might increase
+ portability somehow. I almost barfed when I saw all the funky
+ ifdefs on weird ioctls. Found lots of comments like "this
+ might work".
+
+2/28/90 Sent a short Tcl bug list to John Ousterhout. He thanked me!
+
+2/22-3/90 1.2 Hooked my first user, Steve Ray. Surprisingly, he only found
+ one bug in the code (exit didn't handle args correctly), but it
+ was obvious that I need to put more explanation in the man
+ page. Many of the examples in the man page are based upon his
+ probl.. questions. Thanks, Steve!
+
+2/20/90 Posted news about expect to "general" newsgroup locally.
+
+2/15-20/90 Talked to local POSIX reps and then to Steve Albert (AT&T)
+ about portability of select, wait and other system calls. I'm
+ not impressed by 1003.1.
+
+2/9/90 John Ousterhout answered some questions I had about Tcl syntax.
+ I like this language!
+
+2/8/90 1.1 Sandy Ressler suggested the idea of being able to spawn
+ multiple programs at the same time although he didn't say how.
+
+ It took about a day to design and code the spawn_id hook.
+ Extremely difficult to support this with uucp-style kludge.
+ Switched to using select. So much for portability.
+
+ I investigated how to do this portably, and spent some time
+ talking to NIST & AT&T POSIX representatives. Unfortunately,
+ portability (especially when it comes to select()) remains a
+ dream. Provided multiple versions of "interact" depending upon
+ what OS you are running.
+
+2/7/90 1.0 Completed first cut of "sex" (for "Smart EXec" or
+ "Send/EXpect"). Supports send, expect, echo, log, spawn,
+ interact.
+
+ Spent a lot of time making "log" write to log in just the right
+ order (across fork and while debug flag enabled). Ended up
+ writing a bunch of variadic log routines.
+
+ Fooled around with uucp-style multiple processes versus one
+ process doing select() to read asynchronously. Using
+ uucp-style for now, since it is more portable.
+
+ Gave up on pipes, and switched to ptys. Pipes seem to be
+ messed up by ftp, perhaps because it goes into raw mode? Ptys
+ are more efficient and cleaner to program albeit less
+ well-documented and portable from system to system.
+
+ Ken Manheimer helped me explain what the program does. I kept
+ saying it does "send/expect" processing, and he kept insisting
+ that was meaningless to everyone. (In fact, it comes from
+ uucp, and I guess uucp hackers are indeed a dying breed.) Ken
+ gave me an elegant enough sentence that I expanded it into an
+ abstract and sent it in to the USENIX conference the following
+ day (two days after the deadline).
+
+ I noted that the uucp documentation I referenced in the
+ submission is dated October 31, 1978!
+
+1/30/90 0.0 Got a copy of Tcl and went to work. Tcl was exactly what I
+ need. Plus, it is easy to use, AND it is documented.
+
+1/25/90 Attended Winter 1990 USENIX in DC, with the goal of banging
+ heads with some other gurus in hopes of finding a good
+ send/expect language for a generalized stelnet. Had looked at
+ uucp and kermit but found nothing general enough.
+
+ Listened to John Ousterhout's presentation on Tcl. By the
+ middle of the talk, I had found religion. At the end when he
+ said it was public-domain, I was ready to orgasm.
+
+*/*/88-89 Spent a lot of time telling Scott how useful his program could
+ be if he made it more general. I thought it wouldn't be that
+ difficult to make more generic. Scott was interested but not
+ enough to do it.
+
+9/25/87 Helped Scott Paisley write a program called stelnet, that
+ forked a telnet and did very simple send/expect processing.
+ It used pipes, not ptys. It had no pattern matching, and only
+ straight-line control without error handling. Nonetheless,
+ this got me to thinking about making stelnet more generic.