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