xref: /freebsd/contrib/tcsh/NewThings (revision fed1ca4b719c56c930f2259d80663cd34be812bb)
1This file contains visible (incompatible) changes to the users.
2This version of tcsh has the following new things:
3
46.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
116.07
12* Implicit cd when the variable implicitcd is set or set to verbose
13
146.06
15* NLS Message Catalog support.
16
176.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
316.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
446.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
646.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
876.01
88* Nothing new.
89
906.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
966.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
1176.00 PL1
118* There is no more config.iris4d, use config.sgi instead
119
1206.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
1305.20 PL2
131* %{..%} escapes in prompt
132
1335.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
1415.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
1525.19 PL1
153* Maintainance release for mainly the rs6000
154
1555.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.
170