V6.05.00, 08/19/94
113. 6.04.17 08/18/94
112. Realloc debug fix from John.
111. Completion fixes from Bruce.
110. Added -b option to bind.
109. Added tcsh.man2html from Dave. Looks great!
108. 6.04.16 06/06/94
107. Allow multi word glob in "`foo`" expressions.
     > if ("`ls`" == "a b c") then
106. Michaels lex() buffer patch version 2.
     the previous version core-dumped with
     > sleep | echo
105. Fix seg fault in find_cmd, when path is unset.
104. 6.04.15 05/28/94
103. the previous =~ fix, was a bit broken.
102. 6.04.14 05/25/94
101. expression parser fix for !~ and =~.
     if (foo =~ *) echo ok
     the * was taken for a multiply and parsed as 0 * 0 returning 0.
     and asked to match "foo" with "0"
100. Michael's lex() buffer patch.
 99. Bruce's Jumbo cleanup
 98. fixed Imakefile for X11R6
 97. fixed argument parsing in source command.
 96. added $sched to format scheduled events.
 95. 6.04.13 05/07/94
 94. added expand-command
 93. Alpha OSF-2.0 fixes
 92. 6.04.12 04/28/94
 91. Ignoreeof patch from Bruce.
 90. Dan's completion fix.
 89. 6.04.11 04/12/94
 88. Don't source .logout when killed with -HUP unless we are a login shell.
     [ actually $loginsh controls the behavior now ]
 87. ISC-4.0 posix exec() bug workaround
     (from Jonathan Broome <jon@wilbur.uucp>)
 86. Dan's patch for complete=enhance
 85. Kaveh's patches for memset, host.defs, _{U,G}ID_T
 84. 6.04.10 03/29/94
 83. Pathname completion bug fixes...
 82. Completion pathname(p) changes: Completion 'C' -> 'X'.
     Replaced 'p' with 'F' and added D,T,C.
 81. Next NLS fixes
     (From Paul Nevai <nevai@ops.mps.ohio-state.edu>)
 80. make spelling correction obey the current histchars setting.
 79. Fix rounding in limits so that 0 is a true 0. 
     (From Ken Lalonde <ken@cs.berkeley.edu>)
 78. 6.04.09 03/12/94
 77. Alarm race with remotehost.
 76. If you have in your .cshrc 
	set savehist=(100 merge)
	and execute
	#!./tcsh
	exec ps
     you get no output; [fixed]
 75. setenv SHLVL -1; tcsh = Segmentation fault [fixed]
 74. 6.04.08 02/10/94
 73. new machtype, ostype, vendor
 72. execute .logout on hangup.
 71. more man page fixes.
 70. 6.04.07 02/04/94
 69. Dynamic hash changes, globbing for which command from Michael.
 68. INBUFSIZE fixes for history.
 67. printenv returns 1 when a variable is not found, like the non builtin one
 66. Add quotes to the mismatch array so that:
     > touch foo
     > mail "oo bar"
     does not get corrected. The right fix would be to do correct parsing
     and quote the space...
 65. NULL terminate mismatch[] array in ed.inputl.c, since it is used in
     Strchr().
 64. renamed stat to filetest
 63. Afs and Hesiod patches.
 62. More manual page patches.
 61. 6.04.06 12/19/93
 60. Alarm for resolver timeouts (untested)
 59. Fixes for Henry Spenser's regex in the Makefiles
 58. Modifiers now work with $< and $< does not do :q by default.
     [incompatibility with csh] and $< can be interrupted.
 57. Added $histdup.
 56. source /etc/.login for Solaris 2.x
 55. don't remove trailing spaces in history searches.
 54. dirs -L and dirs -S spurious warning elimination.
 53. man page fixes from David.
 52. Kimmo's patch [makefile, gcc warning, netdb.h include]
 51. 6.04.05 12/12/93
 50. rewrote srcunit() to use st_save and st_restore. The code was
     too messy to be useful before.
 49. recdirs and rechist patches again!
 48. Harris hck port, and ISC imake update
 47. Eliminate the x windows :display.screen before looking for the 
     hostname in REMOTEHOST
 46. Patch for CDF filetype() recognition (hpux)
 45. 6.04.04 11/12/93
 44. Made =x obey nonomatch.
 43. Fixed rechist and recdirs not to depend on savehist and savedirs
 42. Removed aliases, bind, linedit builtins [ifdef'ed out as OBSOLETE]
 41. change REMHOST to REMOTEHOST for compatibility with SGI.
 40. $owd was not working correctly.
 39. Debugging printf elimination (from Kimmo)
 38. Typos in the new hup code in sh.c (from Matt)
 37. Imakefile fix for sequent (from Jaap)
 36. 6.04.03, 10/30/93
 35. New manual page in place.
 34. Fixed Makefile sed RE to work with gnu sed.
 33. Added hup builtin.
 32. Added $REMHOST in config_f.h
 31. Fixed random parsing bug in sh.exp.c in isa(). It checked cp[1]
     without checking cp[0] first... (should propagate to 4.4BSD)
 30. More sh.exp.c fixes from Bruce
 29. Always exit when the user types exit. 
     cat | tcsh -f -s
     exit
     ls
 28. savedirs fix and readlink() null termination fix from Peter.
 27. Added -p flag (force dirs printing in all directory functions and $owd
     variable
 26. Let $dirstack work by default without needing to be set.
 25. Fixed history -h to work with other history flags.
 24. Renamed ed-functions more consistently (dcs)
 23. Added missing filetests (dcs)
 22. Added NEWGRP define in config_f.h (dcs)
 21. More fixes for non blocking io recovery from Bruce
 20. 6.04.02, 10/08/93
 19. changed default prompt to %#
 18. New group 'g' completion.
 17. removed IIASA defs.
 16. fix for history -SL and dirs -SL to work when savedirs and savehist are
     not set.
 15. fix magic-space to understand :p
 14. make :u,:l work for history.
 13. Fixes for non-blocking i/o recovery. trap all non blocking styles under
     sunos.
 12. 6.04.01, 08/10/93
 11. Vi mode word moves [they work like vi and don't obey wordchars anymore].
 10. New file operators and stat builtin
  9. David's FIONREAD patch for SVR4
  8. Bruce's ignoreeof=n patch
  7. Dan's complete/correct enhancement
  6. Abort corrections patch.
  5. Print_by_columns, now does not use the rightmost column.
  4. Renamed config/config.$i to $i to avoid once and for all filename length
     problems.
  3. bbn butterfly config
  2. Beto's proc fixes
  1. Bruce's bug fix for ed.chared.c, signals


V6.04.00, 07/03/93
 92. Alpha prototypes, for gcc -Wall clean compile.
 91. Fixed alpha hashing. Did not work for directories > 31, Thanks to
     Dan Mosedale <mosedale@genome.Stanford.EDU> for all the help!
 90. Added USE(a) for unused parameters, to avoid compiler warnings.
 89. 6.03.10, 06/25/93
 88. Makefile and lint patches from Bruce.
 87. Posixsig patch from Peter for svr4
 86. 6.03.09, 06/11/93
 85. signal handling broke with the last job control patch...
     > (does-not-compute;)
     would hang.
 84. don't quit after the first modifier fails:
     > set i=aabbcc
     > echo $i:s/a/A/:s/b/B/
     AaBbcc
     > echo $i:s/x/A/:s/b/B/
     aabbcc
 83. Imakefile fixes for sequents from Jaap.
 82. Move past the bottom of input when we hit ^C, so that multi-line
     input commands don't get trashed.
 81. Look only at the first word in ${EDITOR,VISUAL} to determine the
     editor name.
 80. Last patch broke listmax.
 79. Remove extra sandbagging in exitstat(). Not needed anymore as value()
     will never return NULL.
 78. Save $status before calling aliasrun() otherwise:
     > alias precmd 'cd .'
     > true
     > echo $status
     0
     > false
     > echo $status
     0
 77. 6.03.08, 06/07/93
 76. missing prototypes/unused variables under SYSV4.
 75. savedirs should glob the filename argument.
 74. 6.03.07, 06/05/93
 73. Changed _Q, _Q1 macros in sh.lex.c, sh.dol.c, sh.char.? to _QF and _QB
     because today 4.4BSD <ctype.h> defined _Q to be ``Phonetics''
 72. listmaxrows variable.
 71. set -r would not make existing variables readonly.
 70. print usernames with ~user where possible in dirs and job cwd's
 69. Mika's fixes (missing args in sh.c set(), linux Makefile, SIGCHLD)
 68. FIONREAD argument is int everywhere except on SunOS where it is long.
     Tcsh used to think that it was long, and so it broke on the alpha where
     sizeof(int) != sizeof(long)
 67. 6.03.06 05/16/93
 66. Pipeline fixes. This should get rid of the dreaded Stopped tty output
     message.
 65. Michael's fix for history buffer cleanup:
     > alias foo 'echo \!:1:h'
     > foo a/b
     a
     > ^P [nothing happens]
 64. Unsigned long rlimit type for 64 bit machines (alpha)
 63. Fixed Imakefile for alpha
 62. tilde expansion now obeys $nonomatch
 61. readonly veriables. 'set -r x=3' will set x to a very sticky 3...
 60. Fixed bug in the new tab'ed completion that interfered with old listing.
 59. Fixed entry -> item in tw.parse.c
 58. Added -f option to unlimit
 57. Define __STDC__ in Imakefile for Irix
 56. Static redeclarations in tw.parse.c
 55. 6.03.05 04/26/93
 54. Don't echo history expansion in loops:
     > alias junk 'foreach i (\!:2*) \
     foreach? echo \!:1 $i; \
     foreach? end'
     > junk a b c d
     echo a $i ;
     a b
     echo a $i ;
     a c
     echo a $i ;
     a d
 53. Added complete-word-fwd and complete-word-back that scroll through
     the list of possible completions... Neat addition from 
     jfink@csugrad.cs.vt.edu (Jeff "$DOTDIR" Fink)
 52. Workaround hpux9.01 broken optimizer in sh.glob.c where 'ls *' breaks.
 51. Michael's editor fix.  With "magic margins" and 80 char width, try:
	> set prompt=
	<ESC>20a<CTRL>a<ESC>76b<CTRL>ac
 50. Reverted fix that does not glob the expanded back-quote text again.
 49. > cd /., echo $cwd
     /.
     Eliminate the . in this case...
 48. Matt's optimization in glob.c [retracted]
 47. Fixed bug with -S
 46. Renamed Makefile Makefile.std, and fixed the readme file
 45. 6.03.04 04/07/93
 44. Changed -s == !-z and -S == socket
 43. Fixed typo in sh.c, in phup [shpgrp != pr->pgrp]
 42. Multi-line aliases are not entered into the history when executed.
 41. Changed f_seek to a union to avoid gcc warnings on 4.4BSD
 40. Fixed 'unset home; dirs' bug
 39. fixed $HOME->$home memory problem.
 38. $?0 returns false now on interactive shells for csh compatibility.
 37. Default watch inteval was 10 hours not 10 minutes as advertized in the
     manual!
 36. Fixed clobbered veriable warning from gcc-1.39 in tw.parse.c
 35. Fixed typo with INVPTR in sh.lex.c
 34. 6.03.03 03/04/93
 33. Eliminate 'Reset tty pgrp error message'. It is normal for the
     walking process group stuff. Check about the killpg() above?
 32. More portability for 64 bit machines.
 31. Improved completion error messages.
 30. Fix bug with double globbing expansion on mirrored variables:
	> setenv TERM '?vt100'
 29. Avoid hanging when writing to pipes etc. (From Paul Close)
 28. Typo in the $HOME->$home mirroring.
 27. %p %P 'p'recise time formats that include seconds for prompt strings.
 26. Signal list fixes from Paul Close. nsig is now a variable.
 25. 6.03.02 02/12/93
 24. NEC SX3 "entry" is a reserved word!, changed entry to item...
     [this is as bad as cray typedefining "word" to int. Next thing I know,
      I'll have to prefix all the variables with tcsh_!]
 23. xxx
 22. Protected all include files to avoid warnings from lcc.
 21. Finally resolved the job control problems with linux and ISC (from Beto)
 20. More HUP,XFSZ,XCPU fixes. (with Beto)
 19. Dcanon would not canonicalize correctly in case where dnormalize()
     failed to find a directory, but the directory existed when not 
     crossing the symbolic link.
 18. sh.init.c fixes; give 65 signals for all POSIX machines.
 17. AMS mail fixes and cmu wm handling.
 16. Setenv would not ignore trim quoted names...
     > alias foo 'setenv "\!:1" bar'
     > setenv FOO 123
     > foo FOO
     > printenv
     ...
     FOO=123
     FOO=bar
     ...
 15. 6.03.01 08/01/93
 14. #undef SHORT_STRINGS gcc warning fixes...
 13. csh bug fix in foreach [quoteing problem]
     > foreach i ("*")
     > echo $i:q
     > end
     Should print *
 12. ls-F obeys showdots...
 11. After scheduled commands get executed, the editor could stay disabled
     until the first enter.
 10. sigset() bug in ed.init.c; ^C could get disabled sometimes.
  9. Don't glob in dowhich(); otherwise \pat does not work if pat is aliased.
  8. When completion patterns are used $ and ~ expansion did not work right.
  7. Printenv builtin and long backquote expansion fix from Harald.
  6. $:-1, $:-0 enhancement from Paul and Michael.
  5. Lynx/OS patches
  4. Apollo bugs [Setenv -> tsetenv, typedef in pid_t]
  3. ^@ did not work correctly in bindkey.
  2. Fix vms/posix ifdefs in tc.alloc.c
  1. Elide gcc-2.3.1 warnings


V6.03.00, 11/20/92
102. Solaris2 patches, renamed sunosX to sosX to fit in 14 character filenames.
101. 6.02.12 11/12/92
100. Decreased BUFSIZE to 1K...
99. Don't use sbrk() in tc.alloc.c on VMS
98. EINTR error handling from Michael
97. Overwrite mode takes effect immediately, not delayed by a command.
96. Emx fixes.
95. SIGHUP gain...
94. Coherent times()/ <sys/file.h> fixes.
93. 6.02.11 10/27/92
92. Mach setpath fixes.
91. Which now globs its arguments
90. Again POSIX SIGHUP fixes... Maybe we got it right this time...
89. Increased BUFSIZE to 4K. Smaller machines may want to decrease this.
    [ Now one can edit up to 4K of buffer! ]. From Harald.
88. : is now a true builtin that does nothing, instead of being treated like
    the last character of a label. This is so it can take args. From Harald.
87. More fixes for hpux limits from Harald.
86. Login shell if ppid == 1 and argc == 1 for VMS.
85. Typo in sh.exec.c from Harry.
84. Per's editor fixes.
83. 6.02.10 10/17/92
82. Don't free STRNULL in freelex(). Update linked list in copylex() to
    do the same insert as in lex().
81. Fixed spurious tilde printing in %c prompt.
80. Fixed dumb wild free in AddXKey... 
    (thanks Harald for the complex bindings! :-)
    > bindkey "\e10z" expand-line # Any editor command will do
    > bindkey -[cs] "\e10z" "foo" # Any string or command will do
    Free(%x) ....
79. coherent additions.
78. fixes for hpux8 resource limits [Thanks Harald]
77. 6.02.09 10/10/92
76. More vms cleanups.
75. Removed #include CONFIGH from sh.h. There was no way to make it work 
    under VMS/POSIX
74. Added t completion (Gray Watson)
73. Memory leaks in sh.dir.c and sh.glob.c [thanks purify :-)]
72. IRIX 5.0 patches (from Paul Close)
71. BSD resource limits for hpux8.0 (From Andreas Stolcke)
70. NGROUPS_MAX fixes (from Matt Day)
69. 6.02.08 10/04/92
68. VMS port additions.
67. Added $%var, which == strlen(var)
66. Added ^X^I and ^X^D to override programmable listing+completion
65. Added case insensitive globbing for OS/2
64. FIOCLEX and FIONCLEX are only used if we don't have FD_CLOEXEC.
63. Added emx termio support, and emx pathsep support; emx compiles and runs:
    needs job-debugging and finishing touches.
62. Horrible bug with the lex linked list; from Loic Grenie, grenie@ens.fr
    > echo a !#
    echoed 'echo a echo a echo'!
61. Shell -w,-x were incompatible with the same for test [POSIX] (beto)
60. builtin newgrp did not accept the - argument.
59. FIOCLEX for the masses (POSIX FD_CLOEXEC addition)
58. Old style csh completion bug fix [not used] (beto)
57. A background process waiting for input from tty
    blocks when being foregrounded doesn't read its input and
    doesn't get <cntl-c> and <cntl-z> signals.
    It can only be killed from another session. (beto)
    > cat > foo
    #!/bin/csh -f
    echo ">>>>>>"
    set x = $<
    echo $x
    ^D
    > chmod +x foo
    > foo &
    > fg
    ^Z,^C # Nothing happens
56. history > 1000 fix (beto)
55. 6.02.07 9/18/92
54. Added e_stuff_char() to put back a character in cooked mode in
    the input stream... Useful for status (^T)
53. $? == $status and $# == $#argv like in the bourne shell.
52. Added $dirstack. Problems: off by one since =0 == $cwd, but 
    $dirstack[1] == $cwd... Suggestions welcome.
51. Leading spaces would confuse the run-help function.
50. Don't expand imported environment variables:
    > setenv HOME \*
    > tcsh
    > echo "$home"
    > echo "$HOME"
49. %C0n displays the number of directories omitted as /usr/local/bin /<2>bin/
48. Added POSIXSIGS as a configuration option.
47. Per's fixes for history format and arrow key binding.
46. Expand-variables expands array variables too
45. 6.02.06 8/14/92 
44. Separated limit stuff from BSDTIMES and added BSDLIMIT
43. History searching inconsistent with HistLit:
    > echo foo
    foo
    > ^foo^bar
    bar
    > ec[M-p]
    echo foo
42. 6.02.05 8/8/92 
41. sourcing a script that contains 'onintr -; onintr' would disable 
    interrupts on the command line
40. cd ../... with symlinks=ignore would work !@#!@
39. No more BACKPIPE for POSIX machines...
38. SUNOS NLS bug workarounds...
37. New HASHBANG define for #! emulation... even 386BSD does not have it
    yet...
36. Added new -b -c file operators from SGI csh.
35. 6.02.04 7/23/92 
34. Walking process group fixes.
33. $0 contains now argv[0] when we are not executing a shell script.
32. New Getwd() was broken.
31. 6.02.03 7/17/92
30. We kill our last foreground process group on HUP, for POSIX systems.
29. Walking process group fix.
28. $shlvl gets reset to 1 for login shells.
27. Macros can now involve multiple commands, i.e.
    bindkey -s "^[OP" "ls\n^P"
26. 6.02.02 7/6/92
25. nostat accepts now a list shell patterns.
24. Avoid print_exit_value in if ( { foo } )
23. Symbolic key names for bindkey [arrow keys].
22. Smarter getwd() that avoids some of the NFS hangs...
21. Use memmove() where possible.
20. 6.02.01 6/16/92
19. Fix automatic correction to work with the new completion.
18. Globbing bug with brace expansion, when arguments need to be realloced...
    e.g. echo 134{6,7}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
17. shift and left operators update variables correcly ('shift path' did not 
    work)
16. apollo fixes for cd.
15. STRNULL <-> NULL bug fixes.
14. %S in xprintf for short strings.
13. history -LSc, dirs -LSc additions, builtins builtin [oxymoron]
12. history formatting string, who formatting string, prompt formatting
    all use tprintf() now.
11. $history accepts a second formatting argument..
10. History timestamps preserved in .history
9.  Backquotes were broken: echo hi | cat > `echo foo`
8.  SGI -t operator problem.
7.  Dnix fixes.
6.  Fix history file writing bug when autologout.
5.  Change from TCSETA to TCSETAW, since we affect the output.
4.  Per's fixes for display margin bugs.
3.  Linux fixes.
2.  Collapse adjacent stars in glob.c to avoid exponential behavior.
1.  Fixed parseescape to put ^ literally if not followed by alpha.


V6.02.00, 5/15/92
94. Default echo_style was not being set correctly.
93. $< did not work correctly with NLS chars.
92. 6.01.15 (5/11/92)
91. Minor cleanups in refresh code.
90. 6.01.14 (5/8/92)
89. Print \n in the right margin always to be consistent.
88. Linux patches.
87. 6.01.13 (5/2/92) 
86. Fixes in listing and completion of non-unique commands.
85. Fix =stack entries > 9... from Bill Petro
84. Fix for last character at margin. [on terminals that have am & xm move
    the cursor manually to the next line]
83. Fix for complete completions 
82. small typo in tc.alloc.c from Mark Moraes.
81. small typo in tw.parse.c from Richard.
80. Man page fixes from Per.
79. 6.01.12 (4/24/92) [release version for 6.02]
78. Autosuffix was not getting reset all the time.
77. Don't limit completion patterns to 1K.
76. Naming changes in ed.screen.c from Justin.
75. 6.01.11 (4/10/92)
74. Fixed magic-space ! expand bug:
    > echo a b123 45.{6,7}
    > echo !:2!:3[magic-space]
73. Work-around for apollo optimizer in tc.bind.c
72. Problem with setjmp in tw.parse.c
71. symlinks=expand from Yumin.
70. tenematch() fixes from Michael;
69. 6.01.10 (4/3/92)
68. Fixed Gnmatch.
67. Removed ignore_symlinks and chase_symlinks. Replaced by symlinks variable.
66. Backquote from completion was broken for machines with no dup2()
65. No $printexitvalue for `` jobs.
64. Added ultrix stuff for PW_AUTH [from Mike Potter mpotter@lampf.lanl.gov]
63. Fixed bug in Gnmatch(), added 'N' command 'x' completion.
62. Fixed fg_proc_entry() so autologout gets disabled when a process
    is foregrounded.
61. 6.01.09 (3/26/92)
60. source builtin takes arguments now that are passed in the script e.g.:
    > ./tcsh -i a b c
    > cat test
    echo $argv
    > echo $argv
    a b c
    > source test 1 2 3
    1 2 3
    > echo $argv
    a b c
59. Eliminate $margin_bug, add more intelligent margin code [from Justin]
58. expand_symlinks variable Urgh...
57. SGI CONTROL() fixes...
56. new dnormalize(), expand_symlinks flag.
55. interrupting completion restores the current line. [from Marc]
54. 6.01.08 (3/20/92)
53. inputmode affects the first line too.
52. Searches in vi do not destroy the current line.
51. -drwX test enhancement.
50. Generalized completion syntax and added more completion builtins.
49. Don't print '\n' on the right margin if we can avoid it.
48. 6.01.07 (3/9/92)
47. New completion style. [[<pattern>[ ]],=<completion action>]
46. 6.01.06 (3/7/92)
45. complete styles are ignored after shell metachars eg.
    > complete mail =u
    > mail christos < [tab]
    completes filenames.
44. $echo_style is initialized to the default style of the machine.
43. SGI 4.0 CTRL() macro is busted. So we ignore it.
42. Fixed bug with the new margin code (thanks justin)
41. Fixed mirroring of variables. Now set and setenv affect
    HOME, TERM, PATH, SHLVL, USER and their csh counterparts. Unset affects
    affects only the csh copies of the variables, and unsetenv only the
    environment variables.
40. Fixed gcc-2.0 warnings in sh.sem.c (needed for vfork() -O2 optimization)
39. 6.01.05 (2/21/92)
38. signal masking for BSD machines was still wrong in tw.init.c
37. Added $margin_bug, and now the editor outputs on the rightmost 
    column by default. This should fix the xterm cut-n-paste problem.
36. AU/X 2.0 and SGI compiles with POSIX as a default now.
35. sysv_echo is gone too. Now we have a variable called echo_style
    which can be set to "none", "bsd", "sysv", "both" that defines
    the builtin echo_style. The default is "bsd" for systems with
    SYSVREL == 0, "sysv" otherwise. This can be overriden in config.h
    by defining ECHO_STYLE ro be BSD_ECHO, SYSV_ECHO, BOTH_ECHO, 
    or NONE_ECHO.
34. asynchronous notification in run-fg-editor would try to change the 
    tty settings and print an extra prompt.
    > set notify 
    > sleep 10 &
    > vi^Z
    > ^[^Z
33. alias x /bin/true
    x<esc>?
    reported .//bin/true instead of /bin/true
32. 6.01.04 (2/12/92)
31. fixed vi_substitute_line
30. binding completion addition.
29. showdots=-A addition
28. sysv_echo addition; deleted bsd_echo which is now the default.
27. dunique could crash.
26. Don't clear lines after an asynchronous notification, because it
    might erase the message.
25. 6.01.03 (1/29/92)
24. `` were not working correctly when tcsh is started with 0,1,2 closed.
23. Correction was picking up the wrong thing in cases like .rhosts hosts
22. Correction with names with quoted spaces was broken.
21. Added sysv_echo and bsd_echo.
20. Added and documented the complete builtin.
19. Added dunique and cd -.
18. Per's fix for alarm functions. Things would break if time went backwards.
17. Realloc bug fix (copy min of old and new size)
16. Fix for csh compatible braces.
15. Brace globbing and negation globbing for Gmatch.
14. 6.01.02 (1/16/92)
13. Completion builtin, new tw* files.
12. 6.01.01 (1/6/92)
11. Changed w_ fields in tc.who.c to who_ to avoid redefinitions in
    <sys/wait.h> in some os's.
10. Setting savehist to an empty string makes savehist use the value
    in $history.
9.  echotc did not use the internal termcap descriptions.
8.  echotc did not work right for single argument termcap strings.
7.  DGUX needs SAVESIGVEC, updated type protection, and disabled CSWTCH.
6.  Changed SVID to SYSVREL, since there is no SVID == 4 (yet).
5.  Typo in tc.sig.h: UNRELSIGS was not getting defined.
4.  Globbing bug fix. tglob() should ignore globbing characters inside 
    backquotes otherwise things get expanded twice:
    % echo 'bar?' > 'foo?'
    % echo `cat foo\?`
    echo: No match.
3.  Mach setpath fix.
2.  Alliant process group fix.
1.  Xenix fixes for broken vi and help path with no suffixes.


V6.01.00, 12/19/91 [for comp.sources.unix]
22. Restore the original prompt in automatic correction when the user
    asks to re-edit the command.
21. Better error for unreadable files in tw.parse.c
20. Sequent patches.
19. (V6.00.08 beta 12/14/91)
18. Filenames containing # were spelled/expanded incorrectly.
17. Stellar/stellix port.
16. Hpux 8.0 has SIGWINDOW but we cannot get the window size. Protect
    against window changes updating $LINES and $COLUMNS.
15. Mach setpath did not work right.
14. Mach does not need setenv in lib; in fact that does not work right.
13. shell level gets decremented when we exec.
12. restart_fg_editor picked the wrong editor if arg contained a slash.
    e.g vi ~/.cshrc
11. (V6.00.07 beta 12/08/91)
10. Allow use of vfork() on systems that do not have job control.
9.  Avoid NUMCC from being defined twice.
8.  (V6.00.06 beta 12/05/91)
7.  SunOS3's FIOCLEX dups...
6.  Yet another globbing bug fix from Michael (echo .[^.])
5.  Ultrix now wants __ before cpp symbols.
4.  Workaround sun's header files inconsistency so tcsh can be compiled
    with #undef POSIX
3.  Fixed limit stuff so that large values don't cause errors.
2.  Fixed =1 and ~user error messages (Per)
1.  (beta-5 6.00.04 == 6.00.05)

$#*
$#* New numbering scheme (The last 2 digits are reserved for beta releases
$#* from now on. So we start at 6.00.06 which is 6.00.04 beta 6, and we are
$#* going to release 6.01.00...
$#*

V6.00.04, (never released)
34. (beta-5 11/25/91)
33. Simplify code in BindArrowKeys()
32. Get rid of the PNULL's
31. Support for shadow password in locking code. (From Kimmo)
30. Normalize-path editor function.
29. (beta-4 11/21/91)
28. minix additions
27. bindkey fixes (-c addition, casting cleanups)
26. (beta-3 11/16/91)
25. Prompt length checking. 
24. Michael's fixes for the watching code. Tcsh could core dump when using
    a corrupted utmp.
23. overwrite mode flag, and autologout locking code.
22. overwrite mode would still insert digits!
21. Get the value of _POSIX_VDISABLE from pathconf...
20. Hpux 8.0 fixes. Sigstack botches with shared libraries. Ansi mode
    static initialization of structures with prototyped function pointers
    gives spurious warnings...
19. Onintr in /etc rc files is disabled.
18. (beta-2 11/03/91)
17. Multi-line aliases with `` bug fix.
16. Sticky emacs overwrite mode.
15. Autolist option.
14. Fix for redirection with wildcard filanames.
13. No error correction for multi-line commands.
12. Esix-4 re-defines p_pid. Argh...
11. (beta-1 10/28/91)
10. Foreach loops were broken again.
9.  SUNOS localtime() bug does not only happen on the 8th byte. [Michael]
8.  sh.dir.c, memory corruption in dinit(). Thanks Michael.
7.  uts broken <sys/stat.h> work-around, and has a wait3()
6.  SGI (-t filename) extension, returns true when filename is a tty.
5.  'default:' addition in all switch() statements.
4.  oflag was not being updated correctly in Rawmode()
3.  missing 'break;' in prompt code '%y'.
2.  infinite loop in :a<mod> code.
1.  hashstat was not reporting hits+misses


V6.00.03, 10/21/91
31. watch code now accepts shell patterns.
30. new hashing code portability fixes.
29. $foo:gs/:/ / fix and 'a' modifier addition.
28. Added $! (the pid of the last background job forked)
27. exec does not kill the shell when it fails.
26. Irix4.0 decls.
25. SVR4 uthost fixes from Kimmo Suominen
24. Imake addition from marc
23. New i-search from Per.
22. ibmesa fixes
21. convex fixes.
20. t command for vi.
19. SVR4 fixes (reverse pipeline and sigaction()) from David Dawes.
18. New hashing from Marc
17. Added : to the ~name separators so ~foo:~bar works.
16. New ed.init.c. Added ed.term.c
15. Still can't get the history exactly csh-like... !-2$ was broken...
14. vi character searches.
13. -Dvar=name command line option for the apollos.
12. Prompt format changes for date/directory.
11. Vi searches.
10. Emacs i-search. [currently not bound]
9.  Vi additions ([dc]-{w,$,f<c>},Undo)
8.  tcsh -n parses now builtin structures.
7.  seek to the end on errors in loops.
6.  echotc -s was broken
5.  Better !event parsing. !foo;!bar was broken.
4.  foreach loops and if statements in aliases.
3.  .cshdirs would corrupt the heap if some directories were not there.
2.  System V echo was broken with \
1.  Fixed echo '!-1', history would eat the quote.

V6.00.02, 08/05/91 [For comp.sources.unix]
8.  tcsh will always set $LOGNAME and $USER if not already set in the
    environment.
7.  added $histfile.
6.  echo `echo` * and  echo ~ {} were broken
5.  setty builtin addition
4.  Multiple : modifiers [experimental, disabled with -DCOMPAT]
3.  7 bit fixes, and hp9000s500.
2.  #undef DEBUG in tc.alloc.c, so we continue if we get a bad free() 
1.  getn() is now protected against NULL strings.

V6.00.01, 07/16/91
17. added beepcmd, and fixed small tenematch bugs.
16. Renamed DUP2 flag to HAVEDUP2 cause AIXPS2 defines DUP2 already.
15. More ANSI fixes, and mit additions (load-average)
14. don't clear ECHOE, background programs might need it.
13. Refresh bug fix...
12. getpwent() should not be interrupted (yellow pages), cause it might
    leave dangling pointers, that endpwent() will trash.
11. ChangeSize is now responsible to set the screen size to something
    sane, but it should not affect the environment if the information
    it received is not valid
10. Find out if we are running under emacs using $TERM. It is more 
    reliable.
9.  tcsh was broken if SHORT_STRINGS was not defined (glob() problem)
8.  If GetSize() fails it should always return reasonable screen sizes.
7.  globbing should not fail if one or more patterns match.
6.  increased the number of aliases in the loop detection code.
5.  DGUX has size_t and pid_t defined now...
4.  ESIX does not have EWOULDBLOCK or EAGAIN & POSIX... That was not handled
    correctly.
3.  rs6000 needs BSDWAIT.
2.  Hpux susp key could not be changed.
1.  Apollo fixes.

V6.00.00, 07/04/91
45. Fixed quoting of VSTART/VSTOP on termios
44. Memory leak every time you pipe in or out.
43. echo {foo bar.[ch]}. Did not check for end of word.
42. ANSI prototypes
41. dmove() would leave the source descriptor open when using dup2()
    e.g.
    while (1)
	echo foo >>! bar
    end
    runs out of file descriptors
40. recursive `` expanded via aliases would abort.
39. set home=../relative-path-name was broken.
    e.g.
    set home=../..; cd ..;
    <abort>
38. Incorrect error when changing to directory:
    e.g.
    mkdir not-in-cd-path; chmod -x not-in-cd-path; cd not-in-cd-path;
    echoed:
       not-in-cd-path: No such file or directory.
    it should have said
       not-in-cd-path: Permission denied.
37. if ( \! =~ [\!] ) echo ok, did not echo ok. Quoting inside [] pattern.
36. More than 127 jobs caused job # to go negative
35. unsetenv <pattern> ... Added support for more than one pattern.
34. More background process status report fixes.
33. Apollo builtin support.
32. Glob fix. echo '*' * was not handled properly.
31. Glob fix. setenv FOO `sleep 1` would either cause a segmentation fault.
    or print ambiguous.
30. Glob fix. Quoted characters inside [] were not handled properly.
29. Removed TELL and VMUNIX defines. I think we cannot compile on V6 anyway
28. Overflow check for expansions.
27. Added matchbeep, shell pattern history searching.
26. Added code to handle /dev/std{in,out,err}
25. Fixed POSIX speed handling in raw mode.
24. Fixed a flushing bug in the filec code in sh.file.c
23. Compiled and added hp9000s700 to the list of hosts.
22. Fixed horrible bug in gmatch() 
	switch (4)
	case [a-z]:
		echo bug;
		breaksw;
	case 4:
		echo ok;
		breaksw;
	endsw
21. Fixes for _SEQUENT_ ut_host.
20. FLUSHO added
19. mkdir foo\`bar; cd foo\`bar; was broken
18. EWOULDBLOCK == EAGAIN on RENO check for that too.
17. Dword() simplified and removed the gotos.
16. Hpux now compiles with POSIX. Moved the local chars modes in ed.init.c
    after the tty modes.
15. Process group fixes for POSIX
14. We need <sys/filio.h> on the suns for FIOCLEX!!! We did not close
    our file descriptors before...
13. A/UX fixes.
12. History events that start with a number are not necessarily numeric:
    > !3d
    3d: Event not fount
11. History loop detection added.
    > alias a \!#
    > b; a
10. Alias loop detection code was ineffective on eager optimizers.
 9. All errors should now go through our table. Next step we should
    add nls error messages.
 8. Unsetenv now globs its arguments! Before it did not...
 7. Added tilde cache and -l flag.
 6. Added autocorrect
 5. Fixed for so that background jobs in scripts get process groups
 4. Fixed amazing memory leak in setenv()...
 3. Added short2qstr() so that we can form quoted strings to be used with glob()
 2. str2short and short2str allocate space dynamically.
 1. Fixed bug related to the is*() routines called with shorts.
    [only if NLS and SHORT_STRINGS are defined].
    (The _ctype_ was getting indexed with shorts...)
 0. Complete overhaul. Brought in the 4.4 csh stuff. Separated most
    tcsh and csh code except where I would have to add more global
    variables. Compiled correctly with both lint and gcc -Wall on
    a sparc running 4.1

V5.20.03, 03/20/91.	- Never released
25. Kanji, SXA additions.
24. (exec foo) should not fail if they are suspended jobs.
23. Support kernel paging stuff on aix 370.
22. Now we handle correctly the environment variables LINES, COLUMNS,
    TERMCAP for window size changes...
21. Tcsh 5.18c+ had broken NULL chars on scripts.
    > cat > foo 
    #!/usr/local/bin/tcsh -f
    echo "foo"
    echo "^V^@"
    echo "bar"
    ^D
    > chmod +x foo; foo
    foo
20. Posix has EAGAIN and not EWOULDBLOCK
19. Don't set ECHOK; makes kill ^U ugly.
18. $shell is SHELLPATH and not $SHELL any more.
17. Added -n flag to cd, pushd, popd and dirs. Documented -l and -v
    flags.
16. Documented and fixed chase_symlinks and ignore_symlinks.
15. Call endpwent() when you get interrupted...
    cd ~chri<tab>^C
    cd ~christos/<enter>
    <stuck>
14. Exec when you have suspended jobs asks for verification.
13. Variable length fixes:
    >set abcdefghijklmnopqrstuvwxyz=1
    >echo $abcdefghijklmnopqrstuvwxyz
    abcdefghijklmnopqrs: Undefined variable
    Now we have better messages too...
12. Icon fixes...
11. Quote expanded glob and history chars too.
10. If someone sets SHIN to O_NDELAY we died... Now we set it back...
 9. unset path; unsetenv PATH; ls-F; (poof) fixed...
 8. Patches for masscomp, and ${var123} lexical analysis fix...
 7. Patch for sunview bug: A partially covered suntool sends SIGWINCH every
    time the text is scrolled, causing annoying redraw effects. Now tcsh
    checks if the size really changed before doing anything.
 6. Interrupt in the middle of cwdcmd, and periodic does not remove the
    aliases.
 5. prompt2 and prompt3 fixes:
    Prompt2 now prints the status of the parser by default.
    Prompt3 can now have the standard prompt escape sequences.
 4. eval file descriptor re-direction fix.
    >set p='w | tail +3'
    >eval $p
    (originally | tail +3 was ignored)
 3. $edit != emacs anymore; it was misleading, 'set edit' enables editing
    'unset edit' disables it.
 2. PERROR define fix. 
 1. irix3.3.1 line discipline fix.

V5.20.02, 12/15/90.
32. /etc/Logout added and merged with /etc/Login flag.
31. Fixed tty chars in ed.init.c. Some of them were not handled correctly.
30. Command execution does not leak memory any more, and doing
    ~ four times does not core-dump.
29. Fixed the notorious csh 'if(' bug (part of the convex fixes)
28. Intelligent getwd() on startup, and canonicalization.
27. Intelligent directory stack. Gets updated when $HOME changes.
26. Directory stack/save-restore additions
25. Convex Fixes.
24. Fixed onlret, and echonl getting stuck on svid.
23. Shouldn't leave tty in raw mode at auto-logout (e.g. when su'ing from a
    csh, this is annoying).
22. Some users had environment EMACS set to something, and with my bad fix
    at pl 1 found that they didn't have echo... (of course, even before my
    "fix", they didn't have editing...). Anyway, refined the check to be
    for EMACS=t, which is what emacs sets when running a subshell.
21. kill -CONT %job, would not update the status of the job, but it would
    just restart it.
20. Sequent fixes.
19. AIX370 signal and TCF fixes.
18. fixed ls-F -l, SIGINT problem.
17. aix on the ps2 does not have strcoll() either.
16. Bind [A - [D and OA to OD in vi mode to the arrow key functions
    so that they work from insert mode.
15. %~ was not working correctly for /home/news and /home/newsbin...
14. Removed Rcs Log
13. ISC unix fixes.
12. sunos3.x wants <sys/dir.h> not <dirent.h>
11. Remove precmd's, cwdcmd's and periodic cmds that had errors.
10. Compile sunos4.1 using termio. 
 9. Rs6000 line discipline fixes. 
 8. T_Tabs was wrong for termio machines.
 7. Don't bind single keystroke arrow keys, when they are already bound!
 6. Test for newline and tab before deciding not to send shell scripts
    to the bourne shell.
 5. Added LITERAL prompt stuff.
 4. Fixed gethostname() in sh.rest.c to return the nodename.
 3. Do not quote spell checked stuff. This is not very intelligent but
    works better than before.
 2. Fixes for relative path components. (paths that start with a .)
 1. Fixed so that Rawmode() is not called when we are not editing
    (breaks running under emacs)

V5.20.01, 11/15/90.
12. Recognize environment variables too.
11. Always start in Rawmode()
10. don't try to execute binary files using the bourne shell.
 9. Vi change to end of line updates correctly now.
 8. Prompt in continuation lines.
 7. Prompt in if statements fix.
 6. System V ^C works right now.
 5. ^Z works correctly in bindings
 4. Better error messages for variables.
 3. dinit() now is more robust.
 2. Added aux2.0 patches.
 1. Fixed bug with arrow key bindings in ed.screen.c. All the keys
    were bound to up-history!

V5.20.00, 11/10/90.
26. Fixed system V and POSIX time reporting.
25. Fixed ed.screen.c so that it does not use malloc().
24. Fixed SIGWINCH on the iris
23. Fixed ed.screen.c, so that settc works correcly. It used to set
    the termcap with a string that was allocated from the stack!
22. Fixed listing of commands, where the last command was not checked.
21. Fixed which command. It did not work for
    \<command>, if command was aliased.
20. Eliminated CSH4.3 define. You've had enough time to upgrade from 4.2
19. Fixed GotTermCaps to be called only once.
18. Added bindkey -r
17. Attributes were not getting reset correctly.
16. history -t does not print the time-stamp.
15. AddXkey, works now for single character xkeys.
14. filetype() knows better about symlinks.
13. ls-F works with filenames that have metachars
12. Completion/spelling works with quoted things.
11. Fixed refresh bug. Repeat by:
    On an intelligent terminal that has insert and delete chars (xterm)
    > orphan
    > vi orphan.c
    > ^P^P
10. Fixed so that if we don't have a tty on stdin editing is disabled.
 9. Check for nested process forking, to avoid loops such as:
    > alias foo 'set bar=`foo`'
    > foo
 8. Fix setting of AsciiOnly (Per)
 7. tw.spell.c, defined F_OK for systems that don't have it.
 6. ourwait.h had typo in ifdef.
 5. BSD compilers need a cast to int for enums used in 
    switches (Matthew Day)
 4. Found the cause for the core-dump in long backquote 
    expansions (Mark Davies)
 3. Some externs in ed.h needed to be truly externs...
    reported by Mark Davies, bug appeared only on hp9000s800.
 2. Changed $tcsh, and $version strings.
 1. Added internal sprintf function, renamed putchar to CSHputchar,
    printf to CSHprintf, sprintf to CSHsprintf.

V5.19.02, 10/23/90.
36. Added /etc/cshrc for the SGI irises.
35. Added expand-variables function.
34. Documented $time in tcsh.man
33. Shell variables are now 'recognized' when expanding/listing things.
32. ls-F does not eat the last slash on the / directory!
31. Strings bound to keys are printed inside double quotes.
30. History now remembers the exact line, not just an unparsed version of
    the tokens.
29. Renamed itoa to Itoa(), so things in libc that use itoa() don't break.
28. Ported to IBM aix/ps2. 
27. Fixed eval so that it forks when the output is piped
    Repeat by:
    > who | grep $user
    > eval who | grep $user
26. Fixed so that 'nice <builtin changing the working directory>' does not
    nice or fork.
    Consider doing:
    nice cd /tmp && rm *.c (don't try it!!!)
    [what actually happens is that nice has to fork, then the child executes
     chdir, and the parent stays where it was]
25. Added Dan's patches (nls, builtin bindkey, fixes to the editor).
24. Added aix370, migrate, getspath, getspath, getxvers, setxvers
23. Added builtin echotc, removed sl and el.
22. Ported to 4.4 BSD. This involved changing the way lots of flags worked,
    cleanup of the SVID stuff, and addition of more compilation flags.
    Now POSIX can work whed BSD is defined...
21. Fixed so that el, sl work. Actually they are to be removed soon and
    be replaced with echotc.
20. Avoid the Quoted Space hack for alias when printing jobs!
    [aliases to the same name avoid further alias expansion, by 
     inserting a quoted space in front of the command. In SHORT_STRINGS
     QUOTE is the 15th bit so print ignores it thinking it is the
     end of the string. So we just skip the Quoted Space....]
    Repeat by:
    > set notify
    > alias ls ls -F
    > (ls) &
    Prints        Exit 0 (
    Should print: Exit 0 ( ls -F )
19. Fixed so that "", '', ``, all produce ': Command not found',
    and not the spurious messages.
    Repeat by:
    > set path = (/bin /usr/bin .... .)
    > ""
    /some/path/name/: Command not found
18. Enable the use of <ctype.h> macros if they exist and NLS is defined.
    NLS code is not ready yet.
17. Fixed rmstar and continue_jobs code, so that they are not compile
    options, but shell variables. Now you need to 'set rmstar' to get
    enable rmstar.
16. Fixed SIGWINCH, SIGWINDOW, and setting of li, co, that broke
    suntools, and others.
    Repeat by:
    Start a shelltool of size other than 80x34
    > telltc
    > stty -a
    do not report the same number of lines and columns.
15. More fixes to tw.parse.c, and tw.spell.c.
14. More fixes to sh.char.c.
13. Fixed coredump caused by ``.
12. Fixed spell-line code..
11. Trapped SIGCHLD in sh.sem.c, while forking. Still there is a small
    race, but the probability of happening is smaller!
10. Fixed sh.char.c to be ISO compliant.
 9. Added expand-glob
 8. Fixed ourwait.h for little endians.
 7. Fixed that foreach i (^D expands correctly.
 6. Fixed so that listmax is ignored in ls-F.
 5. Fixed spelling correction so that single letter words and words that
    contain globbing chars do not get spell checked.
 4. Changed NeXT HOSTTYPE to next, since all HOSTTYPE's are lower case.
 3. Fixed symmetry, and changed symmetry HOSTTYPE from sequent to symmetry.
 2. Added boldfacing, underlining chars.
 1. Added IRIX3.3.1 support.

V5.19.01, 9/26/90.
7. Brought the README file up-to-date, and changed the bug report
   address to point to me.
6. sh.lex.c. In addla(), overflow computation was wrong.
5. Fixed SHELLPATH, to be set correctly when $SHELL is not set.
4. Fixed print statement in sh.proc.c that contained \215.
3. Fixed the Makefile and MAKEDIFFS so that a tahoe diff can be made.
2. RS6000: hacked around execv bug, and ed.init.c warning.
1. Editor should not be enabled when we don't have a tty.
