15949286 update tcsh to 6.18.01 s11u1-sru 0.175.1.17.0.1.0 S11.1SRU17.1
authorJiri Kukacka <jiri.kukacka@oracle.com>
Thu, 16 Jan 2014 06:52:45 -0800
branchs11u1-sru
changeset 2935 cd48674f5a76
parent 2934 ed4c692fa932
child 2937 4d2a1f9ca312
15949286 update tcsh to 6.18.01 15825527 SUNBT7206801 tcsh tries to autocorrect commands that are correct 16072367 New tcsh changes the value of $HOSTTYPE from i86pc to sun386i
components/tcsh/Makefile
components/tcsh/manpages/tcsh.1
components/tcsh/patches/001.config_f.h.patch
components/tcsh/patches/001.gethost.c.patch
components/tcsh/patches/002.sol-8bit.patch
components/tcsh/patches/003.locale.patch
components/tcsh/patches/004.tcsh-6.14.00-avoid_null_for_cwd.patch
components/tcsh/tcsh.license
components/tcsh/tcsh.p5m
--- a/components/tcsh/Makefile	Tue Jan 14 08:01:05 2014 -0800
+++ b/components/tcsh/Makefile	Thu Jan 16 06:52:45 2014 -0800
@@ -20,19 +20,21 @@
 #
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		tcsh
-COMPONENT_VERSION=	6.17.00
+COMPONENT_VERSION=	6.18.01
+IPS_COMPONENT_VERSION=	6.18.1
 COMPONENT_PROJECT_URL=	http://www.tcsh.org/
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:575266122bc2bc351c84a7f858020c0e6b6f95a64ad4de3ce95e340f57e4a9a9
+    sha256:d81ca27851f3e8545666399b4bcf25433e602a195113b3f7c73886fef84c9fa8
 COMPONENT_ARCHIVE_URL=	ftp://ftp.astron.com/pub/tcsh/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	utility/tcsh
 
 include ../../make-rules/prep.mk
 include ../../make-rules/configure.mk
@@ -44,11 +46,6 @@
 COMPONENT_PREP_ACTION = \
 	(cd $(@D) ; autoconf )
 
-COMPONENT_POST_BUILD_ACTION = \
-	(cd $(@D)/nls ; $(MAKE) all)
-
-CFLAGS +=	$(CPP_LARGEFILES)
-
 LOCALEDIR=$(PROTO_DIR)/$(CONFIGURE_LOCALEDIR)
 
 CONFIGURE_OPTIONS  +=		--localedir=$(CONFIGURE_LOCALEDIR)
--- a/components/tcsh/manpages/tcsh.1	Tue Jan 14 08:01:05 2014 -0800
+++ b/components/tcsh/manpages/tcsh.1	Thu Jan 16 06:52:45 2014 -0800
@@ -75,7 +75,7 @@
 .\" modified to reference existing Solaris man pages, to add the Solaris
 .\" stability classification, and to add a note about source availability.
 .\"
-.TH TCSH 1 "10 July 2009" "Astron 6.17.00"
+.TH TCSH 1 "14 February 2012" "Astron 6.18.01"
 .SH NAME
 tcsh \- C shell with file name completion and command line editing
 .SH SYNOPSIS
@@ -447,6 +447,17 @@
 underscores are equivalent.  Periods, however, are not equivalent to
 hyphens or underscores.
 .PP
+If the \fBcomplete\fR shell variable is set to `Enhance', completion
+ignores case and differences between a hyphen and an underscore word
+separator only when the user types a lowercase character or a hyphen.
+Entering an uppercase character or an underscore will not match the 
+corresponding lowercase character or hyphen word separator.  
+Typing `rm a\-\-file[^D]' in the directory of the previous example would 
+still list all three files, but typing `rm A\-\-file' would match only 
+`A_silly_file' and typing `rm a__file[^D]' would match just `A_silly_file' 
+and `another_silly_file' because the user explicitly used an uppercase 
+or an underscore character.  
+.PP
 Completion and listing are affected by several other shell variables:
 \fBrecexact\fR can be set to complete on the shortest possible unique
 match, even if more typing might result in a longer match:
@@ -612,7 +623,7 @@
 .TP 8
 .B expand-line \fR(not bound)
 Like \fIexpand-history\fR, but
-expands history substitutions in each word in the input buffer,
+expands history substitutions in each word in the input buffer.
 .TP 8
 .B expand-variables \fR(^X-$)
 Expands the variable to the left of the cursor.
@@ -863,7 +874,7 @@
 .PP
 The \fIhistory\fR builtin command can print, store in a file, restore
 and clear the history list at any time,
-and the \fBsavehist\fR and \fBhistfile\fR shell variables can be can be set to
+and the \fBsavehist\fR and \fBhistfile\fR shell variables can be set to
 store the history list automatically on logout and restore it on login.
 .PP
 History substitutions introduce words from the history list into the input
@@ -1153,7 +1164,7 @@
 These can be displayed and changed with \fIprintenv\fR, \fIsetenv\fR and
 \fIunsetenv\fR.
 .PP
-(+) Variables may be made read-only with `set \-r' (q.v.)
+(+) Variables may be made read-only with `set \-r' (q.v.).
 Read-only variables may not be modified or unset;
 attempting to do so will cause an error.
 Once made read-only, a variable cannot be made writable,
@@ -1331,14 +1342,20 @@
 .PP
 In matching filenames, the character `.' at the beginning of a filename or
 immediately following a `/', as well as the character `/' must be matched
-explicitly.  The character `*' matches any string of characters, including the
-null string.  The character `?' matches any single character.  The sequence
-`[...]' matches any one of the characters enclosed.  Within `[...]', a pair of
+explicitly (unless either
+.B globdot
+or
+.B globstar
+or both are set(+)).  The character `*' matches any string of characters, 
+including the null string.  The character `?' matches any single character.  
+The sequence `[...]' matches any one of the characters enclosed.  
+Within `[...]', a pair of
 characters separated by `\-' matches any character lexically between the two.
 .PP
 (+) Some glob-patterns can be negated:
 The sequence `[^...]' matches any single character \fInot\fR specified by the
 characters and/or ranges of characters in the braces.
+
 .PP
 An entire glob-pattern can also be negated with `^':
 .IP "" 4
@@ -1384,6 +1401,20 @@
 of patterns) which matches nothing is left unchanged rather than causing
 an error.
 .PP
+The \fBglobstar\fR shell variable can be set to allow `**' or `***' as 
+a file glob pattern that matches any string of characters including `/',
+recursively traversing any existing sub-directories.  For example, 
+`ls **.c' will list all the .c files in the current directory tree.
+If used by itself, it will match match zero or more sub-directories
+(e.g. `ls /usr/include/**/time.h' will list any file named `time.h'
+in the /usr/include directory tree; `ls /usr/include/**time.h' will match 
+any file in the /usr/include directory tree ending in `time.h'; and
+`ls /usr/include/**time**.h' will match any .h file with `time' either
+in a subdirectory name or in the filename itself).
+To prevent problems with recursion, the `**' glob-pattern will not 
+descend into a symbolic link containing a directory.  To override this,
+use `***' (+)
+.PP
 The \fBnoglob\fR shell variable can be set to prevent filename substitution,
 and the \fIexpand-glob\fR editor command, normally bound to `^X-*', can be
 used to interactively expand individual filename substitutions.
@@ -1504,7 +1535,7 @@
 .PP
 On systems which do not understand the `#!' script interpreter convention
 the shell may be compiled to emulate it; see the \fBversion\fR shell
-variable\fR.  If so, the shell checks the first line of the file to
+variable.  If so, the shell checks the first line of the file to
 see if it is of the form `#!\fIinterpreter\fR \fIarg\fR ...'.  If it is,
 the shell starts \fIinterpreter\fR with the given \fIarg\fRs and feeds the
 file to it on standard input.
@@ -1707,7 +1738,7 @@
 for a terminal device (+)
 .TP 4
 .B R
-Has been migrated (convex only) (+)
+Has been migrated (Convex only) (+)
 .TP 4
 .B L
 Applies subsequent operators in a multiple-operator test to a symbolic link
@@ -1733,7 +1764,7 @@
 in a multiple-operator test; see below.
 .PP
 It is possible but not useful, and sometimes misleading, to combine operators
-which expect \fIfile\fR to be a file with operators which do not,
+which expect \fIfile\fR to be a file with operators which do not
 (e.g., \fBX\fR and \fBt\fR).  Following \fBL\fR with a non-file operator
 can lead to particularly strange results.
 .PP
@@ -2264,7 +2295,7 @@
 .B case \fIlabel\fB:
 A label in a \fIswitch\fR statement as discussed below.
 .TP 8
-.B cd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\fIname\fR]
+.B cd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\I--\fR] [\fIname\fR]
 If a directory \fIname\fR is given, changes the shell's working directory
 to \fIname\fR.  If not, changes to \fBhome\fR.
 If \fIname\fR is `\-' it is interpreted as the previous working directory
@@ -2279,6 +2310,8 @@
 With \fB\-p\fR, prints the final directory stack, just like \fIdirs\fR.
 The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIcd\fR
 as on \fIdirs\fR, and they imply \fB\-p\fR.  (+)
+Using \fB\-\-\fR forces a break from option processing so the next word
+is taken as the directory \fIname\fR even if it begins with '\-'. (+)
 .PP
 See also the \fBimplicitcd\fR shell variable.
 .RE
@@ -2562,7 +2595,7 @@
 .br
 \&'n/\-name/f/' 'n/\-newer/f/' 'n/\-{,n}cpio/f/' \e
 .br
-\'n/\-exec/c/' 'n/\-ok/c/' 'n/\-user/u/' \e
+\&\'n/\-exec/c/' 'n/\-ok/c/' 'n/\-user/u/' \e
 .br
 \&'n/\-group/g/' 'n/\-fstype/(nfs 4.2)/' \e
 .br
@@ -2814,7 +2847,7 @@
 signal and arranges for the shell to send it a hangup signal when the shell
 exits.
 Note that commands may set their own response to hangups, overriding \fIhup\fR.
-Without an argument (allowed in only a shell script), causes the shell to
+Without an argument, causes the non-interactive shell only to
 exit on a hangup for the remainder of the script.
 See also \fBSignal handling\fR and the \fInohup\fR builtin command.
 .TP 8
@@ -2914,6 +2947,14 @@
 the maximum amount of physical memory a process
 may have allocated to it at a given time
 .TP
+\fIvmemoryuse\fR
+the maximum amount of virtual memory a process
+may have allocated to it at a given time (address space)
+.TP
+\fIvmemoryuse\fR
+the maximum amount of virtual memory a process
+may have allocated to it at a given time
+.TP
 \fIheapsize\fR
 the maximum amount of memory a process
 may allocate per \fIbrk()\fR system call
@@ -2932,15 +2973,40 @@
 .TP
 \fIsbsize\fR
 the maximum size of socket buffer usage for this user
+.TP
+\fIswapsize\fR
+the maximum amount of swap space reserved or used for this user
+.TP
+\fImaxlocks\fR
+the maximum number of locks for this user
+.TP
+\fImaxsignal\fR
+the maximum number of pending signals for this user
+.TP
+\fImaxmessage\fR
+the maximum number of bytes in POSIX mqueues for this user
+.TP
+\fImaxnice\fR
+the maximum nice priority the user is allowed to raise mapped from [19...-20]
+to [0...39] for this user
+.TP
+\fImaxrtprio\fR
+the maximum realtime priority for this user
+\fImaxrttime\fR
+the timeout for RT tasks in microseconds for this user.
 .PP
 \fImaximum-use\fR may be given as a (floating point or
 integer) number followed by a scale factor.  For all limits
 other than \fIcputime\fR the default scale is `k' or `kilobytes'
-(1024 bytes); a scale factor of `m' or `megabytes' may also
-be used.  For \fIcputime\fR the default scaling is `seconds',
+(1024 bytes); a scale factor of `m' or `megabytes' or `g' or `gigabytes'
+may also be used.  For \fIcputime\fR the default scaling is `seconds',
 while `m' for minutes or `h' for hours, or a time of the
 form `mm:ss' giving minutes and seconds may be used.
 .PP
+If \fImaximum-use\fR  is `unlimited',
+then the limitation on the specified \fIresource\fR
+is removed (this is equivalent to the \fIunlimit\fR builtin command).
+.PP
 For both \fIresource\fR names and scale factors, unambiguous
 prefixes of the names suffice.
 .RE
@@ -3021,7 +3087,7 @@
 so `alias ls ls\-F' generally does the right thing.
 .PP
 The \fBls\-F\fR builtin can list files using different colors depending on the
-filetype or extension.  See the \fBcolor\fR \fItcsh\fR variable and the
+filetype or extension.  See the \fBcolor\fR shell variable and the
 \fBLS_COLORS\fR environment variable.
 .RE
 .PP
@@ -3037,7 +3103,7 @@
 does not like to lose its tty.  (TCF only)
 .PD
 .TP 8
-.B newgrp \fR[\fB\-\fR] \fIgroup\fR (+)
+.B newgrp \fR[\fB\-\fR] \fI[group]\fR (+)
 Equivalent to `exec newgrp'; see \fInewgrp\fR(1).
 Available only if the shell was so compiled;
 see the \fBversion\fR shell variable.
@@ -3055,7 +3121,7 @@
 .B nohup \fR[\fIcommand\fR]
 With \fIcommand\fR, runs \fIcommand\fR such that it will ignore hangup signals.
 Note that commands may set their own response to hangups, overriding \fInohup\fR.
-Without an argument (allowed in only a shell script), causes the shell to
+Without an argument, causes the non-interactive shell only to
 ignore hangups for the remainder of the script.
 See also \fBSignal handling\fR and the \fIhup\fR builtin command.
 .TP 8
@@ -3118,11 +3184,12 @@
 .B rehash
 Causes the internal hash table of the contents of the
 directories in the \fBpath\fR variable to be recomputed.  This is
-needed if new commands are added to directories in \fBpath\fR
-while you are logged in.  This should be necessary only if
-you add commands to one of your own directories, or if a
-systems programmer changes the contents of one of the
-system directories.  Also flushes the cache of home directories
+needed if the \fBautorehash\fR shell variable is not set and new
+commands are added to directories in \fBpath\fR while you are logged
+in.  With \fBautorehash\fR, a new command will be found
+automatically, except in the special case where another command of
+the same name which is located in a different directory already
+exists in the hash table.  Also flushes the cache of home directories
 built by tilde expansion.
 .TP 8
 .B repeat \fIcount command
@@ -3217,14 +3284,13 @@
 The third form sets \fIname\fR to the single \fIword\fR.
 The fourth form sets \fIname\fR to the list of words in
 \fIwordlist\fR.  In all cases the value is command and filename expanded.
-If \-r is specified, the value is set read-only.  If \-f or \-l are
-specified, set only unique words keeping their order.
-\-f prefers the first occurrence of a word, and \-l the last.
-The fifth form sets the \fIindex\fR'th component of name to \fIword\fR;
+If \fB\-r\fR is specified, the value is set read-only.  If \fB\-f\fR or
+\fB\-l\fR are specified, set only unique words keeping their order.
+\fB\-f\fR prefers the first occurrence of a word, and \fB\-l\fR the last.
+The fifth form sets the \fIindex\fR'th component of \fIname\fR to \fIword\fR;
 this component must already exist.
 The sixth form lists only the names of all shell variables that are read-only.
 The seventh form makes \fIname\fR read-only, whether or not it has a value.
-The second form sets \fIname\fR to the null string.
 The eighth form is the same as the third form, but
 make \fIname\fR read-only at the same time.
 .PD
@@ -3360,7 +3426,7 @@
 022, giving read and execute access to the group and others.
 Without \fIvalue\fR, prints the current file creation mask.
 .TP 8
-.B unalias \fIpattern
+.B unalias \fIpattern\fR
 .br
 Removes all aliases whose names match \fIpattern\fR.
 `unalias *' thus removes all aliases.
@@ -3590,8 +3656,8 @@
 The first word is the number of minutes of inactivity before automatic
 logout.  The optional second word is the number of minutes of inactivity
 before automatic locking.
-When the shell automatically logs out,
-it prints `auto-logout', sets the variable logout to `automatic' and exits.
+When the shell automatically logs out, it prints `auto-logout', sets the
+variable \fBlogout\fR to `automatic' and exits.
 When the shell automatically locks, the user is required to enter his password
 to continue working.  Five incorrect attempts result in automatic logout.
 Set to `60' (automatic logout after 60 minutes, and no locking) by default
@@ -3601,6 +3667,14 @@
 \fBversion\fR shell variable).
 See also the \fBafsuser\fR and \fBlogout\fR shell variables.
 .TP 8
+.B autorehash \fR(+)
+If set, the internal hash table of the contents of the directories in the
+\fBpath\fR variable will be recomputed if a command is not found in the hash
+table.  In addition, the list of available commands will be rebuilt for each
+command completion or spelling correction attempt if set to `complete' or
+`correct' respectively; if set to `always', this will be done for both
+cases.
+.TP 8
 .B backslash_quote \fR(+)
 If set, backslashes (`\\') always quote `\\', `'', and `"'.  This may make
 complex quoting tasks easier, but it can cause syntax errors in \fIcsh\fR(1)
@@ -3633,10 +3707,15 @@
 \fIcsh\fR.
 .TP 8
 .B complete \fR(+)
-If set to `enhance', completion 1) ignores case and 2) considers
-periods, hyphens and underscores (`.', `\-' and `_') to be word
-separators and hyphens and underscores to be equivalent. If set to
-`igncase', the completion becomes case insensitive.
+If set to `igncase', the completion becomes case insensitive.
+If set to `enhance', completion ignores case and considers
+hyphens and underscores to be equivalent; it will also treat
+periods, hyphens and underscores (`.', `\-' and `_') as word
+separators.
+If set to `Enhance', completion matches uppercase and underscore
+characters explicitly and matches lowercase and hyphens in a
+case-insensivite manner; it will treat periods, hypens and underscores
+as word separators.
 .TP 8
 .B continue \fR(+)
 If set to a list of commands, the shell will continue the listed
@@ -3683,7 +3762,7 @@
 See also the \fBcwd\fR and \fBowd\fR shell variables.
 .TP 8
 .B dspmbyte \fR(+)
-Has an affect iff 'dspm' is listed as part of the \fBversion\fR shell variable.
+Has an effect iff 'dspm' is listed as part of the \fBversion\fR shell variable.
 If set to `euc', it enables display and editing EUC-kanji(Japanese) code.
 If set to `sjis', it enables display and editing Shift-JIS(Japanese) code.
 If set to `big5', it enables display and editing Big5(Chinese) code.
@@ -3709,12 +3788,12 @@
   3 ... used for both the first byte and second byte of a multi-byte character.
 .\" SHK: I tried my best to get the following to be grammatically correct.
 .\" However, I still don't understand what's going on here.  In the
- \" following example, there are three bytes, but the text seems to refer to
- \" each nybble as a character.  What's going on here?  It this 3-byte code
- \" in the table?  The text above seems to imply that there are 256
- \" characters/bytes in the table.  If I get some more info on this (perhaps
- \" a complete example), I could fix the text to be grammatically correct.
- \" ([email protected] 1999/09/13)
+.\" following example, there are three bytes, but the text seems to refer to
+.\" each nybble as a character.  What's going on here?  It this 3-byte code
+.\" in the table?  The text above seems to imply that there are 256
+.\" characters/bytes in the table.  If I get some more info on this (perhaps
+.\" a complete example), I could fix the text to be grammatically correct.
+.\" ([email protected] 1999/09/13)
 .PP
   Example:
 .br
@@ -3782,6 +3861,12 @@
 shell variable) indicate skipped directories with an ellipsis (`...')
 instead of `/<skipped>'.
 .TP 8
+.B euid \fR(+)
+The user's effective user ID.
+.TP 8
+.B euser \fR(+)
+The first matching passwd entry name corresponding to the effective user ID.
+.TP 8
 .B fignore \fR(+)
 Lists file name suffixes to be ignored by completion.
 .TP 8
@@ -3795,6 +3880,22 @@
 .B gid \fR(+)
 The user's real group ID.
 .TP 8
+.B globdot \fR(+)
+If set, wild-card glob patterns will match files and directories beginning
+with `.' except for `.' and `..'
+.TP 8
+.B globstar \fR(+)
+If set, the `**' and `***' file glob patterns will match any string of 
+characters including `/' traversing any existing sub-directories.  (e.g. 
+`ls **.c' will list all the .c files in the current directory tree).
+If used by itself, it will match match zero or more sub-directories
+(e.g. `ls /usr/include/**/time.h' will list any file named `time.h'
+in the /usr/include directory tree; whereas `ls /usr/include/**time.h'
+will match any file in the /usr/include directory tree ending in `time.h').
+To prevent problems with recursion, the `**' glob-pattern will not 
+descend into a symbolic link containing a directory.  To override this,
+use `***'
+.TP 8
 .B group \fR(+)
 The user's group name.
 .TP 8
@@ -3802,7 +3903,7 @@
 If set, the incremental search match (in \fIi-search-back\fR and
 \fIi-search-fwd\fR) and the region between the mark and the cursor are
 highlighted in reverse video.
-
+.IP "" 8
 Highlighting requires more frequent terminal writes, which introduces extra
 overhead. If you care about terminal performance, you may want to leave this
 unset.
@@ -3926,13 +4027,12 @@
 shell variable.
 .TP 8
 .B mail
-The names of the files or directories to check for incoming mail,
-separated by whitespace, and optionally preceded by a numeric word.
-Before each prompt, if 10 minutes have passed since the last check, the
-shell checks each file and says `You have new mail.' (or, if \fBmail\fR
-contains multiple files, `You have new mail in \fIname\fR.') if the
-filesize is greater than zero in size and has a modification time
-greater than its access time.
+A list of files and directories to check for incoming mail, optionally
+preceded by a numeric word.  Before each prompt, if 10 minutes have
+passed since the last check, the shell checks each file and says `You
+have new mail.' (or, if \fBmail\fR contains multiple files, `You have
+new mail in \fIname\fR.') if the filesize is greater than zero in size
+and has a modification time greater than its access time.
 .PP
 .RS +8
 .PD
@@ -4011,7 +4111,12 @@
 .TP 8
 .B padhour
 If set, enable the printing of padding '0' for hours, in 24 and 12 hour
-formats.  E.G.: 07:45:42 vs. 7:45:42
+formats.  E.G.: 07:45:42 vs. 7:45:42.
+.TP 8
+.B parseoctal
+To retain compatibily with older versions numeric variables starting with
+0 are not interpreted as octal. Setting this variable enables proper octal
+parsing.
 .TP 8
 .B path
 A list of directories in which to look for executable commands.
@@ -4105,6 +4210,9 @@
 %n
 The user name.
 .TP 4
+%N
+The effective user name.
+.TP 4
 %j
 The number of jobs.
 .TP 4
@@ -4249,7 +4357,14 @@
 See also \fBloginsh\fR.
 .TP 8
 .B status
-The status returned by the last command.  If it terminated
+The status returned by the last command, unless the variable
+.B anyerror
+is set, and any error in a pipeline or a backquote expansion will be
+propagated (this is the default
+.B csh
+behavior, and the current
+.B tcsh
+default). If it terminated
 abnormally, then 0200 is added to the status.  Builtin commands
 which fail return exit status `1', all other builtin commands
 return status `0'.
@@ -4992,7 +5107,7 @@
 variables.
 .PP
 A new syntax for including useful information in the prompt string
-(see \fBprompt\fR).
+(see \fBprompt\fR),
 and special prompts for loops and spelling correction
 (see \fBprompt2\fR and \fBprompt3\fR).
 .PP
@@ -5017,8 +5132,7 @@
 Alias substitution is most often used to clumsily simulate shell procedures;
 shell procedures should be provided rather than aliases.
 .PP
-Commands within loops are not placed in the history
-list.  Control structures should be parsed rather than being recognized as
+Control structures should be parsed rather than being recognized as
 built-in commands.  This would allow control commands to be placed anywhere,
 to be combined with `|', and to be used with `&' and `;' metasyntax.
 .PP
@@ -5092,7 +5206,7 @@
 malloc(3C), setlocale(3C), tty(7D), a.out(4), terminfo(4), environ(5),
 termio(7I), Introduction to the C Shell
 .SH VERSION
-This manual documents tcsh 6.17.00 (Astron) 2009-07-10.
+This manual documents tcsh 6.18.01 (Astron) 2012-02-14.
 .SH AUTHORS
 .PD 0
 .TP 2
--- a/components/tcsh/patches/001.config_f.h.patch	Tue Jan 14 08:01:05 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-*** tcsh-6.17.00/config_f.h.orig	Thu Aug 20 12:31:33 2009
---- tcsh-6.17.00/config_f.h	Thu Aug 20 12:31:42 2009
-***************
-*** 131,137 ****
-   *		variable "mbytemap".
-   *		(use for multi-byte table check)
-   */
-! #undef MBYTEDEBUG
-  
-  /*
-   * NEWGRP	Provide a newgrp builtin.
---- 131,137 ----
-   *		variable "mbytemap".
-   *		(use for multi-byte table check)
-   */
-! #define MBYTEDEBUG
-  
-  /*
-   * NEWGRP	Provide a newgrp builtin.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/tcsh/patches/001.gethost.c.patch	Thu Jan 16 06:52:45 2014 -0800
@@ -0,0 +1,91 @@
+RCS file: /p/tcsh/cvsroot/tcsh/gethost.c,v
+retrieving revision 1.15
+diff -u -u -r1.15 gethost.c
+--- tcsh-6.18.01/gethost.c.orig	15 Jan 2012 17:14:54 -0000	1.15
++++ tcsh-6.18.01/gethost.c	4 Jan 2013 22:20:19 -0000
[email protected]@ -150,11 +150,17 @@
+ 	char *r;
+ 
+ 	if (len == 0)
+-		len = strlen(b);
+-	l = strlen(a) + len + 1;
++		len = strlen(b) + 1;
++	if (a)
++	    l = strlen(a) + len;
++	else
++	    l = len;
+ 	if ((r = malloc(l)) == NULL)
+ 		abort();
+-	snprintf(r, l, "%s%.*s", a, (int)len, b);
++	if (a)
++	    snprintf(r, l, "%s%.*s", a, (int)len, b);
++	else
++	    snprintf(r, l, "%.*s", (int)len, b);
+ 	return r;
+ }
+ 
[email protected]@ -171,13 +177,15 @@
+ 		return defs;
+ 
+ 	free(buf);
+-	buf = strdup("("); /* ) */
++	buf = NULL;
+ 	for (ptr = defs; (bptr = strstr(ptr, def)) != NULL; ptr = eptr + 1) {
+ 		if (ptr != bptr)
+ 			buf = cat(buf, ptr, bptr - ptr);
++		buf = cat(buf, "(", 0); /* ) */
+ 		if ((eptr = strchr(ptr + sizeof(def) - 1, ')')) == NULL) {
+ 			(void) fprintf(stderr, "%s: missing close paren `%s'\n",
+ 			    pname, defs);
++			free(buf);
+ 			return defs;
+ 		}
+ 		buf = cat(buf, bptr, eptr - bptr + 1);
[email protected]@ -186,26 +194,29 @@
+ 		if (len < 1) {
+ 			(void) fprintf(stderr, "%s: empty define `%s'\n",
+ 			    pname, defs);
++			free(buf);
+ 			return defs;
+ 		}
+ 		if (*name != '_') {
+ 			char *undername = malloc(len + 10);
+-			buf = cat(buf, " || defined(", 0);
++			if (undername == NULL)
++				abort();
++			buf = cat(buf, ") || defined(", 0);
+ 			snprintf(undername, len + 10, "__%.*s__)", (int)len,
+ 			    name);
+ 			buf = cat(buf, undername, len + 5);
+-			buf = cat(buf, " || defined(", 0);
++			buf = cat(buf, ") || defined(", 0);
+ 			snprintf(undername, len + 10, "__%.*s)", (int)len,
+ 			    name);
+ 			buf = cat(buf, undername, len + 3);
+ 		}
++		buf = cat(buf, "))", 0);
+ 	}
+ 	if (!eptr) {
+ 	    (void) fprintf(stderr, "%s: invalid input `%s'\n", pname, defs);
+ 	    return defs;
+         }
+ 	buf = cat(buf, eptr + 1, 0);
+-	buf = cat(buf, ")", 0);
+ 	return buf;
+ }
+ 
+
+RCS file: /p/tcsh/cvsroot/tcsh/gethost.c,v
+retrieving revision 1.16
+diff -u -r1.16 gethost.c
+--- tcsh-6.18.01/gethost.c.orig	4 Jan 2013 22:20:37 -0000	1.16
++++ tcsh-6.18.01/gethost.c	5 Jan 2013 01:22:56 -0000
[email protected]@ -180,7 +180,7 @@
+ 	buf = NULL;
+ 	for (ptr = defs; (bptr = strstr(ptr, def)) != NULL; ptr = eptr + 1) {
+ 		if (ptr != bptr)
+-			buf = cat(buf, ptr, bptr - ptr);
++			buf = cat(buf, ptr, bptr - ptr + 1);
+ 		buf = cat(buf, "(", 0); /* ) */
+ 		if ((eptr = strchr(ptr + sizeof(def) - 1, ')')) == NULL) {
+ 			(void) fprintf(stderr, "%s: missing close paren `%s'\n",
--- a/components/tcsh/patches/002.sol-8bit.patch	Tue Jan 14 08:01:05 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-diff -ru tcsh-6.17.00-orig/sh.c tcsh-6.17.00/sh.c
---- tcsh-6.17.00-orig/sh.c	2009-06-25 23:15:37.000000000 +0200
-+++ tcsh-6.17.00/sh.c	2009-09-10 15:38:50.703642142 +0200
[email protected]@ -336,12 +336,14 @@
-     fix_strcoll_bug();
- # endif /* STRCOLLBUG */
- 
--    {
-+    if (MB_CUR_MAX == 1) {
- 	int     k;
- 
--	for (k = 0200; k <= 0377 && !Isprint(CTL_ESC(k)); k++)
-+	for (k = 0200; k <= 0377 && !isprint(CTL_ESC(k)); k++)
- 	    continue;
--	AsciiOnly = MB_CUR_MAX == 1 && k > 0377;
-+	AsciiOnly = k > 0377;
-+    } else {
-+	AsciiOnly = 0;
-     }
- #else
-     AsciiOnly = getenv("LANG") == NULL && getenv("LC_CTYPE") == NULL;
--- a/components/tcsh/patches/003.locale.patch	Tue Jan 14 08:01:05 2014 -0800
+++ b/components/tcsh/patches/003.locale.patch	Thu Jan 16 06:52:45 2014 -0800
@@ -1,97 +1,15 @@
---- tcsh-6.17.00/sh.c.orig	Tue Sep 22 13:39:07 2009
-+++ tcsh-6.17.00/sh.c	Wed Sep 23 00:46:27 2009
[email protected]@ -160,6 +160,52 @@
- 
- 	int		  main		(int, char **);
+--- tcsh-6.18.01/configure.in.orig	Wed Sep  5 11:52:15 2012
++++ tcsh-6.18.01/configure.in	Wed Sep  5 11:52:40 2012
[email protected]@ -303,7 +303,6 @@
+ AC_SEARCH_LIBS(gethostbyname, nsl)
+ AC_SEARCH_LIBS(connect, socket)
+ AC_SEARCH_LIBS(catgets, catgets)
+-AM_ICONV
  
-+#ifndef LOCALEDIR
-+#define LOCALEDIR "/usr/share/locale"
-+#endif
-+
-+static void
-+add_localedir_to_nslpath(char *path)
-+{
-+    char *old = getenv("NLSPATH");
-+    char *new;
-+    int len = 0;
-+
-+    if (path == NULL)
-+        return;
-+
-+    if (old != NULL)
-+        len += strlen(old);
-+
-+#if !defined(HAVE_SETENV)
-+    len += sizeof ("NLSPATH=");
-+#endif
-+
-+    len += (strlen(path) + sizeof ("/%L/LC_MESSAGES/%N.cat"));
-+
-+    if ((new = calloc(len, 1)) == NULL)
-+        return;
-+
-+#if !defined(HAVE_SETENV)
-+    strcpy(new, "NLSPATH=");
-+#endif
-+
-+    if (old != NULL) {
-+        strncat(new, old, len);
-+        strncat(new, ":", len);
-+    }
-+
-+    strncat(new, path, len);
-+    strncat(new, "/%L/LC_MESSAGES/%N.cat", len);
-+
-+#if defined(HAVE_SETENV)
-+    setenv("NLSPATH", new, 1);
-+    free(new);
-+#else
-+    putenv(new);
-+#endif
-+}
-+
- int
- main(int argc, char **argv)
- {
[email protected]@ -192,6 +238,8 @@
- # endif /* LC_CTYPE */
- #endif /* NLS */
- 
-+    add_localedir_to_nslpath(LOCALEDIR);
-+
-     nlsinit();
- 
- #ifdef MALLOC_TRACE
---- tcsh-6.17.00/nls/Makefile.in.orig	Wed Oct  7 13:25:44 2009
-+++ tcsh-6.17.00/nls/Makefile.in	Wed Oct  7 13:31:57 2009
[email protected]@ -0,0 +1,24 @@
-+# $tcsh: Makefile,v 1.14 2006/03/02 18:46:45 christos Exp $
-+
-+LOCALES=	C et finnish french german greek italian ja pl russian \
-+		spanish ukrainian
-+GENCAT=		gencat
-+INSTALL=	ginstall
-+
-+CATALOGS=$(LOCALES:%=%.cat)
-+INSTALLED=$(LOCALES:%[email protected]@/%/LC_MESSAGES/tcsh.cat)
-+
-+all:	$(CATALOGS)
-+
-+install:	$(INSTALLED)
-+
[email protected]@/%/LC_MESSAGES/tcsh.cat:	%.cat
-+	mkdir -p $(@D)
-+	$(INSTALL) $< [email protected]
-+
-+%.cat:
-+	$(GENCAT) [email protected] $(@:%.cat=%)/*set*
-+
-+clean:
-+	$(RM) $(CATALOGS)
-+
-
---- tcsh-6.17.00/Makefile.in.orig	Wed Jun 24 15:09:05 2009
-+++ tcsh-6.17.00/Makefile.in	Wed Oct  7 14:19:01 2009
+ dnl Checks for header files
+ AC_CHECK_HEADERS([auth.h crypt.h features.h inttypes.h paths.h] dnl
+--- tcsh-6.18.01/Makefile.in.orig	Wed Sep  5 11:56:12 2012
++++ tcsh-6.18.01/Makefile.in	Wed Sep  5 11:57:51 2012
 @@ -12,6 +12,7 @@
  BUILD=tcsh$(EXEEXT)
  [email protected]@
@@ -100,18 +18,15 @@
  
  ################################################################
  ## CFLAGS.  For various -D things, see config.h
[email protected]@ -137,8 +138,10 @@
[email protected]@ -145,6 +146,7 @@
  #DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"'
  ## The following is set by autoconf.
  DFLAGS = -D_PATH_TCSHELL='"${bindir}/tcsh"' @[email protected] @[email protected]
 +DFLAGS += -DLOCALEDIR='"${localedir}"'
  
  
-+
  ################################################################
- ## LDFLAGS.  Define something here if you need to
- ################################################################
[email protected]@ -231,7 +234,7 @@
[email protected]@ -296,7 +298,7 @@
  #
  
  EXTRAFLAGS = @[email protected] $(AFSDEF)
@@ -120,21 +35,34 @@
  
  
  
---- tcsh-6.17.00/configure.in	Fri Jul 10 10:13:56 2009
-+++ tc/configure.in	Wed Oct  7 14:21:21 2009
[email protected]@ -281,7 +281,6 @@
- AC_SEARCH_LIBS(tgetent, termlib termcap curses ncurses)
- AC_SEARCH_LIBS(gethostbyname, nsl)
- AC_SEARCH_LIBS(connect, socket)
--AM_ICONV
+--- tcsh-6.18.01/sh.c.orig	Thu Nov 15 14:26:18 2012
++++ tcsh-6.18.01/sh.c	Thu Nov 15 14:26:37 2012
[email protected]@ -175,17 +175,10 @@
+     size_t len;
+     int add_LOC = 1;
+     int add_lang = 1;
+-    char trypath[MAXPATHLEN];
+-    struct stat st;
+ 
+     if (path == NULL)
+         return;
  
- dnl Checks for header files
- AC_CHECK_HEADERS([auth.h crypt.h inttypes.h shadow.h stdint.h utmp.h utmpx.h])
[email protected]@ -440,5 +440,5 @@
- AC_SUBST(HESDEF)
- AC_SUBST(HESLIB)
+-    (void) xsnprintf(trypath, sizeof(trypath), "%s/en/LC_MESSAGES/tcsh.cat",
+-	path);
+-    if (stat(trypath, &st) == -1)
+-	return;
+-
+     if ((old = getenv("NLSPATH")) != NULL)
+         len = strlen(old) + 1;	/* don't forget the colon. */
+     else
+--- tcsh-6.18.01/sh.func.c.orig	Mon Dec  3 13:09:33 2012
++++ tcsh-6.18.01/sh.func.c	Mon Dec  3 13:09:54 2012
[email protected]@ -2627,6 +2627,8 @@
  
--AC_CONFIG_FILES([Makefile])
-+AC_CONFIG_FILES([Makefile nls/Makefile])
- AC_OUTPUT
-
+     if (adrof(STRcatalog) != NULL)
+ 	catalog = xasprintf("tcsh.%s", short2str(varval(STRcatalog)));
++/* for compatibility */
++#undef NL_CAT_LOCALE
+ #ifdef NL_CAT_LOCALE /* POSIX-compliant. */
+     /*
+      * Check if LC_MESSAGES is set in the environment and use it, if so.
--- a/components/tcsh/patches/004.tcsh-6.14.00-avoid_null_for_cwd.patch	Tue Jan 14 08:01:05 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff -up tcsh-6.14.00/sh.proc.c.orig tcsh-6.14.00/sh.proc.c
---- tcsh-6.14.00/sh.proc.c.orig	2010-09-08 10:31:31.000000000 +0200
-+++ tcsh-6.14.00/sh.proc.c	2010-09-08 10:48:07.996573506 +0200
[email protected]@ -396,7 +396,7 @@ found:
- #ifdef notdef
- 		jobflags & PAEXITED ||
- #endif /* notdef */
--		!eq(dcwd->di_name, fp->p_cwd->di_name))) {
-+		fp->p_cwd == NULL || !eq(dcwd->di_name, fp->p_cwd->di_name))) {
- 	    /* PWP: print a newline after ^C */
- 		if (jobflags & PINTERRUPTED) {
- #ifdef SHORT_STRINGS
--- a/components/tcsh/tcsh.license	Tue Jan 14 08:01:05 2014 -0800
+++ b/components/tcsh/tcsh.license	Thu Jan 16 06:52:45 2014 -0800
@@ -1,9 +1,3 @@
-----------------
-- tcsh 6.17.00 -
-----------------
-
-Oracle Internal Tracking Number 5688
-
 /*-
  * Copyright (c) 1980, 1991 The Regents of the University of California.
  * All rights reserved.
--- a/components/tcsh/tcsh.p5m	Tue Jan 14 08:01:05 2014 -0800
+++ b/components/tcsh/tcsh.p5m	Thu Jan 16 06:52:45 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011. 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
@@ -27,6 +27,8 @@
 set name=pkg.description \
     value="C shell with file name completion and command line editing"
 set name=pkg.summary value="Tenex C-shell (tcsh)"
+set name=com.oracle.info.description value="tcsh, the Tenex C-shell"
+set name=com.oracle.info.tpno value=5688
 set name=info.classification value=org.opensolaris.category.2008:System/Shells
 set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)