resetting manifest requested domain to floor
[platform/upstream/expect.git] / HISTORY
1 This is the HISTORY file for Expect.  Modifications made by Cygnus
2 support are in ChangeLog. - Don
3
4 Date    Version Description
5 ------- ------- ------------------------------------------------------
6 1/31/06 5.44.1  Marius Schamsula <marius173@mchsi.xcom> reported tclconfig
7                 missing, evidentally for new TEA.
8
9 1/20/06 5.44.0  Lots of massaging to fix TEAification of Makefile and configure
10                 including that version numbers will now be full three part.
11
12                 Daniel Wong <danielwong@berkeley.xedu> noted the home page
13                 should note that Wikipedia has a very readable entry for
14                 Expect.
15
16                 Andre Alves <aalves@escloyalty.xcom> noted passmass needed some
17                 fixes to handle Solaris 9 passwd prompt changes.
18
19                 Andreas fixed several things: changes to better support TEA,
20                 fix debugger interaction with nonblocking mode, and probably
21                 other things I'm overlooking.
22
23                 Martin Dietze <di@fh-wedel.xde> noted that autoconf 2.59 is
24                 confused by C comment after undefs in expect_cf.h.in.
25
26                 Added additional code to unbuffer -p so that if a process
27                 earlier in the pipeline exits, unbuffer attempts to
28                 recover any remaining output from the spawned proc before
29                 unbuffer itself exits.
30
31                 Jeffrey Hobbs noted that once stty was called, a bg'd script
32                 would be suspended at exit.  Turned out to be overaggressive
33                 code in stty that recorded what 'damage' the user might have
34                 caused when calling stty in the first place.
35
36                 Jens Petersen provided patch to make setpgrp configure better
37                 on some Linux systems.
38
39                 Added example/getpassck script to test for getpass bug.
40
41                 multixterm had debugging stuff leftover ("hello").
42
43 2/7/05  5.43.0  Martin Forssen <maf@tkrat.xorg> fixed bug in ExpOutputProc
44                 that caused misbehavior during partial writes.
45
46                 Someone noted that gets stdin behaves differently (returns -1
47                 immediately) from tclsh because with 5.42, stdin is unblocked
48                 by defaults.
49
50                 Robroy Gregg <robroy@armory.xcom> noted that expect_background
51                 ignores timeouts.  Added to documentation.
52
53                 Jens Petersen <peterson@redhat.xcom> provided patch for
54                 "mkpasswd -vo".
55
56                 Gary Bliesener <gary.bliesener@nextel.xcom> noted that
57                 multixterm failed on his system which had an old Tk that didn't
58                 support the Tk package.
59
60 8/3/04  5.42.1  Removed beta designation.
61
62                 Daniel A. Steffen <steffen@ics.mq.edu.xau> provided patch for
63                 MacOS to avoid panic-redefinition.
64
65 7/6/04  5.42b0  Releasing as beta because nonblocking mode is a big change in
66                 the code.  http://expect.nist.gov/beta.tar.gz
67
68                 Alexander Doktorovich <alexander.doktorovich@ericsson.xcom>
69                 wanted to use Expect as a filter.  This is possible but 'too
70                 hard'.  To make it easier, added close_on_eof command to
71                 control whether expect/interact automatically close the
72                 channel on eof.  This should simplify/enable other scripts.
73
74                 Kurt Heberlein <kurth@3pardata.xcom> noted that Expect would
75                 hang.  Andreas tracked it down to a change in Tcl such that
76                 when Tcl had data left in its buffers, it would check for more
77                 data rather than returning what it had to Expect first.  If
78                 no data was forthcoming then Tcl would hang because the pty
79                 driver runs in blocked mode.  Recoded to use nonblocking mode.
80
81                 Yi Luo <yluo@brocade.xcom> noted that multixterm xterms were
82                 reporting the parent's X window ids (via the WINDOWID env
83                 variable) instead of the new ones.
84
85                 Dick Van Deun <dirk@dinf.vub.ac.xbe> noted that kibitz expects
86                 to find write in /bin but it is in /usr/bin on Slackware.
87                 Seems safe to drop the prefix.
88
89                 Steve Lee <steve@tuxsoft.xcom> noted that building Expect
90                 failed on Linux when built from scratch because stty ends up
91                 in /usr/local/bin rather than the assumed /bin.  Added code to
92                 support this.
93
94 4/20/04 5.41.0  Simon Taylor <simon@unisolve.com.xau> provided fix for
95                 interact -o which was completely broken by 5.40.1.
96
97 4/6/04  5.40.1  Added scroll support to official tkterm.  Copied all fixes
98                 from/to term_expect to/from tkterm.
99
100                 Kiran Madabhushi <maskiran@hotmail.xcom> encountered interact
101                 diagnostics incorrectly pointing to expect_background.  Also,
102                 found multiple -o flags behaving unexpectedly.  Added diag.
103
104                 Kristoffer Eriksson <ske@pkmab.xse> noted typo in SIMPLE code
105                 in exp_inter.c.  However, this is extremely unlikely to affect
106                 any machines.
107
108                 Reinhard Max <max@suse.xcom> noted that "make test" failed when
109                 run in the background.  The log testcase was testing the
110                 send_tty command.  Added code in both Expect and in the test
111                 to handle this.
112
113 1/30/04 5.40.0  Eric Raymond <esr@snark.thyrsus.xcom> provided troff-related
114                 fixes for the expect, lib, and dislocate man pages.
115
116                 Rich Kennedy <rickenne@cisco.xcom> noted a bug having to do
117                 with our caching of whether we have registered a filehandler.
118                 This broke when Tcl was setting a handler on the same file.
119
120                 Ken Pizzini <ken.pizzini@explicate.xorg> provided patch for
121                 leak in spawn error handling.
122
123                 Pete Lancashire <plancashire@columbia.xcom> noted autopasswd
124                 example broke on Solaris which capitalized prompts.
125
126 7/31/03 5.39.0  Poorva Gupta <poorva@cup.hp.xcom> noted that grantpt/unlockpt
127                 order was backward.  Strange that this was never a prob before!
128
129                 Andreas Kupries <andreask@pliers.activestate.xcom> noted that
130                 in exp_command.c, Tcl_GetChannelHandle expected a ClientData*,
131                 but got an int*. sizeof(int) != sizeof(ClientData) on 64bit
132                 platforms. Crashed the command on a PA-RISC 2.0 machine with
133                 --enable-64bit set. Fix: Use temp. variables of type ClientData
134                 to retrieve the fd's, and copy this into the actual variables,
135                 with a cast to int.
136
137                 More fixes from Andreas to sync this version with SF.
138                 Fixed: exp_chan, weather, exp_main_tk.
139
140                 Eric Raymond <esr@snark.thyrsus.xcom> provided a troff-related
141                 fix for the multixterm man page.
142
143 7/29/03 5.38.4  Nicolas Roeser <n-roeser@gmx.xnet> noted confusion with md5 so
144                 I made the Expect page more explicit about which file that hash
145                 was based on.           
146
147 7/11/03 5.38.3  Josh Purinton noted that earlier fix wasn't quite right.  Exit
148                 on INT/TERM should cause Expect to exit with signal embedded in
149                 status.  He also requested I obfuscate email addresses in this
150                 file.
151
152 7/7/03  5.38.2  Guido Ostkamp <Guido.Ostkamp@t-online.xde> and Igor Sobrado
153                 <sobrado@string1.ciencias.uniovi.xes> noted that fixline1
154                 rewrote scripts to be expect scripts even if they were expectk
155                 scripts.
156
157 5/27/03 5.38.1  Dirk Petera <dirkpetera@yahoo.xcom> noted that any_spawn_id
158                 used to work but did no longer.  Looks like a bug left over
159                 from the the I18L conversion.  Fixed.
160
161                 Steve Szabo noted exp_log_file -open channel failed.  Fixed.
162
163                 Fixed bug from 5.31 that prevent stty from returning messages
164                 from underlying program.
165
166                 Thomas Dickey <dickey@herndon4.his.xcom> noted that ncurses
167                 ignores 2-char term names because of, well, poor assumptions
168                 and coding.  Changed tkterm to use longer names.
169
170                 Heath Moore <hmoore@systran.xcom> noted that exp_clib could
171                 lock up if remtime happened to be precisely 0.  Recoded to
172                 avoid.
173
174                 At request of Per Otterholm <otterholm@telia.xcom>, wrote
175                 script to read from stdin and echo passwords (exercise 9 in Tk
176                 chapter of Expect book).  Added to example directory as
177                 passwdprompt.
178
179                 Josh Purinton <josh@purinton.xorg> pointed out that
180                 by default, SIGINT/TERM should cause expect's return status to
181                 be 1, not 0.
182
183                 Paul Reithmuller <paul.reithmuller@eng.sun.xcom> noted that
184                 unbuffer shouldn't postprocess its output.  Added stty_init.
185
186                 Mordechai T. Abzug <morty@sanctuary.arbutus.md.xus> noted that
187                 log_file wasn't recording -append status.
188
189                 James Kelly <macubergeek@comcast.xnet> noted weather example
190                 needed new source.
191
192                 Dimitar Haralanov <mitko@tahoenetworks.xcom> noted that
193                 interact dumped core with interact { timeout 1 }
194
195 7/18/02 5.38.0  At request of Hugh Sasse <hgs@dmu.ac.xuk> added md5 hash of gz
196                 to homepage.
197
198                 Dave Schooler <dave@stashtea.xcom> reported that send -s wasn't
199                 handling certains chars correctly.  Turned out to be those
200                 that had multibyte UTF8 reps.  send -s was just pumping out
201                 hunks of bytes without regard to UTF boundaries and evidentally
202                 Tcl's I/O engine thought that it should translate a partial
203                 UTF8 character into, uh, something else.
204
205                 Curt Shroeder <c.schroeder@computer.xorg> fixed bug in rftp - a
206                 a filename looked enough like a 3-digit diagnostic that the
207                 script got confused.
208
209 4/16/02 5.37.2  Multixterm couldn't find man page all the time.
210
211 4/16/02 5.37.1  Made multixterm handle user-supplied args.
212
213 4/15/02 5.37.0  Added multixterm to example directory.
214
215 4/8/02  5.36.1  Backed out CONST qualifiers.  Too much trouble with older
216                 versions of Tcl.  I'll let someone else worry about them.
217
218 4/8/02  5.36.0  Made first cut at multixterm, a replacement for crlogin.
219
220                 Fixed bug in background handler.  If an action waited on the
221                 same spawn id, esPtr would become invalidated.
222
223                 Ryan Schmidt <rschmidt@mac.xcom> noted configure didn't
224                 recognize MacOS X.  Downloaded new config.guess.
225
226                 Andreas Kupries <andreask@activestate.xcom> provided CONST
227                 patches to accomodate Tcl changes per TIP 27.
228
229 2/25/02 5.35.0  Joe Eggleston <joe@arbor.xnet> noted bug in full_buffer test.
230                 The test hadn't been I18'd properly and was testing chars
231                 instead of bytes.  Also fixed diagnostics so it printed when
232                 it was testing full buffer even if there wasn't one.
233
234 2/7/02  5.34.1  Bruce Hartweg <brhartweg@bigfoot.xcom> noted that direct spawn
235                 ids were not being tested so something like "expect -i exp9999"
236                 would dump core.  Evidentally a bug from the 5.31 transition.
237
238 12/20/01 5.34.0 Don Porter <don.porter@nist.xgov> provided package-related
239                 fixes for test suite.
240
241                 Brian Theado <brian.theado@usa.xnet> noted that interact's -re
242                 support broke when offsets kicked in.  Turned out that the
243                 regexp engine supports them during execution but the results
244                 are delivered RELATIVE to the offset.  (I suspect this was done
245                 due to expediency.)
246
247 10/1/01 5.33.0  <mark@doradosoftware.xcom> found that expect's diagnostics
248                 didn't include the "no" after testing for a full buffer.
249
250                 Hemang Lavana <hlavana@cisco.xcom> noted that "debug" (Dbg_On)
251                 calls didn't always force the debugger into step mode.
252
253                 Martin Kammerhofer <dada@sbox.tugraz.xat> noted that the man
254                 page neglected to document interpreter -eof.
255
256                 Chris Clare <clarec@nortelnetworks.xcom> provided fix for
257                 multiple decl in C lib.
258
259                 Sheng Wang <wangs@sh.bel.alcatel.xbe> found interact's
260                 can-match code had broken.  It was missing the special hook
261                 that Henry had added just for this purpose.  How strange.
262
263                 Dieter Fiebelkorn <dieter@fiebelkorn.xnet> requested addition
264                 to config.guess for Power*Macintosh:Darwin for MacOSX.
265                 Aside - to download latest config.guess:
266                  cvs -d :pserver:anoncvs@subversions.gnu.org:/cvs co \
267                  autoconf/config
268
269                 Added pipeline example to unbuffer man page.
270
271 8/4/00 5.32.2   Allen J. Newton <anewton@alturia.fleet.xorg> provided code for
272                 generating passwords with special characters in mkpasswd.
273
274                 Brent Welch <welch@ajubasolutions.xcom> changed the fix1line
275                 install script so that "autoexpect" and other scripts that
276                 get installed into the platform-independent bin directory
277                 generically invoke "expect" from the users PATH instead
278                 of hardwiring the platform-specific expect pathname.
279
280                 TclPro 1.4 released with 5.32.2 bundled.
281
282 7/13/00 5.32.1  Uwe Klein <uwe-klein@foni.xnet> reported segfaults from reading
283                 nulls.  Due to code rewrite in 5.30->5.31 transition.
284
285 5/14/00 5.32.0  New version for timing with Ajuba TclPro 1.4.  This version
286                 of Expect has no new features or behaviors but a lot has been
287                 fixed since 5.31.0.
288
289                 Martin Buchholz <martin@xemacs.xorg> noted that his
290                 alphaev56-dec-osf4.0e has ptmx and ptmx_bsd (and ptm, pts,
291                 pty, ptym).  He suggested that BSD things are now usually
292                 deprecated so to skip ptmx_bsd if ptmx avail.
293
294                 Chang Li <changl@neatware.xcom> noted that debugger's bp cmd
295                 broke on every command.  Was a bug in breakpoint_trace from
296                 when we installed the new regexp engine.
297
298                 Jonathan Kamens fixed printf formats in several pty diags.
299
300                 rm_nulls -d was set to wrong value.
301
302 5/12/00 5.31.8  After receiving yet another request for fully versioned
303                 archives, gave in.
304
305                 Signal handler sometimes sent error to stderr inappropriately.
306
307 4/27/00 5.31.7  Rob Savoye fixed Debian ptys and properly checking of libpt.
308
309 3/8/00  5.31.6  Petrus Vloet <petrus.vloet@siemens.xat> noted that Expect
310                 installed tclRegexp.h which included regex.h which of course
311                 misbehaves when it reads the system's version.  This is new
312                 since 8.0.  Since I need to revise the Clib anyway (which
313                 is what this install was for), I'll back this out for now.
314
315 3/6/00  5.31.5  Larry Virden noted that configure checked for threads twice.
316
317 2/19/00 5.31.4  Omer Azmon <oazmon@telsoft-solutions.xcom> note errors in
318                 pty_termios.c in exp_pty_test that caused problems during
319                 pty testing.
320
321                 Jeffrey Hobbs recommended having configure accept and warn
322                 about --enable-threads.
323
324                 John Ellson <ellson@lucent.xcom> noted configure's autoconf
325                 testing had leftover debugging code.  Also provided a fix for
326                 building w/shared libs on HP - appeared to be leftover from
327                 earlier Tcl-required configuration that has now disappeared.
328
329                 Susan Muston <smuston@crosskeys.xcom> noted that exp_wait with
330                 no spawned processes exited immediately which is different
331                 than 5.29 behavior which reported "no children".  This new
332                 behavior was evidentally a gratuitous change during the
333                 channel driver addition.  Backed out.  At the same time,
334                 neither behavior matches documentation - doc should be fixed
335                 and improved except I'm not sure if the behavior should yet
336                 be something else (depending if stdin closed or not).
337
338                 istvan.nadas@epfl.ch reported "spawn cat;exp_open" failed.
339                 Uninited variable.
340
341                 Scriptics reported memory leak.  Was bug in parse_expect_args.
342
343                 "Michael P. Reilly" <arcege@shore.xnet> noted clib was hanging
344                 in spawn code.  status_pipe wasn't being closed.
345
346                 Egil Kvaleberg <egil@kvaleberg.xno> provided fix due to new gcc
347                 which defines strchr as a macro.
348
349                 Dave Morrison <drmorris@corp.phone.xcom> noted some printfs
350                 in exp_log.c that misinterpreted embedded %'s with resulting
351                 core dumps.
352
353                 Dick Goodwin <goodwin@qosnetics.xcom> noted that "system echo
354                 foo" returned with no apparent effect.  Due to closeonexec
355                 in expect's channel driver.  Added skip if std channel.
356                 Fixed similar bug in stty command.  Minor bug left in stty
357                 which isn't passing output back from underlying exec.
358
359                 Stacy W. Smith <stacy@ixc-comm.xcom> provided patch that uses
360                 sigsetjmp instead of setjmp that he says fixes a problem he
361                 encountered with C lib where it stopped timing out in expect()
362                 as if the signals were corrupted.  The man page doesn't
363                 explain the difference between these calls in a way that makes
364                 sense as to why they should make a difference, but I'll the
365                 names are certainly suggestive so I'll try it.  He says "it
366                   appears that the linux setjmp behaves a little differently
367                   compared to setjmp on some other OSs.  Specifically, setjmp
368                   on linux does not save the signal context.  It seems most
369                   BSDish OSs do save the signal context with setjmp.  On those
370                   machines, it appears setjmp(env) is equivalent to
371                   sigsetjmp(env,1) whereas on linux, setjmp(env) is equivalent
372                   to sigsetjmp(env,0).  My patch made a (probably bad)
373                   assumption that if siglongjmp() exists that we should use
374                   the sigXXX versions.  I specifically tested for siglongjmp 
375                   rather than sigsetjmp because on linux, sigsetjmp is just a
376                   #define for  __sigsetjmp.  It appears that linux will give
377                   the BSD behaviour if  __FAVOR_BSD is defined, but I didn't
378                   know what other implications that might have.
379
380                 Michael Schumacher provided fix so that test for whether
381                 configure was out-of-date worked when not using the default
382                 build dir.
383
384 11/1/99 5.31.3  Shlomi Mahlab <shlomi@seagull.co.xil> noted all.tcl in CVS
385                 but not distribution.
386
387                 More notes from Keith Brown on HP cc complaints in exp_pty.c.
388
389 10/28/99 5.31.2 "Keith Brown" <surely@nortelnetworks.xcom> noted that HP cc
390                 objected to auto aggregate initialization in
391                 expLogChannelOpen.
392
393 10/22/99 5.31.1 Official release!
394
395                 P Darcy Barnett <pdb@cam.nist.xgov> noted Makefile could
396                 produce "autoconf not found" for non-developers using CVS.
397                 Made configure detect and provide advice on workaround.
398
399                 Fixed bug in interact -echo exhibited in rftp example.
400
401                 Ryan Murray <rmurray@cyberhqz.xcom> noted Expect wasn't
402                 handling handling 8-bit bytes correctly.  I had accidentally
403                 used Tcl_Write instead of Tcl_WriteChar.
404
405                 Ashley Pittman <ashley@ilo.dec.xcom> noted that digital unix
406                 V5.0 prefers openpty (4000 ptys) over ptmx (60 ptys), so I'm
407                 reversing the login in pty_termios.c.  This also controls
408                 linux, but no linux hackers have weighed in on this subject
409                 yet.
410
411                 Andrew Tannenbaum <trb@world.std.xcom> noted exp_internal
412                 command and "expect -exact" were broken.
413
414 6/29/99 5.31.0  See the NEWS file for this date for an overview.  (I'm
415                 too tired to add all the details.  Maybe later.)
416
417                 Fixed exp_clib so that it immediately reported failure of
418                 exec (in spawn) rather than passing it back through pipe.
419
420                 Removed error checking from ioctl(TIOCSCTTY) to pacify the
421                 variety of (but not all) Linux systems and a few others which
422                 define TIOCSCTTY but return an error although seem to work
423                 anyway.
424
425                 Added configure test for 0 vs 2-arg setpgrp.
426
427                 Kenji Kamizono <kenji@math.columbia.xedu> noted it was possible
428                 to compile Linux (2.2.5) so that it recognized both openpty
429                 and ptmx leading to conflicts.  I arbitrarily chose ptmx.
430
431 10/15/99 5.30.2 Herve Tireford <tdes46@email.sps.mot.xcom> noted extraneous
432                 sleep(20) in clib.  Apparently left over from debugging, oops.
433
434 8/18/99 5.30.1  Added test for newer versions of Tcl that are incompatible.
435
436                 Kenji Kamizono <kenji@math.columbia.xedu> noted it was possible
437                 to compile Linux (2.2.5) so that it recognized both openpty
438                 and ptmx leading to conflicts.  I arbitrarily chose ptmx.
439
440 4/1/99  5.30.0  Martin Forssen <maf@crt.xse> provided fix to allow configure
441                 to start with LDFLAGS from environment.
442
443                 Paul Tazzyman <Paul.Tazzyman@one.xat> noted that log_file
444                 didn't check for logging twice without turning off logging
445                 first.
446
447                 Ben <spy@calvin.iconoclasm.xorg> provided updated host for
448                 weather example.
449
450                 Jonathon Kamens noted that Expect didn't build properly if
451                 Tcl and/or Tk used build/install directories out of the usual
452                 hierarchy.  At the same time, I fixed a number of other related
453                 problems in Makefile/configure.
454
455                 Pierre Pomes <ppomes@it.marseille-innov.assoc.xfr> provided fix
456                 to ftp-inband.  It blew up from an unprotected send that
457                 was handed a uuencoded line that started with a -.
458
459                 Autoexpect was thrown off by simple-minded [file executable]
460                 test picking up expect directory while searching for
461                 executable.
462
463 1/21/99 5.29.0  Martin Forssen provides mods to support INSTALL_ROOT.
464
465                 Bryan Surles <surles@scriptics.xcom> modified configure.in to
466                 map DBGX to the same value as TCL_DBGX so the .so is named
467                 correctly.
468
469                 Suresh Sastry <suresh@scriptics.xcom> forced $LIBS to be
470                 added to EXP_SHLIB_LD_LIBS.  It's not clear to me why this is
471                 necessary (since Tk doesn't) but he was having a problem
472                 with openpty not being found during runtime on Linux.
473
474                 Martin Forssen noted expectk was crashing if a Tcl error was
475                 encountered.  He found that exp_exit_handlers() was trying
476                 to write into interp->result after interp had been deleted.
477
478                 Added another copy to distribution site - with version number.
479
480                 Stanislav Shalunov <shalunov@mccme.xru> closed race in pty
481                 code.
482
483                 Fixed man page: -brace should be -nobrace.
484
485                 Dan O'Brien <dmobrien@lucent.xcom> noted that Expect needed to
486                 call Tcl_FindExecutable at startup for info nameofexecutable.
487
488                 Robbie Gilbert <rwg@nc.fnc.fujitsu.xcom> noted indirect spawn
489                 ids occasionally failed.  Fixed.
490
491 9/30/98 5.28.1  Brian France <franceb@fsj.co.xjp> noted that his compiler
492                 rejected label with no statement.
493
494 9/28/98 5.28.0  Fixed two bugs in tcl-debugger (see that HISTORY file).
495
496                 Submitted Expect documentation for official NIST review.  At
497                 their request, modified a couple things.
498
499 9/21/98 5.27.0  Added support for Tcl 8.0.3.  Simple compiles already work
500                 fine but exotic things break.  In particular, Expect needed to
501                 understand new TCL_DBGX feature.  Massaged debugger interface
502                 which was recently revised.
503
504                 Karun Krishnaswamy <karun@transarc.xcom> noted that pine didn't
505                 run in term_expect.  The problem was that pine uses curses
506                 (or terminfo) directly (!!) and insists on clear-to-eol (a
507                 really dumb thing to insist on since it's so easily emulated).
508
509                 bert@xpilot.org (Bert Gijsbers) (of xpilot fame) provided patch
510                 to passmass to handle ssh protocol and explanation of how to
511                 create new password entries.
512
513 6/15/98 5.26.1  Dean Sauder <dsauder@dcn.att.xcom> noted C-preprocessor lines in
514                 configure must start in column 0.
515
516 5/18/98 5.26.0  Kevin Schleicher <kms@lucent.xcom> noted xkibitz leaves xterms
517                 if first xterm is HUP'd.  Kevin also noticed a resource leak
518                 in dislocate.  Both problems fixed.
519
520                 Robbie Gilbert <rwg@fns.xcom> noted expect_devtty was logging
521                 devtty (twice) to stdout.  Fixed.
522
523                 Added support inttypes.h, required on Solaris 5.6 for termios.h
524
525                 Kristina  <kristina@greatbasin.xnet> noted that tip failed when
526                 spawned from a cgi script (BSDI BSD/OS 3.1 i386) because tip
527                 didn't see a definition for SHELL and HOME.  They need to be
528                 set.  (Doesn't have to be anything useful; the empty string is
529                 fine!)  Solution: documented this in Expect man page.
530
531                 Zachariah Baum <zack@studioarchetype.xcom> noted that
532                 config.sub didn't recognize Intel 686.  Found a newer version
533                 that did in autoconf-2.11.
534
535                 POTENTIAL INCOMPATIBILITY: Changed interact so that it observes
536                 parity while matching.  It used to ignore parity.  This impacts
537                 people who use interact to connect through to a real serial
538                 device that generates parity.  If matches don't work, use the
539                 exp_parity command.  (This fix should have been made years ago,
540                 when the exp_parity command was added.  It is now absolutely
541                 necessary now that people are doing matching with 8 bits.)
542
543                 After the second occurrence of a system admin who broke grantpt
544                 by removing setuid from the relevant system util, I added an
545                 explicit test and explanation.
546
547                 Disabled history in xkibitz.  There seems to be some new
548                 incestuous relationship between history and unknown now so that
549                 redefining unknown leaves Tcl calling history but without
550                 knowing what it is because it's never been defined (as it would
551                 be by the traditional unknown).
552
553                 Fixed quoting bug in passwd.cgi example. 
554
555 9/28/97 5.25.0  Switched back to hand-generating pkgIndex.tcl file after too
556                 many complaints about problems running pkg_mkIndex.
557
558 8/12/97 5.24.1  Chris Schanzle <chris@goof2.ncsl.nist.xgov> pointed out that
559                 install fails on a virgin file system because install_shared_
560                 lib depends on a directory that hasn't yet been created.
561
562                 Larry Virden gave corrections to URLs in README.
563
564 8/21/97 5.24.0  Bo Johansson <bo.johansson@mbox2.swipnet.xse> noted TclWordEnd
565                 had changed and provided fix.  This caused crash in expect.
566
567 8/18/97 5.23.0  This version supports Tcl 8.0 and continues support for 7.6.
568                 Refs to Tcl_Files dropped.  inter_return and close became
569                 obj cmds.  Rewrote notifier (again) to accomodate new notifier
570                 model.  Lots of other miscellaneous tweaks.  Also see debugger
571                 HISTORY file.
572
573                 Finally removed long-deprecated commands "continue -expect",
574                 "send_spawn", and "getpid" and their exp_ versions.
575
576                 Harold Brauer <harold.brauer@canada.cdev.xcom> reported problem
577                 with an old SCO system (i386-unknown-sco3.2v5.0) that turned
578                 out to be due to a typo in the configure script.
579
580                 Jimmy Aitken supplied mods to config.guess for brand new and
581                 very old Pyramid systems.
582
583                 Buz Owen noted memory leak in use of expect_background (with
584                 no args).
585
586                 Jonathon Kamens noted provided patch for pty_termios.c for
587                 modern Sequent (which ptmx).
588
589                 Jonathon Kamens noted that TCL defined RANLIB for shared lib
590                 (if --enabled-shared) which isn't appropriate when Expect tries
591                 to build both shared and unshared libs.
592
593                 Jonathon Kamens noted that shared lib config didn't work on
594                 SunOS.  I had used Tcl's SHLIB_SUFFIX instead of its
595                 SHARED_LIB_SUFFIX.
596
597                 Qingyi Liao <liao@casabyte.xcom> encountered core dump when
598                 exp_bg -i $exp_spawn_any was retracted.  Bug in ecmd_remove_fd.
599
600                 Fixed a bunch of bugs in example/gethostbyaddr.
601
602                 Josef Sachs noted that stty cannot be caught when no /dev/tty.
603                 It calls exit instead of returning an error.
604
605                 Gordon Chaffee <chaffee@plateau.CS.Berkeley.XEDU> patched
606                 Exp_WaitCmd - it was zeroing pid element instead of wait.
607
608                 Bob Manson <manson@cygnus.xcom> provided fix for HP on which it
609                 was possible for timer to be mistakenly deleted in
610                 exp_get_next_event while processing a pty open event.
611
612                 Jeff Slonaker <JSlonaker@osc.uscg.xmil> noted that exp_poll.c
613                 had wrong signature and poll had arguments out of order!  That
614                 would suggest that no one has ever used exp_poll.c before...
615
616         5.22.1  Larry Virden noted that TCL_BUILD_LIB_SPEC can't be used if
617                 build directory has been removed.  Added check to configure.
618
619                 Worked more on package command.  Buz Owen pointed out that my
620                 code wouldn't support redefinition of TCL_LIBRARY.  Bumped up
621                 minor version to avoid package loading mishaps.
622
623                 Nigel Standing <nigel@idiom.xcom> noted lack of C-u binding in
624                 tkpasswd - must be due to change in tk4.2.
625
626                 Forced env(SHELL) to be defined inside kibitz for when using
627                 with CGI.
628
629                 Charles Packer <packer@fermi.gsfc.nasa.xgov> noted that
630                 CRAY-YMP needed sys/types.h in exp_console.c
631
632                 Extra / when developing defn of TCL_LIBRARY.  Shouldn't
633                 actually cause any problems though.
634
635 2/3/97  5.22.0  Fixed package support - again.  Sigh.
636
637                 David Pasirstein <dpasirst@sun.cs.wcupa.xedu> noted that RedHat
638                 Linux 2nd passwd prompt requires slightly different pattern -
639                 modified mkpasswd and tkpasswd.
640
641                 Toshiaki Nomura <nom@yk.fujitsu.co.xjp> provided patch to
642                 config.guess for Fujitsu DS/90.
643
644                 Roger Brooks <R.S.Brooks@liverpool.ac.xuk> noted C lib passed
645                 argv[0] instead of file to first arg of execvp.
646
647                 Cary D. Renzema <caryr@mxim.xcom> noted that a simple puts -nnl
648                 might never appear - Expect closes all of its fds before Tcl
649                 gets a chance to flush.  Stdout is the obvious problem since
650                 Expect thinks it can cavalierly close that too.  Hmm.
651
652                 At request of Tom Tromey, solved possible missing tclRegexp.h
653                 problem by having Expect install it.  Cleaned up TCLHDIR and
654                 TCL_LIBRARY hackery in Makefile.
655
656 12/27/96 5.21.7 Nelson Beebe noted unset is not portable in /bin/sh.  Removed
657                 and converted everything to understand CONFIG_SHELL.
658
659                 Modified cryptdir to strip out shell metachars from filenames.
660
661 12/10/96 5.21.6 Michael Schumacher noted that some systems cannot build
662                 unshared libs from shared objects.  Chose to go with BLT's
663                 approach of building shared objs in separate shared directory.
664
665                 Buz Owen <ado@bbn.xcom> noted that "package require Expect"
666                 didn't work because it looked for Expect lib in the wrong
667                 place (well, the "documented" place).  The problem is that Tcl
668                 insists libraries should be in the same directory as the
669                 pkgIndex.tcl file while the natural thing to do would be to
670                 split them up and put the .tcl file in the arch-indepent
671                 app-specific scripts dir and the lib in the arch-dependent
672                 common dir.  Sigh.  If this is ever fixed/changed, the
673                 instructions in the Makefile should be fixed.
674
675                 <Van.Trinh@siemenscom.xcom> noted that expect library name
676                 exceed filename max on some systems - like his old SCO.
677
678 12/4/96 5.21.5  Michael Schumacher noted new configure wasn't passing on Tcl's
679                 shared lib cflags.
680
681 10/26/96 5.21.4 Achyutram Bhamidipaty <ram@epic.xcom> ran into bugs in Expect's
682                 file event handler which prevented expectk from entering
683                 implied event loop.  Also found one memory problem - thanks
684                 to CenterLine.
685
686                 Tom Tromey fixed handling of --enable-shared when overriding
687                 Tcl's value et al.  Tom also added missing "else true" to
688                 Makefile: "In a Makefile, you have to always supply an "else"
689                 clause for an "if", to work around a bug in certain versions of
690                 sh.  In some versions of sh, an "if" whose test fails will
691                 return the status of the test if there is no "else" clause --
692                 causing spurious make failures."  See ChangeLog.
693
694 10/18/96 5.21.3 Example directory was missing several examples.
695
696 10/17/96 5.21.2 Debugger section of configure file corrupted.
697
698 10/10/96 5.21.1 Oops, distribution unpacked into wrong version.
699
700                 Tom Tromey provided patch for stty to understand OSF 4.0.
701
702 9/28/96 5.21.0  Official Expect release for Tcl 7.5.
703
704                 Junio Hamano <junio@twinsun.xcom> provided fixes for aclocal
705                 for with_tcl/tkconfig.
706
707                 Roger Billau <rfbilla@amtnet.sandia.xgov> noted that C library
708                 didn't work on Solaris 2.5.  Turns out Solaris requires fflush
709                 be called between input and output operations on FILE pointers.
710
711                 Lots of Cygnus mods - see ChangeLog.
712
713                 Sid Cowles <scowles@incyte.xcom> and Hans Riethmann
714                 <hans@F1.telekurs.xch> noted relative path specs of
715                 tcl-includes (and others) caused debugger config to fail since
716                 it is at a different directory level.
717
718                 Al Snow <asnow@fuwutai.att.xcom> noted -C failed due to typo.
719
720 8/17/96 5.20b18 Andrew Rakowski <andrew.rakowski@nr.usu.xedu> noted no defn of
721                 LIB_RUNTIME_DIR, a creation of Tcl7.5p1.
722
723                 Tom Tromey added -v to Expect and -version to Expectk.
724
725                 Ben Boule <bboule@xylogics.xcom> noted that Interactive (IUNIX)
726                 requires 9 char max length after -l.  Looks like squeezing out
727                 the "." is sufficient.  He also noted that IUNIX needs -Xp in
728                 LIBS to find strftime.  This test should really be done by Tcl.
729
730 8/12/96 5.20b17 Glen Biagioni <glen@prosoft.xcom> noted interact -re "A(xx)"
731                 failed to match.  Problem turned out to be that Tcl 7.5 changed
732                 a constant which in the regexp code, which Expect didn't see
733                 because it provides its own defn for interact.  Alas, the one
734                 thing Expect reuses from Tcl was where the change was.  This
735                 should really be fixed so Expect doesn't rely on Tcl in this
736                 way, but there's no point in putting in a lot of work on regexp
737                 when we're anticipating a new one soon anyway.
738
739                 Bjorn S. Nilsson <nilsson@nbivms.nbi.xdk> noted fixcat hangs.
740                 Turned out that new Tcl (7.5p1) now waits for all children to
741                 disappear.  But Expect still had a handle to a child.  I added
742                 an exit handler to close the connections before Tcl's exit
743                 handler.
744
745                 Tom Tromey provided patch to support augmenting CFLAGS on
746                 Makefile invocation.
747
748                 Gary Merinstein <gmerin@panix.xcom> noted that configure failed
749                 on his linux unless it had --enabled-shared.  Not quite sure
750                 about how this can be, but the flag wasn't being passed to the
751                 debugger's configure, so I've fixed that and hopefully this
752                 will cure the original prob.
753
754                 Added initial announcement of full version at beginning of
755                 configure.  This should ease my pain in responding to people
756                 sending me config output without including version numbers.
757
758                 Tom Tromey noted expect_cf.h was machine dependent.  Fixed
759                 expect_comm.h so that it no longer required expect_cf.h (which
760                 should be renamed to indicate it is no longer public).
761
762                 Bart Robinson <lomew@cs.utah.xedu> provides mods to support
763                 openpty() in FreeBSD/NetBSD.  Without openpty, Expect doesn't
764                 see the full pty namespace (ptyX[0-v]).
765
766 7/15/96 5.20b16 Nathan Estey <nfe@the-hermes.xnet> noted that Makefile failed
767                 on SunOS when shared libs were enabled due to incomplete dot
768                 stripping in lib prefix.
769
770 7/6/96  5.20b15 Malcolm Tredinnick <malcolmt@geko.net.xau> noted that shared
771                 lib has to be installed before building expect.  Also noted
772                 that ldconfig should be run on Linux 2.0 systems and maybe
773                 others.
774
775 6/25/96 5.20b14 Tim Mooney provided fixes to obey --includedir and similar
776                 configure conventions.
777
778 6/25/96 5.20b13 A bug when installing Expect using new _installed targets.
779
780 6/24/96 5.20b12 Numerous complaints from Solaris users about shared libraries.
781                 Unfortunately, no one is giving me configure-ready fixes so
782                 (and Tk's configure seems to have bugs as well) so fixing
783                 these is like throwing darts.
784
785                 Stan Brown <stanb@netcom.xcom> noted noidle example broke when
786                 fed "-".
787
788                 Gordon Irlam <gordoni@cygnus.xcom> noted typo in install-sh.
789
790                 David Sheinberg <sheinb@bcmvision.neusc.bcm.tmc.xedu> noted no
791                 args test for spawn -open/leaveopen.
792
793                 Misc patches from Tim Mooney to pacify much of gcc -wall.
794
795                 Kayvan Sylvan insists Linux stty reads from stdin so added
796                 hardcoding to configure.in for that.  In xkibitz, Linux stty
797                 -raw didn't disable all post-processing.  How odd that it is
798                 not a problem in interact.  In the meantime, added extra stty
799                 to xkibitz to do what was missed.
800
801 5/30/96 5.20b11 Kayvan Sylvan <kayvan@sylvan.xcom> noted quoting bug in
802                 autoexpect.
803
804 5/22/96 5.20.b10 Patches from Larry Virden in Makefile.in and exp_int.h
805
806 5/20/96 5.20.b9 Too many substitutions in configure caused sed failures on
807                 DEC (limit 99) and HP (100).  Commented out definitions
808                 that weren't absolutely critical.  Hopefully, this gets us
809                 under the limit but can't be sure since there's no easy way
810                 of knowing.
811
812                 Numerous mods from Mark Diekhans to support clist-style ptys
813                 on SCO OpenServer.  (He says SVR4 ptys are broken on that
814                 platform.)
815
816                 Simon J. Gerraty <sjg@zen.void.oz.xau> says that write()
817                 returns 0 inside of exact_write on SunOS.  This is outside the
818                 SunOS spec so of course we have no idea what's going on.  So I
819                 added code to try and recover from (or at least warn of) this.
820
821                 Tom Tromey unified decls of errno to #includes.
822
823 5/13/96 5.20b8  Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.xedu> pointed out
824                 backwards stty test - this would have corrupted every platform!
825                 He also pointed out that alpha-dec-osf3.2  (3.2c) complained
826                 too many args to sed.  Someone earlier said similarly about
827                 HPUX 10, but I assumed it was the quotes in the weird stty
828                 flag I was passing, so that "fix" wasn't.  GNU sed has no
829                 problem, but obviously this is not sufficient for many people.
830
831 5/10/96 5.20b7  Renamed/numbered versions so that it's easier for others to
832                 track.
833
834                 Upgraded to autoconf 2.10.
835
836                 Matthias Kurz <mk@baerlap.north.xde> noted Makefile problems
837                 with final Tcl7.5.
838
839                 Blair Zajac <blair@gps.caltech.xedu> noted configure mishandled
840                 stty defaults on HP and shared lib must be installed executable
841                 on HP.
842
843                 autoconf insists on adding -O to CFLAGS when using gcc.  Ack!
844
845 3/23/96 5.20b1  Beta release 1 of Expect for Tcl 7.5.
846
847                 Michael Hunter <mphunter@qnx.xcom> provided misc mods for QNX.
848
849                 Various people reported problems with IRIX.  Removing from the
850                 stty list fixed the problem.  Similar problem with Solaris.
851
852                 Added explicit close to autoexpect.  Added a mechanism for
853                 enabling conservative mode after script is generated.
854
855                 Hal Schechner <hal-j@netusa.xnet> pointed out passwd.cgi must
856                 meet passwd's requirement that it not be run by an unrelated
857                 user.  Easy enough - just do an su first.
858
859 3/26/96 5.20a5  Alpha release 5 of Expect for Tcl 7.5b3.
860
861                 Added example passwd.{html,cgi} to change a password.
862
863                 Many fixes from Stephen Williams <steve@icarus.xcom>
864                 and Jonathon Kamens for Makefile and configure.
865
866 3/22/96 5.20a4  Alpha release 4 of Expect for Tcl 7.5b3.
867
868                 Added version number to lib directories (POTENTIAL
869                 INCOMPATIBILITY).
870
871                 Revised gethostbyaddr example - evidentally hadn't worked for
872                 some time!
873
874                 Jan Nijtmans <nijtmans@nici.kun.xnl> provided pkgIndex.tcl.in.
875                 Renamed Exp_Init to Expect_Init to support package cmd.
876                 Provided #define so that Exp_Init will continue to work.
877
878                 Revised exit handling so that it works if Expect is dynamically
879                 loaded.
880
881                 aclocal.m4 Patches from Tom Tromey.
882
883 3/15/96 5.20a3  Alpha release 3 of Expect for Tcl 7.5b3.
884
885                 Edward Haletky <elh@astroarch.xcom> noted that Machten required
886                 inclusion of types.h in exp_tty_in.h.
887
888                 Added various patches from Rob Savoye.  One incompatibility
889                 is that the static lib now ends with the version number.
890
891                 Added support for TCL_SHLIB_{LD_LIBS,VERSION} in Tcl b3.
892
893                 Jonathan Karges <J.Karges@dkfz-heidelberg.xde> found that clib
894                 was timing out immediately on -1.
895
896 3/6/96  5.20a2  Alpha release 2 of Expect for Tcl 7.5b2.
897
898                 Leland Joseph <leland@tec.tetd.bellcore.xcom> noted
899                 expect-tests.exp exceeds the 14 character filename length.
900
901                 Added config.{sub,guess} to support AC_CANONICAL_....
902
903                 Rewrote much of aclocal, configure.in, and Makefile.in
904                 to handle Tcl/Tk config.sh files and shared/dl support.
905
906                 Simplified varargs/stdarg mess for Expect's C library.
907
908                 Threw away closetcl junk.  No longer required because
909                 Tcl finally started doing close-on-exec.
910
911                 Incorporated various fixes from Tom Tromey at Cygnus.
912                 See ChangeLog for details.
913
914                 Added require/provide support.
915
916                 Rejiggered event handling to support new Tcl_File interface.
917
918                 Removed libexpectk.  Because event loop was moved into Tcl, it
919                 is no longer necessary for it to be different than libexpect.
920
921                 Removed all support for earlier versions of Tcl and Tk.
922
923                 Numerous misc patches from Paul Eggert <eggert@twinsun.xcom>
924                 most to support Tcl 7.5.
925
926                 Arnold Robbins supplied yet another patch to fix earlier
927                 problem noted by Hume Smith.
928
929                 David Engel <david@ods.xcom> reported problem with Linux
930                 dumping core.  CenterLine, of course, immediately found the
931                 problem - uninit'd lowercase buffer.
932
933                 Peter Haggerty <haggerty@borg.lib.vt.xedu> noted that his Next
934                 died in cron.  It seems that Next doesn't support O_NOCTTY
935                 (even though the man pages says it does) and so during pty
936                 testing, control terminal would get allocated and then kill
937                 the process (by generating a HUP) when deallocated.  Avoid
938                 by ignoring HUP when doing pty testing on such machines.
939
940 1/3/96  5.19.0  Fixed bug that made expect report wrong string when using
941                 a terminating anchor in a positive-length glob match,
942                 reported by Graham L. Randall <grandall@nit.airtouch.xcom>.
943
944                 Added rlogin-display to included examples.  rlogin-display
945                 automatically propagates your $DISPLAY when you rlogin.
946
947                 Hume Smith <hclsmith@localhost.isisnet.xcom> noted problem
948                 with day of the week calc at year end/start.  Arnold Robbins
949                 supplied fixes.
950
951                 Jonathan Kamens provided fix to make sync byte reads
952                 recover from EINTR.
953
954                 Henry Spencer noted errant line of spaces in Makefile.
955
956 10/21/95 5.18.1 Began adding support for tcl7.5a1/tk4.1a1.  (not finished!!)
957                 - Make aclocal understand new Tcl/Tk directory layout
958                   for finding tclInt.h and private libraries.
959                 - Added support for Tcl_AsyncReady.
960
961                 Paul Townsend <aab@aab.cc.purdue.xedu> noted that distclean did
962                 not remove some config cruft.  Also recommended unsetting
963                 M*FLAGS that cause make called from configure to fail.
964
965                 Various fixes from Cygnus.  See Changelog.
966
967                 Deleted "-" before rm in loop in deinstall in Makefile as per
968                 Doug Claar <dclaar@hprtnyc.ptp.hp.xcom>.  Doug also found prob
969                 involving recent STTY fix.  Symptom was that pty wasn't
970                 correctly inited in cgi scripts on HPs - and Cray pty support
971                 blew up entirely.
972
973                 Added exp_ prefix to tests so that they can be run with other
974                 extensions.
975
976                 Seth Ornstein <pp001465@pop3.interramp.xcom> noted bug in the
977                 way rftp detected symlinks.
978
979                 Upgraded to autoconf 2.4.  This fixes a bug in AC_PROC_CPP
980                 which blew up when CPP was defined in the environment.  Noted
981                 by John Pfuntner.
982
983                 Jonathan Kamens noted that library didn't check return pipe()
984                 return value.
985
986                 Added vrfy example.
987
988                 Przemek Klosowski <przemek@rrdjazz.nist.xgov> Irix 6.0 fails
989                 to use ptys that have been used by someone else.  SGI admitted
990                 this is a bug and the solution is to upgrade to 6.1.
991
992                 Yoad Grinberg noted "expect -timeout" mistakenly ate next arg
993                 as pattern.
994
995 8/24/95 5.18.0  Wayne Christopher noted that the way exp_eval_with_one_arg
996                 modifies the original argv makes the ICEM Tcl compiler unhappy
997                 so I rewrote it to avoid that.
998
999                 Ian Zimmerman <itz@rahul.xnet> found that a braced arg list of
1000                 a single pattern beginning with a \n caused expect to reeval
1001                 for multiple args twice.  I added a -nobrace flag that expect
1002                 and/interact can use internally to prevent this.
1003
1004                 Florian La Roche <florian@jurix.jura.uni-sb.xde> noted a few
1005                 glitches in the way -ltcl was searched for in aclocal.
1006
1007                 Joachim Posegga <posegga@ira.uka.xde> noted lack of Tcl
1008                 internal includes should be an error during configure.
1009
1010 8/10/95 5.17.8  Martin Wunderli <wunderli@baloo.limmat.net.xch> found missing
1011                 quote in config.
1012
1013                 Danny Faught noted problems in Makefile when passing STTY defn
1014                 with quotes.  Created another a STTY-less CPPFLAGS for cases
1015                 where additional reexpansion occurs.
1016
1017                 Danny Faught noted bug in error handling for checking
1018                 permission problem with /tmp.
1019
1020 8/1/95  5.17.7  Todd Rimmer <trimmer@mantis.ssw.xcom> noted that HP 10 with
1021                 optional streams package has both PTYM and PTMX which conflict
1022                 in pty_termios.
1023
1024                 Rainer Wilcke provides fixes: scripts not listed as dependency.
1025                 distclean target used Makefile after deleting, and many fixes
1026                 to man pages.
1027
1028                 Saad Mufti <mufti@hobbit.pls.xcom> noted bug in how C library
1029                 handled polling (when handling multiple fds).
1030
1031                 Jeff Bowyer noted more autoexpect bugs.
1032
1033 7/22/95 5.17.6  More features added to autoexpect (now version 1.3).
1034
1035                 Sanjay <sanjay@clef.lcs.mit.xedu> noted bug in TCLH config
1036                 macro which caused it to use 7.3 instead of 7.4.
1037
1038                 Rodney Barnett <rlb@us.teltech.xcom> noted expectd.proto had a
1039                 few refs to interact_out where it should've had expect_out.
1040
1041                 Terry Rhodes <tbr@88open.xorg> noted that Expect returned a 0
1042                 exit status upon syntax error unlike tclsh and wish.
1043
1044                 Fred Obermann <fredo@conan.ids.xnet> noted that Unixware 2.01
1045                 native development tools don't permit configure to find memcpy
1046                 because memcpy is handled specially by the compiler and it
1047                 complains when it finds configure's default test with no args.
1048                 Changed to a hand-crafted test with args.
1049
1050 7/12/95 5.17.5  Jeff Bowyer <jbowyer@muni.xcz> noted minor bugs in autoexpect.
1051
1052                 Rob Saul <robs@sco.xcom> noted that configure failed on SCO
1053                 OSR5 because trap requested by Cygnus (to allow config in bg)
1054                 used higher traps than SCO sh knows about.
1055
1056                 Changed "can't happen" to "xmkmf is broken" when configure
1057                 fails to compile simple C-Tk program.
1058
1059                 John H. Chauvin <jchauvin@netcom.xcom> noted exp_tty_current
1060                 and cooked raised multiple def errors on SGI 5.3 with native
1061                 cc.
1062
1063 7/9/95  5.17.4  Wolfhardt Lotz <s11@blue.lrw.uni-bremen.xde> noted Solaris
1064                 doesn't do case-insensitive man page lookups so I lowerized
1065                 the beginning of the .SH lines.
1066
1067                 Henry Spencer noted unbackslashed quotes in the autoexpect
1068                 boilerplate.
1069
1070 7/3/95  5.17.3  Modified VARARGS decls to support new Tcl 7.4 definitions.
1071
1072                 Fine-tuned aclocal so that it would prefer later versions.
1073
1074                 Added autoexpect example and man page.
1075
1076 6/30/95 5.17.2  select-based dsleep() was returning an internal expect-style
1077                 return code instead of a Tcl-style.
1078
1079 6/30/95 5.17.1  Kannan Varadhan <kannan@isi.xedu> noted aclocal didn't
1080                 look in right directories to find Tk.
1081
1082 6/30/95 5.17.0  Modified regexp interfaces to support Tcl 7.4b4.
1083
1084                 Mods from Tony Isles <ittony@traf.xcom> for Sequent Dynix/ptx
1085                 V2.1.5 (which is really old).
1086
1087                 Michael Schumacher <hightec@rz.uni-sb.xde> noted that Solaris
1088                 2.4 header files require __EXTENSIONS__ for all sorts of
1089                 traditional but non-standard definitions.
1090
1091                 Modified aclocal to support new Tcl/Tk library names.
1092
1093                 George Forman <forman@cs.washington.xedu> requested support in
1094                 C lib for fds that already exist.  I added exp_spawnfd.
1095
1096                 Fixed bug preventing signal rearming on Linux (using SV-style
1097                 signal handling).
1098
1099                 Wayne Christopher <wayne@pmac.icemcfd.xcom> noted missing
1100                 interp in call to exp_error.
1101
1102                 Added null support to interact's exact matching.
1103
1104                 Bruce Jerrick noted INSTALL was being used rather than
1105                 INSTALL_PROGRAM/DATA.
1106
1107                 Dennis Ferguson <dennis@mci.xnet> noted that on Solaris 2.4
1108                 close(pty) occasionally returns EINVAL.
1109
1110                 Added tests so that if we can't get a pty, we can give the user
1111                 much more help with what to do about it.                
1112
1113                 Steven Byrnes noted that Solaris has replaced TIOCCONS with
1114                 SRIOCISREDIR interface.
1115
1116                 Technically speaking, interact shouldn't do buffer-shuffling
1117                 but I've added as a fail-safe mechanism to catch people who
1118                 use preposterous patterns.
1119
1120                 Alan Heckert <heckert@tiber.nist.xgov> noted missing decl in
1121                 Convex pty support.
1122
1123                 Fixed all expectk examples for Tk4.
1124
1125                 Bryan S. So <so@cs.wisc.xedu> noted that interact -o eof failed
1126                 if an unbuffered pattern was partially in progress.
1127
1128                 Added -timeout flag to expect command to override timeout var.
1129
1130                 John Pfuntner <pfuntner@VNET.IBM.XCOM> noted that OpenMVS did
1131                 not notice @ inside of Makefile SETUID macro as suppression
1132                 but instead treated it as part of the program name.
1133
1134                 Jim Porter <James.W.Porter@att.xcom> noted that exp_free_i
1135                 freed the variable name even if not allocated.
1136
1137                 Yet more mods to aclocal and various .in files from Rob Savoye.
1138
1139 4/21/95 5.16.3  Matija Grabnar <Matija.Grabnar@ijs.xsi> noted that sleep maxed
1140                 out after about 36 minutes.  Turned out to be a poor assumption
1141                 in some interfacing code.
1142
1143 4/19/95 5.16.2  rbd <uport@netcom.xcom> noted tcl_RcFileName multiply defined
1144                 when compiling with Tk4.
1145
1146 4/16/95 5.16.1  Robert Nicholson <robert@steffi.dircon.co.xuk> noted NextStep's
1147                 sys/wait.h is not POSIX-like so WNOHANG fails to get a defn.
1148
1149                 Alexandre Rafalovitch <arafalov@socs.uts.edu.xau> discovered
1150                 example on dislocate man page didn't work.  I fixed it.
1151
1152 4/8/95  5.16.0  gcc 2.3.3 complains about internal errors so I figure: time to
1153                 upgrade.  Switched to Cygnus 2.6-95q1.  Works now but now
1154                 complains about wait status.  I trashed all the gory wait
1155                 status configure code and adopted autoconf's suggestion about
1156                 refusing to use sys/wait.h if not POSIX.1 compatible.  Nice!
1157
1158                 Jeffrey C Honig <jch@nr-tech.cit.cornell.xedu> requested a -gmt
1159                 flag for timestamp command.
1160
1161                 Chuck Ocheret <chuck@gigadactyl.xcom> noted that expect -pty
1162                 fails.  Problem is that Tcl's exec blindly closes all the fds
1163                 between 3 and its own highest fd.  See comments in code.
1164
1165                 Loris Caren <loris@caren.demon.co.xuk> noted eof in fg bombs on
1166                 Linux.  Turns out to be analogous to eof in bg problem fixed
1167                 in 5.14.0.
1168
1169                 Upgraded to autoconf 2.3.  Continued making changed to config
1170                 script to take advantage of autoconf 2 capabilities.
1171
1172 4/1/95  5.15.4  Steve Simmons noted .x remnant from earlier dir install proc.
1173
1174 3/31/95 5.15.3  Forgot to export TCLHDIR defn when configuring debugger.
1175
1176 3/29/95 5.15.2  Steve Simmons <scs@aisinc.xcom> noted Makefile multiple defined
1177                 distclean and it might be nice to provide aclocal.m4 even
1178                 though it isn't normally used.
1179
1180                 cevans@resdev1.ppco.com added prompts to passmass for AIX.
1181
1182 3/27/95 5.15.1  Fixed tkterm script - inadvertently left tic debugging on.
1183                 Also add support for Ctrl-space and Ctrl-@ as requested by
1184                 Zbigniew Wieckowski <wieckows@cs.umn.xedu>.
1185
1186                 Larry Virden asked that configure also check for .so libs.
1187
1188 3/23/95 5.15.0  Everitt Beers <ebeers@scf.usc.xedu> noted that Linux doesn't
1189                 support kill -STOP 0.  Changed 0 to [pid].
1190
1191                 zhengping (z.) you <you@bnr.xca> found bug where a bg expect
1192                 did not rearm a spawn id after a first bg expect (and another
1193                 one) to clear it.
1194
1195                 Elliott Wolin <wolin@physics.wm.xedu> noted that tkterm
1196                 complained if tic wasn't found.  I'll have it override the
1197                 user misconfig in that case.  Also noted that interact failed
1198                 on AIX.  Evidentally, my new config tests for ISC found that
1199                 AIX looked just like it.  Added additional test for tcsetattr
1200                 to distinguish them.
1201
1202                 Rob Savoye asked for Dbg config.in to be distributed.  Rob
1203                 supplied numerous other mods: install-sh replaced install.sh,
1204                 mkinstalldirs, testsuite mods, new aclocal.m4, support for
1205                 recursive make.
1206
1207                 Fixed bugs in configuration of debugger.
1208
1209                 Disabled configure's file-caching.
1210
1211                 Kannan Varadhan <kannan@isi.xedu> noted incorrect diag
1212                 reporting TCLHDIR in configure.
1213
1214                 Marty Olevitch <marty@howdy.wustl.xedu> noted that DEC Alpha
1215                 did not sleep correctly because configure didn't find sleep
1216                 and found poll (which is broken).  Problem turned out to be a
1217                 bug in autoconf's AC_CHECK_FUNC.  Got patch from Jim Meyering
1218                 <meyering@comco.xcom>
1219
1220                 Fixed config probs for Edward Huie <huie@net.xcom> on Mac
1221                 SE/30, System 7.1, Tenon Intersystems' MachTen 2.1.1-G (BSD 4.3
1222                 on Mach kernel) and MachTen X11R4 3.1.
1223
1224                 Moved libraries forward in configure to allow for AC_CHECK_FUNC
1225                 to succeed when funcs are in other libraries.
1226
1227                 Made configure test for Linux and unset CFLAGS=-g if so.
1228
1229 2/25/95 5.14.3  Larry Virden noted configure was missing brackets in raw shell
1230                 cmds evidentally due to m4 interpretation.
1231                 
1232 2/24/95 5.14.2  Larry Virden noted configure was not correctly rewriting from
1233                 --(exec-)prefix.  Due to new autoconf.  Also noted glob was
1234                 finding tclX directory.
1235
1236                 Hal Peterson noted that because configure now actually attempts
1237                 a link before using a library, the code to check for -ltk would
1238                 have to worry about all the other utility libraries first.
1239
1240 2/23/95 5.14.1  Hal Peterson noted that configure.in checked incorrectly for
1241                 tcllib.
1242
1243 2/22/95 5.14.0  Jamal <root@lonestar.tlug.xorg> noted Linux has tic in a
1244                 different place than on my system - affected tkterm script.
1245
1246                 Xiaokun Zhu <xiaokun@stats.gla.ac.xuk> noted problem on DEC
1247                 Alpha OSF/1.3 evidentally due to backwards decl of index macro.
1248
1249                 Greg McFarlane <gregm@nms.otc.com.xau> noted that large args in
1250                 send cmd cannot be passed blindly to exp_error.
1251
1252                 david d `zoo' zuhn <zoo@armadillo.xcom> requested modifying
1253                 configure so that it did not require Tcl/Tk to be built - only
1254                 configured.  This means that it may not find installed
1255                 libraries.  Hopefully, this won't cause anyone problems but its
1256                 not my preference.
1257
1258                 Fixed error which caused spurious eof when changing patterns
1259                 in expect_bg.
1260
1261                 Moved to autoconf-2.1 and m4-1.4.  Rewrote a LOT of the config
1262                 file.  Finally got my hands on an ISC box and fixed configure
1263                 for that.
1264
1265                 Tony Booker <tb@sequent.xcom> provides mods for Sequent ptx 2
1266                 and 4.
1267
1268                 Jeffrey Friedl <jfriedl@nff.ncl.omron.co.xjp> provided fixes
1269                 for timezone handling in config and exp_strf.c.
1270
1271                 David Schmitt <dschmitt@netcom.xcom> noted that library did
1272                 not detect eof on HP.  I didn't think this was necessary for
1273                 read() but it evidentally is.  I added the support for raw fds
1274                 although it is not obvious to me how to do it for FILEs.
1275
1276                 James Carter <jimc@math.ucla.xedu> noted expect_after couldn't
1277                 worked in the exp_bg because I had accidentally written BEFORE
1278                 instead of AFTER when checking the cases.  He also found that
1279                 the eof body could be trashed in an exp_bg.
1280
1281                 Ousterhout apologized for the Tcl7.4 change I noted in 5.13.1
1282                 and said he will undo it.
1283
1284                 Eric Frias <efrias@vt.xedu> found library bombed after
1285                 timeouts.  exp_match_end was not updated - which makes sense
1286                 since there was no match - however the following expect call
1287                 assumed that exp_match_end was meaningful in order to do its
1288                 buffer shuffling.
1289
1290                 Jonathan Kamens supplied new configure test for REARM_SIG after
1291                 noting old could fail if limit prevented creation of core file.
1292                 He also noted REARM_SIG had accidentally been commented out
1293                 of cf file.
1294
1295                 Vincent D. Skahan <vds7789@aw101.iasl.ca.boeing.xcom> noted
1296                 that Apollo's stty reads stdout and doesn't complain if its
1297                 bogus.
1298
1299                 Yoad Grinberg <grinberg@vnet.ibm.xcom> noted that SIGCHLD does
1300                 not work for forked processes, only spawned processes.  Fixed
1301                 this and added counting to make sure none get lost.
1302
1303                 Hal Peterson contributed mods for Unicos.  He noted that
1304                 configure should be more careful adding libs to the link line.
1305                 On the Cray, non-existent libs generate warnings which are not
1306                 detected by configure but which annoy make.
1307
1308                 Bela Gazdy <bela@euch3e.chem.emory.xedu> noted /etc/resolv.conf
1309                 misspelled in kibitz.
1310
1311                 Rainer Wilcke noted that "send -null/break" mishandled return
1312                 code, and these and send/expect_tty were not in man page.
1313
1314                 Dvorak example was missing -- in send -.
1315
1316 1/12/95 5.13.2  Peter Wassenaar <peterw@stack.urc.tue.xnl> noted that kibitz
1317                 didn't work on AIX.  My fixcat script assumed that AIX's cat
1318                 was like HP's cat - buffered by default.
1319
1320 1/7/95  5.13.1  Marc Bouron <mbouron@lhr-sys.bru-ro.DHL.XCOM> noted I forgot to
1321                 add virterm to distribution.
1322
1323                 Marc W. Mengel <mengel@dcdmwm.fnal.xgov> noted that configure
1324                 must be run in the foreground due to the stty tests.  Added
1325                 this to documentation.
1326
1327                 Modified interpreter to account for the change in Tcl7.4 which
1328                 forces Tcl_RecordAndEval to call Tcl_GlobalEval instead of
1329                 Tcl_Eval.
1330
1331                 Changed ptys to be initialized based on current tty setting
1332                 rather than original tty setting.
1333
1334                 Stephen Melvin <melvin@zytek.xfr> noted that set -e is the real
1335                 problem with ash (see 5.13).  I bet "[" is returning a value
1336                 and triggering it.  It appears that the script can live without
1337                 the set, so out it goes.
1338
1339                 Braun Brelin <bbrelin@netcom.xcom> noted pipe allocs in spawn
1340                 could fail with meaningless error message.
1341
1342 12/15/94 5.13.0 Synchronize with appearance of "Exploring Expect".  This
1343                 distribution corresponds to the book both in description of
1344                 Expect and in containing all the substantive examples.
1345
1346                 Graham Mark <gam@lanl.xgov> noted that his Cray (Unicos
1347                 7.0.6.1) didn't recognize TCSETCTTY.  Since this was in some
1348                 Cray-specific code, I guess Unicos must have changed some .h
1349                 files.  I made it include either termios or termio.  It, at
1350                 least, works on our Cray (Unicos 8.0.2.4).
1351
1352                 Robert Withrow <witr@rwwa.xcom> noted that FreeBSD 1.1.5.1
1353                 supplied union wait but waitpid doesn't use it!  So I modified
1354                 configure to be smarter.  He also noted that its /bin/sh is
1355                 really ash which blows up on install.sh.  It appears that it
1356                 doesn't handle uninitialized parameters correctly.  I'm not
1357                 going to fix this because having a broken /bin/sh is so awful
1358                 probably other things are breaking too.  He did note that it
1359                 worked if he switched to bash or the native install, but that
1360                 blows the whole point of install.sh - that we have found too
1361                 much variation in native installs.  Rather than try and figure
1362                 out everyone's variation, we'd like to simplify our life and
1363                 use this common, simple-to-understand sh script.
1364
1365                 Added more example scripts: Adrian Mariano's virterm (like
1366                 expect_term but without relying on Tk), gethostbyaddr, and
1367                 expectd.proto for telnet daemon.
1368
1369                 Matt DiMeo <mdimeo@brooktree.xcom> noted that expect_background
1370                 failed to detect eof on HP.  I had forgotten to pass the mask.
1371
1372                 Josef Sachs noted that expect_background put Tk's event handler
1373                 in an infinite loop if it was listening to a pipeline that was
1374                 killed.  I had aborted the cleanup procedure if Tcl's close
1375                 reported an error.  That was a mistake.
1376
1377                 Rick Lyons <rick@razorback.brisnet.org.xau> noted a bug.  C lib
1378                 expect would turn a normal read into a poll if remtime reached
1379                 zero on the nose.
1380
1381                 Added ResetResult to Exp_Init to clean up diags in Expectk.
1382                 Made GENFUNCs return -1 on error as per ParseArgv's convention.
1383
1384 11/13/94 5.12.0 Alon Albert noted that in clib, exp_match_end should be init'd
1385                 to exp_buffer before trying to match the pattern - if the
1386                 expect doesn't produce a match, exp_match_end is incorrect and
1387                 will be wrong for subsequent expects.
1388
1389                 Steven Diamond noted that fg expect did not react to a change
1390                 in an indirect spawn id list if it was just waiting for I/O
1391                 (rather than looping in exp_continue).
1392
1393                 Wait fix in previous version broke system() whose return value
1394                 is horribly overloaded.
1395
1396 11/10/94 5.11.0 Stephen Fitzpatrick <sfitzp@cs.qub.ac.xuk> noted that NeXT wait
1397                 macros do not accept int wait status.  Switched to using Tcl's
1398                 detection of wait status type.
1399
1400                 Made log_file -leaveopen leave file id open until close like
1401                 spawn -leaveopen did.
1402
1403                 Bruce Jerrick <bruce@cse.ogi.xedu> noted public include dir
1404                 wasn't getting created.
1405
1406                 Karl Vogel noted 1) Pyramid has index instead of strchr, strf.c
1407                 needs sys/time.h instead of time.h in strf.c, needs to call
1408                 timezone(), and stty reads stdout but usual stty test fails.
1409
1410                 Made expect_out(spawn_id) always be written to assist people
1411                 who want to log different procs to different files.  This is
1412                 no longer an efficiency problem because interact can do so
1413                 much more then it used to.  Made full_buffer condition write
1414                 forgotten chars even when full_buffer isn't explicitly
1415                 specified.
1416
1417                 Bert Robben <Bert.Robben@CS.kuleuven.ac.xbe> noted that the
1418                 debugger needs to know about the presence of stdlib.h.  I was
1419                 hoping to avoid this because it's a pain getting configure to
1420                 call another configure.
1421
1422                 Rainer Wilcke provide several improvements for xkibitz and man
1423                 page.
1424
1425 10/6/94 5.10.0  Moved example files around.  Added password generation to
1426                 tkpasswd.  Created standalone script to generate and set
1427                 passwords - good for all those adduser shell scripts.
1428
1429                 Rick Cady <rickc@NSD.3Com.XCOM> found a bug when switching log
1430                 files.
1431
1432                 Rainer Wilcke <wilcke@esrf.xfr> noted that xkibitz died when
1433                 closing a connection.  stdin was mistakenly being closed.  He
1434                 also noted that killing xterms under HPUX 9 requires kill -9.
1435
1436                 Enzo Michelangeli <enzo@airhk.air.xorg> noted that SCO 3.2.1
1437                 defined window size structure in ptem.h.
1438
1439                 Josef Sachs <sachs@panix.xcom> found a bug when calling fg
1440                 expects repeatedly between bg expects.  On the first fg expect,
1441                 it cached the fact that the filehandler was armed.  The next
1442                 background expect disarmed it but failed to update the cache.
1443
1444                 John P. Rouillard" <rouilj@dstar.iddis.xcom> provided configure
1445                 support for --with-{tcl,tk}{lib,include}.
1446
1447                 Mike Figg <figg@pencom.xcom> noted that man page used old style
1448                 of continue command.
1449
1450 8/23/94 5.9.1   Adrian Mariano noted it would be useful to have exp_continue
1451                 not reset the timer.  Added flag to support this.
1452
1453                 Morris Gasser <gasser@ksr.xcom> noted that lowering match_max
1454                 didn't work (lib was broken too).
1455
1456                 Keith Hanlan provided a fix for exp_exact.
1457
1458                 Added more examples: mkpasswd, tkterm, term_expect.
1459
1460                 Put close_tcl_files in sep file for easier non-Tcl use of clib.
1461
1462 8/21/94 5.9.0   Fixed window handling code - on AIX, termios does not define
1463                 TIOCGWINSZ.  Instead, you have to include ioctl.h.  Of course,
1464                 you have to avoid the trap of including both on OTHER systems
1465                 such as SunOS 4.1 where the include files conflict!
1466
1467                 Dan MacDonald found that close in async routine caused sync
1468                 expect to blow up.
1469
1470                 Missed deletion of last line of out macro in exp_inter.c
1471
1472                 Simon Warfield <simonw@bwh.harvard.xedu> noted bug in xkibitz
1473                 help message.
1474
1475                 Fixed exp_background to use global scope instead of current.
1476
1477                 Steve Diamond <sdd@aplcomm.jhuapl.xedu> noted that -i "4 5"
1478                 only used spawn id 5.
1479
1480                 Rob Nagler found yet another bug in log_file when called
1481                 incorrectly.
1482
1483                 Expectk wasn't creating a window by default.
1484
1485 7/25/94 5.8.1   Made exp_interp external.   Users should be able to set this
1486                 explicitly.
1487
1488                 David Barnett <davidb@cats.ucsc.xedu> found that Linux was not
1489                 getting a controlling terminal.  The original test for doing
1490                 that was based on Stevens and tested in a very nonspecific way
1491                 for the presence of a Sun via CIBAUD.  Replaced this with a
1492                 more specific test.
1493
1494                 It seems Tcl 7.3 broke my -nostack hack.  The top-level interp
1495                 translates unknown return codes to TCL_ERROR.  Sigh.  I wish
1496                 Ousterhout would stop all of those translations.  If the user
1497                 wants them, they can do so themselves, but now they're forced.
1498
1499                 Martin Buchhoz <buchhlz@vnet.ibm.xcom> suggested adding
1500                 XKIBITZ_XTERM_ARGS environment variable to xkibitz.  He also
1501                 noted that stty rows/columns support doesn't seem to work on
1502                 AIX.  I haven't yet looked into this.
1503
1504                 Copied 2nd sync mechanism from Expect to C library.
1505                 Added exp_child_exec_prelude hook.
1506
1507                 Jonathan Kamens noted that "spawn cat;close;wait" returned
1508                 -1 on AIX and 0 on Sun.  This is "correct", however to
1509                 address this, I added -ignore to spawn and otherwise made
1510                 signals default.  Also added extra information to return value
1511                 of wait if caused by signal.
1512
1513                 Dan MacDonald <hfvstud@bcarh80a.bnr.xca> noted that
1514                 exp_continue didn't cause timeout to get reread.
1515
1516                 Ting Tan <utan@cisco.xcom> noted that when using -b, expect
1517                 hangs if open brace and doesn't stop in case of error.
1518
1519                 Oops, broke "log_file" with no args.
1520
1521                 Removed -timestamp from documentation.  Use "timestamp" command
1522                 instead.
1523
1524                 Keith Hanlan noted C library didn't test already arrived data
1525                 before attempting to read more.  He also suggested I avoid
1526                 forcing the user to do save/restores of per-fd globals.
1527
1528 6/24/94 5.8.0   Hubert Halkin <hhalkin@ucsd.xedu> pointed out that interleaved
1529                 expect_bgs and spawns dump core.  I had used the exp_f ptrs
1530                 as handles to TkCreateFileHandler but realloc shuffled them
1531                 around.
1532
1533                 Rick Lyons <pclink@qus102.qld.tne.oz.xau> provided misc. mods
1534                 for Pyramid.
1535
1536                 Keith Hanlan <keithh@bnr.xca> noted that HP-UX C compiler
1537                 causes odd behavior in Expect when it is compiled with "-O.
1538                 -g" works fine.
1539
1540                 Peter Gasche <zrspg01@compserv.zdv.uni-tuebingen.xde> pointed
1541                 out that Convex 10.2 fails to build.  New version of Convex OS
1542                 added getpty().  Naturally, it differs from old one.  Testing
1543                 is tricky because there is no header file for it.  Even worse,
1544                 the algorithm in the Convex man page is incorrect - it allows
1545                 you to allocate ptys already in use!  Unfortunately, the man
1546                 page is too vague to allow the reader to see that immediately.
1547
1548                 In contrast to BSD stty, Convex, Mach, and NeXT stty don't
1549                 complain if redirected to null.  I'll just have to hardwire the
1550                 test in configure.
1551
1552                 Added -nowait flag to wait command.
1553
1554                 Upon suggestions from David Vezie <dv@xnet.ssl.berkeley.xedu>:
1555                 Added -noappend, -open, and -leaveopen to log_file command.
1556                 Added -leaveopen flag to spawn and exp_open.
1557                 Modified spawn to close -open immediately.
1558                 Modified exp_open to close spawn_id immediately.
1559
1560                 Between Jeff Wright <wright@spock.cen.encompass.xcom>, Brad
1561                 Skrbec, Arup Mukherjee <arup+@cmu.xedu>, and the anonymous
1562                 Mach support group at CMU, finally got hard answers about Mach.
1563                 It is no longer supported and there is no intention to provide
1564                 full POSIX support.  Now, at least, I can fix the configure
1565                 script to understand this.
1566
1567                 Added "unbuffer" example.
1568
1569                 Dana Chee <dana@dino.bellcore.xcom> provided configure hooks
1570                 for finding -lnsl and -lsocket.
1571
1572                 Henry Spencer <henry@zoo.toronto.xedu> noted timestamp doc did
1573                 not jive with C defn.  Fixed doc and added timezone support.
1574
1575                 Steve Pynes <fb@steve@ucsd.xedu> noted that exp_win.c needs
1576                 _IBCS2 (Intel Binary Compat Standard #2!?!) before it will
1577                 recognize winsize.  He also noted #out was redefined in inter
1578                 code if using simple_event.
1579
1580                 Fixed defn of "stty cooked" to retain echo setting.
1581
1582                 Bennett Todd noted dislocate's pidfile_read was missing close.
1583                 He also noted useless bind in tkpasswd.
1584
1585                 Marty Leisner noted that ^C causes xkibitz to exit ungracefully
1586                 when in interpreter.
1587
1588                 Added yet another sync mechanism (see 5.6) to spawn so that
1589                 child cannot eof before parent has prepped the pty (only a
1590                 probably on HPs, of course).  I had actually written most of
1591                 the code, but left it disabled because I hoped that the
1592                 problem simply wouldn't happen in practice.  Alas, Jonathon
1593                 Kamens found a case where it does.
1594
1595                 Jimmy Aitken <jimmy@pyra.co.xuk> noted problem on Pyramid.  My
1596                 original code only looked for /dev/tty##.  On pyramid, ptys
1597                 look like /dev/pts/4.  term wants the last two characters, but
1598                 on the Pyramid, the first of the last two characters can be a
1599                 / in which case xterm wants a 0.  I.e., suffix of /dev/pts/4
1600                 is "04".  xterm fails completely with 3-digit ptys!  I sent
1601                 a suggestion and patch to X Consortium for this and the pid
1602                 problem - xterm has no way of telling it to which pid to send
1603                 the SIGWINCH.
1604
1605                 Poul-Henning Kamp <phk@TFS.XCOM> noted that -lm would make
1606                 autoconf forget about other libs.
1607
1608                 Ram Bhamidipaty noted I forgot to document sleep.
1609
1610                 Removed disasterous performance with * at beginning of glob.
1611
1612                 Mods from Rob Savoye.  See ChangeLog.
1613
1614                 Earnest Hua <eh@c-cube.xcom> noted expectk.man need wasn't
1615                 installed.
1616
1617                 Bogus arguments to expectk were not reported correctly.
1618
1619                 Modified clib to catch when user changes match_max between
1620                 expects on two different fds and then switches back.
1621
1622                 Rewrote timestamp to get rid of 200 char limit.
1623
1624                 Ram Bhamidipaty <ram@xor.epi.wisc.xedu> noted NetBSD .9 stty
1625                 complained "stdout appears redirected, but stdin is the
1626                 control descriptor".  It compares dev(stdout) to dev(stderr)
1627                 and assumes if they are different then user thinks stty
1628                 ioctls stdout.  This is one case when that assumption is wrong.
1629                 Fixed fd 2 so it points new 2 and is reset to old 2 if an
1630                 error occurs.  This forced me to remove any diagnostic output
1631                 from child (in getptyslave) since this now went back to the
1632                 proc as child output rather than original stderr, sigh.
1633
1634                 Stephan Winokur <swinokur@pinky.trevose.sgi.xcom> noted that
1635                 IRIX 4.2 had problems with gcc.  While diagnosing, I found
1636                 PTY_TYPE was used before set.  Make doesn't mind (how odd)
1637                 but I changed it anyway.
1638
1639                 Made send understand "-null".  Deprecated "-0".
1640
1641                 Made Expect read .expect.rc from DOTDIR if present.
1642
1643 3/30/94 5.7.0   Removed alpha status.
1644
1645                 Added $(EVENT).o to library.
1646
1647                 Finally deleted old shar file.  Revised README.
1648
1649 3/22/94 5.6.3   Phil Moore <phil@signals.geol.scarolina.xedu> noted termios.h
1650                 should not come from sys even if it exists.  (SGI doesn't have
1651                 sys/termios.h.)
1652
1653 3/21/94 5.6.2   Paul Kinzelman <pkinz@cougar.tandem.xcom> noted that I forgot
1654                 to remove -update from documentation.
1655
1656                 Fixed interact's -i so it understands indirect spawn ids.
1657
1658 3/21/94 5.6.1   expect_background randomly failed.  I forgot to save Tk's
1659                 event mask so occasionally events were incorrectly classified
1660                 as eof.
1661
1662                 Added -buffer to expectk and made "nobuffer" the default so
1663                 scripts are read in much faster.
1664
1665 3/15/94 5.6.0   Added cat_buffers marker to avoid "catu" option to scripts.
1666
1667                 Got temporary use of an evaluation copy of TestCenter.
1668                 Promptly found several memory leaks.  Oops.
1669
1670                 Added a synchronization mechanism to spawn so that user cannot
1671                 send to pty before it is init'd.  This also deals with the HP
1672                 trap more simply.  Removed extra open added in 5.5.1.  While
1673                 working on this, it occurred to me stty needs to temporarily
1674                 disable trap.  Added exp_slave_control so that C programmers
1675                 can get to it portably.
1676
1677                 Added "expect -ex" to documentation.
1678
1679                 Fixed winsize bug on Solaris.
1680
1681                 Added functions to allow user flexibility closing fds in child.
1682
1683 3/8/93  5.5.1   Integrated bug fixes from Arnold Robbins <arnold@skeeve.atl.
1684                 ga.xus> for his own strftime code.
1685
1686                 Rob Savoye passed back a patch from OSF to cast ptsname.
1687
1688                 Added a test for cat.  R.K.Lloyd noted HP failed pid test.
1689                 Turned out to be another bug related to pty-trapping.  The test
1690                 of course, was doing something that a user would never do.
1691                 Hope this doesn't break other HPs.   Pty trapping is becoming
1692                 less and less clear to me.  Ioctls generated by slave look like
1693                 modem ioctls.  Added an artificial open because different
1694                 versions of HP's stty execute differing numbers of ioctls.
1695                 In test script, changed each cat to cat -u.
1696
1697 2/17/93 5.5.0   Began a test suite based on Ousterhout's model: make test
1698
1699                 Added passmass man page.
1700                 Added decl of exp_tty_original to pty_sgtty.c.
1701                 Added error_spawn_id
1702
1703                 Alon Albert <al@mercury.co.xil> provided a bug fix for new
1704                 buffer handling code in C library.
1705
1706                 Fix fd leak related to spawn -open.
1707
1708 2/7/94  5.4.0   Some installation improvements from Rob Savoye and Owen Rees.
1709
1710                 Bug in handling empty string match - crept in recently.
1711
1712                 Finally fixed longstanding oddness: stty -raw reset echo.
1713
1714                 Made spawn close all file descriptors.  Added exp_open command
1715                 to get old effect.
1716
1717 1/26/94 5.3.5   Made rftp use /bin/ls to avoid -F from people's aliases.
1718
1719                 Initialized auto_path.
1720
1721                 Fixed exp_version so it fails if the major #s are not equal
1722                 (which is what the man page said).
1723
1724 1/18/94 5.3.4   Jim Meyering <meyering@idefix.comco.xcom> gave config fixes
1725                 of X handling on Irix-4.0.5 and suggested that tknewsbiff
1726                 observe DOTDIR.
1727
1728 1/18/94 5.3.3   Kevin Short <short@gdc.xcom> noted some remaining use of malloc
1729                 and free instead of ck versions.
1730
1731                 Initialize tcl_interactive to 0 while processing -c flag to
1732                 avoid unreliable handling of unknown proc.
1733
1734 1/17/94 5.3.2   Jeffry Abramson <jra@hrcms.att.xcom> noted that "spawn -pty"
1735                 hung on an HP.  Problem was trapping was enabled so as soon
1736                 as I tried to open the slave, Expect blocked waiting for ack!
1737
1738 1/14/94 5.3.1   Forgot to delete a bad call to strcat in exp_internal.
1739
1740 1/13/94 5.3.0   Added -info flag to log_file, log_user, exp_internal, and
1741                 strace, so you could get original args back out.        
1742
1743                 Wrote tknewsbiff script (and was extremely pleased).
1744
1745                 Fixed rftp.  I must have broke it when I changed to using Tcl's
1746                 new switch cmd.  Also sped it up by replacing split/join
1747                 nonsense with a single regexp.
1748
1749                 Danny Faught <faught@convex.xcom> noted that glob patterns
1750                 returned shortest matches.  While fixing this, found that glob
1751                 patterns ending in $ were broken, too.
1752
1753                 Massaged libraries and include files.  The include file for
1754                 using Expect with Tcl or Tk is now expectcl.h.  libexpect.a
1755                 now suffices for using Expect's funcs with C or Tcl.
1756
1757                 Add all the features from Expect into C library including
1758                 null and full buffer matching.  Added exp_buffer (_end) and
1759                 some other variables to support fd multiplexing better.
1760                 Made unmatched chars from previous expects remain for future
1761                 matches.
1762
1763                 Chen <johnny@e0sun3.ccl.itri.org.xtw> found bug in exp_pid when
1764                 -i had no arg.
1765
1766                 Rewrote expect_bg, after, and before so they all handle args
1767                 the same.  Interact and all the expect variables now handle
1768                 indirects.  exp_bg now handles -brace flag.
1769
1770                 Geoff Bullen <geoff@itx.nsg.com.xau> noted that interact put
1771                 terminal into raw mode even if stdin was redirected.
1772
1773                 Rob Savoye provided more configure mods to better find Tcl/Tk.
1774
1775                 Fixed bug in wait that didn't close down "busied" fds.
1776
1777                 Kazuro Furukawa <furukawa@apricot.kek.xjp> provided a better
1778                 default for SHORT_BINDIR in the Makefile and noted that DEC
1779                 doesn't understand "test -x".
1780
1781 12/3/93 5.2.0   Recent fix was buggy and blew up when eof case still had data
1782                 in buffer.
1783
1784 11/23/93 5.1.4  At request of Rod Beckwith <rodb@slugo.corp.sgi.xcom> fix some
1785                 minor things to which SGI cc was sensitive.
1786
1787                 Fixed bug in dvorak script where eof could occur in nested
1788                 interact, upsetting original interact.
1789
1790                 Forgot to change -flush to -nobuffer in man page.
1791
1792                 Added some more places to search for X11 for Jeff Moore
1793                 <jbm@internet.sbi.xcom> note.
1794
1795                 Added yet more fixes and notes for NeXT for Brad Skrbec
1796                 <skrbec@motcid.rtsg.mot.xcom> who found that NeXT has POSIX
1797                 include files but NOT the functions that go with them.  Sigh.
1798                 Needless to say, configure is thrown off by this.
1799
1800 11/14/93 5.1.3  John Pierce <jpierce@chem.UCSD.XEDU> noted several declarations
1801                 that AIX's cc couldn't handle include a struct with same elt
1802                 name at two different levels.  Also _IO is declared twice
1803                 in AIX include files but only checked once.
1804
1805                 Fixed bad args in exp_spawnl call in chesslib examples.  Can't
1806                 imagine how it ever worked before.
1807
1808                 Richard Weidner <richard@cicero.jpl.nasa.xgov> found a bug in
1809                 configure (test always treats a bare string as true!) that
1810                 caused NeXT to be declared as POSIX.
1811
1812                 Fixed two bugs in Tcl_StringMatch2.  One caused glob ranges to
1813                 succeed when they shouldn't.  Another was how malformed ranges
1814                 are handled, and came right from Tcl.  Reported to John.
1815                 Switched Expect library to use T_SM2 from Expect itself.
1816
1817                 Blair Zajac <blair@olympia.gps.caltech.xedu> noted expectk used
1818                 CLFLAGS instead of CFLAGS.
1819
1820                 Forgot to fix mishandling of parens inside of alternation in
1821                 interact.
1822
1823 11/9/93 5.1.2   Added "null" keyword and remove_nulls command to allow matching
1824                 ASCII 0 in expect/interact.
1825
1826                 Rob Nagler <nagler@olsen.xch> noted that expect_background
1827                 failed if pattern didn't consume all data.  event handler
1828                 knows nothing about data already arrived but not processed.
1829
1830                 Made Expectk understand --
1831
1832 11/8/93 5.1.1   Fixed yet another bug in setting expectk's argv0.
1833
1834 11/6/93 5.1.0   Provided support to work with Tcl 7.[0-1] and Tk 3.[3-4].
1835
1836                 Pasi Kaara <ppk@atk.tpo.xfi> found an off-by-one in the buffer
1837                 shuffling when buffers fill up during an expect.
1838
1839                 Changed \\\$ to \\$ in patterns that search for literal $.
1840
1841                 Added "spawn -pty" support for xterm -S.
1842
1843                 Fixed yet another argv problem in Expectk.  When run using
1844                 expectk explicitly, script name was left in argv.
1845
1846                 Fixed system command's return value to match exec new style.
1847
1848 11/1/93 5.0.4   Mark Davies <mark@comp.vuw.ac.nz> noted that BSD4.4 sysconf
1849                 returns -1 (a bug).  Rewrote to avoid requiring this info.
1850                 Switched from from explicit refs of sys_errlist to Tcl's
1851                 strerror.
1852
1853                 As per Adrian Mariano <adrian@cam.cornell.xedu>, added
1854                 exp_sleep command primarily to allow sleeping by sub-second
1855                 intervals.  Also avoids exec overhead.  Not yet documented.
1856
1857                 Kartik Subbarao <subbarao@concorde.fc.hp.xcom> noted that on
1858                 HPUX 9, SC_OPEN_MAX should be ifdef'd on itself rather than
1859                 HAVE_SYSCONF.
1860
1861                 Karl Vogel <vogelke@c-17igp.wpafb.af.xmil> noted Pyramid
1862                 didn't like varargs included twice in exp_command.c.
1863
1864                 Deleted expect_version variable (was never documented) and
1865                 deprecated expect_library to be exp_library for consistency.
1866
1867 10/16/93 5.0.3  Lou-Salkind@deshaw.com found interpreter() could stomp past end
1868                 of input array.  Same problem in debugger.
1869
1870                 Bud Bach noted init.tcl wasn't being sourced, and Makefile
1871                 broke if all scripts were commented out.
1872
1873                 Added interesting highlights and bindings to tkpasswd.
1874
1875                 Made Makefile look for -ltk if libtk.a doesn't exist.
1876
1877                 Rick Sladkey pointed out that -re patterns to look for $ should
1878                 "\\\$".
1879
1880                 R.K.Lloyd noted config doesn't see prototypes with K&R cpp.
1881
1882 10/8/93 5.0.2   Bud Bach noted tcl_interactive was not set.
1883
1884 10/8/93 5.0.1   R.K.Lloyd noted various problems, some related to being on an
1885                 HP when a lot of #ifdefs kicked in.
1886
1887 10/7/93 5.0.0   Added expect_background.  In the Tk environment, this registers
1888                 actions to be called upon receipt of a pattern from a process.
1889
1890                 Renamed "debug" as exp_internal" and made debugger available
1891                 as "debug" and "exp_debug".
1892
1893                 Milan Gupta <mbg0@bunny.gte.xcom> noted that system() (at least
1894                 on his HP) hangs when SIGCLD is ignored.
1895
1896                 <jason@vicor.xcom> noted that Tcl's exec command doesn't bother
1897                 to close fds, so force them with close on exec.
1898
1899                 Renamed "continue -expect" as "exp_continue".  "continue
1900                 -expect" will continue to work, just won't be documented.  It's
1901                 just too dangerous when you start mixing extensions.
1902                 Renamed "return -tcl" as "inter_return".  Had to do something
1903                 to avoid random return values from matching "-tcl".  This
1904                 design was just wrong.  Surprising that it never bit anyone.
1905                 Renamed "expect_version" as "exp_version" just to continue
1906                 this regularity.
1907
1908                 Protected initial fd_new's with isatty so disconnect doesn't
1909                 lose redirected fds.
1910
1911                 Allowed DFLT_STTY to be omitted entirely.  Apollo doesn't need
1912                 it.
1913
1914                 Modified fork to fail on failure instead of returning -1.  This
1915                 made spawn failure match disconnect failure.
1916
1917                 Dan Hyde <drh@citi.umich.xedu> noted missing arg in exp_error.
1918
1919                 Jerry Whelan <guru@stasi.bradley.xedu> noted -buffer was
1920                 botched in man page.  Hal Peterson noted that bug in man page
1921                 caused groff to choke.
1922
1923                 wait now returns {pid, spawn_id, 0|-1, status (or error msg).
1924                 errorCode is now set if appropriate.  wait -i -1 waits for any.
1925
1926                 Propagated winsize to pty.
1927
1928                 Documented "-open".
1929
1930                 Quentin Stafford-Fraser <Fraser@europarc.xerox.xcom> noted that
1931                 interact -u was broken.
1932
1933                 Fixed interact's default actions "return"/"interpreter" to be
1934                 writable.  Removed ability to set default eof/timeout.  Removed
1935                 dash from same.
1936
1937                 Rewrote trap to use Tcl's async support.  
1938                 Added -code switch and made interpreter understand "-nostack"
1939                 coming from error to use ^C to easily return to interpreter.
1940                 Introduced following incompatibilities:
1941                 - ONEXIT interface disappeared.  Use "exit -onexit".  (Thinking
1942                         of this as a signal bought nothing but complexity.)
1943                         Added "exit -noexit" to run all expect-related exit
1944                         handlers without exiting or destroying interp or ".".
1945                         Useful for when other apps have exit handlers.
1946                 - trap command takes missing action as a query.  Use "" or
1947                         SIG_DFL to delete or reset a trap.
1948                 - SIGCLD gone.  Now always called CHLD even if underlying
1949                         system only knows about CLD.
1950                 All sig handlers and exit handlers run at global level.
1951
1952                 Removed setjmp/longjmp crap.  Not needed since systems which
1953                 wait in read don't restart system calls.
1954
1955                 Added support in expect for "-gl" and allowed longer forms to
1956                 match Tcl's switch command.  Similarly for "-ex" in interact.
1957                 Rewrote arg parsing for send.
1958
1959                 Added "stty" command to support stty of ttys other than
1960                 /dev/tty.  Better for /dev/tty, too.  This should fix
1961                 security complaint from BSD's Net2 stty.
1962
1963                 <R.K.Lloyd@csc.liv.ac.xuk> gave fixes for configure and noted
1964                 exp_main_tk was missing exp_conf.h.
1965
1966                 Added "exp_timestamp" command.  Fixed bug in interpreter cmd.
1967                 It wouldn't return anything with TCL_OK.
1968
1969                 Renamed -flush to -nobuffer.
1970
1971                 Make interact default to executing actions in raw mode.
1972                 Accept -reset to execute in cooked mode.  Ignore -f.  
1973                 Fixed examples.  Fixed bug in "-o -timeout".
1974
1975                 Deprecated getpid (due to Tcl's pid), added exp_pid.
1976
1977                 Put "rm -f" inside catch.  SunOS 4.1.3 and some version of AIX
1978                 complain despite the -f!
1979
1980                 Added "send -break" for Dave Mielke.
1981
1982                 Fixed argv handling of expectk to match expect for Steve Clark.
1983
1984                 Switching to Tcl 7.0
1985
1986 8/21/93 4.7.7   Cygnus added support for OSF/1 style ptys.
1987
1988                 Brian Bebeau <brian@cblph.att.xcom> found bug in PTC support,
1989                 HAVE__GETPTY, timestamp doc, and provides some mods for config
1990                 AT&T StarServer.
1991
1992                 Detection of direct spawn ids failed on -1.
1993
1994 8/18/93 4.7.6   Removed zone and gmtoff from timestamp.  Not ANSI.
1995                 Removed getpid confusion.
1996                 Once again, added "cat -u" into kibitz (this time for AIX 3.2).
1997
1998 8/18/93 4.7.5   De Clarke <de@lick.UCSC.XEDU> hit error in exp_global.h because
1999                 tcl.h had not been included.
2000
2001 8/16/93 4.7.4   Richard Kasperowski <richk@icad.XCOM> found that Ultrix 4.1-2
2002                 failed to allocate controlling terminal.  Ultrix's setsid is
2003                 evidentally buggy.  Switched back to setpgrp - which fixed it.
2004
2005                 Fixed type defn of exp_tty_original.
2006
2007                 Dave Mielke found two bugs in interact: re-failure prevented
2008                 other patterns from matching a particular point in the stream,
2009                 and two or more -inputs didn't actually work.  Also found bug
2010                 in HP trap handling - despite what docs say, other things
2011                 besides open/close have to be handled.  Specifically, slave was
2012                 generating an ARGGET.  Backed off on trying to wait immediately
2013                 for two OPENs to just waiting for one OPEN.  Perhaps zero?
2014                 Also found deficiency in return -tcl - failed to return arg.
2015
2016                 At Dave's request, made cmdfile by read in a single gulp rather
2017                 than line by line.  Added -b (buffer) flag for old behavior.
2018                 Old behavior performs badly on very long procedures but is use-
2019                 ful for reading commands from pipes.  Made "system stty" return
2020                 status of raw/echo.
2021
2022                 Made log_user return previous value irrespective of args.
2023
2024                 Fixed mishandling of parens inside of alternation noted by
2025                 Bud Bach <bachww@rtsg.mot.xcom>.
2026
2027                 Added -timestamp, -iread, and -iwrite to interact and
2028                 expect.
2029
2030                 Added -onexec flag to close to solve problem posed by
2031                 Bellave Jayaram <bjayaram@slee01.srl.ford.xcom>.
2032
2033                 Added -0 to send.  Removed capability of send to send multiple
2034                 strings.
2035
2036                 Chip Rosenthal noted bug in releasing trap 0's action.  Also
2037                 modified exit handler to allow recursive invocation.  Instead
2038                 of complaining, it skips handlers that have already been
2039                 invoked and forces the process to exit.
2040
2041                 Added new names for most command prefaced by "exp_".
2042                 Deprecated send_spawn.
2043
2044                 Switched to Ousterhout's ckalloc and attitudes towards failure.
2045
2046                 Started adding Tcl 7.0 support.  getpid renamed to pid.  Added
2047                 exp_pid to support things that Tcl 7 does with its pid.
2048
2049 6/12/93 4.7.3   fnf@fishpond.cygnus.com noted minor type problems.  Rob Savoye
2050                 noted trap SIGINT overrode debugger handler.  Default should
2051                 be reverse.
2052
2053 6/8/93  4.7.2   Added debugger to public release.
2054
2055 6/7/93  4.7.1   Ed Oskiewicz <eo@ansa.co.xuk> noted prototype botch - exp_cook.
2056                 Owen Rees <rtor@ansa.co.xuk> noted missing decl for
2057                 tclRegexpError.
2058
2059 6/6/93  4.7.0   Gert Bultman <bultman@dgw.rws.xnl> exposed a bug in interact's
2060                 -update.
2061
2062 5/27/93 4.6.0   Rick Sladkey <jrs@world.std.xcom> fixed a bug in send_log -
2063                 checking a master needlessly and indexing off the end of an
2064                 array.
2065
2066                 Rob Savoye made change for detecting libpt.a, modified
2067                 autoconf for better handling of X, exec_prefix, and ranlib.
2068
2069                 Kris Woeppel <krisw@cs.athabascau.xca> said SVR3 doesn't have
2070                 wait.h.
2071
2072                 Made libexpect.a understand regexp.  Reorganized code.  It
2073                 now requires Tcl to be installed first, although it uses only
2074                 a few utility routines.  Hopefully this isn't a problem for
2075                 anyone.
2076
2077                 Zack Xu <zack@cs.wisc.xedu> noted exp_main.h needed C++
2078                 support.
2079
2080                 Pascal Meheut <pascal@cnam.cnam.xfr> gave fix for skipping over
2081                 null bytes while interact is pattern matching.
2082
2083                 Added "--" to expect, interact, and send.
2084
2085                 Added support for associating multiple -i's with a single
2086                 pattern, and -i's with no pattern for use with spawn_id_any.
2087
2088                 Made interact work with systems that lack select/poll.
2089
2090                 Added code and #defines for debugger.  Debugger itself is not
2091                 yet available.
2092
2093 4/19/93 4.5.2   Achim Flammenkamp <achim@HRZ.Uni-Bielefeld.XDE> noted that I
2094                 documented full_buffer as buffer_full.
2095
2096                 Ted Stockwell <ted@sirius.aggregate.xcom> noted that wait arg
2097                 was missing an & in configure test.
2098
2099                 Scott Hess noted that systems can have wait4 without waitpid.
2100
2101                 Jonathan Kamens <jik@gza.xcom> noted/fixed some things that
2102                 weren't autoconf'd correctly: pid_t, RETSIGTYPE, malloc.
2103
2104                 Gary Shea noted that a recent change to expectk made it not
2105                 default to interactive.         
2106
2107 4/12/93 4.5.1   At request of Rusty Wilson <zrlw05@hou.amoco.xcom>, added
2108                 "-console" to spawn.
2109
2110                 Pang Wai Man Raymond <wmpang@cuse1.se.cuhk.hk> reported that
2111                 passmass didn't recognize DEC's passwd prompts for root.
2112
2113 4/7/93  4.5.0   Fixed bug in interact regexp preventing match of multichar
2114                 literals.
2115
2116 4/6/93  4.4.3   Bennett Todd <bet@sbi.xcom> noted missing example scripts
2117                 timed-read and time-run.
2118
2119 3/29/93 4.4.2   Bill Houle <Bill.House@SanDiego.NCR.COM reported fixes
2120                 for SVR4 pty support to compile.                
2121
2122                 Made string matcher understand *$.  Documented tty_spawn_id.
2123                 Made command line -i override -f.
2124
2125                 For Tuan Doan <tdoan@bnr.xca> on HP, make kibitz use domainname
2126                 as fallback and used whoami instead of env(USER).
2127
2128                 Fixed bug in the generic pty code that could report out of ptys
2129                 because an earlier slave slowly deleted the lock file.
2130
2131 3/25/93 4.4.1   Stephen House <sdhouse@bnr.xca> reported exp_tk.c wouldn't
2132                 compile on HP.  Fixed.
2133
2134 3/24/93 4.4.0   Added back SVR4-style pty allocation which got omitted in the
2135                 autoconfig process.  Fixed bug in interact's -update handling.
2136                 Fixed bug in weather script that cut off long reports.
2137
2138 3/15/93 4.3.0   Cleaned up /tmp files used during pty locking.
2139
2140                 Added command "parity" to enable parity stripping.  Fixed
2141                 match_max to do -i correctly.
2142
2143 3/15/93 4.2.4   Fixed to work on new SGI which returns slave-close via excep
2144                 (select) or POLLERR (poll) rather than thru read().
2145
2146 3/12/93 4.2.3   Fixed to work on AIX (using /dev/ptc) and UTS (using getpty).
2147
2148 3/11/93 4.2.1-2 Fixed numerous bugs relating to HP ptys.  It's amazing that for
2149                 their bewildering complexity, they couldn't support generation
2150                 of EOF to the master (or at least enable trapping of just
2151                 close), rather than forcing the code to know about opens, too.
2152
2153 3/8/93  4.2.0   Integrated Rob Savoye's autoconfig code.
2154
2155                 Interact mishandled new -eof flag.  Added -update.
2156
2157                 Gary Shea <shea@cs.ukans.xedu> noted that tkwait hung if
2158                 expect had been called.  Rewrote most of tk_event.c and fixed
2159                 some other problems related to efficiency & multiple timeouts.
2160
2161                 E Beck <beck@qtp.ufl.xedu> suggested mods to more easily
2162                 support Extended Tcl.
2163
2164                 Bill Mitchell <mitchell@mdd.comm.mot.xcom> reported problems on
2165                 4.3+BSD.  Added support for TIOCSCTTY.
2166
2167                 Dana Burd <dana@wrs.xcom> noted that "exit" caused by ^C during
2168                 expect didn't work - just returning to expect.  Fixed, and then
2169                 removed "feature" of ^C to abort a timeout.  This feature
2170                 proved a lot less useful than I thought it would.
2171
2172 2/21/93 4.1.0   Bill Tierney <wtierney@leland.stanford.xedu> noted that double
2173                 close dumped core.  Rewrote fd_to_f and close/adjust functions.
2174
2175                 Interactive interpreter() didn't properly wait in
2176                 get_next_event, so Tk stopped responding to events.
2177                 Wrote version of interpreter that shares expect's input buffers
2178                 but can't think of a use.  Left as an ifdef SHARE_CMD_BUFFER.
2179
2180 1/26/93 4.0.1   Added eof check to xpstat.  Removed incorrect and unnec.
2181                 #includes from exp_main_exp.c
2182
2183                 Chip Rosenthal <chip@chinacat.unicom.xcom> found my refs to
2184                 tclRegexpError need externs on systems that don't use Tcl's
2185                 string.h.  string.h should probably be changed not to refer to
2186                 tclInt.h.
2187
2188                 Added FAQ about Expect's copyright status.
2189
2190                 Mark Christopher <christo@bnr.xca> pointed out some really
2191                 stupid errors in the HP support for select.     
2192
2193 12/16/92 4.0.0  Rewrote interact.  Made re-entrant thru event-handler for Tk.
2194                 (Same for Expect.)  Abstracted out common code so that
2195                 remainder is specific to select vs poll vs tk (although
2196                 "simple" was impossible to handle).  Added timeouts, regexps
2197                 (at request of numerous people), ability to set up arbitrary
2198                 graphs of process flows, and some miscellaneous but useful
2199                 functionality.  New flags are: -input, -output, -re, -echo,
2200                 -flush, -eof.
2201
2202                 Added "-noecho" to spawn command.
2203
2204                 Added getpid command.  Something with this functionality should
2205                 be added to the Tcl core.  When it is, this function will go
2206                 away.
2207
2208                 Removed assumption of global "interp" handle.  Rewrote init
2209                 and other routines for use as libraries.  Added appropriate
2210                 glue to Makefile.
2211
2212                 At request of Rob Savoye <rob@cygnus.xcom> added "send_log" and
2213                 disabled buffering on all output.  The only affect unbuffered
2214                 output will cause users is if they pass large strings in
2215                 multiple args to send.
2216
2217                 Ray Davis <rdavis@masschaos.de.convex.xcom> reported Convex 
2218                 could not do job control from spawned procs.  I added a symbol
2219                 DO_SETSID to force this.
2220
2221                 Martin Leisner modified rftp to understand iftp.  I added it
2222                 to the publicly donated scripts directory.
2223
2224 11/17/92 3.24.1 Martin Leisner suggested Makefile use $(MAKE) and support Tcl
2225                 as a Sun shared library.
2226
2227                 Seth Perlman <seth@welchgate.welch.jhu.xedu> suggested interact
2228                 support timeout.  I've added this as "-timeout" in inter_select
2229                 but left undocumented while we experiment with interface.
2230
2231                 Joe VanAndel <vanandel@ncar.ucar.xedu> pointed out that su2
2232                 script still used old syntax.  Fixed.
2233
2234                 Konrad Haedener <haedener@iacrs1.unibe.xch> fixed a bug in
2235                 POSIX tty handling on AIX.  Surprisingly, we discovered AIX
2236                 worked just fine when pty_bsd is used and without -DPOSIX!
2237
2238                 Doug (George Jetson) <pynq@midway.uchicago.xedu> pointed out
2239                 that a spawn_id for /dev/tty would be really handy.  I added
2240                 tty_spawn_id for this purpose.
2241
2242 11/4/92 3.24.0  After problem reported by James Ward <jew@sunquest.xcom> added
2243                 to man page describing delays required by hardware such as for
2244                 UART switching.
2245
2246                 Recoded all \C sequences as \### in examples and man page in
2247                 anticipation of them going away in next version of Tcl.
2248
2249                 Switched to printing errorInfo during errors instead of the
2250                 command and only the top-level error message.  Since this
2251                 includes entire stack, this should be very helpful.
2252
2253                 J. Cazander <cazander:pasichva via serigate@phcoms.seri.
2254                 philips.xnl> reported that purify found a write beyond the end
2255                 of an input buffer.  Lucked, it was just before a double-word
2256                 boundary, so it probably isn't a problem.  I fixed it anyway.
2257
2258 10/9/92 3.23.1  Tor Lillqvist supplied support for HP 8.0.7 in POSIX-mode, and
2259                 a bugfix for POSIX tty mode switching
2260
2261 10/8/92 3.23.0  Larry Rogers <lrr@Princeton.XEDU> reported that "weather" blew
2262                 up in spawn.  I'll add a catch-all to the script to report
2263                 similar problems (out of ptys, processes, etc.)
2264
2265                 Ting Leung <tleung@bnr.xca> notes that log() in human_write can
2266                 receive a 0 (domain error).  Fixed unit_random to avoid that.
2267
2268                 Tony Primavera <aprima@xox.ssc.af.xmil> notes that the sample
2269                 archie script needs to understand mcgill's limit of 10 users.
2270                 Tor Lillqvist <tml@tik.vtt.xfi> noted that a lesser-used
2271                 pattern ("unknown...") is incorrect.
2272
2273                 Grant Taylor <gat@pecan.cray.xcom> found a problem when forking
2274                 (using Expect's fork) multiple processes, each of which spawned
2275                 something.  In the BSD pty support, I had used the pid to build
2276                 a temporary file for testing the pty before actual use.  When
2277                 multiple processes tried to use the same tempfile, it blew up.
2278
2279 8/12/92 3.22.13 Corey Satten pointed out that -u on cat caused kibitz to slow
2280                 down on Ultrix.  I see the same behavior on SunOS.  I added an
2281                 option to fix it for systems that need it.  Corey also noted
2282                 arg miscounting in kibitz, and pointed out that world-readable
2283                 fifos could be a security problem.  He gave a fix for this and
2284                 also a fix to force ptys to be put into raw mode.
2285
2286                 Terrence Brannon <tb06@pl122e.eecs.lehigh.xedu> reported rftp
2287                 referenced the undefined variable 'transfer'.  Turned out to be
2288                 a bug in the code to handle symbolic links.
2289
2290 7/20/92 3.22.12 Added O_NOCTTY (if defined) in pty_bsd.c to avoid gaining
2291                 control terminal while testing pty when running as daemon.
2292
2293                 At request of Michael D. Riley <riley@mbeya.research.att.xcom>
2294                 added explanation to man page - how expect_after/before deal
2295                 with spawn_id.
2296
2297                 Charles Hannum discovered the problem with AIX (see earlier)
2298                 was a missing "extern" in the errno declaration.  Also, the
2299                 compiler was sensitive to a lack of access to the defn of
2300                 struct expect_special.
2301
2302                 Dave Coombs gave me yet another fix for the weather server to
2303                 accomodate its ever continual change.
2304
2305 7/2/92  3.22.11 Yet more work.  Discovered that SunOS and Ultrix really like
2306                 setpgrp(0,0) much better than setpgrp(0,getpid()) but the
2307                 manual doesn't describe well why this seems to work better.
2308                 (The old call worked inconsistently.)
2309
2310 6/30/92 3.22.10 Did more work on modifications to dissolve connection between
2311                 stdio and devtty.  Eventually, I'd like to add a separate
2312                 spawn_id for devtty (expect_devtty?).
2313
2314 6/5/92  3.22.9  Hansel Wan <hhw0@gte.xcom> noted that $errorInfo was clobbered
2315                 by prompt1.  To prevent this, I added a default definition
2316                 for prompt1 (and prompt2 while I was at it).
2317
2318                 Unnati Amin <uxa@po.cwru.xedu> noted that the example scripts
2319                 checked for $ in prompts which didn't work.  This bug was
2320                 created when $ was turned into a "match end-of-input" char
2321                 in the transition from v2 to v3.  Solution: backslash the $.
2322
2323                 A few parts of code assumed spawn_id was always stdin, which
2324                 caused "send" to send to stdout, which meant succeeding
2325                 expect's hung, waiting forever.  Fixed is_user macro.
2326                 This was a problem with scripts that redirected stdin or
2327                 somehow reused fd 0.  Surprising that no one ever did that
2328                 before - also surprising that it didn't bother cron jobs.
2329
2330 6/2/92  3.22.8  Man pages fixes from Matt Crawford crawdad@fncent.fnal.gov.
2331
2332 5/12/92 3.22.7  Missing ; in Makefile, screwed up chmod.
2333
2334                 Fixed bug that caused interact to think the modes had changed
2335                 when they hadn't.
2336
2337 5/11/92 3.22.6  Added regression paper to ftp archive - published in the 1992
2338                 USENIX San Antonio Proceedings.
2339
2340                 Swapped setpgrp and fork in disconnect command for sysV88.
2341                 According to Dave Schmitt <daves@techmpc.csg.gss.mot.xcom>,
2342                 original code (right out of Stevens) starts the child with
2343                 closed stdio fds.
2344
2345                 Fixed bug in interact that changed /dev/tty modes even if
2346                 interact was used to connect two completely different ttys.
2347                 Had never been a problem before, but today I wrote some code
2348                 that actually calls interact from cron!  Also, copied the
2349                 experimental fix from 3.22.5 to inter_poll.
2350
2351                 Jeremy Nussbaum <jeremy@world.std.xcom> says cat needs "-u" in
2352                 kibitz for his HP 8.0 system to work.  I wonder why this has
2353                 never been a problem on earlier HP and other systems?
2354
2355                 Forced Makefile to mark scripts executable.
2356
2357 4/12/92 3.22.5  Fixed bugs reported by Matt Ranney <mjr@uther.Calvin.XEDU>
2358                 including a syntax error (!) in expect.c on ecases_inuse.
2359                 I didn't even compile this before pushing out?  He also noted
2360                 some # were not in column 1.
2361
2362                 I put in an experimental fix to interact (only in select
2363                 version currently) to fix when pattern matching from master
2364                 and user needs to continue typing in order to complete match.
2365
2366 4/3/92  3.22.4  Charles Hannum (mycroft@gnu.ai.mit.edu) pointed out that I
2367                 screwed up a comment in the brand new pty_aix3.c.  He also gave
2368                 me a fix for an arg-less expect, which did a malloc(0).  And
2369                 he said that AIX ptys return EOF in yet a new way - read()
2370                 returns -1 with errno == 0.  Yuck.
2371
2372 3/29/92 3.22.3  Jay Schmidgall gave me yet another pty_aix3.c.  He also gave
2373                 ifdefs for POSIX terminal support.
2374
2375 3/18/92 3.22.2  Jay Schmidgall <shmdgljd+@rchland.ibm.xcom> modified pty_sgi3.c
2376                 to make a pty interface for recent versions of AIX.
2377
2378                 Steve Summit <scs@adam.mit.xedu> noted that "trap 0" could
2379                 actually call signal(0...)
2380
2381                 Martin Leisner <Martin_A._Leisner.Henr801C@xerox.xcom> noted
2382                 that rftp was broken.  It seems I never handled symlinks.  They
2383                 are interesting.  You can't tell from the listing whether they
2384                 are files or directories, so you just have to blindly go ahead
2385                 and assume it's one or the other and see what happens!
2386
2387 3/11/92 3.22.1  In talking to Dave Schmitt ,daves@techmpc.csg.gss.mot.xcom>,
2388                 realized the documentation for wait had never been updated
2389                 from the way it used to work in v2 (returning any pid).
2390
2391 3/11/92 3.22.0  Another question from Ron, prompted me to find another bug.
2392                 interact -o wrongly manipulated the user buffer at one point.
2393
2394 3/10/92 3.21.0  Ron Young <ron@nevada.xedu> found that spawn failed on a
2395                 DECstation 3100 running Ultrix 4.2.  I had forgotten to test
2396                 that cmdfile was valid before comparing against stdin in fix
2397                 related to fflush in 3.20.0.
2398
2399                 While I was on a DECstation, I noticed that it does not accept
2400                 setpgrp(...,0).  Changed 2nd arg to getpid().
2401
2402 3/6/92  3.20.2  Stefan Farestam <farestam@orion.cerfacs.xfr> provided a new
2403                 version of pty_sgi.c which uses _getpty.  I renamed the old
2404                 one pty_sgi3.c
2405
2406 3/3/92  3.20.1  Brian Woodson requested I update the dates and version numbers.
2407
2408 3/1/92  3.20.0  Prompted by a question from Ken Mandelberg, added -raw to
2409                 noidle and kibitz script.
2410
2411                 Fixed fflush(cmdfile) again, having been authoritatively told
2412                 by net wisdom that there is no way to portably fflush a shared
2413                 read-stream. (I take back my claim about a bug in HP's fclose!)
2414
2415                 John Sellens gave me some more fixes for non-DEC MIPS OS.
2416
2417 2/22/92 3.19.1  John Sellens <jmsellen@watmath.waterloo.xedu> gave me a bug
2418                 fix for NOWAITPID.
2419
2420 2/21/92 3.19.0  Found a bug in HPUX fclose!!  It moves the I/O pointer in the
2421                 shared file table entry!  This explains the symptoms I reported
2422                 earlier.  Fortunately, it's easy to code around (by me - it is
2423                 no longer necessary to fudge the scripts).
2424
2425                 Added some stuff to the man page to explain why expect behaves
2426                 the way it does in an emacs shell window and how to live with
2427                 it.
2428
2429 2/21/92 3.18.0  Worked on the HP port some more.  The HP causes a real problem
2430                 by insisting SIGCLD be delivered in order for wait to return
2431                 a status.  This royally complicated the code, partly because
2432                 of the special casing all over the place in the trap command,
2433                 the asynchronous delivery of SIGCLD and also because Tcl itself
2434                 is not prepared to have system calls be interrupted.  The HP
2435                 also defines both CLD and CHLD which threw my macros off.
2436
2437                 Anyway, the end result is that on the HP, SIGCLD is ignored.
2438                 The manual claims wait status will not be delivered but it
2439                 seems to be anyway.  Good grief!  (Even if it were ignored,
2440                 it would not be such a calamity, since wait is used mainly
2441                 to discard zombies on other systems.)
2442
2443                 A remaining problem is that there appears to be some odd
2444                 interaction, perhaps with fork, such that the script is rolled
2445                 back at eof if a spawned process happens to exit at the same
2446                 time.  The solution for now is to exit all scripts via exit
2447                 rather than letting exit be called implicitly.  There must be
2448                 some real bug, but I'm unable to find anything after lots of
2449                 testing, line and Saber.  At the moment, I'm highly suspicious
2450                 of the HP itself rather than expect.
2451
2452                 Bob Proulx and Jeff Okamoto supplied me with patches for
2453                 inter_select.c.  HP transmits some pty interactions via the
2454                 exception field in select.
2455
2456                 Michael Grant gave me a mod to recognize ~ in the logfile and
2457                 debug commands.
2458
2459 2/17/92 3.17.1  Brian Keves <keves@meaddata.xcom> pointed out that the man page
2460                 still referred to "expect_match" instead of "expect_out".
2461
2462 2/12/92 3.17.0  Eric Arnold <Eric.Arnold@corp.sun.xcom> ran into a problem
2463                 when running in the background.  interact did ioctl(0...)s to
2464                 change the terminal mode, ignoring the -u flag.
2465
2466                 Fixed a bug in kibitz which blew up when asking for a password
2467                 due to a spelling error.  The drawbacks of interpreters...
2468
2469 2/4/92  3.16.3  Dongchul Lim <lim@doctor.chem.yale.xedu> noted that scripts can
2470                 hang in the background.  I had assumed isatty(0) was enough to
2471                 contrast bg/fg but it returns 1 if the script was started with
2472                 a & from the terminal.  I added code to watch if any ioctl(0)s
2473                 were done.  If so, than it is safe to do more, in particular
2474                 in the exit handler to reset the terminal modes.
2475
2476 1/28/92 3.16.2  Fixed a bug on SV systems causing errors when trying to do
2477                 further reads after a SIGCLD had already arrived on a spawn_id.
2478
2479                 Peter Funk <pf@artcom0.north.xde> gave mods for SCO XENIX 386.
2480
2481 1/24/92 3.16.1  Oops.  Forgot to add pty_svr4.c to shar.
2482
2483 1/13/92 3.16.0  Karl Lehenbauer <karl@sugar.NeoSoft.xcom> a tiny change for
2484                 getting a clean compile on SCO 3.2.2.
2485
2486                 My getimeofday-avoidance code wasn't right, sigh.  Kibitz
2487                 noticed.  Fixed two other bugs in kibitz - password request
2488                 was for wrong user and it timed out but shouldn't have.
2489
2490                 Note: seems to work fine with new version of Tcl: 6.2
2491
2492 1/13/92 3.15.1  Added a bit of code to avoid gettimeofday system calls when
2493                 timeout == -1.  Fixed minor bugs in kibitz relating to cleaning
2494                 up and returning error messages.
2495
2496                 Redid support for stdlib.h including making it default to fix
2497                 problem in Ultrix 4.2 reported by Oliver Kretzschmar <viskretz
2498                 @ikesg1.energietechnik.uni-stuttgart.xde>.              
2499
2500                 Ian Johnstone <ianj@sequent.xcom> said his system (DYNIX 3.2)
2501                 needed an additional include <ctype.h> in inter_select.
2502
2503                 Dave Coombs <cme.nist.xgov> added logic to test/weather to
2504                 accomodate a new feature in the weather server.
2505
2506                 Hal Peterson fixed some SV code that I just added for handling
2507                 SIGCLD properly.  He made the Cray-extra-child timeout in half
2508                 the normal timeout to allow distinguishing between eof and real
2509                 timeout.  Finished rest of Jeff Okamoto's fixes for HPUX.  
2510
2511                 Wally Strzelec <packman@tamuts.tamu.xedu> provided mods for
2512                 Amdahl which has its own pty-handling functions.  Ifdef'd into
2513                 pty_usg.
2514
2515 12/30/91 3.15.0 Fixed a bug that struck when eof occurred when reading from
2516                 multiple processes simultaneously and no user-supplied eof
2517                 handler.
2518
2519 12/26/91 3.14.1 Ted Gibson <tgibson@logdis11.hq.aflc.af.xmil> gave me some mods
2520                 for a 3B2 having to do with termio vs termios, etc.
2521
2522 12/24/91 3.14.0 Deprecated expect 2.  Expect 3 is now the official version.
2523
2524                 Parag Patel <parag@netcom.netcom.xcom> gave me some #includes
2525                 necessary for A/UX 2.
2526
2527                 Brian Woodson noticed "send a b" generates incorrect debug
2528                 output.
2529
2530                 Working with Jeff Okamoto to run expect on HP/UX 8.0, we fixed
2531                 SIGCLD catching (he says HPUX doesn't ignore them by default?),
2532                 obviating longjmp from stomping locals, fixed a bug in cmdWait
2533                 that would prevent the wait status from being collected in
2534                 rare situations.
2535
2536 12/17/91 3.13.1 James Davis suggested fixing Makefile to handle case where no
2537                 example scripts should be installed.  I added similar logic
2538                 for script man pages.
2539
2540                 Pete Siemsen fixed a bunch of things in the Makefile including
2541                 where to get expect when invoking fixline1.  He suggested defs
2542                 for supporting install and multiple MAN targets.
2543
2544 12/12/91 3.13.0 Matthew Freedman <mattf@cac.washington.xedu> noted mismatch
2545                 between lib man page (said "stty_init") and lib code (said
2546                 "exp_stty").  He also found a screwup in the library such that
2547                 the pty slave wasn't being set up correctly.
2548
2549                 Added note to kibitz man page on how to kibitz with 3 or more.
2550
2551 12/12/91 3.12.0 "expect *" worked incorrectly if it was first expect after
2552                 spawn, due to buffer not being initialized.
2553
2554                 Added a good example for "expect -continue" to man page.
2555                 Added an FAQ about a gcc problem that seems to be common.
2556
2557 12/11/91 3.11.2 James Davis noted I forgot to put kibitz.man in distribution.
2558                 I changed kibitz to read domain from resolv.conf instead of
2559                 calling domainname(1) for systems upon which NIS domainname
2560                 differs from Internet.
2561
2562                 Pete Siemsen <siemsen@barnard.usc.xedu> noted slight error in
2563                 libexpect man page.
2564
2565 12/10/91 3.11.1 A couple tiny mods to the Makefile courtesy of James B. Davis
2566                 and Michael Grant (guest worker from Sun, temporarily at
2567                 <mgrant@xdr.ncsl.nist.xgov>.  Both of them also noted a problem
2568                 caused by incorrect installation of gcc that caused expect to
2569                 say "ioctl(set): Invalid something or other" upon exit.
2570
2571                 Fixed complaint about exit() while compiling without STDC.
2572
2573 12/9/91 3.11.0  beta!
2574
2575                 Hal Peterson provided fixes for UNICOS 6.1 and 7.0 on both
2576                 CRAY-2 and CRAY Y-MP.  He also fixed a problem in interact
2577                 where malloc(0) could've occurred.
2578
2579                 Added support for allowing user to set interpreter prompt.
2580
2581                 Added forgotten -d flag to match_max in rftp script. 
2582                 Made kibitz understand user@host.
2583
2584                 Expect's internal buffer-full-handling incorrectly copied
2585                 the latter buffer half beginning from the end of the buffer.
2586
2587 12/5/91 3.10.1  Massaged Makefile to allow for more flexibility in
2588                 installation, especially with regards to scripts.  #! is now
2589                 reset.
2590
2591                 Added "kibitz", a really cute script to let two people control
2592                 one program.  Example users are for one person to help another
2593                 remotely, logging a conversation (run emacs or whatever inside
2594                 kibitz and your conversation can be logged, scrolled backwards,
2595                 etc., or of course, playing games together.
2596
2597 12/4/91 3.10.0  Tightened up arg checking for "wait" - it core dumped when it
2598                 should've said "syntax error".
2599
2600                 Rick Cady <rickc@nsd.3com.xcom> noted minor inconsistency in
2601                 man page describing strace.
2602
2603                 I fixed a bug that prevented "system stty -echo raw" from
2604                 working.  The raw data was clobbering the -echo data.
2605
2606 12/3/91 3.9.0   Brian Woodson noted that "close -i ..." evoked a syntax error.
2607                 I had parsed the arguments incorrectly.
2608
2609                 After the nth request, I finally set up pub/expect/scripts as
2610                 a directory for scripts.
2611
2612 12/2/91 3.8.0   Phil Sheperd <pshepher@loki.uni.edu.xau> fixed a major bug in
2613                 exp_spawnv() preventing one side of the pty from being set up
2614                 correctly.  Thus nothing worked!  He also reported that his
2615                 system didn't have strdup, so I added an explicit defn of it.
2616
2617                 James B. Davis fixed a couple nroff-bugs on the man page, and
2618                 said someone already gave him a dump script (see below).
2619
2620                 Richard (R.C.) Vieregge <richv@bnr.xca> found a $ was missing
2621                 from test/ftp.exp.
2622
2623 11/22/91 3.7.2  James B. Davis <james@solbourne.xcom> straightened out a couple
2624                 things in the Makefile and asked if anyone had written a script
2625                 for dump.
2626
2627                 Jeff Okamoto <okamoto@hpcc25.corp.hp.xcom> had a couple changes
2628                 for HPUX 7 and 8 compat, involving termio stuff.
2629
2630                 Prompted by Andy Norman, added note to man page describing how
2631                 to disable all argv processing while using #!.
2632
2633                 Converted passmass and rftp over to new version.
2634
2635 11/15/91 3.7.1  Brian Woodson asked me about the Tcl_WaitPids "got unknown
2636                 process" panic.  This is a Tcl bug that John has promised
2637                 to fix.  I'll document how to avoid it in the man page.
2638
2639                 Incidentally, I'm going under the knife tomorrow for three
2640                 torn cartilage in my wrist.  The doctors say it may be a couple
2641                 days to couple months.  Until I get back, hang in there.
2642
2643 11/13/91 3.7.0  Yet another bug discovered (and fixed).  "expect eof" was
2644                 failing to remember the buffer, and expect_out(buffer) was
2645                 empty upon return.
2646
2647                 Brian Woodson noted I forgot to document the -i flag of close.
2648
2649 11/12/91 3.6.0  Sean Cunningham <sean@moorenet.xcom> reported that he couldn't
2650                 open /dev/tty from 'at'.  'spawn' was incorrectly not executing
2651                 code to claim it was a controlling tty.  BSD only.
2652
2653 11/11/91 3.5.1  Brian Woodson notes that version 2 and 3 treat the following
2654                 differently.
2655
2656                         proc p {} {spawn s}; expect
2657
2658                 In v3, spawn_id is locallized by the proc, and thrown away when
2659                 p returns.  Unfortunately, in v2 due to some sloppy coding on
2660                 my part, spawn always affected the global value of spawn_id.
2661                 This differed from the handling of other variables, and in v3,
2662                 this unusual behavior had to go, because the multiprocess
2663                 handling and the large number of variables implicitly set
2664                 (especially by the expect command) demanded that I be more
2665                 systematic about how this was done.
2666
2667                 Since I never depended on this behavior, I never documented it
2668                 as being something you should rely upon.  Alas.  To fix it, add
2669                 the line
2670
2671                         global spawn_id
2672
2673                 to the beginning of any proc that calls spawn and needs the
2674                 value of spawn_id implicitly defined outside of the proc.
2675
2676 11/6/91 3.5.0   Drew Whitehouse <Drew.Whitehouse@anu.edu.xau> hit a bad pointer.
2677                 I forgot an initialization in expect.c which caused problems
2678                 when an EOF occurred which had no eof pattern.
2679
2680 11/2/91 3.4.0   Added FAQ from various questions people have sent me and my
2681                 replies.  Made CONVERTING file on converting from 2 to 3.
2682
2683                 Nelson H. F. Beebe <beebe@math.utah.xedu> found a missing
2684                 declaration for exp_tty_original in bye() of main.c.  How come
2685                 the Sun C compiler doesn't complain about this!?!!?
2686
2687                 Nelson also reported that SunOS 4.0.3 had a problem including
2688                 varargs.  It turned out that old varargs had check for
2689                 reinclusion, and tclInt.h also includes it.  So I added an
2690                 #ifdef va_dcl and put my inclusion after tclInt.h.
2691
2692 10/31/91 3.3.0  Converted most of the examples.  Three more to go.
2693                 Worked on man page some more.
2694
2695                 Modified expect so that if timeout > 0, and nothing in the
2696                 buffer matched, it will force a read, no matter how long the
2697                 preceding code took.  This may be hard to understand, but is
2698                 the intuitive behavior that I always desired.
2699
2700 10/30/91 3.2.0  Fixed bug in eof handling.  Converted some more of the
2701                 examples, and added to Makefile.
2702
2703 10/29/91 3.1.0  Fixed slight bugs in tty mode switching, pty initialization
2704                 (via stty).
2705
2706                 Fixed expect library.  Fixed compatibility code for non-BSD
2707                 systems.  As usual, I could only test it so far, not having
2708                 all these systems at my disposal.  I don't expect major
2709                 problems though, since the basic functions I depend on haven't
2710                 changed.
2711
2712                 Completely rewrote handling of continue, return, etc in
2713                 expect, interact, interpreter.  It's actually systematic now.
2714
2715                 Checked with John O. about some code to bounce wild return
2716                 codes, which he said was a mistake and would remove, so now I
2717                 can pass my own return codes different from Tcl's.
2718
2719 To get | to return ->   TCL_RETURN      TCL_OK          (no return)
2720        V
2721     expect              return          default         continue -expect
2722     interact            return -tcl     return          default
2723     interpreter         return -tcl     return          default
2724
2725                 What this table says is, to get "interpreter" (for example) to
2726                 return TCL_RETURN to its caller, you must say "return -tcl",
2727                 because "return" makes it return TCL_OK.
2728
2729                 The "argumented" versions are considered to be the uncommon
2730                 form.  In particular, I'd be surprised if anyone ever uses
2731                 the -tcl argument, but it's there for completeness and
2732                 consistency now.
2733
2734                 Put together a FAQ.  Needs more work, but hopefully worthwhile
2735                 as is.
2736
2737                 Computing Systems with Expect article appeared a couple days
2738                 ago.  How ironic that it describes the old version of Expect.
2739                 Nonetheless, it looks ok.
2740
2741 10/25/91 3.0.0  alpha!
2742                 First release of Tcl-6.0-ready code.
2743                 It might fly for a couple seconds.
2744
2745         Here is a quick list of changes.  Besides Tcl incompatibilities, Expect
2746         incompatibilities are flagged below as:
2747
2748         **      major - scripts definitely won't run if they depend on this
2749         *       minor - scripts probably will run but there is some subtle
2750                 change that should be examined).
2751
2752         **      Select renamed 'ready' and undocumented.  Seems pointless now.
2753
2754                 Added support to expect command for waiting on patterns from
2755                 different processes.  The old version implemented this via
2756                 'select' but but it is much simpler via expect.  Added -i to
2757                 a number of commands to signify a spawn_id which overrides
2758                 the variable.
2759
2760                 Added any_spawn_id to match any spawn_id.
2761                 An explicit null pattern, forces a spawn_id to be considered
2762                 when all it can possibly match are any_spawn_id patterns.
2763
2764         *       output is no longer flushed to expect_match upon timeout. 
2765                 May be multiple buffers now, so it doesn't make sense to
2766                 flush just one.)  -n was added to disable transfers from input
2767                 buffer to expect_match var.  I suspect it will only be used
2768                 for experimentation.
2769
2770                 Added expect -re for regular expressions.  Added expect_out
2771                 array to retain indices and strings of partial matches for
2772         **      for both glob and re.  expect_match has been renamed
2773                 expect_out(buffer).
2774
2775                 A la Tcl, added -nocase for both types of patterns.  (Oddly,
2776                 Tcl's case only does it for regexps.)
2777
2778                 By popular demand, unanchored glob patterns.  Old patterns
2779                 will continue to work, since earlier interpretation was much
2780                 stricter.  Unfortunately, unanchored matches make certain user
2781                 errors easier.  For instance, people will send answers before
2782                 seeing all of the question.  Typically, output can 'look'
2783                 ugly, as answers land in the middle of other things.
2784
2785                 To anchor patterns, use ^ in beginning and/or $ at end.
2786
2787                 Added expect_out(spawn_id) to report which spawn_id was read.
2788
2789                 Made expect and variants understand all args as one arg.
2790
2791                 Added 'default' pattern.
2792
2793                 Added continue_expect command.
2794
2795                 Added expect_before, expect_after commands which take same
2796                 args as expect, but continue to stay in effect for all expects.
2797
2798         **      Added match_max command, deleted it as a variable.  The old
2799                 way was too coarse for use over multiple spawn_ids.  With no
2800                 arg, returns current max.  Takes -i flag and -d for default.
2801
2802                 Added globbing to spawn command.
2803
2804                 Added optional -i spawn_id to wait.
2805
2806                 Added optional -i to send (and all its variants).
2807
2808                 Renamed trace to 'strace' since it conflicts with Tcl's new
2809                 trace command.  Since 'trace' traces variables, I figured
2810                 'strace' wasn't too bad (for "statement trace").  I felt
2811                 obliged to make it short and not as obliged to make it as
2812                 meaningful since it will probably invariably be typed by hand.
2813
2814                 Made timeout == -1 mean infinity.
2815
2816                 Made interact do pattern matching in both directions via
2817                 use of -o flag.
2818
2819                 Added -F flag for convenience.  If -f or -F used, interact
2820                 can no longer be overrun.  In particular, if more characters
2821                 arrive then match a pattern, remaining characters will be
2822                 buffered rather than thrown away (old behavior).
2823
2824                 Patterns may now be substrings of one another.
2825
2826                 Made interact optionally take all args as one.
2827
2828                 Default action is now 'interpreter' (see below).
2829                 interpreter now forces cooked mode, and echos results
2830                 so you don't have to constantly say "send_user [...]\n"
2831
2832         *       Interact reads characters that have been buffered but not
2833                 matched by expect.  And vice versa.  Does anyone care?
2834                 (My rogue script did.)
2835
2836                 From discussion with John Conti, I decided to make
2837                 'interpreter' a separate command to start up interactive
2838                 command processor.  Changed default action in interact to this.
2839                 Added eval depth and event id to prompt to interpreter.
2840
2841                 Added expect_library which contains path for commonly
2842                 sourced expect scripts.  Automatically source expect.rc
2843                 out of expect_library unless -N given.  Automatically source
2844                 ~/.expect.rc unless -n given.
2845
2846                 Added expect_version command to print and/or verify script
2847                 is compatible with running expect.  Tcl version is also tested.
2848                 Felt it was worth making this a command because it's such a
2849                 pain to tear apart version strings.
2850
2851                 Tcl's close and exit are both subsumed by expect's commands
2852                 of the same name.
2853
2854                 Rewrote mode switching code so that "system stty" is handled
2855                 specially.  This allows interact and interpret to get the modes
2856                 they want, without burning the user.  It is now much easier
2857                 to leave expect in raw mode all the time, but the choice is
2858                 up to the user.
2859
2860                 Added vgrindefs, courtesy of Brian Fitzgerald.
2861
2862 9/23/91         Tcl 6.0 released.  This new Tcl has some incompatibilities
2863                 with the old Tcl, so as long as everyone is changing their
2864                 scripts already, I'm taking the opportunity to make some
2865                 incompatible changes to Expect that I've wanted to do for a
2866                 long time.
2867
2868 9/11/91 2.67    Ed Klein <eklein@syrinx.umd.xedu> added support for SVR4 in the
2869                 form of pty_svr4.c and mods to command.c.
2870
2871                 Added explanation to man page of how to create unreadable but
2872                 executable scripts.  (No, chmod 111 doesn't work.)
2873
2874                 Mark Diekhans <markd@grizzly.XCOM> pointed out to me that there
2875                 is a potential problem with the trap command:
2876
2877                 "There is no control over when the signal will cause Tcl_Eval
2878                 to be executed.  There is a chance that code in the Tcl library
2879                 will be executing when the signal comes in and the interpreter
2880                 data structure will be in an inconsistent state.  This could
2881                 cause all sorts of nasty things to happen.  In our Extended Tcl
2882                 (4.0) we added signal handling. but the way we implemented it
2883                 was to have the signal handler set a global flag.  We modified
2884                 Tcl_Eval to check the flag after it finishs executing each
2885                 command.  If the signal came in, Tcl_Eval then returns an error
2886                 such as: "SIGINT signal received".  Signals may then be caught
2887                 with the catch command and processed."
2888
2889 9/10/91 2.66    Don Jackson <Don.Jackson@Eng.Sun.XCOM> found a syntax error in
2890                 the usage error message of the example ftp-rfc script.
2891
2892                 Marty Olevitch <marty%cosray@wuphys.wustl.xedu> provided mods
2893                 to support MORE/bsd.  Namely, added #include types.h to
2894                 expect.c and extern int errno to a number of files.
2895
2896                 Scott Hess <scott@nic.gac.xedu> noted a potential problem in
2897                 interact.  Since interact only checks patterns at beginning
2898                 of reads, user can conceivably type fast enough so that
2899                 patterns are typed in the middle of a read.  In reality this
2900                 doesn't happen, but Scott was driving one expect with another
2901                 expect and in this way provoked the behavior.
2902
2903                 The solution is to read chars one at a time, either by
2904                 read(,,1) or buffering in a stdio-like way, but I'm not going
2905                 to do that because the code should really be rewritten entirely
2906                 and it just isn't worth it, since it is so easy to get around
2907                 at the user level.
2908
2909                 Steve Legowik found that spawn-disconnect sequences fail.  The
2910                 pty testing I added in version 2.55 causes expect to regain the
2911                 slave as a controlling tty, which generated SIGHUPs.  If anyone
2912                 knows a clean way to avoid regain controlling ttys, let me
2913                 know.  For now, I just set SIGHUP to SIG_IGN in the disconnect
2914                 command.
2915
2916 8/14/91 2.65    Old passmass script changed root password.  I renamed it to
2917                 passmass.old, and made a new one which works for any account.
2918                 It also supports yppasswd, telnet/rlogin, different names for
2919                 accounts on different machines.  Handles VMS machines, too.
2920
2921                 Added Computing Systems paper to expect distribution and moved
2922                 all expect-related things to separate expect directory in our
2923                 ftp directory.
2924
2925 8/5/91  2.64    Achille Petrilli <achille@miss.cern.xch> found that on an SGI,
2926                 the expect command ocassionally returned "no more processes".
2927                 He traced the problem back to O_NDELAY in the open, which was
2928                 taken as-is from the man page, by someone else who's code I
2929                 didn't look at too closely at the time.  The result works now.
2930                 Oddly I thought I fixed this error myself when the SGI support
2931                 was first installed, but I cannot find it.  I evidentally
2932                 screwed up.
2933
2934 7/31/91 2.63    Steve Legowik <legowik@cme.nist.xgov> wanted to implement
2935                 callback by having a modem dial out and NOT go away, but
2936                 interact in the reverse direction.  I added "interact -u" to
2937                 support the idea of changing the user from the default stdio
2938                 to a second spawned process.  The result is that we can now
2939                 write a modem callback program that doesn't depend on the cute
2940                 trick of having getty recognize DTR which only worked when the
2941                 modem was directly connected to the computer.  In Steve's case,
2942                 there were several network switches in the way.
2943
2944                 Added "overlay" function which is similar to plain "exec" in
2945                 shell.  (Too bad Tcl took the name already.)
2946
2947                 Added robohunt scripts to the test directory.  I wrote these
2948                 back in January, '91 and forgot about them til now.  But I
2949                 suppose they are illustrative (at the very least of how to
2950                 generate truly random numbers).  Ha.
2951
2952 7/20/91 2.62    Carl Witty <cwitty@jessica.stanford.xedu> pointed out my fdset
2953                 implementation (for systems that don't have it) wasted some
2954                 space.  I had commented it correctly, however, making the
2955                 incorrect code obvious (except to me).
2956
2957                 Robert Howland <howland@rahjr.ame.nd.xedu> pointed out that
2958                 expect complained about not running from a real terminal under
2959                 cron.  Oops!  So I added a test to skip saving/restoring
2960                 terminal modes when fd 0 is not a tty, since this is obviously
2961                 pointless.
2962
2963 7/19/91 2.61    Oops.  Forgot to include getline and getline.exp examples even
2964                 though they have been documented!
2965
2966 7/17/91 2.60    UMich changed interface to weather system necessitating change
2967                 to weather script.
2968
2969 7/9/91  2.59    Didn't correctly comment things right in Makefile.  Fixed.
2970
2971                 Changed 'close' in gethostbyaddr example to 'catch close'.
2972
2973 6/22/91 2.58    Made new file (pty_sgi.c) for supporting Silicon Graphics ptys.
2974                 Silicon Graphics select fails to see eof immediately but poll
2975                 works ok.  Unfortunately, there was an error in inter_poll
2976                 (bad_io was uninitialized).  Silicon Graphics works now.
2977
2978                 Andy Norman <ange@hplb.hpl.hp.xcom> notes that linking expect
2979                 with the BSD compatibility library under HP-UX, libc.a must
2980                 be loaded before libBSD.a.  Modified Makefile to reflect this.
2981                 He notes that there is a problem with expect not reading an EOF
2982                 from the current process.  This should go away with HP-UX 8.0
2983                 when select has been enhanced to flag exceptions in the readfds
2984                 argument.  Probably inter_poll would work.
2985
2986                 Edward Haines <haines@bbn.xcom> notes that close returns EPERM
2987                 ("Not owner") on his Sun 4.0.3.  This is rather startling!
2988                 (That's what I get for checking the return value of close!)
2989                 He said it is possible that they have modified things (viz.
2990                 DDN X.25 is loaded), but it still sounds incredible.  For now,
2991                 I told him to either "catch" all closes or to remove the check
2992                 in the source code.  
2993
2994                 Added example scripts: ftp-rfc retrieves an RFC from uunet
2995                 via ftp.  archie mails back a listing from the archie server.
2996
2997                 Add the rest of Hal Peterson's changes for Cray support, 1)
2998                 fixing a problem where spawned processes flushed unread I/O
2999                 upon process exit, and 2) creating processes with the correct
3000                 uid.  See his comments in command.c for more info.
3001
3002 6/6/91  2.57    (On Cray) made signal handler declarations right.  Added
3003                 missing #endif.  Added includes to pty_unicos.c.  Fixed bug
3004                 in two bugs in CmdSend, one involving send_stderr, the other
3005                 send_user.  All of these are from Hal Peterson.
3006
3007                 Added gethostbyaddr as example script.  Given an internet
3008                 address, it returns the domain name.  By querying neighboring
3009                 hosts if the name server fails, a much higher probability of
3010                 returning the name is obtained.
3011
3012 5/30/91 2.56    Mispelled "match_max" as "max_match" in rftp script.  This
3013                 caused files after the 2000 byte mark (per directory) to be
3014                 skipped.
3015
3016 5/21/91 2.55    Revisited BSD pty code to reject ptys that have either slave or
3017                 master side already open.  This fixes problems rare problems
3018                 such as expect not being able to see EOFs from the child proc.
3019                 (because another process still has the pty slave side open).
3020                 USG and Cray pty code could probably use this code, too.
3021
3022                 Fixed bug in expect library (lib_exp.c) which caused output to
3023                 be copied to stderr instead of logfile when logfile_all was
3024                 set.  Per Sreedhar Muppala <muppalla@nssdca.gsfc.nasa.xgov>.
3025
3026 5/16/91 2.54    Fixed weather script to accomodate occasional Weather Watch
3027                 that would cause an unexpected initial question to pop up.
3028
3029 5/15/91 2.53    Added comment to BUG section of man page describing pty
3030                 misbehavior with non-interactive programs (search for "553061"
3031                 below), as per Hal Peterson <hrp@cray.xcom>.
3032
3033                 Removed note from README about asking Ousterhout for SV TCL
3034                 at his request.
3035
3036 5/11/91 2.52    Fixed a syntax error that Bruce Larson <ires@kaspar.ires.xcom>
3037                 found in inter_poll.c
3038
3039 4/23/91         Computing Systems accepted paper on Expect for issue 4.2.
3040
3041 4/18/91 2.51    Added some example scripts:
3042                 weather - retrieves weather forecasts from National Weather
3043                 Service via University of Michigan server.
3044                 rftp - ftp a directory hierarchy (i.e., recursively).
3045
3046 4/18/91 2.50    Changed timeout to apply to total time in expect rather than
3047                 per read().  Original behavior hung forever when my modem test
3048                 script started listening to a modem than spit out 1 spurious
3049                 character every 10 seconds (very consistently).
3050
3051                 Hal Peterson <hrp@pecan.cray.xcom> noted that exp_spawnv's args
3052                 didn't match documentation.  Fixed in favor of documentation.
3053                 Several other funcs don't match header file (but typechecking
3054                 is avoided during compilation), because it was too hard for me
3055                 to make the header file ANSI compliant and support varargs 
3056                 (which is undeniably more portable than stdargs at this point).
3057                 Fixed prototype declarations (again) in expect.h for C++ and
3058                 Standard C.  Verified with GNU, G++ and Sun C (proto-less).
3059
3060                 Added exp_disconnect to library.  Moved alarm calls closer
3061                 to read() to tighten windows.
3062
3063 4/11/91 2.49    Changed passmass script to use timeout of 1000000 instead of
3064                 10000000000 after discovering that Ultrix sleep(3) doesn't
3065                 sleep at all for large values!
3066
3067                 Added support for systems without dup2 (SVR2) per
3068                 <elston@edwards-tems.af.xmil>.
3069
3070                 Added test/Makefile to shar as per Chris Pribe
3071                 <cpribe@park.bu.xedu>.
3072
3073 4/4/91  2.48    Fixed possible problem with poll in inter_poll.c for systems
3074                 that check for a valid address even though no members are used.
3075
3076 3/27/91 2.47    Added support for Cray Unicos 6.0, which of course is different
3077                 from Unicos 5.1 (which was different from everything else)!
3078                 This and other minor bugs fixed courtesy of Pete Termaat.
3079
3080 3/19/91 2.46    Removed a "feature" which caused patterns with no whitespace
3081                 not to be run through SplitList.  While not documented not to
3082                 do so, this was mystifying even to me when I saw it.  For
3083                 William Waite.  The result actually simplified the internal
3084                 handling of multiple patterns, removing some excessively
3085                 complex logic that I thought would be helpful for speed, but
3086                 that in retrospect, was not that important.
3087
3088 3/16/91 2.45    Added my own definition of FD_SET, fd_set, etc, test for
3089                 SIGABRT, and support different types of signal arg func
3090                 definitions to support SunOS 3.5 as requested by William Waite
3091                 <waite@scotty.colorado.xedu>.
3092
3093 3/14/91 2.44    Removed redundant def'n of pty_stty in pty_usg.c, redef of
3094                 sprintf and added signal.h to command.c to make compiles
3095                 cleaner on SV3 and HPUX machines.  All compliments of Mike
3096                 Gourlay.
3097
3098 3/10/91 2.43    Added -s (for slow) and -h (for human) flags to send.  This
3099                 had been requested by several people including Frank Terhaar-
3100                 Yonkers (who actually wrote and tested a "send_slow" command),
3101                 and Steve Simmons who suggested the "human" option (over a year
3102                 ago), and Brian Woodson (brianw@swqa-sun.ESD.3com.com), who
3103                 requested both!  Thanks to NIST statistician, Keith Eberhardt,
3104                 who taught me about the Weibull Distribution.
3105
3106                 According to Jim Thomas <jthomas@nmsu.xedu>, 3b2 requires
3107                 defines for R_OK and W_OK.  Added to pty_usg.c.
3108
3109                 Added support for "-" as file name on command line to mean
3110                 stdin as requested by Steve Clark <clark@cme.nist.xgov>.
3111
3112                 Wrote passmass (change root password on a set of machines) as
3113                 requested by Ken Manheimer <klm@cme.nist.xgov>.  Added to test
3114                 directory.
3115
3116 2/21/91 2.42    Removed reinstallation of signal 0 in signal handler.
3117
3118                 Added hook for setting initial pty parameters when started in
3119                 the background.  Should've done this a long time ago, but I
3120                 was never really happy with my solution and had hoped I would
3121                 think of a nicer method.  I only hope this is clean enough.
3122
3123 2/10/91 2.41    Added buffer_full keyword to solve Brian Fitzgerald's problem.
3124                 It disables "forgetfullness" so that when expect's internal
3125                 buffer hits match_max, whatever it has returns at that point.
3126                 Didn't add this to the library version, because I want to think
3127                 for awhile about the cleanest way to do it.
3128
3129 2/4/91  2.40    Per Brian Fitzgerald (fitz@mml0.meche.rpi.edu), fixed error in
3130                 interact example on man page which incorrectly implied that
3131                 "kill" was built-in.
3132
3133                 Added fork/disconnect functions.  This solved the problem of
3134                 Jerry Friesen (jafries@snll-arpagw.llnl.gov) who wanted to run
3135                 an expect script that asks for a password and then goes to
3136                 sleep for awhile before waking up to run in the background (to
3137                 run a program using Kerberos).
3138
3139 1/30/91 2.39    Per Jim Johnson (jaj@mlb.semi.harris.com), added declaration
3140                 and documentation for exp_pid in libexpect.
3141
3142 1/10/91 2.38    More mods from Frank Terhaar-Yonkers.  Also, some requests
3143                 from Pete TerMaat (pete@willow.cray.com) for features:
3144
3145                 1) a single-step facility.  Yeah, that would be nice.  No
3146                 ideas on how to do this easily.
3147
3148                 2) Generate scripts automatically after watching a session.  
3149                 This is hard.  Read more about this in the FAQ.
3150
3151 1/10/91 2.37    Added support for Cray Unicos 5.1, all courtesy of Frank
3152                 Terhaar-Yonkers (fty@sunvis.rtpnc.epa.gov).  Most of it had to
3153                 do with pty support.
3154
3155 1/8/91  2.36    Modified expect.h to support C++ and ANSI prototypes.  Added
3156                 appropriate example in test directory based on chesslib.c.
3157
3158 1/7/91  2.35    At the request of Jan Norden (jano@imdpy1.im.se) added
3159                 NO_MEMCPY and NO_STRING_H defines for Pyramid.
3160
3161 1/3/91  2.34    Added a check to protect against a longjmp occurring between
3162                 i_read and alarm(0).  Didn't think this would be a problem but
3163                 evidentally a function return modifies the stack, so it cannot
3164                 be returned to again.  Drat!  This appeared in the robohunt
3165                 script I wrote which plays hunt automatically and uses 1
3166                 second timeouts.
3167
3168 12/19/90 2.33   Add signal to sighandler, to reinstall signal for those systems
3169                 that need it.
3170
3171 12/12/90 2.32   Removed test for args to expect.  I only recently realized that
3172                 no args still allows a valid way to check for timeout and eof!
3173
3174 12/6/90 2.30-1  Mike Gourlay (mike@penguin.gatech.edu) found and fixed quite a
3175                 few SV-related problems that I had introduced since Clem's
3176                 fixes.  We eventually got it to run on his HPUX machine, a
3177                 mixed breed of BSD/USG stuff.  But spawning a shell worked but
3178                 always produced a complaint about "no access to tty" which we
3179                 were never able to get rid of, and he had a problem with
3180                 exp_fexpect (but not exp_expect), although it still isn't clear
3181                 if that was expect's fault.  He said he would speak to some HP
3182                 engineers about what he found.
3183
3184 12/5/90 2.29    Fixed a malloc off-by-one bug in new C library.  After
3185                 contemplation, revised interfaces.  Decided that rather than
3186                 following the original 'expect' style, it should be more like
3187                 what a C programmer is used to, so I made the file descriptors
3188                 be parameters to exp_expect rather than globals, added an
3189                 exp_popen which is a popen equivalent, and added exp_fexpect
3190                 versions which are stream equivalents.
3191
3192                 Am not happy with exp_fexpect.  It is much less efficient than
3193                 exp_expect, because there is no way to (portably) get fread()
3194                 to return the way read() does, with less then the number of
3195                 characters you supplied a buffer for.  Instead, I have to call
3196                 fgetc for every char.  Ugh.
3197
3198                 Add a couple new examples, including lpunlock, time.exp,
3199                 chesslib.c (using file descriptors) and chesslib2.c (which uses
3200                 stream pointers).
3201                         
3202 12/3/90 2.28    Created C library version of expect.
3203
3204 11/29/90 2.27   Fixed bug in interact - when no string actions were defined,
3205                 the mapping table length wasn't set at all.
3206
3207                 Made interact call printify when debugging so that crlf and
3208                 other nonprintables are visible.  Fixed bug in printify which
3209                 interpreted some characters wrong due to parity.
3210
3211                 Added some more examples to the distribution (lpunlock, dvorak,
3212                 timed_read) and put in another tip in the TCL HINTS section of
3213                 the man page.
3214
3215 11/18/90 2.26   Fixed mismatched comment per Craig Warren (ccw@deakin.oz.xau).
3216                 Also improved man page entry for "interact".
3217
3218 11/17/90 2.25   Added -f (fast) on interact options, and made default case a
3219                 little more efficient.  Added explicit support for SIG_IGN and
3220                 SIG_DFL in trap command.  Added ability to specify signals
3221                 symbolically for portability.
3222
3223 11/15/90 2.24   Craig Warren (ccw@deakin.oz.xau) wanted to exit expect while in
3224                 interact with a single character.  Dan Bernstein
3225                 (brnstnd@kramden.acf.nyu.edu) wanted to suspend with a single
3226                 character.  So I generalized interact's escape character to
3227                 string-action pairs.
3228
3229 11/7/90 2.23    Tired of getting reports that various (Ultrix 3.1, BSD4.3) C
3230                 compilers can't handle ternary conditionals returning ptr to
3231                 func returning void.  Made all (2) such statements into
3232                 if-then-elses.  Per Steve Simmons (scs@iti.org).
3233
3234 10/8/90 2.22    Allow "log_file" even when no log is open.  This makes user
3235                 programming a little simpler - they don't have to remember
3236                 whether they opened the log or not.
3237
3238 9/27/90 2.21    Fixed bug, v2.19 introduced.  debuglog(unknown string) requires
3239                 a "%s" as formatting for protection against %'s in the unknown
3240                 string.
3241
3242 9/17/90 2.20    4 syntax errors in interact_poll.c, vik@sequent.com.  Added
3243                 quotes to all the sends (now that this is more efficient) in
3244                 the examples and man pages.  Also removed a misstatement in the
3245                 man page about the behavior of double quotes.
3246
3247 9/15/90 2.19    Removed buffering from send command.  Originally, I buffered
3248                 the args, so I could do it all in one write.  But to send
3249                 variables bigger than the buffer didn't work.  I didn't think
3250                 about this before.  But Joe Gorman
3251                 (Joe.Gorman@elab-runit.sintef.xno) asked me if you could "send"
3252                 a file in one command, and of course you can using [exec cat]
3253                 as the argument to send, but the buffering prevented big
3254                 files from being sent.  Anyway, now it works.
3255
3256 9/14/90         Fixed the declarations of nflog and nferrlog.  Added a #define
3257                 so lack of pid_t could be controlled from the Makefile.  Per
3258                 Andy Holyer (and@ux.rfhsm.lon.ac.uk)
3259
3260 9/4/90  2.18    Added trap command to catch signals.  This is nice as (among
3261                 other things) it allows you to turn off the conversion of ^C to
3262                 timeout which was requested by John Conti <jconti@cisco.xcom>.
3263
3264 8/21/90 2.17    Fixed bug in printify.  Forgot to reset ptr to beginning of
3265                 print buffer.  Made debugging info wrong.  Possibly screwing up
3266                 other things on overflow.
3267
3268                 Paper accepted into USENIX LISA!
3269
3270 8/15/90         Cleaned up man page.  Made tabs line things up correctly,
3271                 finally.
3272
3273                 Found another problem with ptys (at least under SunOS 4.1 and
3274                 earlier).  When last pty-slave fd closed, any unread output is
3275                 lost after a short window of time (around 10 seconds on a
3276                 Sun 3/60).  Sent example ptybug.c to Sun demonstrating this and
3277                 EIO problem found earlier.  (Service Order #553061)
3278
3279 8/6/90  2.16    Added -f to debug command, -a to log_file command.  This
3280                 required significant changes, including revisiting all the
3281                 logging routines, plus miscellaneous output done in special
3282                 places.  Noted that it cannot be done with getopt, since it
3283                 could be called during main's getopt, and getopt is not
3284                 reentrant!  (Guess how I discovered this!!)
3285
3286                 I'm not particularly happy with the design, but maybe others
3287                 won't be.  In any case, I like the benefit of it and am now
3288                 glad that -a was asked for.  Per Harry Bochner and Ira Fuchs
3289                 (fuchs@pucc.bitnet).
3290
3291                 Changed behavior of argv, so that 0 == [length $argv] when no
3292                 script/args supplied.
3293
3294 8/4/90  2.15    Added debug command, so -d-ness could be changed while expect
3295                 is running.
3296
3297 7/20/90 2.14    Fixed small bug in -d output from expect, which printed ^Z as
3298                 ^:
3299
3300 7/18/90 2.13    Added wait command.  A waitpid/waitspawnid would be nice and
3301                 cleaner, too, but since csh doesn't need it, it is probably not
3302                 worth much.
3303
3304                 Consequently, removed SIGCHLD handling from command.c.  It
3305                 worked under SV but not BSD.  By forcing users to explicitly
3306                 code waits, resulting scripts are more portable.
3307
3308                 Rewrote rogue example.  rogue sometimes misses EOF (generated
3309                 by close on our side) and continues reading.
3310
3311 7/16/90 2.12    Removed buffering from variadic log routines.  This was
3312                 faulting when the buffers overflowed.
3313
3314                 Cleaned up the -d output from expect, so it is much more
3315                 readable.  For example, control characters are now visible.
3316
3317 7/14/90 2.11    Added declaration for errno, to support 4.3BSD.  Per Alan
3318                 Crosswell.  Added -i flag and related behavior.
3319
3320 7/12/90 2.10    Fixed bug where timeout = 0 waited forever rather than not
3321                 waiting at all.
3322
3323 7/11/90         Fixed man page example which didn't include the blank on the
3324                 end of an ftp prompt.
3325
3326 7/9/90  2.9     Fixed bug in send when spawn_id = $user_spawn_id.
3327
3328 6/27/90 2.8     Integrated some mods from clem cole (clemc@ccc.com) to support
3329                 System V.3 (386/ix Version 2.02).  Unfortunately, he didn't do
3330                 "select".
3331
3332 6/25/90 2.7     Test that cmdfile and logfile are open before fclosing in child
3333                 while spawning.  Per Corey Satten <corey@cac.washington.xedu>
3334
3335 6/24/90 2.6     Pty master returns EIO instead of EOF when pty slave closes.
3336                 Bug in pty driver?  Until I figure this out, I have put in code
3337                 to interpret EIO to EOF.
3338
3339 6/21/90         Added new section to expect man page - Tcl hints.
3340
3341 6/14/90         Spoke at USENIX.  Went well.  Added USENIX paper as separate
3342                 ftp archive.
3343
3344 6/4/90  2.5     Fixed bug in ^C catching during expect.  Changed man page to
3345                 accurately describe what ^C does.  Fixed bug that caused "send"
3346                 to screw up when handed 0 arguments.  All per Harry Bochner.
3347
3348 6/1/90  2.4     Made trailing empty action in expect optional, primarily to
3349                 make straightline code easier to read.
3350
3351 5/15/90 2.3     Changed expect to strip nulls from program output since there
3352                 is no way for Tcl to handle them, per Harry Bochner.
3353
3354 5/5/90          Added "send_error" command.
3355
3356 4/26/90         Got USENIX paper back from Kolstad to proof.  Am depressed at
3357                 how awfully they formatted it.
3358
3359 4/25/90 2.2     Eric Newton found that expect's special variables weren't being
3360                 found inside of user subroutines.  Had to do with new Tcl,
3361                 which now differentiates between variables that are undefined
3362                 vs. empty.
3363
3364 4/24/90         Upgraded Tcl from 2.1 to 3.3.
3365
3366 4/22/90         Added special behaviors of ^C in expect, and when profiling.
3367                 Profiled rogue (at urging of Ousterhout).
3368
3369 4/10/90 2.1     Added select command.  Added support for user_spawn_id so that
3370                 you could treat user just like another process (i.e. with send
3371                 and expect).  Decided to leave send_user/expect, since scripts
3372                 are more readable with them.
3373
3374 4/2/90  2.0     Changed syntax of expect to provide alternatives (a la Tcl
3375                 case), per suggestion of John Ousterhout.  Note that this
3376                 breaks pre-2.0 scripts.
3377
3378 3/31/90         Got great comments from Ousterhout.  (This time he said that he
3379                 really liked the idea.  Maybe he realizes how much it will
3380                 promote Tcl!)
3381
3382 3/30/90         Got comments from dpk.  Made me think more about Perl.
3383
3384 3/28/90         Evi said I should turn the paper in unformatted and they will
3385                 format it.  (She's kidding, I hope.)
3386
3387 3/27/90 1.8     Rewrote interface so that raw arguments can be passed in like a
3388                 shell.  I'd been thinking about this for some time, but Eric
3389                 Newton finally prodded me into action.
3390
3391 3/25/90         Got first corrections for paper - from Sue Mulroney!
3392
3393 3/24/90         Observed that it is possible to use the #! syntax with expect.
3394                 I asked John O. about this (his choice of # as a comment
3395                 character), and he said it was pure coincidence.  Deprecated
3396                 request to end scripts in ".exp".
3397
3398                 Ted Hopp volunteered to be my Center WERB reader.
3399
3400 3/23/90         Finished 1st draft of USENIX paper and sent copies to John
3401                 Ousterhout and panel chair, dpk@morgan.com.
3402
3403 3/20/90 1.7     Deprecated "stty", and added more general "system" command.
3404
3405                 Sent Evi some complaints about the business of not allowing
3406                 camera-ready at USENIX.
3407
3408 3/17/90         Sent copies of man page to Doug Gwyn and Larry Wall for
3409                 comments.  Note that gwyn downloaded it.
3410
3411 3/16/90         Am really irritated by USENIX.  My paper has been put in a
3412                 session against another session, the BSD people.  Furthermore,
3413                 they called my paper an application, when it is no more so than
3414                 any other shell or language.  Better I should be in "lessons
3415                 learned".  But it was too late to change the schedule.  On top
3416                 of that, our session has four people in it, so I'll have very
3417                 little time to speak.  Grrrr.
3418
3419 3/13/90 1.6     Added "stty", because without it you can't do things like
3420                 turning off echo to accept a password.
3421
3422 3/8/90  1.5     Abstract was accepted into USENIX!!!!  Time to start writing
3423                 it!  Sent man page to Ousterhout.  He didn't seem too
3424                 impressed.
3425
3426                 Added "send_user/expect_user" after listening to Ken complain
3427                 about how shell could not do timed reads.  Actually it can, but
3428                 expect does it much more naturally.  Deprecated echo.  Now, I
3429                 realize that expect can be viewed as a shell!
3430
3431                 Changed logfile/loguser to log_file/log_user to match all the
3432                 variables with underscores in them.
3433
3434                 Barry Warsaw asked if there was any way one could execute any
3435                 command from interact (apparently without any reason in mind).
3436                 Nonetheless, it is a wonderful idea, and I changed the "abort
3437                 character" in interact to an "escape mechanism".  After
3438                 escaping, you may execute any command.  return duplicates the
3439                 old action of the abort character.  Now you can do interactive
3440                 job control, recursive interacts, etc.  You can bet I didn't
3441                 get this right the first time!
3442
3443                 At Scott's request, fixed bug related to pty initializing.
3444                 Scott was putting expect in the background which disassociated
3445                 it from a tty, and I was blindly copying the tty parameters
3446                 without checking to see if they were meaningful or not.
3447
3448                 Tightened up exit code.  Fixed bug in spawn so it would print
3449                 error messages when it failed.  Spawn sends back the error
3450                 message in the pty, if the fork succeeds but exec fails.  Cute!
3451
3452                 Added "close" command.  Makes scripts much shorter and cleaner.
3453
3454                 Return string matched by expect directly, rather than setting a
3455                 special variable.
3456
3457                 Added "match_max" feature.  Probably no one will ever use it.
3458
3459                 Added trace command.
3460
3461 3/6/90  1.4     Rob Densock was the second user, and suggested (demanded?) the
3462                 idea of the loguser command.  I added it and changed "log" to
3463                 "logfile" making the first incompatibility with existing
3464                 scripts (sorry, Steve).
3465
3466 3/1/90  1.3     Trying to make pty code more robust.  Many questions unanswered
3467                 by manuals.  Did a lot of guessing.  While debugging, looked
3468                 through pty code in gnuemacs to see if I might increase
3469                 portability somehow.  Found lots of funky ifdefs on weird
3470                 ioctls.  Found lots of comments like "this might work".
3471
3472 2/28/90         Sent a short Tcl bug list to John Ousterhout.  He thanked me!
3473
3474 2/22-3/90 1.2   Hooked my first user, Steve Ray.  Surprisingly, he only found
3475                 one bug in the code (exit didn't handle args correctly), but it
3476                 was obvious that I need to put more explanation in the man
3477                 page.  Many of the examples in the man page are based upon his
3478                 probl..  questions.  Thanks, Steve!
3479
3480 2/20/90         Posted news about expect to "general" newsgroup locally.
3481
3482 2/15-20/90      Talked to local POSIX reps and then to Steve Albert (AT&T)
3483                 about portability of select, wait and other system calls.  I'm
3484                 not impressed by 1003.1.
3485
3486 2/9/90          John Ousterhout answered some questions I had about Tcl syntax.
3487                 I like this language!
3488
3489 2/8/90  1.1     Sandy Ressler suggested the idea of being able to spawn
3490                 multiple programs at the same time although he didn't say how.
3491
3492                 It took about a day to design and code the spawn_id hook.
3493                 Extremely difficult to support this with uucp-style kludge.
3494                 Switched to using select.  So much for portability.
3495
3496                 I investigated how to do this portably, and spent some time
3497                 talking to NIST & AT&T POSIX representatives.  Unfortunately,
3498                 portability (especially when it comes to select()) remains a
3499                 dream.  Provided multiple versions of "interact" depending upon
3500                 what OS you are running.
3501
3502 2/7/90  1.0     Completed first cut of "sex" (for "Smart EXec" or
3503                 "Send/EXpect").  Supports send, expect, echo, log, spawn,
3504                 interact.
3505
3506                 Spent a lot of time making "log" write to log in just the right
3507                 order (across fork and while debug flag enabled).  Ended up
3508                 writing a bunch of variadic log routines.
3509
3510                 Fooled around with uucp-style multiple processes versus one
3511                 process doing select() to read asynchronously.  Using
3512                 uucp-style for now, since it is more portable.
3513
3514                 Gave up on pipes, and switched to ptys.  Pipes seem to be
3515                 messed up by ftp, perhaps because it goes into raw mode?  Ptys
3516                 are more efficient and cleaner to program albeit less
3517                 well-documented and portable from system to system.
3518
3519                 Ken Manheimer helped me explain what the program does.  I kept
3520                 saying it does "send/expect" processing, and he kept insisting
3521                 that was meaningless to everyone.  (In fact, it comes from
3522                 uucp, and I guess uucp hackers are indeed a dying breed.)  Ken
3523                 gave me an elegant enough sentence that I expanded it into an
3524                 abstract and sent it in to the USENIX conference the following
3525                 day (two days after the deadline).
3526
3527                 I noted that the uucp documentation I referenced in the
3528                 submission is dated October 31, 1978!
3529
3530 1/30/90 0.0     Got a copy of Tcl and went to work.  Tcl was exactly what I
3531                 need.  Plus, it is easy to use, AND it is documented.
3532
3533 1/25/90         Attended Winter 1990 USENIX in DC, with the goal of banging
3534                 heads with some other gurus in hopes of finding a good
3535                 send/expect language for a generalized stelnet.  Had looked at
3536                 uucp and kermit but found nothing general enough.
3537
3538                 Listened to John Ousterhout's presentation on Tcl.  By the
3539                 middle of the talk, I had found religion.  At the end when he
3540                 said it was public-domain, I was ready to swoon.
3541
3542 */*/88-89       Spent a lot of time telling Scott how useful his program could
3543                 be if he made it more general.  I thought it wouldn't be that
3544                 difficult to make more generic.  Scott was interested but not
3545                 enough to do it.
3546
3547 9/25/87         Helped Scott Paisley write a program called stelnet, that
3548                 forked a telnet and did very simple send/expect processing.
3549                 It used pipes, not ptys.  It had no pattern matching, and only
3550                 straight-line control without error handling.  Nonetheless,
3551                 this got me to thinking about making stelnet more generic.
3552