Merge from vendor branch GCC:
[dragonfly.git] / contrib / tcsh / NewThings
1 This file contains visible (incompatible) changes to the users.
2 This version of tcsh has the following new things:
3
4 6.08
5 * %$variables are now expanded in the prompt.
6 * print_by_columns prints in a single column if the output is not a tty.
7 * REMOTEHOST contains only the IP address, not the host name of the machine.
8 * names in .cshdirs are quoted.
9 * exit value from 0..255 not -128..127 as posix mandates.
10
11 6.07
12 * Implicit cd when the variable implicitcd is set or set to verbose
13
14 6.06
15 * NLS Message Catalog support.
16
17 6.05
18 * The bind, aliases, linedit builtins are not used anymore; they are
19   #ifdef'ed OBSOLETE and will be really removed in the next version
20 * new filetest builtin
21 * new hup builtin
22 * =x obeys nonomatch
23 * tcsh.man2html nroff to HTML converter for the tcsh manpage
24 * prompt is now %# by default.
25 * $REMOTEHOST contains the name of the remote host (optional)
26 * $HOSTTYPE is going away. New variables $OSTYPE, $MACHTYPE, $VENDOR similar
27   to the gnu ones.
28 * $< can be interrupted and takes modifiers. Does not quote args by default
29   like csh.
30
31 6.04
32 * Variable modifiers do not stop processing after the first one fails
33      > set i=aabbcc
34      > echo $i:s/a/A/:s/b/B/
35      AaBbcc
36      > echo $i:s/x/A/:s/b/B/
37      aabbcc
38 * set -r makes variables readonly
39 * set nonomatch, echo ~notaser returns ~notauser instead of an error
40 * file operators: Changed -s == !-z and -S == socket
41 * $?0 returns false now on interactive shells for csh compatibility.
42 * %p%P include seconds in prompt strings.
43
44 6.03
45 * $%var contains the number of characters in $var.
46 * Shell -w -x are now POSIX compliant on POSIX machines.
47 * Imported environment variables are not globbed.
48 * $dirstack can be used to set and examine the directory stack.
49 * $? == $status and $# == $#argv like in the bourne shell.
50 * expand variables expands arrays too (but not array elements yet).
51 * $0 contains argv[0] on interactive shells.
52 * new -b -c etc file operators from SGI csh.
53 * nostat takes a list of shell patterns.
54 * symbolic names for arrow key bindings [left, right, up, down]
55 * shift, left operators update variables correctly.
56 * builtins builtin.
57 * history and dirs accept now -LSc flags.
58 * $history accepts an optional second argument, that can change the
59   history builtin output similar to the $time format.
60 * History timestamps preserved in .history. The history file contains
61   now the timestamps as csh comments.
62
63
64 6.02
65 * ignore_symlinks and chase_symlinks are replaced with symlinks=ignore
66   and symlinks=chase; symlinks=expand addition
67 * complete and uncomplete builtins; user-programmable completion additions.
68 * Tcsh now uses the rightmost column of the terminal, allowing cut-and-paste
69   operations in terminal emulators that work [xterm R5 not R4]
70 * echo_style controls now the behaviour of the builtin echo; the default
71   should match the builtin echo of /bin/csh; if your system does not
72   come with csh, then the default echo should match /bin/echo.
73 * cd -; changes to the previous directory.
74 * setting dunique variable pushes only unique directories on the directory
75   stack.
76 * source builtin allows additional arguments that get passed in $argv in
77   the sourced script.
78 * tcsh now mirrors correctly all exported csh variables [term=TERM,path=PATH
79   etc.]
80 * showdots=-A makes listing behave like ls -A. 
81 * directory stack access =<num> allows for entries > 9.
82 * $a:u uppercase the first character in $a, $a:l downcases the first
83   character in $a.
84 * Shorthand for file tests in 'if' expressions ( -dx file ) is the
85   same as ( -d file && -x file )
86
87 6.01
88 * Nothing new.
89
90 6.00 PL3
91 * %d in the prompt is the week-day and no longer $cwd; use %/ instead.
92 * changes in the prompt format. Date changes to accomodate people from
93   down under. 
94 * vi insert mode to command mode transition does not move the cursor.
95
96 6.00 PL2
97 * setty builtin
98   This is used to specify what tcsh modes can be altered using stty,
99   Modes that should be set are specified as +<mode>, modes that should 
100   be cleared are specified as -<mode>, and the ones that should be 
101   untouched are specified as <mode>. setty with no arguments prints
102   the modes that are affected by tcsh, and setty -a prints all modes.
103 * multiple : modifiers in variables and ! escapes. Things like:
104       > set prompt="$host:r:$cwd>"
105   don't work any more, they should be replaced with
106       > set prompt="${host:r}:$cwd>"
107   or
108       > set prompt="$host:r"":$cwd>"
109   the reason is that now you can
110       > set foo=/usr/local/a.b.c
111       > echo $foo:t:r:e
112       b
113   If for some reason you don't like this change you can disable it with
114   -DCOMPAT. -DCOMPAT may go away in future tcsh versions and the way tcsh
115   works now is the way the 4.4BSD csh works.
116
117 6.00 PL1
118 * There is no more config.iris4d, use config.sgi instead
119
120 6.00
121 * History searching searches using shell patterns too.
122 * The autolist values that controlled beeping are not supported any more;
123   used matchbeep instead.
124 * /etc/Login and /etc/Logout were renamed to /etc/csh.login /etc/csh.logout
125   and /etc/csh.cshrc was added
126 * prompt2 and prompt3 can have prompt escapes.
127 * eval pipes work
128 * ignore_symlinks works
129
130 5.20 PL2
131 * %{..%} escapes in prompt
132
133 5.20 PL0
134 * bindkey -r
135 * history -t
136 * shell variables in paths expand correctly.
137 * variable expansion 
138 * quoted expansions now work.
139 * new version and tcsh variable format
140
141 5.19 PL2
142 * NLS support
143 * New bindkey and echotc builtins
144 * Underline and Bold in the prompt; additions and changes to the prompt and 
145   who syntax (%u is now %n, so that %u can be used to turn undeline off, 
146   and %n is now \n).
147 * rmstar needs to be set to protect from accidental removal
148 * Fixed editor, and spell line.
149 * Glob-expand, on arguments.
150 * Added process migration builtins for aix370
151
152 5.19 PL1
153 * Maintainance release for mainly the rs6000
154
155 5.19 PL0
156 * 8 bit clean code, by using 16 bit strings.
157 * Mostly shared strings (a side-effect)
158 * Highlights everywhere (and in ls-F) filenames that contain characters
159   with the eighth bit set (or passes them unchanged depending on the
160   variable 'nometa')
161 * Newline in the prompt via %n.
162 * dirs takes also a -v flag for `vertical display'
163 * There is a new variable `listjobs' which controls if and how jobs
164   are displayed when a new job is suspended. [Idea from the mtXinu 
165   code, very useful for novice users who hit control-Z 10 times on
166   the same job!]
167   set listjobs=long, jobs -l is executed every time a job is suspended.
168   set listjobs=short, jobs is executed every time a job is suspended.
169 * Passes lint... At least on a sun.