aboutsummaryrefslogtreecommitdiff
path: root/contrib/tcsh/NewThings
blob: a372fbb228050453fe265957a8f51aed16e745d7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
This file contains visible (incompatible) changes to the users.
This version of tcsh has the following new things:

6.08
* %$variables are now expanded in the prompt.
* print_by_columns prints in a single column if the output is not a tty.
* REMOTEHOST contains only the IP address, not the host name of the machine.
* names in .cshdirs are quoted.
* exit value from 0..255 not -128..127 as posix mandates.

6.07
* Implicit cd when the variable implicitcd is set or set to verbose

6.06
* NLS Message Catalog support.

6.05
* The bind, aliases, linedit builtins are not used anymore; they are
  #ifdef'ed OBSOLETE and will be really removed in the next version
* new filetest builtin
* new hup builtin
* =x obeys nonomatch
* tcsh.man2html nroff to HTML converter for the tcsh manpage
* prompt is now %# by default.
* $REMOTEHOST contains the name of the remote host (optional)
* $HOSTTYPE is going away. New variables $OSTYPE, $MACHTYPE, $VENDOR similar
  to the gnu ones.
* $< can be interrupted and takes modifiers. Does not quote args by default
  like csh.

6.04
* Variable modifiers do not stop processing after the first one fails
     > set i=aabbcc
     > echo $i:s/a/A/:s/b/B/
     AaBbcc
     > echo $i:s/x/A/:s/b/B/
     aabbcc
* set -r makes variables readonly
* set nonomatch, echo ~notaser returns ~notauser instead of an error
* file operators: Changed -s == !-z and -S == socket
* $?0 returns false now on interactive shells for csh compatibility.
* %p%P include seconds in prompt strings.

6.03
* $%var contains the number of characters in $var.
* Shell -w -x are now POSIX compliant on POSIX machines.
* Imported environment variables are not globbed.
* $dirstack can be used to set and examine the directory stack.
* $? == $status and $# == $#argv like in the bourne shell.
* expand variables expands arrays too (but not array elements yet).
* $0 contains argv[0] on interactive shells.
* new -b -c etc file operators from SGI csh.
* nostat takes a list of shell patterns.
* symbolic names for arrow key bindings [left, right, up, down]
* shift, left operators update variables correctly.
* builtins builtin.
* history and dirs accept now -LSc flags.
* $history accepts an optional second argument, that can change the
  history builtin output similar to the $time format.
* History timestamps preserved in .history. The history file contains
  now the timestamps as csh comments.


6.02
* ignore_symlinks and chase_symlinks are replaced with symlinks=ignore
  and symlinks=chase; symlinks=expand addition
* complete and uncomplete builtins; user-programmable completion additions.
* Tcsh now uses the rightmost column of the terminal, allowing cut-and-paste
  operations in terminal emulators that work [xterm R5 not R4]
* echo_style controls now the behaviour of the builtin echo; the default
  should match the builtin echo of /bin/csh; if your system does not
  come with csh, then the default echo should match /bin/echo.
* cd -; changes to the previous directory.
* setting dunique variable pushes only unique directories on the directory
  stack.
* source builtin allows additional arguments that get passed in $argv in
  the sourced script.
* tcsh now mirrors correctly all exported csh variables [term=TERM,path=PATH
  etc.]
* showdots=-A makes listing behave like ls -A. 
* directory stack access =<num> allows for entries > 9.
* $a:u uppercase the first character in $a, $a:l downcases the first
  character in $a.
* Shorthand for file tests in 'if' expressions ( -dx file ) is the
  same as ( -d file && -x file )

6.01
* Nothing new.

6.00 PL3
* %d in the prompt is the week-day and no longer $cwd; use %/ instead.
* changes in the prompt format. Date changes to accomodate people from
  down under. 
* vi insert mode to command mode transition does not move the cursor.

6.00 PL2
* setty builtin
  This is used to specify what tcsh modes can be altered using stty,
  Modes that should be set are specified as +<mode>, modes that should 
  be cleared are specified as -<mode>, and the ones that should be 
  untouched are specified as <mode>. setty with no arguments prints
  the modes that are affected by tcsh, and setty -a prints all modes.
* multiple : modifiers in variables and ! escapes. Things like:
      > set prompt="$host:r:$cwd>"
  don't work any more, they should be replaced with
      > set prompt="${host:r}:$cwd>"
  or
      > set prompt="$host:r"":$cwd>"
  the reason is that now you can
      > set foo=/usr/local/a.b.c
      > echo $foo:t:r:e
      b
  If for some reason you don't like this change you can disable it with
  -DCOMPAT. -DCOMPAT may go away in future tcsh versions and the way tcsh
  works now is the way the 4.4BSD csh works.

6.00 PL1
* There is no more config.iris4d, use config.sgi instead

6.00
* History searching searches using shell patterns too.
* The autolist values that controlled beeping are not supported any more;
  used matchbeep instead.
* /etc/Login and /etc/Logout were renamed to /etc/csh.login /etc/csh.logout
  and /etc/csh.cshrc was added
* prompt2 and prompt3 can have prompt escapes.
* eval pipes work
* ignore_symlinks works

5.20 PL2
* %{..%} escapes in prompt

5.20 PL0
* bindkey -r
* history -t
* shell variables in paths expand correctly.
* variable expansion 
* quoted expansions now work.
* new version and tcsh variable format

5.19 PL2
* NLS support
* New bindkey and echotc builtins
* Underline and Bold in the prompt; additions and changes to the prompt and 
  who syntax (%u is now %n, so that %u can be used to turn undeline off, 
  and %n is now \n).
* rmstar needs to be set to protect from accidental removal
* Fixed editor, and spell line.
* Glob-expand, on arguments.
* Added process migration builtins for aix370

5.19 PL1
* Maintainance release for mainly the rs6000

5.19 PL0
* 8 bit clean code, by using 16 bit strings.
* Mostly shared strings (a side-effect)
* Highlights everywhere (and in ls-F) filenames that contain characters
  with the eighth bit set (or passes them unchanged depending on the
  variable 'nometa')
* Newline in the prompt via %n.
* dirs takes also a -v flag for `vertical display'
* There is a new variable `listjobs' which controls if and how jobs
  are displayed when a new job is suspended. [Idea from the mtXinu 
  code, very useful for novice users who hit control-Z 10 times on
  the same job!]
  set listjobs=long, jobs -l is executed every time a job is suspended.
  set listjobs=short, jobs is executed every time a job is suspended.
* Passes lint... At least on a sun.