aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Peek <mp@FreeBSD.org>2001-09-05 17:49:32 +0000
committerMark Peek <mp@FreeBSD.org>2001-09-05 17:49:32 +0000
commit6767bd61d2a712aa8c1df05b77201db4e0fb7dc7 (patch)
tree836fb15b752f30ac10f0e8bc35125091d7a821a3
parent28ae2e3a2b66b61dfa06a9c7b6450135a95038f3 (diff)
downloadsrc-6767bd61d2a712aa8c1df05b77201db4e0fb7dc7.tar.gz
src-6767bd61d2a712aa8c1df05b77201db4e0fb7dc7.zip
Import tcsh-6.11
Notes
Notes: svn path=/vendor/tcsh/dist/; revision=83098
-rw-r--r--contrib/tcsh/FAQ339
-rw-r--r--contrib/tcsh/Fixes44
-rw-r--r--contrib/tcsh/Imakefile6
-rw-r--r--contrib/tcsh/Makefile.ADMIN20
-rw-r--r--contrib/tcsh/Makefile.in4
-rw-r--r--contrib/tcsh/Makefile.std4
-rw-r--r--contrib/tcsh/Makefile.vms4
-rw-r--r--contrib/tcsh/README2
-rw-r--r--contrib/tcsh/RELEASE-PROCEDURE27
-rw-r--r--contrib/tcsh/WishList105
-rw-r--r--contrib/tcsh/complete.tcsh112
-rwxr-xr-xcontrib/tcsh/config.guess389
-rwxr-xr-xcontrib/tcsh/config.sub345
-rw-r--r--contrib/tcsh/config/bsd4.41
-rwxr-xr-xcontrib/tcsh/configure99
-rw-r--r--contrib/tcsh/configure.in7
-rw-r--r--contrib/tcsh/ed.chared.c423
-rw-r--r--contrib/tcsh/ed.decls.h4
-rw-r--r--contrib/tcsh/ed.defns.c58
-rw-r--r--contrib/tcsh/ed.h9
-rw-r--r--contrib/tcsh/ed.init.c30
-rw-r--r--contrib/tcsh/ed.term.c21
-rw-r--r--contrib/tcsh/ed.xmap.c7
-rw-r--r--contrib/tcsh/glob.3580
-rw-r--r--contrib/tcsh/glob.h74
-rw-r--r--contrib/tcsh/host.defs20
-rw-r--r--contrib/tcsh/nls/C/set174
-rw-r--r--contrib/tcsh/nls/C/set39
-rw-r--r--contrib/tcsh/nls/Makefile3
-rw-r--r--contrib/tcsh/nls/et/set1140
-rw-r--r--contrib/tcsh/nls/et/set108
-rw-r--r--contrib/tcsh/nls/et/set1110
-rw-r--r--contrib/tcsh/nls/et/set124
-rw-r--r--contrib/tcsh/nls/et/set1313
-rw-r--r--contrib/tcsh/nls/et/set146
-rw-r--r--contrib/tcsh/nls/et/set157
-rw-r--r--contrib/tcsh/nls/et/set1613
-rw-r--r--contrib/tcsh/nls/et/set1716
-rw-r--r--contrib/tcsh/nls/et/set184
-rw-r--r--contrib/tcsh/nls/et/set1915
-rw-r--r--contrib/tcsh/nls/et/set2111
-rw-r--r--contrib/tcsh/nls/et/set2041
-rw-r--r--contrib/tcsh/nls/et/set215
-rw-r--r--contrib/tcsh/nls/et/set2217
-rw-r--r--contrib/tcsh/nls/et/set2334
-rw-r--r--contrib/tcsh/nls/et/set244
-rw-r--r--contrib/tcsh/nls/et/set256
-rw-r--r--contrib/tcsh/nls/et/set2615
-rw-r--r--contrib/tcsh/nls/et/set278
-rw-r--r--contrib/tcsh/nls/et/set294
-rw-r--r--contrib/tcsh/nls/et/set3124
-rw-r--r--contrib/tcsh/nls/et/set3016
-rw-r--r--contrib/tcsh/nls/et/set317
-rw-r--r--contrib/tcsh/nls/et/set445
-rw-r--r--contrib/tcsh/nls/et/set54
-rw-r--r--contrib/tcsh/nls/et/set611
-rw-r--r--contrib/tcsh/nls/et/set730
-rw-r--r--contrib/tcsh/nls/et/set85
-rw-r--r--contrib/tcsh/nls/et/set912
-rw-r--r--contrib/tcsh/nls/finnish/set225
-rw-r--r--contrib/tcsh/nls/finnish/set310
-rw-r--r--contrib/tcsh/nls/finnish/set304
-rw-r--r--contrib/tcsh/nls/french/set39
-rw-r--r--contrib/tcsh/nls/german/set103
-rw-r--r--contrib/tcsh/nls/german/set39
-rw-r--r--contrib/tcsh/nls/greek/set310
-rw-r--r--contrib/tcsh/nls/italian/set39
-rw-r--r--contrib/tcsh/nls/pl/README3
-rw-r--r--contrib/tcsh/nls/pl/set1bin0 -> 4383 bytes
-rw-r--r--contrib/tcsh/nls/pl/set108
-rw-r--r--contrib/tcsh/nls/pl/set1110
-rw-r--r--contrib/tcsh/nls/pl/set124
-rw-r--r--contrib/tcsh/nls/pl/set1313
-rw-r--r--contrib/tcsh/nls/pl/set146
-rw-r--r--contrib/tcsh/nls/pl/set157
-rw-r--r--contrib/tcsh/nls/pl/set1613
-rw-r--r--contrib/tcsh/nls/pl/set1716
-rw-r--r--contrib/tcsh/nls/pl/set184
-rw-r--r--contrib/tcsh/nls/pl/set1915
-rw-r--r--contrib/tcsh/nls/pl/set2111
-rw-r--r--contrib/tcsh/nls/pl/set2041
-rw-r--r--contrib/tcsh/nls/pl/set215
-rw-r--r--contrib/tcsh/nls/pl/set2217
-rw-r--r--contrib/tcsh/nls/pl/set2334
-rw-r--r--contrib/tcsh/nls/pl/set244
-rw-r--r--contrib/tcsh/nls/pl/set256
-rw-r--r--contrib/tcsh/nls/pl/set2615
-rw-r--r--contrib/tcsh/nls/pl/set278
-rw-r--r--contrib/tcsh/nls/pl/set294
-rw-r--r--contrib/tcsh/nls/pl/set3bin0 -> 4928 bytes
-rw-r--r--contrib/tcsh/nls/pl/set3016
-rw-r--r--contrib/tcsh/nls/pl/set317
-rw-r--r--contrib/tcsh/nls/pl/set445
-rw-r--r--contrib/tcsh/nls/pl/set54
-rw-r--r--contrib/tcsh/nls/pl/set611
-rw-r--r--contrib/tcsh/nls/pl/set730
-rw-r--r--contrib/tcsh/nls/pl/set85
-rw-r--r--contrib/tcsh/nls/pl/set912
-rw-r--r--contrib/tcsh/nls/russian/set1140
-rw-r--r--contrib/tcsh/nls/russian/set108
-rw-r--r--contrib/tcsh/nls/russian/set1110
-rw-r--r--contrib/tcsh/nls/russian/set124
-rw-r--r--contrib/tcsh/nls/russian/set1313
-rw-r--r--contrib/tcsh/nls/russian/set146
-rw-r--r--contrib/tcsh/nls/russian/set157
-rw-r--r--contrib/tcsh/nls/russian/set1613
-rw-r--r--contrib/tcsh/nls/russian/set1716
-rw-r--r--contrib/tcsh/nls/russian/set184
-rw-r--r--contrib/tcsh/nls/russian/set1915
-rw-r--r--contrib/tcsh/nls/russian/set2111
-rw-r--r--contrib/tcsh/nls/russian/set2041
-rw-r--r--contrib/tcsh/nls/russian/set215
-rw-r--r--contrib/tcsh/nls/russian/set2217
-rw-r--r--contrib/tcsh/nls/russian/set2334
-rw-r--r--contrib/tcsh/nls/russian/set244
-rw-r--r--contrib/tcsh/nls/russian/set256
-rw-r--r--contrib/tcsh/nls/russian/set2615
-rw-r--r--contrib/tcsh/nls/russian/set278
-rw-r--r--contrib/tcsh/nls/russian/set294
-rw-r--r--contrib/tcsh/nls/russian/set3124
-rw-r--r--contrib/tcsh/nls/russian/set3016
-rw-r--r--contrib/tcsh/nls/russian/set317
-rw-r--r--contrib/tcsh/nls/russian/set445
-rw-r--r--contrib/tcsh/nls/russian/set54
-rw-r--r--contrib/tcsh/nls/russian/set611
-rw-r--r--contrib/tcsh/nls/russian/set730
-rw-r--r--contrib/tcsh/nls/russian/set85
-rw-r--r--contrib/tcsh/nls/russian/set912
-rw-r--r--contrib/tcsh/nls/spanish/set203
-rw-r--r--contrib/tcsh/nls/spanish/set39
-rw-r--r--contrib/tcsh/nls/ukrainian/set39
-rw-r--r--contrib/tcsh/patchlevel.h6
-rw-r--r--contrib/tcsh/sh.c17
-rw-r--r--contrib/tcsh/sh.char.c66
-rw-r--r--contrib/tcsh/sh.char.h3
-rw-r--r--contrib/tcsh/sh.decls.h3
-rw-r--r--contrib/tcsh/sh.dir.c6
-rw-r--r--contrib/tcsh/sh.dol.c8
-rw-r--r--contrib/tcsh/sh.func.c12
-rw-r--r--contrib/tcsh/sh.glob.c14
-rw-r--r--contrib/tcsh/sh.h10
-rw-r--r--contrib/tcsh/sh.proc.c46
-rw-r--r--contrib/tcsh/sh.sem.c20
-rw-r--r--contrib/tcsh/sh.set.c17
-rw-r--r--contrib/tcsh/sh.time.c7
-rw-r--r--contrib/tcsh/tc.const.c24
-rw-r--r--contrib/tcsh/tc.decls.h3
-rw-r--r--contrib/tcsh/tc.func.c66
-rw-r--r--contrib/tcsh/tc.printf.c6
-rw-r--r--contrib/tcsh/tcsh.man60
-rw-r--r--contrib/tcsh/tcsh.man2html6
-rw-r--r--contrib/tcsh/tw.color.c7
-rw-r--r--contrib/tcsh/tw.parse.c21
153 files changed, 4219 insertions, 983 deletions
diff --git a/contrib/tcsh/FAQ b/contrib/tcsh/FAQ
index 1a530b0d502b..59175c9885ab 100644
--- a/contrib/tcsh/FAQ
+++ b/contrib/tcsh/FAQ
@@ -1,215 +1,262 @@
-Last Updated:
-Fri Aug 25 13:27:45 EDT 2000
+ [Home] FAQ
-This is for people who do not read the manual!
+ Home | RecentChanges | Preferences
+ _________________________________________________________________
-So far people who don't read manuals don't read this either... I may
-call it README.*PLEASE* in the future, but then the same people won't
-be able to get ftp it... :-)
+ This is for people who do not read the manual!
-1. Why is the meta key broken in tcsh-5.20 and up?
+ So far people who don't read manuals don't read this either... I may
+ call it README.*PLEASE* in the future, but then the same people won't
+ be able to get ftp it... :-)
+ _________________________________________________________________
- On some machines the tty is not set up to pass 8 bit characters by default.
- Tcsh 5.19 used to try to determine if pass8 should be set by looking at
- the terminal's meta key. Unfortunately there is no good way of determining
- if the terminal can really pass 8 characters or not. Consider if you are
- logged in through a modem line with 7 bits and parity and your terminal
- has a meta key. Then tcsh 5.19 would set wrongly set pass8.
+ 1. Why is the meta key broken in tcsh-5.20 and up?
- If you did like the previous behavior you can add in /etc/csh.login, or
- in .login:
+ On some machines the tty is not set up to pass 8 bit characters by
+ default. Tcsh 5.19 used to try to determine if pass8 should be set by
+ looking at the terminal's meta key. Unfortunately there is no good way
+ of determining if the terminal can really pass 8 characters or not.
+ Consider if you are logged in through a modem line with 7 bits and
+ parity and your terminal has a meta key. Then tcsh 5.19 would set
+ wrongly set pass8.
+
+ If you did like the previous behavior you can add in /etc/csh.login,
+ or in .login:
if ( $?tcsh && $?prompt ) then
- if ( "`echotc meta`" == "yes" ) then
- stty pass8
- endif
+ if ( "`echotc meta`" == "yes" ) then
+ stty pass8
+ endif
endif
- If you don't have pass8, maybe something like
+ If you don't have pass8, maybe one of these would work..
- stty -parity -evenp -oddp cs8 -istrip (rs6000)
- or
- stty -parenb -istrip cs8
-
- would work..
+ stty -parity -evenp -oddp cs8 -istrip (rs6000)
+ stty -parenb -istrip cs8
- Finally, tcsh will bind all printable meta characters to the self
- insert command. If you don't want that to happen (i.e. use the printable
- meta characters for commands) setenv NOREBIND.
+ Finally, tcsh will bind all printable meta characters to the self
+ insert command. If you don't want that to happen (i.e. use the
+ printable meta characters for commands) setenv NOREBIND.
+ _________________________________________________________________
-2. I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in cbreak
- and no echo mode?
+ 2. I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in
+ cbreak and no echo mode?
- These programs are broken. Background jobs should not try to look at the
- tty. What happens is that dbxtool looks in stderr to inherit the tty
- setups, but tcsh sets up the tty in cbreak and -echo modes, so that it
- can do line editing. This cannot be fixed because tcsh cannot give away
- the tty. A work-around is:
+ These programs are broken. Background jobs should not try to look at
+ the tty. What happens is that dbxtool looks in stderr to inherit the
+ tty setups, but tcsh sets up the tty in cbreak and -echo modes, so
+ that it can do line editing. This cannot be fixed because tcsh cannot
+ give away the tty. Pick one of the following as a workaround:
dbxtool < /dev/null >& /dev/null &
- or
/usr/etc/setsid dbxtool &
- If that does not work, for dbxtool at least you can add "sh stty sane"
- in your .dbxinit
+ If that does not work, for dbxtool at least you can add "sh stty sane"
+ in your .dbxinit
+ _________________________________________________________________
+
+ 3. I tried to compile tcsh and it cannot find <locale.h>?
+
+ Your system does not support NLS. Undefine NLS in config_f.h and it
+ should work fine.
+ _________________________________________________________________
+
+ 4. Where can I get csh sources?
-3. I tried to compile tcsh and it cannot find <locale.h>?
+ Csh sources are now available with the 4.4BSD networking
+ distributions. You don't need csh sources to compile tcsh-6.0x.
+ _________________________________________________________________
- Your system does not support NLS. Undefine NLS in config_f.h and it
- should work fine.
+ 5. I just made tcsh my login shell, and I cannot ftp any more?
-4. Where can I get csh sources?
+ Newer versions of the ftp daemon check for the validity of the user's
+ shell before they allow logins. The list of valid login shells is
+ either hardcoded or it is usually in a file called /etc/shells. If it
+ is hard-coded, then you are out of luck and your best bet is to get a
+ newer version of ftpd. Otherwise add tcsh to the list of shells. [For
+ AIX this file is called /etc/security/login.cfg.] Remember that the
+ full path is required. If there is no /etc/shells, and you are
+ creating one, remember to add /bin/csh, /bin/sh, and any other valid
+ shells for your system, so that other people can ftp too :-)
+ _________________________________________________________________
- Csh sources are now available with the 4.4BSD networking distributions.
- You don't need csh sources to compile tcsh-6.0x.
+ 6. I am using SunView? or OpenWindows? and editing is screwed up. In
+ particular my arrow keys and backspace don't work right. What am I
+ doing wrong?
-5. I just made tcsh my login shell, and I cannot ftp any more?
+ Well, cmdtool tries to do its own command line editing and the effect
+ you get is one of using an editor inside an editor. Both try to
+ interpret the arrow key sequences and cmdtool wins since it gets them
+ first. The solutions are in my order of preference:
- Newer versions of the ftp daemon check for the validity of the
- user's shell before they allow logins. The list of valid login
- shells is either hardcoded or it is usually in a file called
- /etc/shells. If it is hard-coded, then you are out of luck and
- your best bet is to get a newer version of ftpd. Otherwise add
- tcsh to the list of shells. [For AIX this file is called
- /etc/security/login.cfg]. Remember that the full path is required.
- If there is no /etc/shells, and you are creating one, remember to
- add /bin/csh, /bin/sh, and any other valid shells for your system,
- so that other people can ftp too :-)
+ 1. Don't use suntools
+ 2. Use shelltool instead of cmdtool.
+ 3. Unset edit in tcsh.
-6. I am using SunView/OpenWindows and editing is screwed up. In
- particular my arrow keys and backspace don't work right. What
- am I doing wrong?
+ 6b. On a SPARCstation running Solaris 2.x and OpenWindows? 3.1, inside
+ a cmdtool, the short-cut key sequence to clear log (i.e. Meta-e or
+ Diamond-e) doesn't work: it just echos 'e'
- Well, cmdtool tries to do its own command line editing and the
- effect you get is one of using an editor inside an editor. Both
- try to interpret the arrow key sequences and cmdtool wins since
- it gets them first. The solutions are in my order of preference:
+ 6c. On a SPARCstation running Solaris 2.x and OpenWindows? 3.1,
+ maketool (within SPARCworks) doesn't work: it just does a `cd' to the
+ working directory then stops.
- 1 Don't use suntools
- 2 Use shelltool instead of cmdtool.
- 3 Unset edit in tcsh.
+ The workaround for 6b and 6c is doing "unset edit." Using shelltool
+ instead of cmdtool doesn't fix 6c.
+ _________________________________________________________________
-6b. On a SPARCstation running Solaris 2.x and OpenWindows 3.1,
- inside a cmdtool, the short-cut key sequence to clear log
- (i.e. Meta-e or Diamond-e) doesn't work: it just echos 'e'
+ 7. I rlogin to another machine, and then no matter what I tell 'stty'
+ I cannot get it to pass 8 bit characters?
-6c. On a SPARCstation running Solaris 2.x and OpenWindows 3.1,
- maketool (within SPARCworks) doesn't work: it just does
- a `cd' to the working directory then stops.
+ Maybe you need to use 'rlogin -8' to tell rlogin to pass 8 bit
+ characters.
+ _________________________________________________________________
- The workaround for 6b and 6c is doing "unset edit."
- Using shelltool instead of cmdtool doesn't fix 6c.
+ 8. Where do I get the public domain directory library?
-7. I rlogin to another machine, and then no matter what I tell 'stty'
- I cannot get it to pass 8 bit characters?
+ Anonymous ftp to prep.ai.mit.edu:/pub/gnu/dirent.tar.Z
+ _________________________________________________________________
- Maybe you need to use 'rlogin -8' to tell rlogin to pass 8
- bit characters.
+ 9. I compiled tcsh using gcc, and when I start up it says: tcsh:
+ Warning no access to tty (Invalid Argument). Thus no job control in
+ this shell
-8. Where do I get the public domain directory library?
-
- Anonymous ftp to prep.ai.mit.edu:/pub/gnu/dirent.tar.Z
+ Your <sys/ioctl.h> file is not ansi compliant. You have one of 3
+ choices:
-9. I compiled tcsh using gcc, and when I start up it says:
- tcsh: Warning no access to tty (Invalid Argument).
- Thus no job control in this shell
+ 1. Run fixincludes from the gcc distribution.
+ 2. Add -traditional to the gcc flags.
+ 3. Compile with cc.
+ _________________________________________________________________
- Your <sys/ioctl.h> file is not ansi compliant. You have one of 3 choices:
- a. Run fixincludes from the gcc distribution.
- b. Add -traditional to the gcc flags.
- c. Compile with cc.
+ 10. I compiled tcsh with the SunOS? unbundled compiler and now things
+ get echo'ed twice.
-10. I compiled tcsh with the SunOS unbundled compiler and now things
- get echo'ed twice.
+ It is a bug in the unbundled optimizer. Lower the optimization level.
+ _________________________________________________________________
- It is a bug in the unbundled optimizer. Lower the optimization level.
+ 11. How can I use the arrow keys with hpterm?
-11. How can I use the arrow keys with hpterm?
- Hp terminals use the arrow keys internally. You can tell hpterm not
- to do that, by sending it the termcap sequence smkx. Since this
- has to be done all the time, the easiest thing is to put it as an
- alias for precmd, or inside the prompt:
+ Hp terminals use the arrow keys internally. You can tell hpterm not to
+ do that, by sending it the termcap sequence smkx. Since this has to be
+ done all the time, the easiest thing is to put it as an alias for
+ precmd, or inside the prompt:
if ($term == "hp") then
- set prompt="%{`echotc smkx`%}$prompt"
+ set prompt="%{`echotc smkx`%}$prompt"
endif
- Note that by doing that you cannot use pgup and pgdn to scroll...
- Also if you are using termcap, replace "smkx" with "ks"...
+ Note that by doing that you cannot use pgup and pgdn to scroll... Also
+ if you are using termcap, replace "smkx" with "ks"...
+ _________________________________________________________________
-12. On POSIX machines ^C and ^Z will do not work when tcsh is a login
- shell?
- Make sure that the interrupt character is set to ^C and suspend
- is set to ^Z; 'stty -a' will show you the current stty settings;
- 'stty intr ^C susp ^Z' will set them to ^C and ^Z respectively.
+ 12. On POSIX machines ^C and ^Z will do not work when tcsh is a login
+ shell?
-13. I am trying to compile tcsh and I am getting compile errors that
- look like:
+ Make sure that the interrupt character is set to ^C and suspend is set
+ to ^Z; 'stty -a' will show you the current stty settings; 'stty intr
+ ^C susp ^Z' will set them to ^C and ^Z respectively.
+ _________________________________________________________________
+
+ 13. I am trying to compile tcsh and I am getting compile errors that
+ look like:
>sh.c:???: `STR???' undeclared, outside of functions [gcc]
- or
>"sh.c", line ???: STR??? undefined [cc]
- You interrupted make, while it was making the automatically
- generated headers. Type 'make clean; make'
+ You interrupted make, while it was making the automatically generated
+ headers. Type 'make clean; make'
+ _________________________________________________________________
+
+ 14. On the cray, sometimes the CR/LF mapping gets screwed up.
+
+ You are probably logged in to the cray via telnet. Cray's telnetd
+ implements line mode selection the telnet client you are using does
+ not implement telnet line mode. This cause the Cray's telnetd to try
+ to use KLUDGELINEMODE. You can turn off telnet line mode from the cray
+ side by doing a "stty -extproc", or you can get the Cray AIC to build
+ a telnetd without KLUDGELINEMODE, or you can compile a new telnet
+ client (from the BSD net2 tape), or at least on the suns use: 'mode
+ character'.
+ _________________________________________________________________
+
+ 15. On AU/X, I made tcsh my startup shell, but the mac desktop is not
+ starting up (no X11 or Finder), and I only get console emulation.
-14. On the cray, sometimes the CR/LF mapping gets screwed up.
+ This is another manifestation of item 5. Just add the pathname to tcsh
+ in /etc/shells and everything should work fine.
+ _________________________________________________________________
- You are probably logged in to the cray via telnet. Cray's
- telnetd implements line mode selection the telnet client
- you are using does not implement telnet line mode.
- This cause the Cray's telnetd to try to use KLUDGELINEMODE.
- You can turn off telnet line mode from the cray side by
- doing a "stty -extproc", or you can get the Cray AIC to build
- a telnetd without KLUDGELINEMODE, or you can compile
- a new telnet client (from the BSD net2 tape), or at least
- on the suns use: 'mode character'.
+ 16. On machines that use YP (NIS) tilde expansion might end up in
+ /dev/null
+ If this happens complain to your vendor, to get a new version of NIS.
+ You can fix that in tcsh by defining YPBUGS in config.h
+ _________________________________________________________________
-15. On AU/X, I made tcsh my startup shell, but the mac desktop is not
- starting up (no X11 or Finder), and I only get console emulation.
+ 17. Script on SGI 4.0.5 does not give us a tty, so we cannot have job
+ control.
- This is another manifestation of item 5. Just add the pathname
- to tcsh in /etc/shells and everything should work fine.
+ Their csh does not have job control either. Try:
-16. On machines that use YP (NIS) tilde expansion might end up in /dev/null
- If this happens complain to your vendor, to get a new version of NIS.
- You can fix that in tcsh by defining YPBUGS in config.h
+ % script
+ % cat > /dev/tty
+ _________________________________________________________________
-17. Script on SGI 4.0.5 does not give us a tty, so we cannot have job
- control. Their csh does not have job control either. Try:
- % script
- % cat > /dev/tty
+ 18. I start tcsh and it takes a couple of minutes to get the prompt.
-18. I start tcsh and it takes a couple of minutes to get the prompt.
- You have defined REMOTEHOST and your DNS is not responding. Either
- undefine REMOTEHOST and recompile or fix your DNS.
+ You have defined REMOTEHOST and your DNS is not responding. Either
+ undefine REMOTEHOST and recompile or fix your DNS.
+ _________________________________________________________________
-19. If you need help generating your .cshrc file, check out:
- http://www.imada.ou.dk/~blackie/dotfile/
+ 19. If you need help generating your .cshrc file, check out:
+
+ http://www.imada.ou.dk/~blackie/dotfile/
+ _________________________________________________________________
+
+ 20. On POSIX systems the kernel will send hup signals to all the
+ processes in the foreground process group if 'stty hupcl' is set.
+
+ For example
-20. On POSIX systems the kernel will send hup signals to all the processes
- in the foreground process group if 'stty hupcl' is set. For example
./tcsh
echo $$
591
./tcsh
kill -6 591
- Will kill everything, since hup will be sent to all tcsh processes.
- To avoid that you can set stty -hupcl, but it is not recommended.
+ Will kill everything, since hup will be sent to all tcsh processes. To
+ avoid that you can set stty -hupcl, but it is not recommended.
+ _________________________________________________________________
+
+ 21. When I rsh the meta key stops working on the remote machine.
+
+ Try using rsh -8; this option is undocumented on some systems, but it
+ works. If that does not work, get and use ssh/sshd. You'll be better
+ off from a security point of view anyway.
+ _________________________________________________________________
+
+ 22. Tcsh compiled under hp/ux-10.x does not pass resource limits
+ correctly when ran on hp/ux-11.x systems.
+
+ This is a problem with lack of ABI compatibility between the two
+ systems. The only solution is to recompile.
+ _________________________________________________________________
-21. When I rsh the meta key stops working on the remote machine.
+ 23. Refreshing in command line editing can appear broken on some OS's
- Try using rsh -8; this option is undocumented on some systems,
- but it works. If that does not work, get and use ssh/sshd. You'll
- be better off from a security point of view anyway.
+ This is because the termcap/terminfo description lies about the
+ ability of the terminal to use tabs. At least on Compaq/DEC Alpha
+ OSF/1 3.x and 4.x systems, stty -tabs will cause problems.
+ _________________________________________________________________
-22. Tcsh compiled under hp/ux-10.x does not pass resource limits correctly
- when ran on hp/ux-11.x systems. This is a problem with lack of ABI
- compatibility between the two systems. The only solution is to recompile.
+ Everything else is a bug :-(
-christos
+ Christos
+ _________________________________________________________________
-Everything else is a bug :-(
+ Home | RecentChanges | Preferences
+ Edit text of this page | View other revisions
+ Last edited April 27, 2001 13:43 (diff)
+ Search: ____________________
diff --git a/contrib/tcsh/Fixes b/contrib/tcsh/Fixes
index d90e2eef5580..f48808e57199 100644
--- a/contrib/tcsh/Fixes
+++ b/contrib/tcsh/Fixes
@@ -1,3 +1,47 @@
+ 40. V6.11.00 - 20010902
+ 39. Completion fixes (Tom Warzeka)
+ 38. make c_insert not static so that it can be used from win32 (amol)
+ 37. Fix rmstar not to corrupt memory when we say no. (Mark Peek)
+ 36. V6.10.02 - 20010806
+ 35. polish nls locale (Pawe New)
+ 34. Fix a tcsetattr race running background jobs as the last line on an xterm
+ window (Andrew Brown)
+ 33. jobcmd alias (Greg Parker)
+ 32. hpux11 support (Joshua Weage)
+ 31. Fix SHORT_STRINGS compilation (Daniel Trinkle)
+ 30. Add kill -s (Mark Peek)
+ 29. Don't recognize all mips as dec (Bjorn Knutsson)
+ 28. Fix GLOB_QUOTE problem (noted by Per) I introduced in 6.10.01.
+ 27. Port to concurrent's powermaxos (Matt Majka)
+ 26. New builtin srcfile (Amol)
+ 25. Fix bindkey "\\" cmd (reported by Ismail H. Tuncer)
+ 24. %0Xc was broken in the prompt if the user's home directory was '/'.
+ (reported by Edward Glowacki)
+ 23. V6.10.01 - 20010426
+ 22. LARGEFILE support on Linux.
+ 21. Add big5 multibyte support (Yen-Ming Lee)
+ 20. Check the return value of setpriority (Dima Dorfman)
+ 19. Avoid constructing paths with // on DomainOS (Nickolai Zeldovich)
+ 18. Russian translation (Ilmar S. Habibulin)
+ 17. Fix hostdefs for alpha support in FreeBSD (Andrey A. Chernov)
+ 16. Add door support in colorls (Shaen)
+ 15. Add BSD_STYLE_COLORLS for FreeBSD (Anand)
+ 14. MAXHOSTNAMELEN needs to be 256 (Kris Kennaway)
+ 13. Document stty -tabs problems on compaq (Nelson H. F. Beebe)
+ 12. Fix broken comment, and new versions of config.guess and config.sub
+ (H.Merijn Brand)
+ 11. fix redrawing in the recognize case (Andrew Brown)
+ 10. don't call qsort with 0 items. (Luke Mewburn)
+ 9. fix echo;echo;echo; not outputing anything (Andrey A. Chernov)
+ 8. Fix shell word parsing in dabbrev-expand (Per Hedeland)
+ 7. hpux fixes (Chienting Lin)
+ 6. Implement kill ring (Per Hedeland)
+ 5. Avoid core-dumping when a very long $HOME gets passed in (Kris Kennaway)
+ 4. Add rlimit_vmem for linux based on rlimit_as (N KomaZaki)
+ 3. back out symlink=expand path check.
+ 2. Add Estonian translation (Toomas Soome)
+ 1. Accept empty $savedirs to mean infinity.
+
57. V6.10.00 - 20001119
56. Completion fixes (Tom Warzeka)
55. add missing linux kanji define (Tsuyoshi Kawabe)
diff --git a/contrib/tcsh/Imakefile b/contrib/tcsh/Imakefile
index 8a956039248f..4d3295264d7d 100644
--- a/contrib/tcsh/Imakefile
+++ b/contrib/tcsh/Imakefile
@@ -1,7 +1,7 @@
XCOMM
-XCOMM $Id: Imakefile,v 1.78 2000/11/19 20:50:41 christos Exp $
+XCOMM $Id: Imakefile,v 1.79 2001/09/02 21:16:24 christos Exp $
XCOMM
-XCOMM Imakefile for tcsh 6.10
+XCOMM Imakefile for tcsh 6.11
XCOMM Marc Horowitz, MIT SIPB
XCOMM
@@ -480,7 +480,7 @@ LDLIBS = MyLibs
#endif
SUF = o
-VERSION = 6.10
+VERSION = 6.11
SHSRCS= sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \
sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \
diff --git a/contrib/tcsh/Makefile.ADMIN b/contrib/tcsh/Makefile.ADMIN
new file mode 100644
index 000000000000..966190619479
--- /dev/null
+++ b/contrib/tcsh/Makefile.ADMIN
@@ -0,0 +1,20 @@
+#
+# Makefile.ADMIN
+#
+# Maintenance tasks
+#
+# You can refetch files from the website, then run "cvs diff" to
+# sanity check any changes before committing.
+#
+
+LYNX= lynx -dump -nolist
+TRIM= expand | sed -e 's/^ *$$//' | cat -s
+WEB= http://www.tcsh.org/page?
+
+.for i in FAQ WishList
+$i: force
+ ${LYNX} ${WEB}$i | ${TRIM} > ${.TARGET}
+.endfor
+
+.DUMMY: force
+force:
diff --git a/contrib/tcsh/Makefile.in b/contrib/tcsh/Makefile.in
index 54c8897d9f46..d07d000d9ef2 100644
--- a/contrib/tcsh/Makefile.in
+++ b/contrib/tcsh/Makefile.in
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 3.15 2000/11/19 20:50:41 christos Exp $
+# $Id: Makefile.in,v 3.16 2001/09/02 21:16:25 christos Exp $
# Makefile.in 4.3 6/11/83
#
# C Shell with process control; VM/UNIX VAX Makefile
@@ -8,7 +8,7 @@
# things; Paul Placeway, CIS Dept., Ohio State University
#
SHELL=/bin/sh
-VERSION=6.10
+VERSION=6.11
BUILD=tcsh
VPATH=@srcdir@
srcdir=@srcdir@
diff --git a/contrib/tcsh/Makefile.std b/contrib/tcsh/Makefile.std
index f2199cf8d252..b6212d286a6b 100644
--- a/contrib/tcsh/Makefile.std
+++ b/contrib/tcsh/Makefile.std
@@ -1,4 +1,4 @@
-# $Id: Makefile.std,v 1.91 2000/11/19 20:50:42 christos Exp $
+# $Id: Makefile.std,v 1.92 2001/09/02 21:16:25 christos Exp $
# Makefile.std 4.3 6/11/83
#
# C Shell with process control; VM/UNIX VAX Makefile
@@ -8,7 +8,7 @@
# things; Paul Placeway, CIS Dept., Ohio State University
#
SHELL=/bin/sh
-VERSION=6.10
+VERSION=6.11
BUILD=tcsh
srcdir=.
diff --git a/contrib/tcsh/Makefile.vms b/contrib/tcsh/Makefile.vms
index 399570790f33..05ce5504ef89 100644
--- a/contrib/tcsh/Makefile.vms
+++ b/contrib/tcsh/Makefile.vms
@@ -1,4 +1,4 @@
-# $Id: Makefile.vms,v 1.34 2000/11/19 20:50:42 christos Exp $
+# $Id: Makefile.vms,v 1.35 2001/09/02 21:16:25 christos Exp $
# Makefile.vms 4.3 6/11/83
#
# C Shell with process control; VM/UNIX VAX Makefile
@@ -8,7 +8,7 @@
# things; Paul Placeway, CIS Dept., Ohio State University
#
SHELL=/bin/sh
-VERSION=6.10
+VERSION=6.11
BUILD=tcsh
################################################################
diff --git a/contrib/tcsh/README b/contrib/tcsh/README
index 658ba6988aa8..4c86b635f232 100644
--- a/contrib/tcsh/README
+++ b/contrib/tcsh/README
@@ -1,4 +1,4 @@
-This is tcsh version 6.10. Tcsh is a version of the Berkeley
+This is tcsh version 6.11. Tcsh is a version of the Berkeley
C-Shell, with the addition of: a command line editor, command and file
name completion, listing, etc. and a bunch of small additions to the
shell itself.
diff --git a/contrib/tcsh/RELEASE-PROCEDURE b/contrib/tcsh/RELEASE-PROCEDURE
new file mode 100644
index 000000000000..54de676dc13b
--- /dev/null
+++ b/contrib/tcsh/RELEASE-PROCEDURE
@@ -0,0 +1,27 @@
+HOW TO RELEASE TCSH
+
+1) Update version number and date in patchlevel.h
+2) Note the new version and date in Fixes
+3) Updated tcsh.man to have the new version and date also
+ (two separate lines, with the date in different formats)
+4) Commit changes into CVS
+5) Tag the release with TCSHx_yy_zz where
+ x == REV
+ yy == VERS
+ zz == PATCHLEVEL
+ from patchlevel.h (the new values you picked)
+6) Export the code using the new tag you created. Rename
+ the directory from "tcsh" to "tcsh-x.yy.zz" and create
+ tcsh-x.yy.zz.tar.gz (or tcsh-x.yy.tar.gz for public
+ releases where zz [PATCHLEVEL] is zero)
+7) Export the previous release as well
+8) Remove files that should not be in a release:
+ - Announce*
+ - Copyright
+ - Makefile.ADMIN
+ - RELEASE-PROCEDURE (this file)
+9) Generate a "diff -urN" between the two directories you
+ have exported, save it in patchz.gz (z is PATCHLEVEL)
+10) Make the patch and the source tarball available on ftp
+11) Mail an announcement to tcsh@mx.gw.com
+12) Mail the patch to tcsh-diffs@mx.gw.com
diff --git a/contrib/tcsh/WishList b/contrib/tcsh/WishList
index a849b188449d..8afeceba1f79 100644
--- a/contrib/tcsh/WishList
+++ b/contrib/tcsh/WishList
@@ -1,40 +1,65 @@
-* Fix memory leak related to aliasrun(). Precmd, Cwdcmd etc. leak memory.
-
-* Fix migrate -site $$... Seems to hang... (aix370)
-
-* Fix history in loops.
-
-* New idea.
- Lots of people seem to like the idea to be able to do sed type
- operations on shell variables. Maybe we can extend the syntax
- of the variable editing to understand string operations.
- So I would like to be able to use:
- > set a="this is a STRING"
- > echo $a:[3-]
- is is a STRING
- > echo $a:[#]
- 16
- > echo $a:[6-7]
- is
- > echo $a:[-2]
- ng
- > echo $a:[-20]
- Subscript out of bounds.
- > echo $a:[2-20]
- Subscript out of bounds.
- > echo $a:[1-1]:u$a:[2-].
- This is a string.
-
-* Fix pipelines that contain builtins so that they behave correctly.
- I tried to fix that (most of the code is in sh.sem.c, but it works
- only for non POSIX machines cause otherwise the setpgid() I added
- fails).
-
-* Fix the correct code... How to do that involves A.I....
-
-* Rewrite the whole thing. It has taken to much beating over the years...
-
-* Add another hook like precmd to be executed after the prompt but before the
- command.
-
-* Add instructions for using configure in the README file.
+
+ [Home] WishList
+
+ Home | RecentChanges | Preferences
+ _________________________________________________________________
+
+ Fix memory leak related to aliasrun(). Precmd, Cwdcmd etc. leak
+ memory.
+ _________________________________________________________________
+
+ Fix migrate -site $$... Seems to hang... (aix370)
+ _________________________________________________________________
+
+ Fix history in loops.
+ _________________________________________________________________
+
+ New idea: sed operations on variables.
+
+ Lots of people seem to like the idea to be able to do sed type
+ operations on shell variables. Maybe we can extend the syntax of the
+ variable editing to understand string operations. So I would like to
+ be able to use:
+
+ > set a="this is a STRING"
+ > echo $a:[3-]
+ is is a STRING
+ > echo $a:[#]
+ 16
+ > echo $a:[6-7]
+ is
+ > echo $a:[-2]
+ ng
+ > echo $a:[-20]
+ Subscript out of bounds.
+ > echo $a:[2-20]
+ Subscript out of bounds.
+ > echo $a:[1-1]:u$a:[2-].
+ This is a string.
+ _________________________________________________________________
+
+ Fix pipelines that contain builtins so that they behave correctly.
+
+ I tried to fix that (most of the code is in sh.sem.c, but it works
+ only for non POSIX machines cause otherwise the setpgid() I added
+ fails).
+ _________________________________________________________________
+
+ Fix the correct code... How to do that involves A.I....
+ _________________________________________________________________
+
+ Rewrite the whole thing. It has taken to much beating over the
+ years...
+ _________________________________________________________________
+
+ Add another hook like precmd to be executed after the prompt but
+ before the command.
+ _________________________________________________________________
+
+ Add instructions for using configure in the README file.
+ _________________________________________________________________
+
+ Home | RecentChanges | Preferences
+ Edit text of this page | View other revisions
+ Last edited April 28, 2001 2:04 (diff)
+ Search: ____________________
diff --git a/contrib/tcsh/complete.tcsh b/contrib/tcsh/complete.tcsh
index a903094cac58..c1b6c9d07e01 100644
--- a/contrib/tcsh/complete.tcsh
+++ b/contrib/tcsh/complete.tcsh
@@ -1,5 +1,5 @@
#
-# $Id: complete.tcsh,v 1.36 2000/11/19 20:50:42 christos Exp $
+# $Id: complete.tcsh,v 1.37 2001/09/02 21:06:02 christos Exp $
# example file using the new completion code
#
@@ -14,12 +14,12 @@ if ($?tcsh) then
set rev=$rev:r
endif
if ($rev > 5 && $rel > 1) then
- set complete=1
+ set _complete=1
endif
unset rev rel pat
endif
-if ($?complete) then
+if ($?_complete) then
set noglob
set hosts
foreach f ($HOME/.hosts /usr/local/etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv)
@@ -623,11 +623,6 @@ if ($?complete) then
timestamping tries= user-agent= verbose version wait=)"/
# these from Tom Warzeka <tom@waz.cc>
- # you may need to set the following variables for your host
- set _elispdir = /usr/local/share/emacs/20.7/lisp # GNU Emacs lisp directory
- set _maildir = /var/spool/mail # Post Office: /var/spool/mail or /usr/mail
- set _ypdir = /var/yp # directory where NIS (YP) maps are kept
- set _domain = "`domainname`"
# this one works but is slow and doesn't descend into subdirectories
# complete cd C@[./\$~]*@d@ \
@@ -640,6 +635,11 @@ if ($?complete) then
endif
complete unsetenv n/*/e/
+ if (-r /var/spool/mail) then
+ set _maildir = /var/spool/mail
+ else
+ set _maildir = /usr/mail
+ endif
if (-r $HOME/.mailrc) then
complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
@@ -650,23 +650,32 @@ if ($?complete) then
c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
n@-u@T:$_maildir@ n/-f/f/ n/*/u/
endif
+ unset _maildir
- complete man n@1@'`\ls -1 /usr/man/man1 | sed s%\\.1.\*\$%%`'@ \
- n@2@'`\ls -1 /usr/man/man2 | sed s%\\.2.\*\$%%`'@ \
- n@3@'`\ls -1 /usr/man/man3 | sed s%\\.3.\*\$%%`'@ \
- n@4@'`\ls -1 /usr/man/man4 | sed s%\\.4.\*\$%%`'@ \
- n@5@'`\ls -1 /usr/man/man5 | sed s%\\.5.\*\$%%`'@ \
- n@6@'`\ls -1 /usr/man/man6 | sed s%\\.6.\*\$%%`'@ \
- n@7@'`\ls -1 /usr/man/man7 | sed s%\\.7.\*\$%%`'@ \
- n@8@'`\ls -1 /usr/man/man8 | sed s%\\.8.\*\$%%`'@ \
- n@9@'`[ -r /usr/man/man9 ] && \ls -1 /usr/man/man9 | sed s%\\.9.\*\$%%`'@ \
- n@0@'`[ -r /usr/man/man0 ] && \ls -1 /usr/man/man0 | sed s%\\.0.\*\$%%`'@ \
- n@new@'`[ -r /usr/man/mann ] && \ls -1 /usr/man/mann | sed s%\\.n.\*\$%%`'@ \
- n@old@'`[ -r /usr/man/mano ] && \ls -1 /usr/man/mano | sed s%\\.o.\*\$%%`'@ \
-n@local@'`[ -r /usr/man/manl ] && \ls -1 /usr/man/manl | sed s%\\.l.\*\$%%`'@ \
-n@public@'`[ -r /usr/man/manp ]&& \ls -1 /usr/man/manp | sed s%\\.p.\*\$%%`'@ \
- c/-/"(- f k M P s t)"/ n/-f/c/ n/-k/x:'<keyword>'/ n/-[MP]/d/ \
- N@-[MP]@'`\ls -1 $:-1/man? | sed s%\\..\*\$%%`'@ n/*/c/
+ if (-r /usr/share/man) then
+ set _man_dir = /usr/share/man
+ else
+ set _man_dir = /usr/man
+ endif
+ complete man \
+ n@0@\`if\ \(-r\ $_man_dir/man0\)\ \\ls\ -1\ $_man_dir/man0\ \|\ sed\ s%\\\.0.\\\*\\\$%%\`@ \
+ n@1@\`if\ \(-r\ $_man_dir/man1\)\ \\ls\ -1\ $_man_dir/man1\ \|\ sed\ s%\\\.1.\\\*\\\$%%\`@ \
+ n@2@\`if\ \(-r\ $_man_dir/man2\)\ \\ls\ -1\ $_man_dir/man2\ \|\ sed\ s%\\\.2.\\\*\\\$%%\`@ \
+ n@3@\`if\ \(-r\ $_man_dir/man3\)\ \\ls\ -1\ $_man_dir/man3\ \|\ sed\ s%\\\.3.\\\*\\\$%%\`@ \
+ n@4@\`if\ \(-r\ $_man_dir/man4\)\ \\ls\ -1\ $_man_dir/man4\ \|\ sed\ s%\\\.4.\\\*\\\$%%\`@ \
+ n@5@\`if\ \(-r\ $_man_dir/man5\)\ \\ls\ -1\ $_man_dir/man5\ \|\ sed\ s%\\\.5.\\\*\\\$%%\`@ \
+ n@6@\`if\ \(-r\ $_man_dir/man6\)\ \\ls\ -1\ $_man_dir/man6\ \|\ sed\ s%\\\.6.\\\*\\\$%%\`@ \
+ n@7@\`if\ \(-r\ $_man_dir/man7\)\ \\ls\ -1\ $_man_dir/man7\ \|\ sed\ s%\\\.7.\\\*\\\$%%\`@ \
+ n@8@\`if\ \(-r\ $_man_dir/man8\)\ \\ls\ -1\ $_man_dir/man8\ \|\ sed\ s%\\\.8.\\\*\\\$%%\`@ \
+ n@9@\`if\ \(-r\ $_man_dir/man9\)\ \\ls\ -1\ $_man_dir/man9\ \|\ sed\ s%\\\.9.\\\*\\\$%%\`@ \
+ n@new@\`if\ \(-r\ $_man_dir/mann\)\ \\ls\ -1\ $_man_dir/mann\ \|\ sed\ s%\\\.n.\\\*\\\$%%\`@ \
+ n@old@\`if\ \(-r\ $_man_dir/mano\)\ \\ls\ -1\ $_man_dir/mano\ \|\ sed\ s%\\\.o.\\\*\\\$%%\`@ \
+ n@local@\`if\ \(-r\ $_man_dir/manl\)\ \\ls\ -1\ $_man_dir/manl\ \|\ sed\ s%\\\.l.\\\*\\\$%%\`@ \
+ n@public@\`if\ \(-r\ $_man_dir/manp\)\ \\ls\ -1\ $_man_dir/manp\ \|\ sed\ s%\\\.p.\\\*\\\$%%\`@ \
+ c@-@"(- f k M P s t)"@ n@-f@c@ n@-k@x:'<keyword>'@ n@-[MP]@d@ \
+ n@-s@\`\\ls\ -1\ $_man_dir\ \|\ sed\ -n\ s%man%%p\`@ \
+ N@-[MP]@'`\ls -1 $:-1/man? | sed s%\\..\*\$%%`'@ n@*@c@
+ unset _man_dir
complete ps c/-t/x:'<tty>'/ c/-/"(a c C e g k l S t u v w x)"/ \
n/-k/x:'<kernel>'/ N/-k/x:'<core_file>'/ n/*/x:'<PID>'/
@@ -680,12 +689,23 @@ n@public@'`[ -r /usr/man/manp ]&& \ls -1 /usr/man/manp | sed s%\\.p.\*\$%%`'@ \
# these conform to the latest GNU versions available at press time ...
# updates by John Gotts <jgotts@engin.umich.edu>
-
- complete emacs c/-/"(batch d f funcall i insert kill l load \
- no-init-file nw q t u user)"/ c/+/x:'<line_number>'/ \
- n/-d/x:'<display>'/ n/-f/x:'<lisp_function>'/ n/-i/f/ \
- n@-l@F:$_elispdir@ n/-t/x:'<terminal>'/ \
- n/-u/u/ n/*/f:^*[\#~]/
+ if (-X emacs) then
+ # TW note: if your version of GNU Emacs supports the "--version" option,
+ # uncomment this line and comment the next to automatically
+ # detect the version, else replace "20.7" with your version.
+ #set _emacs_ver=`emacs --version | head -1 | sed 's%GNU Emacs %%' | cut -d . -f1-2`
+ set _emacs_ver=20.7
+ set _emacs_dir=`which emacs | sed s%/bin/emacs%%`
+ complete emacs c/--/"(batch terminal display no-windows no-init-file \
+ user debug-init unibyte multibyte version help \
+ no-site-file funcall load eval insert kill)"/ \
+ c/-/"(t d nw q u f l -)"/ c/+/x:'<line_number>'/ \
+ n/{-t,--terminal}/x:'<terminal>'/ n/{-d,--display}/x:'<display>'/ \
+ n/{-u,--user}/u/ n/{-f,--funcall}/x:'<lisp_function>'/ \
+ n@{-l,--load}@F:$_emacs_dir/share/emacs/$_emacs_ver/lisp@ \
+ n/--eval/x:'<expression>'/ n/--insert/f/ n/*/f:^*[\#~]/
+ unset _emacs_ver _emacs_dir
+ endif
complete gzcat c/--/"(force help license quiet version)"/ \
c/-/"(f h L q V -)"/ n/*/f:*.{gz,Z,z,zip}/
@@ -879,19 +899,23 @@ n@public@'`[ -r /usr/man/manp ]&& \ls -1 /usr/man/manp | sed s%\\.p.\*\$%%`'@ \
# n/*/'`mount | cut -d " " -f 3`'/
# these deal with NIS (formerly YP); if it's not running you don't need 'em
- complete domainname p@1@D:$_ypdir@" " n@*@n@
- complete ypcat c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
- N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
- n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
- complete ypmatch c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
- N@-d@x:'<key ...>'@ n@-@x:'<key ...>'@ p@1@x:'<key ...>'@ \
- n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
- complete ypwhich c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
- n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
- N@-m@n@ n@*@\$hosts@
-
- # there's no need to clutter the user's shell with these
- unset _elispdir _maildir _ypdir _domain
+ if (-X domainname) then
+ set _domain = "`domainname`"
+ set _ypdir = /var/yp # directory where NIS (YP) maps are kept
+ if ("$_domain" != "" && "$_domain" != "noname") then
+ complete domainname p@1@D:$_ypdir@" " n@*@n@
+ complete ypcat c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
+ N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
+ n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
+ complete ypmatch c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
+ N@-d@x:'<key ...>'@ n@-@x:'<key ...>'@ p@1@x:'<key ...>'@ \
+ n@*@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@
+ complete ypwhich c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \
+ n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\ sed\ -n\ s%\\\\.pag\\\$%%p\`@ \
+ N@-m@n@ n@*@\$hosts@
+ endif
+ unset _domain _ypdir
+ endif
complete make \
'n/-f/f/' \
@@ -910,7 +934,7 @@ n@public@'`[ -r /usr/man/manp ]&& \ls -1 /usr/man/manp | sed s%\\.p.\*\$%%`'@ \
endif
unset noglob
- unset complete
+ unset _complete
endif
end:
diff --git a/contrib/tcsh/config.guess b/contrib/tcsh/config.guess
index cdd153076ade..e1b587170801 100755
--- a/contrib/tcsh/config.guess
+++ b/contrib/tcsh/config.guess
@@ -1,6 +1,7 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
+# Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -23,6 +24,7 @@
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
+# Please send patches to <autoconf-patches@gnu.org>.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
@@ -35,6 +37,20 @@
# (but try to keep the structure clean).
#
+# Use $HOST_CC if defined. $CC may point to a cross-compiler
+if test x"$CC_FOR_BUILD" = x; then
+ if test x"$HOST_CC" != x; then
+ CC_FOR_BUILD="$HOST_CC"
+ else
+ if test x"$CC" != x; then
+ CC_FOR_BUILD="$CC"
+ else
+ CC_FOR_BUILD=cc
+ fi
+ fi
+fi
+
+
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
@@ -46,7 +62,8 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
@@ -59,7 +76,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- cat <<EOF >dummy.s
+ cat <<EOF >$dummy.s
.globl main
.ent main
main:
@@ -76,9 +93,9 @@ main:
ret \$31,(\$26),1
.end main
EOF
- ${CC-cc} dummy.s -o dummy 2>/dev/null
+ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
- ./dummy
+ ./$dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
@@ -97,8 +114,14 @@ EOF
;;
esac
fi
- rm -f dummy.s dummy
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
+ rm -f $dummy.s $dummy
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
@@ -133,6 +156,9 @@ EOF
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
@@ -142,7 +168,7 @@ EOF
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
- Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
@@ -150,7 +176,7 @@ EOF
echo pyramid-pyramid-bsd
fi
exit 0 ;;
- NILE:*:*:dcosx)
+ NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4H:SunOS:5.*:*)
@@ -201,6 +227,32 @@ EOF
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit 0 ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
@@ -225,12 +277,6 @@ EOF
macppc:NetBSD:*:*)
echo powerpc-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
@@ -240,12 +286,16 @@ EOF
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
- 2020:CLIX:*:*)
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- sed 's/^ //' << EOF >dummy.c
- int main (argc, argv) int argc; char **argv; {
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
@@ -260,10 +310,10 @@ EOF
exit (-1);
}
EOF
- ${CC-cc} dummy.c -o dummy \
- && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
+ $CC_FOR_BUILD $dummy.c -o $dummy \
+ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+ && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
@@ -281,15 +331,18 @@ EOF
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
echo m88k-dg-dgux${UNAME_RELEASE}
- else
+ else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
fi
- else echo i586-dg-dgux${UNAME_RELEASE}
- fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
@@ -315,7 +368,7 @@ EOF
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- sed 's/^ //' << EOF >dummy.c
+ sed 's/^ //' << EOF >$dummy.c
#include <sys/systemcfg.h>
main()
@@ -326,8 +379,8 @@ EOF
exit(0);
}
EOF
- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
@@ -374,25 +427,25 @@ EOF
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/6?? | 9000/7?? | 9000/80[024] | 9000/820 | 9000/8?[13679] | 9000/892 )
- sed 's/^ //' << EOF >dummy.c
+ 9000/[678][0-9][0-9])
+ sed 's/^ //' << EOF >$dummy.c
#include <stdlib.h>
#include <unistd.h>
-
+
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
- #endif
+ #endif
long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
+
+ switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
+ case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
- switch (bits)
+ switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
@@ -400,20 +453,20 @@ EOF
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
- #endif
+ #endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
- (${CC-cc} dummy.c -o dummy 2>/dev/null ) && HP_ARCH=`./dummy`
- rm -f dummy.c dummy
+ (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+ rm -f $dummy.c $dummy
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
- sed 's/^ //' << EOF >dummy.c
+ sed 's/^ //' << EOF >$dummy.c
#include <unistd.h>
int
main ()
@@ -438,8 +491,8 @@ EOF
exit (0);
}
EOF
- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
+ $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -448,6 +501,9 @@ EOF
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
+ *9??*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
@@ -464,22 +520,25 @@ EOF
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
- C1*:ConvexOS:*:* | convex*:ConvexOS:C1*:*)
+ hppa*:OpenBSD:*:*)
+ echo hppa-unknown-openbsd
+ exit 0 ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
- C2*:ConvexOS:*:* | convex*:ConvexOS:C2*:*)
- if /usr/convex/getsysinfo -f scalar_acc
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
- C34*:ConvexOS:*:* | convex*:ConvexOS:C34*:*)
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
- C38*:ConvexOS:*:* | convex*:ConvexOS:C38*:*)
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
- C4*:ConvexOS:*:* | convex*:ConvexOS:C4*:*)
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*X-MP:*:*:*)
@@ -493,23 +552,17 @@ EOF
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
- CRAY*T3E:*:*:*)
- echo t3e-cray-unicosmk${UNAME_RELEASE}
- exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo alpha-cray-unicosmk${UNAME_RELEASE}
+ exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
F300:UNIX_System_V:*:*)
- FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
@@ -522,17 +575,26 @@ EOF
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
- i?86:BSD/386:*:* | *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
+ if test -x /usr/bin/objformat; then
+ if test "elf" = "`/usr/bin/objformat`"; then
+ echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
+ exit 0
+ fi
+ fi
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
@@ -543,6 +605,15 @@ EOF
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i386-pc-interix
+ exit 0 ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit 0 ;;
@@ -553,15 +624,11 @@ EOF
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
- # uname on the ARM produces all sorts of strangeness, and we need to
- # filter it out.
- case "$UNAME_MACHINE" in
- arm* | sa110*) UNAME_MACHINE="arm" ;;
- esac
# The BFD linker knows what the default object file format is, so
- # first see if it will tell us.
- ld_help_string=`ld --help 2>&1`
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ ld_help_string=`cd /; ld --help 2>&1`
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
@@ -569,16 +636,74 @@ EOF
s/ .*//
p'`
case "$ld_supported_emulations" in
- i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
- i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
- sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
+ *ia64)
+ echo "${UNAME_MACHINE}-unknown-linux"
+ exit 0
+ ;;
+ i?86linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit 0
+ ;;
+ i?86coff)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit 0
+ ;;
+ sparclinux)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+ exit 0
+ ;;
+ armlinux)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+ exit 0
+ ;;
+ elf32arm*)
+ echo "${UNAME_MACHINE}-unknown-linux-gnu"
+ exit 0
+ ;;
+ armelf_linux*)
+ echo "${UNAME_MACHINE}-unknown-linux-gnu"
+ exit 0
+ ;;
+ m68klinux)
+ echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+ exit 0
+ ;;
+ elf32ppc)
+ # Determine Lib Version
+ cat >$dummy.c <<EOF
+#include <features.h>
+#if defined(__GLIBC__)
+extern char __libc_version[];
+extern char __libc_release[];
+#endif
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+#if defined(__GLIBC__)
+ printf("%s %s\n", __libc_version, __libc_release);
+#else
+ printf("unkown\n");
+#endif
+ return 0;
+}
+EOF
+ LIBC=""
+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
+ if test "$?" = 0 ; then
+ ./$dummy | grep 1\.99 > /dev/null
+ if test "$?" = 0 ; then
+ LIBC="libc1"
+ fi
+ fi
+ rm -f $dummy.c $dummy
+ echo powerpc-unknown-linux-gnu${LIBC}
+ exit 0
+ ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
- sed 's/^ //' <<EOF >dummy.s
+ sed 's/^ //' <<EOF >$dummy.s
.globl main
.ent main
main:
@@ -596,9 +721,9 @@ EOF
.end main
EOF
LIBC=""
- ${CC-cc} dummy.s -o dummy 2>/dev/null
+ $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
- ./dummy
+ ./$dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
@@ -615,22 +740,23 @@ EOF
16)
UNAME_MACHINE="alphaev6"
;;
- esac
+ esac
- objdump --private-headers dummy | \
+ objdump --private-headers $dummy | \
grep ld.so.1 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
- fi
- rm -f dummy.s dummy
+ fi
+ rm -f $dummy.s $dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
- cat >dummy.c <<EOF
-main(argc, argv)
- int argc;
- char *argv[];
-{
+ cat >$dummy.c <<EOF
+#ifdef __cplusplus
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
@@ -640,8 +766,8 @@ main(argc, argv)
return 0;
}
EOF
- ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
@@ -660,12 +786,13 @@ EOF
;;
esac
# Determine whether the default compiler is a.out or elf
- cat >dummy.c <<EOF
+ cat >$dummy.c <<EOF
#include <features.h>
-main(argc, argv)
- int argc;
- char *argv[];
-{
+#ifdef __cplusplus
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
@@ -682,8 +809,8 @@ main(argc, argv)
return 0;
}
EOF
- ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
+ $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+ rm -f $dummy.c $dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
@@ -699,10 +826,20 @@ EOF
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit 0 ;;
+ i?86:*:5:7*)
+ # Fixed at (any) Pentium or better
+ UNAME_MACHINE=i586
+ if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
+ echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:3.2:*)
@@ -714,18 +851,15 @@ EOF
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
+ (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
- i?86:UnixWare:*:*)
- if /bin/uname -X 2>/dev/null >/dev/null ; then
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- fi
- echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
- exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
@@ -767,7 +901,7 @@ EOF
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
- i?86:LynxOS:2.*:*)
+ i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
@@ -776,12 +910,12 @@ EOF
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
- BS2000:POSIX-BC:*:*)
- echo bs2000-siemens-posix
- exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
@@ -812,7 +946,7 @@ EOF
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
- R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
@@ -828,15 +962,27 @@ EOF
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit 0 ;;
- *:OS/390:*:*)
- echo s390-ibm-os390
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:QNX:*:4*)
+ echo i386-qnx-qnx${UNAME_VERSION}
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-cat >dummy.c <<EOF
+cat >$dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
@@ -874,7 +1020,10 @@ main ()
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
@@ -934,8 +1083,8 @@ main ()
}
EOF
-${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
-rm -f dummy.c dummy
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
# Apollos put the system type in the environment.
@@ -945,12 +1094,12 @@ test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
if [ -x /usr/convex/getsysinfo ]
then
- case `/usr/convex/getsysinfo -f cpu_type` in
+ case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
- if /usr/convex/getsysinfo -f scalar_acc
+ if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
diff --git a/contrib/tcsh/config.sub b/contrib/tcsh/config.sub
index 7ed374b0b5ef..28426bb8fa0a 100755
--- a/contrib/tcsh/config.sub
+++ b/contrib/tcsh/config.sub
@@ -1,6 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@@ -98,11 +98,21 @@ case $os in
os=
basic_machine=$1
;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
- os=sco3.2v5
+ os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
@@ -121,6 +131,9 @@ case $os in
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -143,24 +156,33 @@ case $os in
-psos*)
os=-psos
;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
- | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
- | hppa2.0n \
- | alpha | alphaev5 | alphaev56 | alphaev6 \
- | we32k | ns16k | clipper \
- | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
- | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
- | mipstx39 | mipstx39el \
- | sparc | sparclet | sparclite | sparc64 | v850)
+ | 580 | i960 | h8300 \
+ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
+ | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
+ | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
+ | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+ | mips64orion | mips64orionel | mipstx39 | mipstx39el \
+ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
+ | mips64vr5000 | miprs64vr5000el | mcore \
+ | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
+ | thumb | d10v | fr30)
basic_machine=$basic_machine-unknown
;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
+ ;;
+
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
@@ -173,29 +195,45 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+ # FIXME: clean up the formatting here.
+ vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
- | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
- | hppa2.0n-* \
- | alpha-* | alphaev5-* | alphaev56-* | alphaev6-* \
- | we32k-* | cydra-* \
- | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
+ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
+ | xmp-* | ymp-* \
+ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
+ | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
+ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
+ | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
- | sparc64-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* \
- | mipstx39-* | mipstx39el-* \
- | f301-*)
+ | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
+ | mips64el-* | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
+ | mipstx39-* | mipstx39el-* | mcore-* \
+ | f301-* | armv*-* | t3e-* \
+ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
+ | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
alliant | fx80)
basic_machine=fx80-alliant
;;
@@ -225,6 +263,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-sysv
;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -301,6 +343,10 @@ case $basic_machine in
encore | umax | mmax)
basic_machine=ns32k-encore
;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
fx2800)
basic_machine=i860-alliant
;;
@@ -319,6 +365,14 @@ case $basic_machine in
basic_machine=h8300-hitachi
os=-hms
;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
harris)
basic_machine=m88k-harris
os=-sysv3
@@ -334,13 +388,30 @@ case $basic_machine in
basic_machine=m68k-hp
os=-hpux
;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
- hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
@@ -349,13 +420,16 @@ case $basic_machine in
hppa-next)
os=-nextstep3
;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
- os=-mvs
- ;;
- s390-ibm* )
- basic_machine=s390-ibm
- os=-os390
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[34567]86v32)
@@ -374,6 +448,25 @@ case $basic_machine in
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ i386-go32 | go32)
+ basic_machine=i386-unknown
+ os=-go32
+ ;;
+ i386-mingw32 | mingw32)
+ basic_machine=i386-unknown
+ os=-mingw32
+ ;;
+ i386-qnx | qnx)
+ basic_machine=i386-qnx
+ ;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
@@ -402,6 +495,10 @@ case $basic_machine in
miniframe)
basic_machine=m68000-convergent
;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux-gnu
@@ -416,10 +513,30 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ msdos)
+ basic_machine=i386-unknown
+ os=-msdos
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
@@ -432,6 +549,10 @@ case $basic_machine in
basic_machine=mips-sony
os=-newsos
;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
next | m*-next )
basic_machine=m68k-next
case $os in
@@ -457,9 +578,25 @@ case $basic_machine in
basic_machine=i960-intel
os=-nindy
;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
np1)
basic_machine=np1-gould
;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
@@ -477,19 +614,19 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
- pentium | p5 | k5 | nexen)
+ pentium | p5 | k5 | k6 | nexen)
basic_machine=i586-pc
;;
- pentiumpro | p6 | k6 | 6x86)
+ pentiumpro | p6 | 6x86)
basic_machine=i686-pc
;;
pentiumii | pentium2)
basic_machine=i786-pc
;;
- pentium-* | p5-* | k5-* | nexen-*)
+ pentium-* | p5-* | k5-* | k6-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumpro-* | p6-* | k6-* | 6x86-*)
+ pentiumpro-* | p6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-*)
@@ -513,12 +650,20 @@ case $basic_machine in
ps2)
basic_machine=i386-ibm
;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
sequent)
basic_machine=i386-sequent
;;
@@ -526,6 +671,10 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
+ sparclite-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
sps7)
basic_machine=m68k-bull
os=-sysv2
@@ -533,6 +682,13 @@ case $basic_machine in
spur)
basic_machine=spur-unknown
;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
sun2)
basic_machine=m68000-sun
;;
@@ -577,6 +733,10 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
+ t3e)
+ basic_machine=t3e-cray
+ os=-unicos
+ ;;
tx39)
basic_machine=mipstx39-unknown
;;
@@ -594,6 +754,10 @@ case $basic_machine in
basic_machine=a29k-nyu
os=-sym1
;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
vaxv)
basic_machine=vax-dec
os=-sysv
@@ -617,6 +781,14 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
xmp)
basic_machine=xmp-cray
os=-unicos
@@ -624,6 +796,10 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
none)
basic_machine=none-none
os=-none
@@ -631,6 +807,15 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
mips)
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
@@ -653,7 +838,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
- sparc)
+ sparc | sparcv9)
basic_machine=sparc-sun
;;
cydra)
@@ -665,6 +850,16 @@ case $basic_machine in
orion105)
basic_machine=clipper-highlevel
;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ c4x*)
+ basic_machine=c4x-none
+ os=-coff
+ ;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
@@ -718,13 +913,21 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos*)
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -734,6 +937,9 @@ case $os in
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
+ -opened*)
+ os=-openedition
+ ;;
-osfrose*)
os=-osfrose
;;
@@ -749,6 +955,9 @@ case $os in
-acis*)
os=-aos
;;
+ -386bsd)
+ os=-bsd
+ ;;
-ctix* | -uts*)
os=-sysv
;;
@@ -768,6 +977,9 @@ case $os in
-oss*)
os=-sysv3
;;
+ -qnx)
+ os=-qnx4
+ ;;
-svr4)
os=-sysv4
;;
@@ -780,11 +992,17 @@ case $os in
# This must come after -sysvr4.
-sysv*)
;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
-xenix)
os=-xenix
;;
- -os390*)
- os=-os390
+ -*mint | -*MiNT)
+ os=-mint
;;
-none)
;;
@@ -811,6 +1029,9 @@ case $basic_machine in
*-acorn)
os=-riscix1.2
;;
+ arm*-rebel)
+ os=-linux
+ ;;
arm*-semi)
os=-aout
;;
@@ -832,6 +1053,15 @@ case $basic_machine in
# default.
# os=-sunos4
;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
@@ -844,6 +1074,15 @@ case $basic_machine in
*-ibm)
os=-aix
;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
*-hp)
os=-hpux
;;
@@ -907,6 +1146,18 @@ case $basic_machine in
f301-fujitsu)
os=-uxpv
;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
*)
os=-none
;;
@@ -928,9 +1179,15 @@ case $basic_machine in
-aix*)
vendor=ibm
;;
+ -beos*)
+ vendor=be
+ ;;
-hpux*)
vendor=hp
;;
+ -mpeix*)
+ vendor=hp
+ ;;
-hiux*)
vendor=hitachi
;;
@@ -946,10 +1203,7 @@ case $basic_machine in
-genix*)
vendor=ns
;;
- -mvs*)
- vendor=ibm
- ;;
- -os390*)
+ -mvs* | -opened*)
vendor=ibm
;;
-ptx*)
@@ -961,6 +1215,15 @@ case $basic_machine in
-aux*)
vendor=apple
;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -*MiNT)
+ vendor=atari
+ ;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
diff --git a/contrib/tcsh/config/bsd4.4 b/contrib/tcsh/config/bsd4.4
index fd077939b877..82f776c8b931 100644
--- a/contrib/tcsh/config/bsd4.4
+++ b/contrib/tcsh/config/bsd4.4
@@ -122,6 +122,7 @@
#if defined(__FreeBSD__)
#define NLS_BUGS
+#define BSD_STYLE_COLORLS
#endif
#if defined(__bsdi__)
diff --git a/contrib/tcsh/configure b/contrib/tcsh/configure
index d783e54b8a2b..fb7c41db49fd 100755
--- a/contrib/tcsh/configure
+++ b/contrib/tcsh/configure
@@ -612,7 +612,7 @@ case "${host}" in
tcsh_config_file=hpux8
;;
*-hp-hpux1[0-9]* )
- tcsh_config_file=hpux8
+ tcsh_config_file=hpux11
;;
## IBM AIX systems
@@ -773,6 +773,11 @@ case "${host}" in
tcsh_config_file=sysv4
;;
+ ## Apollo Domain/OS
+ *-apollo-*)
+ tcsh_config_file=apollo
+ ;;
+
* )
{ echo "configure: error: Tcsh can't guess the configuration file name
for \`${host}' systems.
@@ -787,7 +792,7 @@ echo "Tcsh will use configuration file \`$tcsh_config_file'."
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:791: checking for $ac_word" >&5
+echo "configure:796: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -817,7 +822,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:821: checking for $ac_word" >&5
+echo "configure:826: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -868,7 +873,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:872: checking for $ac_word" >&5
+echo "configure:877: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -900,7 +905,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:904: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:909: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -911,12 +916,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 915 "configure"
+#line 920 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -942,12 +947,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:946: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:951: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:951: checking whether we are using GNU C" >&5
+echo "configure:956: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -956,7 +961,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:965: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -975,7 +980,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:979: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:984: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1007,7 +1012,7 @@ else
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1011: checking how to run the C preprocessor" >&5
+echo "configure:1016: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1022,13 +1027,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1026 "configure"
+#line 1031 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1039,13 +1044,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1043 "configure"
+#line 1048 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1054: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1056,13 +1061,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1060 "configure"
+#line 1065 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1071: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
@@ -1088,13 +1093,13 @@ echo "$ac_t""$CPP" 1>&6
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:1092: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:1097: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 1098 "configure"
+#line 1103 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -1112,7 +1117,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 1116 "configure"
+#line 1121 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -1148,14 +1153,14 @@ esac
echo $ac_n "checking for library containing crypt""... $ac_c" 1>&6
-echo "configure:1152: checking for library containing crypt" >&5
+echo "configure:1157: checking for library containing crypt" >&5
if eval "test \"`echo '$''{'ac_cv_search_crypt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_crypt="no"
cat > conftest.$ac_ext <<EOF
-#line 1159 "configure"
+#line 1164 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1166,7 +1171,7 @@ int main() {
crypt()
; return 0; }
EOF
-if { (eval echo configure:1170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_crypt="none required"
else
@@ -1177,7 +1182,7 @@ rm -f conftest*
test "$ac_cv_search_crypt" = "no" && for i in crypt; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1181 "configure"
+#line 1186 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1188,7 +1193,7 @@ int main() {
crypt()
; return 0; }
EOF
-if { (eval echo configure:1192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_crypt="-l$i"
break
@@ -1210,14 +1215,14 @@ else :
fi
echo $ac_n "checking for library containing tgetent""... $ac_c" 1>&6
-echo "configure:1214: checking for library containing tgetent" >&5
+echo "configure:1219: checking for library containing tgetent" >&5
if eval "test \"`echo '$''{'ac_cv_search_tgetent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_tgetent="no"
cat > conftest.$ac_ext <<EOF
-#line 1221 "configure"
+#line 1226 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1228,7 +1233,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:1232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_tgetent="none required"
else
@@ -1239,7 +1244,7 @@ rm -f conftest*
test "$ac_cv_search_tgetent" = "no" && for i in termlib curses termcap; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1243 "configure"
+#line 1248 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1250,7 +1255,7 @@ int main() {
tgetent()
; return 0; }
EOF
-if { (eval echo configure:1254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_tgetent="-l$i"
break
@@ -1272,14 +1277,14 @@ else :
fi
echo $ac_n "checking for library containing gethostbyname""... $ac_c" 1>&6
-echo "configure:1276: checking for library containing gethostbyname" >&5
+echo "configure:1281: checking for library containing gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_search_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_gethostbyname="no"
cat > conftest.$ac_ext <<EOF
-#line 1283 "configure"
+#line 1288 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1290,7 +1295,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:1294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_gethostbyname="none required"
else
@@ -1301,7 +1306,7 @@ rm -f conftest*
test "$ac_cv_search_gethostbyname" = "no" && for i in nsl; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1305 "configure"
+#line 1310 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1312,7 +1317,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:1316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_gethostbyname="-l$i"
break
@@ -1334,14 +1339,14 @@ else :
fi
echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
-echo "configure:1338: checking for library containing connect" >&5
+echo "configure:1343: checking for library containing connect" >&5
if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_func_search_save_LIBS="$LIBS"
ac_cv_search_connect="no"
cat > conftest.$ac_ext <<EOF
-#line 1345 "configure"
+#line 1350 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1352,7 +1357,7 @@ int main() {
connect()
; return 0; }
EOF
-if { (eval echo configure:1356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_connect="none required"
else
@@ -1363,7 +1368,7 @@ rm -f conftest*
test "$ac_cv_search_connect" = "no" && for i in socket; do
LIBS="-l$i $ac_func_search_save_LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1367 "configure"
+#line 1372 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1374,7 +1379,7 @@ int main() {
connect()
; return 0; }
EOF
-if { (eval echo configure:1378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_search_connect="-l$i"
break
@@ -1409,12 +1414,12 @@ fi
if test "$hesiod" != no; then
HESLIB="-lhesiod"
echo $ac_n "checking for res_send""... $ac_c" 1>&6
-echo "configure:1413: checking for res_send" >&5
+echo "configure:1418: checking for res_send" >&5
if eval "test \"`echo '$''{'ac_cv_func_res_send'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1418 "configure"
+#line 1423 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char res_send(); below. */
@@ -1437,7 +1442,7 @@ res_send();
; return 0; }
EOF
-if { (eval echo configure:1441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_res_send=yes"
else
@@ -1455,7 +1460,7 @@ if eval "test \"`echo '$ac_cv_func_'res_send`\" = yes"; then
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for res_send in -lresolv""... $ac_c" 1>&6
-echo "configure:1459: checking for res_send in -lresolv" >&5
+echo "configure:1464: checking for res_send in -lresolv" >&5
ac_lib_var=`echo resolv'_'res_send | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1463,7 +1468,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lresolv $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1467 "configure"
+#line 1472 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1474,7 +1479,7 @@ int main() {
res_send()
; return 0; }
EOF
-if { (eval echo configure:1478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
diff --git a/contrib/tcsh/configure.in b/contrib/tcsh/configure.in
index 561fb83bffd3..ae330e23d91d 100644
--- a/contrib/tcsh/configure.in
+++ b/contrib/tcsh/configure.in
@@ -56,7 +56,7 @@ case "${host}" in
tcsh_config_file=hpux8
;;
*-hp-hpux1[0-9]* )
- tcsh_config_file=hpux8
+ tcsh_config_file=hpux11
;;
## IBM AIX systems
@@ -217,6 +217,11 @@ case "${host}" in
tcsh_config_file=sysv4
;;
+ ## Apollo Domain/OS
+ *-apollo-*)
+ tcsh_config_file=apollo
+ ;;
+
* )
changequote([, ])dnl
AC_MSG_ERROR([Tcsh can't guess the configuration file name
diff --git a/contrib/tcsh/ed.chared.c b/contrib/tcsh/ed.chared.c
index da43977f6c34..ad2387a16706 100644
--- a/contrib/tcsh/ed.chared.c
+++ b/contrib/tcsh/ed.chared.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.chared.c,v 3.63 2000/11/11 23:03:33 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.chared.c,v 3.70 2001/09/02 21:06:02 christos Exp $ */
/*
* ed.chared.c: Character editing functions.
*/
@@ -76,7 +76,7 @@
#include "sh.h"
-RCSID("$Id: ed.chared.c,v 3.63 2000/11/11 23:03:33 christos Exp $")
+RCSID("$Id: ed.chared.c,v 3.70 2001/09/02 21:06:02 christos Exp $")
#include "ed.h"
#include "tw.h"
@@ -117,7 +117,7 @@ static Char srch_char = 0; /* Search target */
/* all routines that start with c_ are private to this set of routines */
static void c_alternativ_key_map __P((int));
-static void c_insert __P((int));
+void c_insert __P((int));
void c_delafter __P((int));
void c_delbefore __P((int));
static int c_to_class __P((int));
@@ -133,10 +133,11 @@ static void c_hsetpat __P((void));
#ifdef COMMENT
static void c_get_word __P((Char **, Char **));
#endif
-static Char *c_preword __P((Char *, Char *, int));
+static Char *c_preword __P((Char *, Char *, int, Char *));
static Char *c_nexword __P((Char *, Char *, int));
-static Char *c_endword __P((Char *, Char *, int));
+static Char *c_endword __P((Char *, Char *, int, Char *));
static Char *c_eword __P((Char *, Char *, int));
+static void c_push_kill __P((Char *, Char *));
static CCRETVAL c_get_histline __P((void));
static CCRETVAL c_search_line __P((Char *, int));
static CCRETVAL v_repeat_srch __P((int));
@@ -171,11 +172,11 @@ c_alternativ_key_map(state)
AltKeyMap = (Char) state;
}
-static void
+void
c_insert(num)
- register int num;
+ int num;
{
- register Char *cp;
+ Char *cp;
if (LastChar + num >= InputLim)
return; /* can't go past end of buffer */
@@ -189,9 +190,9 @@ c_insert(num)
void
c_delafter(num)
- register int num;
+ int num;
{
- register Char *cp, *kp = NULL;
+ Char *cp, *kp = NULL;
#if defined(DSPMBYTE)
Char *wkcp;
@@ -256,9 +257,9 @@ c_delafter(num)
void
c_delbefore(num) /* delete before dot, with bounds checking */
- register int num;
+ int num;
{
- register Char *cp, *kp = NULL;
+ Char *cp, *kp = NULL;
#if defined(DSPMBYTE)
Char *nowcur, *wkcp;
@@ -316,16 +317,16 @@ c_delbefore(num) /* delete before dot, with bounds checking */
}
static Char *
-c_preword(p, low, n)
- register Char *p, *low;
- register int n;
+c_preword(p, low, n, delim)
+ Char *p, *low, *delim;
+ int n;
{
while (n--) {
- register Char *prev = low;
- register Char *new;
+ Char *prev = low;
+ Char *new;
- while (prev < p) { /* Skip initial spaces */
- if (!Isspace(*prev) || (Isspace(*prev) && *(prev-1) == (Char)'\\'))
+ while (prev < p) { /* Skip initial non-word chars */
+ if (!Strchr(delim, *prev) || *(prev-1) == (Char)'\\')
break;
prev++;
}
@@ -334,10 +335,10 @@ c_preword(p, low, n)
while (new < p) {
prev = new;
- new = c_endword(prev-1, p, 1); /* Skip to next space */
+ new = c_endword(prev-1, p, 1, delim); /* Skip to next non-word char */
new++; /* Step away from end of word */
- while (new <= p) { /* Skip trailing spaces */
- if (!Isspace(*new) || (Isspace(*new) && *(new-1) == (Char)'\\'))
+ while (new <= p) { /* Skip trailing non-word chars */
+ if (!Strchr(delim, *new) || *(new-1) == (Char)'\\')
break;
new++;
}
@@ -365,7 +366,7 @@ c_preword(p, low, n)
*/
static int
c_to_class(ch)
-register int ch;
+int ch;
{
if (Isspace(ch))
return C_CLASS_WHITE;
@@ -378,8 +379,8 @@ register int ch;
static Char *
c_prev_word(p, low, n)
- register Char *p, *low;
- register int n;
+ Char *p, *low;
+ int n;
{
p--;
@@ -400,7 +401,7 @@ c_prev_word(p, low, n)
}
while (n--) {
- register int c_class;
+ int c_class;
if (p < low)
break;
@@ -427,8 +428,8 @@ c_prev_word(p, low, n)
static Char *
c_next_word(p, high, n)
- register Char *p, *high;
- register int n;
+ Char *p, *high;
+ int n;
{
if (!VImode) {
while (n--) {
@@ -444,7 +445,7 @@ c_next_word(p, high, n)
}
while (n--) {
- register int c_class;
+ int c_class;
if (p >= high)
break;
@@ -470,8 +471,8 @@ c_next_word(p, high, n)
static Char *
c_nexword(p, high, n)
- register Char *p, *high;
- register int n;
+ Char *p, *high;
+ int n;
{
while (n--) {
while ((p < high) && !Isspace(*p))
@@ -504,12 +505,12 @@ c_nexword(p, high, n)
static Char *
c_number(p, num, dval)
- register Char *p;
- register int *num;
- register int dval;
+ Char *p;
+ int *num;
+ int dval;
{
- register int i;
- register int sign = 1;
+ int i;
+ int sign = 1;
if (*++p == '^') {
*num = 1;
@@ -537,11 +538,11 @@ c_number(p, num, dval)
static Char *
c_expand(p)
- register Char *p;
+ Char *p;
{
- register Char *q;
- register struct Hist *h = Histlist.Hnext;
- register struct wordent *l;
+ Char *q;
+ struct Hist *h = Histlist.Hnext;
+ struct wordent *l;
int i, from, to, dval;
bool all_dig;
bool been_once = 0;
@@ -766,10 +767,10 @@ excl_err:
static void
c_excl(p)
- register Char *p;
+ Char *p;
{
- register int i;
- register Char *q;
+ int i;
+ Char *q;
/*
* if />[SPC TAB]*![SPC TAB]/, back up p to just after the >. otherwise,
@@ -810,7 +811,7 @@ c_excl(p)
static void
c_substitute()
{
- register Char *p;
+ Char *p;
/*
* Start p out one character before the cursor. Move it backwards looking
@@ -831,7 +832,7 @@ c_substitute()
static void
c_delfini() /* Finish up delete action */
{
- register int Size;
+ int Size;
if (ActionFlag & TCSHOP_INSERT)
c_alternativ_key_map(0);
@@ -868,27 +869,28 @@ c_delfini() /* Finish up delete action */
}
static Char *
-c_endword(p, high, n)
- register Char *p, *high;
- register int n;
+c_endword(p, high, n, delim)
+ Char *p, *high, *delim;
+ int n;
{
- register int inquote = 0;
+ int inquote = 0;
p++;
while (n--) {
- while (p < high) { /* Skip spaces */
- if (!Isspace(*p) || (Isspace(*p) && *(p-1) == (Char)'\\'))
+ while (p < high) { /* Skip non-word chars */
+ if (!Strchr(delim, *p) || *(p-1) == (Char)'\\')
break;
p++;
}
while (p < high) { /* Skip string */
if ((*p == (Char)'\'' || *p == (Char)'"')) { /* Quotation marks? */
- if ((!inquote && *(p-1) != (Char)'\\') || inquote) { /* Should it be honored? */
+ if (inquote || *(p-1) != (Char)'\\') { /* Should it be honored? */
if (inquote == 0) inquote = *p;
else if (inquote == *p) inquote = 0;
}
}
- if (!inquote && (Isspace(*p) && *(p-1) != (Char)'\\')) /* Break if unquoted space */
+ /* Break if unquoted non-word char */
+ if (!inquote && Strchr(delim, *p) && *(p-1) != (Char)'\\')
break;
p++;
}
@@ -901,8 +903,8 @@ c_endword(p, high, n)
static Char *
c_eword(p, high, n)
- register Char *p, *high;
- register int n;
+ Char *p, *high;
+ int n;
{
p++;
@@ -922,6 +924,107 @@ c_eword(p, high, n)
return(p);
}
+/* Set the max length of the kill ring */
+void
+SetKillRing(max)
+ int max;
+{
+ CStr *new;
+ int count, i, j;
+
+ if (max < 1)
+ max = 1; /* no ring, but always one buffer */
+ if (max == KillRingMax)
+ return;
+ new = (CStr *)xcalloc((size_t) max, sizeof(CStr));
+ if (KillRing != NULL) {
+ if (KillRingLen != 0) {
+ if (max >= KillRingLen) {
+ count = KillRingLen;
+ j = KillPos;
+ } else {
+ count = max;
+ j = (KillPos - count + KillRingLen) % KillRingLen;
+ }
+ for (i = 0; i < KillRingLen; i++) {
+ if (i < count) /* copy latest */
+ new[i] = KillRing[j];
+ else /* free the others */
+ xfree(KillRing[j].buf);
+ j = (j + 1) % KillRingLen;
+ }
+ KillRingLen = count;
+ KillPos = count % max;
+ YankPos = count - 1;
+ }
+ xfree(KillRing);
+ }
+ KillRing = new;
+ KillRingMax = max;
+}
+
+/* Push string from start upto (but not including) end onto kill ring */
+static void
+c_push_kill(start, end)
+ Char *start, *end;
+{
+ CStr save, *pos;
+ Char *dp, *cp, *kp;
+ int len = end - start, i, j, k;
+
+ /* Check for duplicates? */
+ if (KillRingLen > 0 && (dp = varval(STRkilldup)) != STRNULL) {
+ YankPos = (KillPos - 1 + KillRingLen) % KillRingLen;
+ if (eq(dp, STRerase)) { /* erase earlier one (actually move up) */
+ j = YankPos;
+ for (i = 0; i < KillRingLen; i++) {
+ if (Strncmp(KillRing[j].buf, start, (size_t) len) == 0 &&
+ KillRing[j].buf[len] == '\0') {
+ save = KillRing[j];
+ for ( ; i > 0; i--) {
+ k = j;
+ j = (j + 1) % KillRingLen;
+ KillRing[k] = KillRing[j];
+ }
+ KillRing[j] = save;
+ return;
+ }
+ j = (j - 1 + KillRingLen) % KillRingLen;
+ }
+ } else if (eq(dp, STRall)) { /* skip if any earlier */
+ for (i = 0; i < KillRingLen; i++)
+ if (Strncmp(KillRing[i].buf, start, (size_t) len) == 0 &&
+ KillRing[i].buf[len] == '\0')
+ return;
+ } else if (eq(dp, STRprev)) { /* skip if immediately previous */
+ j = YankPos;
+ if (Strncmp(KillRing[j].buf, start, (size_t) len) == 0 &&
+ KillRing[j].buf[len] == '\0')
+ return;
+ }
+ }
+
+ /* No duplicate, go ahead and push */
+ len++; /* need space for '\0' */
+ YankPos = KillPos;
+ if (KillRingLen < KillRingMax)
+ KillRingLen++;
+ pos = &KillRing[KillPos];
+ KillPos = (KillPos + 1) % KillRingMax;
+ if (pos->len < len) {
+ if (pos->buf == NULL)
+ pos->buf = (Char *) xmalloc(len * sizeof(Char));
+ else
+ pos->buf = (Char *) xrealloc((ptr_t) pos->buf, len * sizeof(Char));
+ pos->len = len;
+ }
+ cp = start;
+ kp = pos->buf;
+ while (cp < end)
+ *kp++ = *cp++;
+ *kp = '\0';
+}
+
static CCRETVAL
c_get_histline()
{
@@ -1375,9 +1478,9 @@ e_unassigned(c)
CCRETVAL
e_insert(c)
- register int c;
+ int c;
{
- register int i;
+ int i;
#if defined(DSPMBYTE)
CCRETVAL ret;
static Char savec;
@@ -1484,7 +1587,7 @@ int
InsertStr(s) /* insert ASCIZ s at cursor (for complete) */
Char *s;
{
- register int len;
+ int len;
if ((len = (int) Strlen(s)) <= 0)
return -1;
@@ -1520,7 +1623,7 @@ DeleteBack(n) /* delete the n characters before . */
CCRETVAL
e_digit(c) /* gray magic here */
- register int c;
+ int c;
{
if (!Isdigit(c))
return(CC_ERROR); /* no NULs in the input ever!! */
@@ -1554,7 +1657,7 @@ e_digit(c) /* gray magic here */
CCRETVAL
e_argdigit(c) /* for ESC-n */
- register int c;
+ int c;
{
c &= ASCII;
@@ -1575,7 +1678,7 @@ e_argdigit(c) /* for ESC-n */
CCRETVAL
v_zero(c) /* command mode 0 for vi */
- register int c;
+ int c;
{
if (DoingArg) { /* if doing an arg, add this in... */
if (Argument > 1000000)
@@ -1974,7 +2077,7 @@ CCRETVAL
e_run_fg_editor(c)
int c;
{
- register struct process *pp;
+ struct process *pp;
extern bool tellwhat;
USE(c);
@@ -2090,10 +2193,10 @@ CCRETVAL
e_last_item(c)
int c;
{ /* insert the last element of the prev. cmd */
- register Char *cp;
- register struct Hist *hp;
- register struct wordent *wp, *firstp;
- register int i;
+ Char *cp;
+ struct Hist *hp;
+ struct wordent *wp, *firstp;
+ int i;
Char buf[INBUFSIZE];
USE(c);
@@ -2130,10 +2233,10 @@ CCRETVAL
e_dabbrev_expand(c)
int c;
{ /* expand to preceding word matching prefix */
- register Char *cp, *ncp, *bp;
- register struct Hist *hp;
- register int arg = 0, len = 0, i; /* len = 0 to shut up gcc -Wall */
- register bool found = 0;
+ Char *cp, *ncp, *bp;
+ struct Hist *hp;
+ int arg = 0, len = 0, i; /* len = 0 to shut up gcc -Wall */
+ bool found = 0;
Char hbuf[INBUFSIZE];
static int oldevent, hist, word;
static Char *start, *oldcursor;
@@ -2142,7 +2245,7 @@ e_dabbrev_expand(c)
if (Argument <= 0)
return(CC_ERROR);
- cp = c_preword(Cursor, InputBuf, 1);
+ cp = c_preword(Cursor, InputBuf, 1, STRshwordsep);
if (cp == Cursor || Isspace(*cp))
return(CC_ERROR);
@@ -2161,7 +2264,7 @@ e_dabbrev_expand(c)
bp = hbuf;
hp = hp->Hnext;
}
- cp = c_preword(cp, bp, word);
+ cp = c_preword(cp, bp, word, STRshwordsep);
} else { /* starting new search */
oldevent = eventno;
start = cp;
@@ -2172,7 +2275,7 @@ e_dabbrev_expand(c)
}
while (!found) {
- ncp = c_preword(cp, bp, 1);
+ ncp = c_preword(cp, bp, 1, STRshwordsep);
if (ncp == cp || Isspace(*ncp)) { /* beginning of line */
hist++;
word = 0;
@@ -2185,7 +2288,7 @@ e_dabbrev_expand(c)
continue;
} else {
word++;
- len = (int) (c_endword(ncp-1, cp, 1) - ncp + 1);
+ len = (int) (c_endword(ncp-1, cp, 1, STRshwordsep) - ncp + 1);
cp = ncp;
}
if (len > patlen && Strncmp(cp, patbuf, patlen) == 0) {
@@ -2215,25 +2318,90 @@ CCRETVAL
e_yank_kill(c)
int c;
{ /* almost like GnuEmacs */
- register Char *kp, *cp;
+ int len;
+ Char *kp, *cp;
USE(c);
- if (LastKill == KillBuf) /* if zero content */
+ if (KillRingLen == 0) /* nothing killed */
return(CC_ERROR);
-
- if (LastChar + (LastKill - KillBuf) >= InputLim)
+ len = Strlen(KillRing[YankPos].buf);
+ if (LastChar + len >= InputLim)
return(CC_ERROR); /* end of buffer space */
/* else */
- Mark = Cursor; /* set the mark */
cp = Cursor; /* for speed */
- c_insert((int)(LastKill - KillBuf)); /* open the space, */
- for (kp = KillBuf; kp < LastKill; kp++) /* copy the chars */
+ c_insert(len); /* open the space, */
+ for (kp = KillRing[YankPos].buf; *kp; kp++) /* copy the chars */
*cp++ = *kp;
- if (Argument == 1) /* if an arg, cursor at beginning */
- Cursor = cp; /* else cursor at end */
+ if (Argument == 1) { /* if no arg */
+ Mark = Cursor; /* mark at beginning, cursor at end */
+ Cursor = cp;
+ } else {
+ Mark = cp; /* else cursor at beginning, mark at end */
+ }
+
+ return(CC_REFRESH);
+}
+
+/*ARGSUSED*/
+CCRETVAL
+e_yank_pop(c)
+ int c;
+{ /* almost like GnuEmacs */
+ int m_bef_c, del_len, ins_len;
+ Char *kp, *cp;
+
+ USE(c);
+
+#if 0
+ /* XXX This "should" be here, but doesn't work, since LastCmd
+ gets set on CC_ERROR and CC_ARGHACK, which it shouldn't(?).
+ (But what about F_ARGFOUR?) I.e. if you hit M-y twice the
+ second one will "succeed" even if the first one wasn't preceded
+ by a yank, and giving an argument is impossible. Now we "succeed"
+ regardless of previous command, which is wrong too of course. */
+ if (LastCmd != F_YANK_KILL && LastCmd != F_YANK_POP)
+ return(CC_ERROR);
+#endif
+
+ if (KillRingLen == 0) /* nothing killed */
+ return(CC_ERROR);
+ YankPos -= Argument;
+ while (YankPos < 0)
+ YankPos += KillRingLen;
+ YankPos %= KillRingLen;
+
+ if (Cursor > Mark) {
+ del_len = Cursor - Mark;
+ m_bef_c = 1;
+ } else {
+ del_len = Mark - Cursor;
+ m_bef_c = 0;
+ }
+ ins_len = Strlen(KillRing[YankPos].buf);
+ if (LastChar + ins_len - del_len >= InputLim)
+ return(CC_ERROR); /* end of buffer space */
+
+ if (m_bef_c) {
+ c_delbefore(del_len);
+ Cursor = Mark;
+ } else {
+ c_delafter(del_len);
+ }
+ cp = Cursor; /* for speed */
+
+ c_insert(ins_len); /* open the space, */
+ for (kp = KillRing[YankPos].buf; *kp; kp++) /* copy the chars */
+ *cp++ = *kp;
+
+ if (m_bef_c) {
+ Mark = Cursor; /* mark at beginning, cursor at end */
+ Cursor = cp;
+ } else {
+ Mark = cp; /* else cursor at beginning, mark at end */
+ }
return(CC_REFRESH);
}
@@ -2294,7 +2462,7 @@ CCRETVAL
e_delwordprev(c)
int c;
{
- register Char *cp, *p, *kp;
+ Char *cp;
USE(c);
if (Cursor == InputBuf)
@@ -2303,9 +2471,7 @@ e_delwordprev(c)
cp = c_prev_word(Cursor, InputBuf, Argument);
- for (p = cp, kp = KillBuf; p < Cursor; p++) /* save the text */
- *kp++ = *p;
- LastKill = kp;
+ c_push_kill(cp, Cursor); /* save the text */
c_delbefore((int)(Cursor - cp)); /* delete before dot */
Cursor = cp;
@@ -2467,7 +2633,7 @@ CCRETVAL
e_delwordnext(c)
int c;
{
- register Char *cp, *p, *kp;
+ Char *cp;
USE(c);
if (Cursor == LastChar)
@@ -2476,9 +2642,7 @@ e_delwordnext(c)
cp = c_next_word(Cursor, LastChar, Argument);
- for (p = Cursor, kp = KillBuf; p < cp; p++) /* save the text */
- *kp++ = *p;
- LastKill = kp;
+ c_push_kill(Cursor, cp); /* save the text */
c_delafter((int)(cp - Cursor)); /* delete after dot */
if (Cursor > LastChar)
@@ -2528,14 +2692,8 @@ CCRETVAL
e_killend(c)
int c;
{
- register Char *kp, *cp;
-
USE(c);
- cp = Cursor;
- kp = KillBuf;
- while (cp < LastChar)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
+ c_push_kill(Cursor, LastChar); /* copy it */
LastChar = Cursor; /* zap! -- delete to end */
return(CC_REFRESH);
}
@@ -2546,14 +2704,8 @@ CCRETVAL
e_killbeg(c)
int c;
{
- register Char *kp, *cp;
-
USE(c);
- cp = InputBuf;
- kp = KillBuf;
- while (cp < Cursor)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
+ c_push_kill(InputBuf, Cursor); /* copy it */
c_delbefore((int)(Cursor - InputBuf));
Cursor = InputBuf; /* zap! */
return(CC_REFRESH);
@@ -2564,14 +2716,8 @@ CCRETVAL
e_killall(c)
int c;
{
- register Char *kp, *cp;
-
USE(c);
- cp = InputBuf;
- kp = KillBuf;
- while (cp < LastChar)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
+ c_push_kill(InputBuf, LastChar); /* copy it */
LastChar = InputBuf; /* zap! -- delete all of it */
Cursor = InputBuf;
return(CC_REFRESH);
@@ -2582,27 +2728,18 @@ CCRETVAL
e_killregion(c)
int c;
{
- register Char *kp, *cp;
-
USE(c);
if (!Mark)
return(CC_ERROR);
if (Mark > Cursor) {
- cp = Cursor;
- kp = KillBuf;
- while (cp < Mark)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
- c_delafter((int)(cp - Cursor)); /* delete it - UNUSED BY VI mode */
+ c_push_kill(Cursor, Mark); /* copy it */
+ c_delafter((int)(Mark - Cursor)); /* delete it - UNUSED BY VI mode */
+ Mark = Cursor;
}
else { /* mark is before cursor */
- cp = Mark;
- kp = KillBuf;
- while (cp < Cursor)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
- c_delbefore((int)(cp - Mark));
+ c_push_kill(Mark, Cursor); /* copy it */
+ c_delbefore((int)(Cursor - Mark));
Cursor = Mark;
}
return(CC_REFRESH);
@@ -2613,25 +2750,15 @@ CCRETVAL
e_copyregion(c)
int c;
{
- register Char *kp, *cp;
-
USE(c);
if (!Mark)
return(CC_ERROR);
if (Mark > Cursor) {
- cp = Cursor;
- kp = KillBuf;
- while (cp < Mark)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
+ c_push_kill(Cursor, Mark); /* copy it */
}
else { /* mark is before cursor */
- cp = Mark;
- kp = KillBuf;
- while (cp < Cursor)
- *kp++ = *cp++; /* copy it */
- LastKill = kp;
+ c_push_kill(Mark, Cursor); /* copy it */
}
return(CC_NORM); /* don't even need to Refresh() */
}
@@ -2641,7 +2768,7 @@ CCRETVAL
e_charswitch(cc)
int cc;
{
- register Char c;
+ Char c;
USE(cc);
@@ -2664,7 +2791,7 @@ CCRETVAL
e_gcharswitch(cc)
int cc;
{ /* gosmacs style ^T */
- register Char c;
+ Char c;
USE(cc);
if (Cursor > &InputBuf[1]) {/* must have at least two chars entered */
@@ -2743,7 +2870,7 @@ v_wordback(c)
return(CC_ERROR);
/* else */
- Cursor = c_preword(Cursor, InputBuf, Argument); /* bounds check */
+ Cursor = c_preword(Cursor, InputBuf, Argument, STRshwspace); /* bounds check */
if (ActionFlag & TCSHOP_DELETE) {
c_delfini();
@@ -2987,7 +3114,7 @@ static CCRETVAL
v_action(c)
int c;
{
- register Char *cp, *kp;
+ Char *cp, *kp;
if (ActionFlag == TCSHOP_DELETE) {
ActionFlag = TCSHOP_NOP;
@@ -3132,7 +3259,7 @@ CCRETVAL
e_exchange_mark(c)
int c;
{
- register Char *cp;
+ Char *cp;
USE(c);
cp = Cursor;
@@ -3359,7 +3486,7 @@ CCRETVAL
e_expand(c)
int c;
{
- register Char *p;
+ Char *p;
extern bool justpr;
USE(c);
@@ -3560,7 +3687,7 @@ CCRETVAL
e_copyprev(c)
int c;
{
- register Char *cp, *oldc, *dp;
+ Char *cp, *oldc, *dp;
USE(c);
if (Cursor == InputBuf)
@@ -3641,7 +3768,7 @@ v_endword(c)
return(CC_ERROR);
/* else */
- Cursor = c_endword(Cursor, LastChar, Argument);
+ Cursor = c_endword(Cursor, LastChar, Argument, STRshwspace);
if (ActionFlag & TCSHOP_DELETE)
{
@@ -3771,8 +3898,8 @@ CCRETVAL
v_undo(c)
int c;
{
- register int loop;
- register Char *kp, *cp;
+ int loop;
+ Char *kp, *cp;
Char temp;
int size;
diff --git a/contrib/tcsh/ed.decls.h b/contrib/tcsh/ed.decls.h
index 074b96679b01..1a9098804eeb 100644
--- a/contrib/tcsh/ed.decls.h
+++ b/contrib/tcsh/ed.decls.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.decls.h,v 3.29 2000/07/15 19:58:50 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.decls.h,v 3.30 2001/02/19 23:30:43 kim Exp $ */
/*
* ed.decls.h: Editor external definitions
*/
@@ -42,6 +42,7 @@
*/
extern int InsertStr __P((Char *));
extern void DeleteBack __P((int));
+extern void SetKillRing __P((int));
/*
* ed.init.c
@@ -240,6 +241,7 @@ extern CCRETVAL e_dosify_next __P((int));
extern CCRETVAL e_dosify_prev __P((int));
extern CCRETVAL e_page_up __P((int));
extern CCRETVAL e_page_down __P((int));
+extern CCRETVAL e_yank_pop __P((int));
/*
* ed.inputl.c
diff --git a/contrib/tcsh/ed.defns.c b/contrib/tcsh/ed.defns.c
index 3dd0c2c96900..be2a2d535bd4 100644
--- a/contrib/tcsh/ed.defns.c
+++ b/contrib/tcsh/ed.defns.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.defns.c,v 3.36 2000/11/11 23:03:33 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.defns.c,v 3.38 2001/04/26 19:07:47 kim Exp $ */
/*
* ed.defns.c: Editor function definitions and initialization
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: ed.defns.c,v 3.36 2000/11/11 23:03:33 christos Exp $")
+RCSID("$Id: ed.defns.c,v 3.38 2001/04/26 19:07:47 kim Exp $")
#include "ed.h"
@@ -269,20 +269,22 @@ PFCmd CcFuncTbl[] = { /* table of available commands */
#define F_COMMAND_NORM 111
e_dabbrev_expand,
#define F_DABBREV_EXPAND 112
- e_copy_to_clipboard,
-#define F_COPY_CLIP 113
- e_paste_from_clipboard,
+ e_copy_to_clipboard,
+#define F_COPY_CLIP 113
+ e_paste_from_clipboard,
#define F_PASTE_CLIP 114
- e_dosify_next,
+ e_dosify_next,
#define F_DOSIFY_NEXT 115
- e_dosify_prev,
+ e_dosify_prev,
#define F_DOSIFY_PREV 116
- e_page_up,
-#define F_PAGE_UP 117
- e_page_down,
-#define F_PAGE_DOWN 118
+ e_page_up,
+#define F_PAGE_UP 117
+ e_page_down,
+#define F_PAGE_DOWN 118
+ e_yank_pop,
+#define F_YANK_POP 119
0 /* DUMMY VALUE */
-#define F_NUM_FNS 119
+#define F_NUM_FNS 120
};
@@ -519,7 +521,7 @@ KEYCMD CcEmacsMap[] = {
F_UNASSIGNED, /* M-V */
F_COPYREGION, /* M-W */
F_UNASSIGNED, /* M-X */
- F_UNASSIGNED, /* M-Y */
+ F_YANK_POP, /* M-Y */
F_UNASSIGNED, /* M-Z */
F_XKEY, /* M-[ *//* extended key esc -mf Oct 87 */
F_UNASSIGNED, /* M-\ */
@@ -551,7 +553,7 @@ KEYCMD CcEmacsMap[] = {
F_UNASSIGNED, /* M-v */
F_COPYREGION, /* M-w */
F_UNASSIGNED, /* M-x */
- F_UNASSIGNED, /* M-y */
+ F_YANK_POP, /* M-y */
F_UNASSIGNED, /* M-z */
F_UNASSIGNED, /* M-{ */
F_UNASSIGNED, /* M-| */
@@ -1736,30 +1738,44 @@ editinit()
f->desc = CSAVS(3, 114, "Paste cut buffer at cursor position");
f++;
+ f->name = "yank-pop";
+ f->func = F_YANK_POP;
+ f->desc = CSAVS(3, 115,
+ "Replace just-yanked text with yank from earlier kill");
+
+ f++;
f->name = "e_copy_to_clipboard";
f->func = F_COPY_CLIP;
- f->desc = CSAVS(3, 115, "(win32 only)Copy cut buffer to system clipboard");
+ f->desc = CSAVS(3, 116,
+ "(WIN32 only) Copy cut buffer to system clipboard");
+
f++;
f->name = "e_paste_from_clipboard";
f->func = F_PASTE_CLIP;
- f->desc = CSAVS(3, 116, "(win32 only)Paste clipboard buffer at cursor position");
+ f->desc = CSAVS(3, 117,
+ "(WIN32 only) Paste clipboard buffer at cursor position");
+
f++;
f->name = "e_dosify_next";
f->func = F_DOSIFY_NEXT;
- f->desc = CSAVS(3, 117, "(win32 only)Convert each '/' in next word to '\\\\'");
+ f->desc = CSAVS(3, 118,
+ "(WIN32 only) Convert each '/' in next word to '\\\\'");
+
f++;
f->name = "e_dosify_prev";
f->func = F_DOSIFY_PREV;
- f->desc = CSAVS(3, 118, "(win32 only)Convert each '/' in previous word to '\\\\'");
+ f->desc = CSAVS(3, 119,
+ "(WIN32 only) Convert each '/' in previous word to '\\\\'");
+
f++;
f->name = "e_page_up";
f->func = F_PAGE_UP;
- f->desc = CSAVS(3, 118, "(win32 only)Page visible console window up");
+ f->desc = CSAVS(3, 120, "(WIN32 only) Page visible console window up");
+
f++;
f->name = "e_page_down";
f->func = F_PAGE_DOWN;
- f->desc = CSAVS(3, 118, "(win32 only)Page visible console window down");
-
+ f->desc = CSAVS(3, 121, "(WIN32 only) Page visible console window down");
f++;
f->name = NULL;
diff --git a/contrib/tcsh/ed.h b/contrib/tcsh/ed.h
index f92e481711d7..98c1ad256ece 100644
--- a/contrib/tcsh/ed.h
+++ b/contrib/tcsh/ed.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.h,v 3.30 2000/11/11 23:03:34 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.h,v 3.31 2001/02/19 23:30:44 kim Exp $ */
/*
* ed.h: Editor declarations and globals
*/
@@ -132,8 +132,11 @@ EXTERN Char *Mark; /* the emacs "mark" (dot is Cursor) */
EXTERN Char DoingArg; /* true if we have an argument */
EXTERN int Argument; /* "universal" argument value */
EXTERN KEYCMD LastCmd; /* previous command executed */
-EXTERN Char KillBuf[INBUFSIZE]; /* kill buffer */
-EXTERN Char *LastKill; /* points to end of kill buffer */
+EXTERN CStr *KillRing; /* kill ring */
+EXTERN int KillRingMax; /* max length of kill ring */
+EXTERN int KillRingLen; /* current length of kill ring */
+EXTERN int KillPos; /* points to next kill */
+EXTERN int YankPos; /* points to next yank */
EXTERN Char UndoBuf[INBUFSIZE];
EXTERN Char *UndoPtr;
diff --git a/contrib/tcsh/ed.init.c b/contrib/tcsh/ed.init.c
index 55ae2fcd9d92..805e2ecab56d 100644
--- a/contrib/tcsh/ed.init.c
+++ b/contrib/tcsh/ed.init.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.init.c,v 3.43 2000/11/11 23:03:34 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.init.c,v 3.44 2001/02/19 23:30:44 kim Exp $ */
/*
* ed.init.c: Editor initializations
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: ed.init.c,v 3.43 2000/11/11 23:03:34 christos Exp $")
+RCSID("$Id: ed.init.c,v 3.44 2001/02/19 23:30:44 kim Exp $")
#include "ed.h"
#include "ed.term.h"
@@ -208,6 +208,7 @@ ed_Setup(rst)
ed_InitMaps();
Hist_num = 0;
Expand = 0;
+ SetKillRing(getn(varval(STRkillring)));
#ifndef WINNT_NATIVE
if (tty_getty(SHTTY, &extty) == -1) {
@@ -303,7 +304,27 @@ ed_Init()
{
ResetInLine(1); /* reset the input pointers */
GettingInput = 0; /* just in case */
- LastKill = KillBuf; /* no kill buffer */
+#ifdef notdef
+ /* XXX This code was here before the kill ring:
+ LastKill = KillBuf; / * no kill buffer * /
+ If there was any reason for that other than to make sure LastKill
+ was initialized, the code below should go in here instead - but
+ it doesn't seem reasonable to lose the entire kill ring (which is
+ "self-initializing") just because you set $term or whatever, so
+ presumably this whole '#ifdef notdef' should just be taken out. */
+
+ { /* no kill ring - why? */
+ int i;
+ for (i = 0; i < KillRingMax; i++) {
+ if (KillRing[i].buf != NULL)
+ xfree((ptr_t) KillRing[i].buf);
+ KillRing[i].buf = NULL;
+ KillRing[i].len = 0;
+ }
+ YankPos = KillPos = 0;
+ KillRingLen = 0;
+ }
+#endif
#ifdef DEBUG_EDIT
CheckMaps(); /* do a little error checking on key maps */
@@ -623,9 +644,6 @@ ResetInLine(macro)
Hist_num = 0;
DoingArg = 0;
Argument = 1;
-#ifdef notdef
- LastKill = KillBuf; /* no kill buffer */
-#endif
LastCmd = F_UNASSIGNED; /* previous command executed */
if (macro)
MacroLvl = -1; /* no currently active macros */
diff --git a/contrib/tcsh/ed.term.c b/contrib/tcsh/ed.term.c
index b7ea98742200..00f932da42a1 100644
--- a/contrib/tcsh/ed.term.c
+++ b/contrib/tcsh/ed.term.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.term.c,v 1.25 2000/11/11 23:03:34 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.term.c,v 1.26 2001/08/06 23:51:09 christos Exp $ */
/*
* ed.term.c: Low level terminal interface
*/
@@ -37,7 +37,7 @@
#include "sh.h"
#ifndef WINNT_NATIVE
-RCSID("$Id: ed.term.c,v 1.25 2000/11/11 23:03:34 christos Exp $")
+RCSID("$Id: ed.term.c,v 1.26 2001/08/06 23:51:09 christos Exp $")
#include "ed.h"
#include "ed.term.h"
@@ -566,14 +566,21 @@ static struct tcshmodes {
# define OKERROR(e) ((e) == EINTR)
#endif
+#ifdef __NetBSD__
+#define KLUDGE (errno == ENOTTY && count < 10)
+#else
+#define KLUDGE 0
+#endif
+
/* Retry a system call */
+static int count;
#define RETRY(x) \
- for (;;) \
+ for (count = 0;; count++) \
if ((x) == -1) { \
- if (OKERROR(errno)) \
- continue; \
- else \
- return -1; \
+ if (OKERROR(errno) || KLUDGE) \
+ continue; \
+ else \
+ return -1; \
} \
else \
break \
diff --git a/contrib/tcsh/ed.xmap.c b/contrib/tcsh/ed.xmap.c
index 3436f57fc37b..c066ca763b42 100644
--- a/contrib/tcsh/ed.xmap.c
+++ b/contrib/tcsh/ed.xmap.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/ed.xmap.c,v 3.23 2000/11/11 23:03:35 christos Exp $ */
+/* $Header: /src/pub/tcsh/ed.xmap.c,v 3.24 2001/04/27 22:37:03 christos Exp $ */
/*
* ed.xmap.c: This module contains the procedures for maintaining
* the extended-key map.
@@ -92,7 +92,7 @@
*/
#include "sh.h"
-RCSID("$Id: ed.xmap.c,v 3.23 2000/11/11 23:03:35 christos Exp $")
+RCSID("$Id: ed.xmap.c,v 3.24 2001/04/27 22:37:03 christos Exp $")
#include "ed.h"
#include "ed.defns.h"
@@ -719,6 +719,9 @@ parseescape(ptr)
case 'v':
c = CTL_ESC('\013'); /* Vertical Tab */
break;
+ case '\\':
+ c = '\\';
+ break;
case '0':
case '1':
case '2':
diff --git a/contrib/tcsh/glob.3 b/contrib/tcsh/glob.3
index 2fc84e06bd6a..aecddddc74c2 100644
--- a/contrib/tcsh/glob.3
+++ b/contrib/tcsh/glob.3
@@ -1,52 +1,68 @@
-.\" Copyright (c) 1989 The Regents of the University of California.
-.\" All rights reserved.
+.\" $NetBSD: glob.3,v 1.17 2001/03/16 21:09:05 christos Exp $
+.\"
+.\" Copyright (c) 1989, 1991, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Guido van Rossum.
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
.\"
-.\" Redistribution and use in source and binary forms are permitted provided
-.\" that: (1) source distributions retain this entire copyright notice and
-.\" comment, and (2) distributions including binaries display the following
-.\" acknowledgement: ``This product includes software developed by the
-.\" University of California, Berkeley and its contributors'' in the
-.\" documentation or other materials provided with the distribution and in
-.\" all advertising materials mentioning features or use of this software.
-.\" Neither the name of the University nor the names of its contributors may
-.\" be used to endorse or promote products derived from this software without
-.\" specific prior written permission.
-.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
.\"
-.\" @(#)glob.3 5.3 (Berkeley) 3/19/91
+.\" @(#)glob.3 8.3 (Berkeley) 4/16/94
.\"
-.TH GLOB 3 "March 19, 1991"
-.UC 7
-.SH NAME
-glob, globfree \- generate pathnames matching a pattern
-.SH SYNOPSIS
-.nf
-#include <glob.h>
-
-glob(const char *pattern, int flags,
- const int (*errfunc)(char *, int), glob_t *pglob);
-
-void globfree(glob_t *pglob);
-.fi
-.SH DESCRIPTION
-.I Glob
+.Dd March 31, 1998
+.Dt GLOB 3
+.Os
+.Sh NAME
+.Nm glob ,
+.Nm globfree
+.Nd generate pathnames matching a pattern
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.Fd #include <glob.h>
+.Ft int
+.Fn glob "const char *pattern" "int flags" "const int (*errfunc)(const char *, int)" "glob_t *pglob"
+.Ft void
+.Fn globfree "glob_t *pglob"
+.Sh DESCRIPTION
+The
+.Fn glob
+function
is a pathname generator that implements the rules for file name pattern
matching used by the shell.
-.PP
+.Pp
The include file
-.I glob.h
+.Pa glob.h
defines the structure type
-.IR glob_t ,
+.Fa glob_t ,
which contains at least the following fields:
-.sp
-.RS
-.nf
-.ta .5i +\w'char **gl_pathv;\0\0\0'u
+.Bd -literal
typedef struct {
int gl_pathc; /* count of total paths so far */
int gl_matchc; /* count of paths matching pattern */
@@ -54,250 +70,362 @@ typedef struct {
int gl_flags; /* returned flags */
char **gl_pathv; /* list of paths matching pattern */
} glob_t;
-.fi
-.RE
-.PP
+.Ed
+.Pp
The argument
-.I pattern
+.Fa pattern
is a pointer to a pathname pattern to be expanded.
-.I Glob
+The
+.Fn glob
+argument
matches all accessible pathnames against the pattern and creates
a list of the pathnames that match.
In order to have access to a pathname,
-.I glob
+.Fn glob
requires search permission on every component of a path except the last
and read permission on each directory of any filename component of
-.I pattern
-that contains any of the special characters ``*'', ``?'' or ``[''.
-.PP
-.I Glob
+.Fa pattern
+that contains any of the special characters
+.Ql * ,
+.Ql ?
+or
+.Ql [ .
+.Pp
+The
+.Fn glob
+argument
stores the number of matched pathnames into the
-.I gl_pathc
+.Fa gl_pathc
field, and a pointer to a list of pointers to pathnames into the
-.I gl_pathv
+.Fa gl_pathv
field.
-The first pointer after the last pathname is NULL.
+The first pointer after the last pathname is
+.Dv NULL .
If the pattern does not match any pathnames, the returned number of
matched paths is set to zero.
-.PP
+.Pp
It is the caller's responsibility to create the structure pointed to by
-.IR pglob .
+.Fa pglob .
The
-.I glob
+.Fn glob
function allocates other space as needed, including the memory pointed
to by
-.IR gl_pathv .
-.PP
+.Fa gl_pathv .
+.Pp
The argument
-.I flags
+.Fa flags
is used to modify the behavior of
-.IR glob .
+.Fn glob .
The value of
-.I flags
-is the bitwise inclusive OR of any of the following
+.Fa flags
+is the bitwise inclusive
+.Tn OR
+of any of the following
values defined in
-.IR glob.h :
-.TP
-GLOB_APPEND
+.Pa glob.h :
+.Bl -tag -width GLOB_ALTDIRFUNC
+.It Dv GLOB_APPEND
Append pathnames generated to the ones from a previous call (or calls)
to
-.IR glob .
+.Fn glob .
The value of
-.I gl_pathc
+.Fa gl_pathc
will be the total matches found by this call and the previous call(s).
The pathnames are appended to, not merged with the pathnames returned by
the previous call(s).
Between calls, the caller must not change the setting of the
-GLOB_DOOFFS flag, nor change the value of
-.I gl_offs
+.Dv GLOB_DOOFFS
+flag, nor change the value of
+.Fa gl_offs
when
-GLOB_DOOFFS is set, nor (obviously) call
-.I globfree
+.Dv GLOB_DOOFFS
+is set, nor (obviously) call
+.Fn globfree
for
-.I pglob.
-.TP
-GLOB_DOOFFS
+.Fa pglob .
+.It Dv GLOB_DOOFFS
Make use of the
-.I gl_offs
+.Fa gl_offs
field.
If this flag is set,
-.I gl_offs
-is used to specify how many NULL pointers to prepend to the beginning
+.Fa gl_offs
+is used to specify how many
+.Dv NULL
+pointers to prepend to the beginning
of the
-.I gl_pathv
+.Fa gl_pathv
field.
In other words,
-.I gl_pathv
+.Fa gl_pathv
will point to
-.I gl_offs
-NULL pointers,
+.Fa gl_offs
+.Dv NULL
+pointers,
followed by
-.I gl_pathc
-pathname pointers, followed by a NULL pointer.
-.TP
-GLOB_ERR
+.Fa gl_pathc
+pathname pointers, followed by a
+.Dv NULL
+pointer.
+.It Dv GLOB_ERR
Causes
-.I glob
+.Fn glob
to return when it encounters a directory that it cannot open or read.
Ordinarily,
-.I glob
+.Fn glob
continues to find matches.
-.TP
-GLOB_MARK
+.It Dv GLOB_MARK
Each pathname that is a directory that matches
-.I pattern
+.Fa pattern
has a slash
appended.
-.TP
-GLOB_NOSORT
-By default, the pathnames are sorted in ascending ASCII order;
-this flag prevents that sorting (speeding up
-.IR glob ).
-.TP
-GLOB_NOCHECK
+.It Dv GLOB_NOCHECK
If
-.I pattern
+.Fa pattern
does not match any pathname, then
-.I glob
+.Fn glob
returns a list
consisting of only
-.IR pattern ,
+.Fa pattern ,
with the number of total pathnames is set to 1, and the number of matched
pathnames set to 0.
-If
-.I GLOB_QUOTE
-is set, its effect is present in the pattern returned.
-.TP
-GLOB_QUOTE
-Use the backslash (``\e'') character for quoting: every occurrence of
-a backslash followed by a character in the pattern is replaced by that
-character, avoiding any special interpretation of the character.
-.TP
-GLOB_NOMAGIC
-Is the same as GLOB_NOCHECK but it only appends the
-.IR pattern
+.It Dv GLOB_NOSORT
+By default, the pathnames are sorted in ascending
+.Tn ASCII
+order;
+this flag prevents that sorting (speeding up
+.Fn glob ) .
+.El
+.Pp
+The following values may also be included in
+.Fa flags ,
+however, they are non-standard extensions to
+.St -p1003.2 .
+.Bl -tag -width GLOB_ALTDIRFUNC
+.It Dv GLOB_ALTDIRFUNC
+The following additional fields in the pglob structure have been
+initialized with alternate functions for glob to use to open, read,
+and close directories and to get stat information on names found
+in those directories.
+.Bd -literal
+ void *(*gl_opendir)(const char * name);
+ struct dirent *(*gl_readdir)(void *);
+ void (*gl_closedir)(void *);
+ int (*gl_lstat)(const char *name, struct stat *st);
+ int (*gl_stat)(const char *name, struct stat *st);
+.Ed
+.Pp
+This extension is provided to allow programs such as
+.Xr restore 8
+to provide globbing from directories stored on tape.
+.It Dv GLOB_BRACE
+Pre-process the pattern string to expand
+.Ql {pat,pat,...}
+strings like
+.Xr csh 1 .
+The pattern
+.Ql {}
+is left unexpanded for historical reasons
+.Po
+.Xr csh 1
+does the same thing to ease typing of
+.Xr find 1
+patterns
+.Pc .
+.It Dv GLOB_MAGCHAR
+Set by the
+.Fn glob
+function if the pattern included globbing characters.
+See the description of the usage of the
+.Fa gl_matchc
+structure member for more details.
+.It Dv GLOB_NOMAGIC
+Is the same as
+.Dv GLOB_NOCHECK
+but it only appends the
+.Fa pattern
if it does not contain any of the special characters ``*'', ``?'' or ``[''.
-GLOB_NOMAGIC is used to simplify implementing the globbing behavior in
-.IR csh(1).
-.PP
+.Dv GLOB_NOMAGIC
+is provided to simplify implementing the historic
+.Xr csh 1
+globbing behavior and should probably not be used anywhere else.
+.It Dv GLOB_NOESCAPE
+Disable the use of the backslash
+.Pq Ql \e
+character for quoting.
+.It Dv GLOB_TILDE
+Expand patterns that start with
+.Ql ~
+to user name home directories.
+.It Dv GLOB_LIMIT
+Limit the amount of memory used by matches to
+.Li ARG_MAX
+This option should be set for programs that can be coerced to a denial of
+service attack via patterns that expand to a very large number of matches,
+such as a long string of
+.Li */../*/..
+.El
+.Pp
If, during the search, a directory is encountered that cannot be opened
or read and
-.I errfunc
-is non-NULL,
-.I glob
-calls (*\fIerrfunc\fP)(\fIpath\fP, \fIerrno\fP).
-This may be unintuitive: a pattern like ``*/Makefile'' will try to
-.IR stat (2)
-``foo/Makefile'' even if ``foo'' is not a directory, resulting in a
+.Fa errfunc
+is
+.Pf non- Dv NULL ,
+.Fn glob
+calls
+.Fa (*errfunc)(path, errno) .
+This may be unintuitive: a pattern like
+.Ql */Makefile
+will try to
+.Xr stat 2
+.Ql foo/Makefile
+even if
+.Ql foo
+is not a directory, resulting in a
call to
-.IR errfunc .
-The error routine can suppress this action by testing for ENOENT and
-ENOTDIR; however, the GLOB_ERR flag will still cause an immediate
+.Fa errfunc .
+The error routine can suppress this action by testing for
+.Dv ENOENT
+and
+.Dv ENOTDIR ;
+however, the
+.Dv GLOB_ERR
+flag will still cause an immediate
return when this happens.
-.PP
+.Pp
If
-.I errfunc
+.Fa errfunc
returns non-zero,
-.I glob
+.Fn glob
stops the scan and returns
-.I GLOB_ABEND
+.Dv GLOB_ABORTED
after setting
-.I gl_pathc
+.Fa gl_pathc
and
-.I gl_pathv
+.Fa gl_pathv
to reflect any paths already matched.
This also happens if an error is encountered and
-.I GLOB_ERR
+.Dv GLOB_ERR
is set in
-.IR flags ,
+.Fa flags ,
regardless of the return value of
-.IR errfunc ,
+.Fa errfunc ,
if called.
If
-.I GLOB_ERR
+.Dv GLOB_ERR
is not set and either
-.I errfunc
-is NULL or
-.I errfunc
+.Fa errfunc
+is
+.Dv NULL
+or
+.Fa errfunc
returns zero, the error is ignored.
-.PP
+.Pp
The
-.I globfree
+.Fn globfree
function frees any space associated with
-.I pglob
+.Fa pglob
from a previous call(s) to
-.IR glob .
-.SH RETURNS
+.Fn glob .
+.Pp
+The historical
+.Dv GLOB_QUOTE
+flag is no longer supported.
+Per
+.St -p1003.2-92 ,
+backslash escaping of special characters is the default behaviour;
+it may be disabled by specifying the
+.Dv GLOB_NOESCAPE
+flag.
+.Sh RETURN VALUES
On successful completion,
-.I glob
+.Fn glob
returns zero.
In addition the fields of
-.I pglob
+.Fa pglob
contain the values described below:
-.TP
-.I gl_pathc
+.Bl -tag -width GLOB_NOCHECK
+.It Fa gl_pathc
contains the total number of matched pathnames so far.
-This includes other matches from previous invocations of
-.I glob
-if
-.I GLOB_APPEND
+This includes other matches from previous invocations of
+.Fn glob
+if
+.Dv GLOB_APPEND
was specified.
-.TP
-.I gl_matchc
+.It Fa gl_matchc
contains the number of matched pathnames in the current invocation of
-.I glob.
-.TP
-.I gl_flags
-contains a copy of the
-.I flags
-parameter with the bit GLOB_MAGCHAR set if
-.I pattern
+.Fn glob .
+.It Fa gl_flags
+contains a copy of the
+.Fa flags
+parameter with the bit
+.Dv GLOB_MAGCHAR
+set if
+.Fa pattern
contained any of the special characters ``*'', ``?'' or ``['', cleared
if not.
-.TP
-.I gl_pathv
-contains a pointer to a NULL-terminated list of matched pathnames.
+.It Fa gl_pathv
+contains a pointer to a
+.Dv NULL Ns -terminated
+list of matched pathnames.
However, if
-.I gl_pathc
+.Fa gl_pathc
is zero, the contents of
-.I gl_pathv
+.Fa gl_pathv
are undefined.
-.PP
+.El
+.Pp
If
-.I glob
-terminates due to an error, it sets errno and returns one of the
-following non-zero constants, which are defined in the include
-file <glob.h>:
-.TP
-GLOB_NOSPACE
-An attempt to allocate memory failed.
-.TP
-GLOB_ABEND
+.Fn glob
+terminates due to an error, it sets
+.Va errno
+and returns one of the following non-zero constants, which are defined
+in the include file
+.Aq Pa glob.h :
+.Bl -tag -width GLOB_ABORTEDXXX
+.It Dv GLOB_ABORTED
The scan was stopped because an error was encountered and either
-GLOB_ERR was set or (*\fIerrfunc\fR)() returned non-zero.
-.PP
+.Dv GLOB_ERR
+was set or
+.Fa (*errfunc)()
+returned non-zero.
+.It Dv GLOB_NOMATCH
+The pattern does not match any existing pathname, and
+.Dv GLOB_NOCHECK
+was not set int
+.Dv flags .
+.It Dv GLOB_NOSPACE
+An attempt to allocate memory failed, or if
+.Va errno
+was 0
+.Li GLOB_LIMIT
+was specified in the flags and
+.Li ARG_MAX
+patterns were matched.
+.El
+.Pp
+The historical
+.Dv GLOB_ABEND
+return constant is no longer supported. Portable applications should use the
+.Dv GLOB_ABORTED
+constant instead.
+.Pp
The arguments
-.I pglob->gl_pathc
+.Fa pglob\->gl_pathc
and
-.I pglob->gl_pathv
+.Fa pglob\->gl_pathv
are still set as specified above.
-.SH STANDARDS
-The
-.I glob
-function is expected to be POSIX 1003.2 compatible with the exception
-that the flag
-.I GLOB_QUOTE
-and the fields
-.I gl_matchc
-and
-.I gl_flags
-should not be used by applications striving for strict POSIX conformance.
-.SH EXAMPLE
-A rough equivalent of ``ls -l *.c *.h'' can be obtained with the
+.Sh ENVIRONMENT
+.Bl -tag -width HOME -compact
+.It Ev HOME
+If defined, used as the home directory of the current user in
+tilde expansions.
+.El
+.Sh EXAMPLE
+A rough equivalent of
+.Ql "ls -l *.c *.h"
+can be obtained with the
following code:
-.sp
-.nf
-.RS
+.Bd -literal -offset indent
glob_t g;
g.gl_offs = 2;
@@ -306,21 +434,53 @@ glob("*.h", GLOB_DOOFFS | GLOB_APPEND, NULL, &g);
g.gl_pathv[0] = "ls";
g.gl_pathv[1] = "-l";
execvp("ls", g.gl_pathv);
-.RE
-.fi
-.SH SEE ALSO
-sh(1), fnmatch(3), wordexp(3), regexp(3)
-.SH BUGS
-Patterns longer than MAXPATHLEN may cause unchecked errors.
-.PP
-.I Glob
-may fail and set errno for any of the errors specified for the
-library routines
-.I stat (2),
-.I closedir (3),
-.I opendir (3),
-.I readdir (3),
-.I malloc (3),
+.Ed
+.Sh SEE ALSO
+.Xr sh 1 ,
+.Xr fnmatch 3 ,
+.Xr regexp 3
+.Sh STANDARDS
+The
+.Fn glob
+function is expected to be
+.St -p1003.2
+compatible with the exception
+that the flags
+.Dv GLOB_ALTDIRFUNC,
+.Dv GLOB_BRACE
+.Dv GLOB_MAGCHAR,
+.Dv GLOB_NOMAGIC,
+.Dv GLOB_TILDE,
and
-.I free (3).
-
+.Dv GLOB_LIMIT
+and the fields
+.Fa gl_matchc
+and
+.Fa gl_flags
+should not be used by applications striving for strict
+.Tn POSIX
+conformance.
+.Sh HISTORY
+The
+.Fn glob
+and
+.Fn globfree
+functions first appeared in
+.Bx 4.4 .
+.Sh BUGS
+Patterns longer than
+.Dv MAXPATHLEN
+may cause unchecked errors.
+.Pp
+The
+.Fn glob
+function may fail and set
+.Va errno
+for any of the errors specified for the library routines
+.Xr stat 2 ,
+.Xr closedir 3 ,
+.Xr opendir 3 ,
+.Xr readdir 3 ,
+.Xr malloc 3 ,
+and
+.Xr free 3 .
diff --git a/contrib/tcsh/glob.h b/contrib/tcsh/glob.h
index bed9c4c58243..eb8753a466da 100644
--- a/contrib/tcsh/glob.h
+++ b/contrib/tcsh/glob.h
@@ -1,6 +1,8 @@
+/* $NetBSD: glob.h,v 1.13 2001/03/16 21:02:42 christos Exp $ */
+
/*
- * Copyright (c) 1989 The Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1989, 1993
+ * The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Guido van Rossum.
@@ -33,39 +35,61 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)glob.h 5.6 (Berkeley) 4/3/91
+ * @(#)glob.h 8.1 (Berkeley) 6/2/93
*/
#ifndef _GLOB_H_
#define _GLOB_H_
typedef struct {
- int gl_pathc; /* count of total paths so far */
- int gl_matchc; /* count of paths matching pattern */
- int gl_offs; /* reserved at beginning of gl_pathv */
- int gl_flags; /* copy of flags parameter to glob() */
- /* copy of errfunc parameter to glob() */
+ int gl_pathc; /* Count of total paths so far. */
+ int gl_matchc; /* Count of paths matching pattern. */
+ int gl_offs; /* Reserved at beginning of gl_pathv. */
+ int gl_flags; /* Copy of flags parameter to glob. */
+ char **gl_pathv; /* List of paths matching pattern. */
+ /* Copy of errfunc parameter to glob. */
int (*gl_errfunc) __P((const char *, int));
- char **gl_pathv; /* list of paths matching pattern */
+
+ /*
+ * Alternate filesystem access methods for glob; replacement
+ * versions of closedir(3), readdir(3), opendir(3), stat(2)
+ * and lstat(2).
+ */
+ void (*gl_closedir) __P((void *));
+ struct dirent *(*gl_readdir) __P((void *));
+ void *(*gl_opendir) __P((const char *));
+ int (*gl_lstat) __P((const char *, struct stat *));
+ int (*gl_stat) __P((const char *, struct stat *));
} glob_t;
-#define GLOB_APPEND 0x001 /* append to output from previous call */
-#define GLOB_DOOFFS 0x002 /* use gl_offs */
-#define GLOB_ERR 0x004 /* return on error */
-#define GLOB_MAGCHAR 0x008 /* pattern had globbing characters */
-#define GLOB_MARK 0x010 /* append / to matching directories */
-#define GLOB_NOCHECK 0x020 /* return pattern itself if nothing matches */
-#define GLOB_NOSORT 0x040 /* don't sort */
-#define GLOB_QUOTE 0x080 /* quote special chars with \ */
-#define GLOB_NOMAGIC 0x100 /* like GLOB_NOCHECK but only if the pattern
- * did not have any magic characters */
-#define GLOB_ALTNOT 0x200 /* use alternate glob character [^ not !] */
+#define GLOB_APPEND 0x0001 /* Append to output from previous call. */
+#define GLOB_DOOFFS 0x0002 /* Use gl_offs. */
+#define GLOB_ERR 0x0004 /* Return on error. */
+#define GLOB_MARK 0x0008 /* Append / to matching directories. */
+#define GLOB_NOCHECK 0x0010 /* Return pattern itself if nothing matches. */
+#define GLOB_NOSORT 0x0020 /* Don't sort. */
+#define GLOB_NOESCAPE 0x1000 /* Disable backslash escaping. */
+
+#define GLOB_NOSPACE (-1) /* Malloc call failed. */
+#define GLOB_ABORTED (-2) /* Unignored error. */
+#define GLOB_NOMATCH (-3) /* No match, and GLOB_NOCHECK was not set. */
+#define GLOB_NOSYS (-4) /* Implementation does not support function. */
+
+#if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)
+#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
+#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
+#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
+#define GLOB_NOMAGIC 0x0200 /* GLOB_NOCHECK without magic chars (csh). */
+#define GLOB_LIMIT 0x0400 /* Limit memory used by matches to ARG_MAX */
+#define GLOB_TILDE 0x0800 /* Expand tilde names from the passwd file. */
+#define GLOB_ALTNOT 0x1000 /* use alternate glob character [^ not !] */
+#define GLOB_QUOTE 0x2000 /* XXX: source compatibility */
-#define GLOB_NOSPACE (-1) /* malloc call failed */
-#define GLOB_ABEND (-2) /* unignored error */
+#define GLOB_ABEND GLOB_ABORTED /* source compatibility */
+#endif
-int glob __P((const char *, int, int (*)(const char *, int), glob_t *));
-void globfree __P((glob_t *));
-int globcharcoll __P((int, int));
+int glob __P((const char *, int, int (*)(const char *, int), glob_t *));
+void globfree __P((glob_t *));
+int globcharcoll __P((int, int));
#endif /* !_GLOB_H_ */
diff --git a/contrib/tcsh/host.defs b/contrib/tcsh/host.defs
index b00090c3f66e..d3737b8447e0 100644
--- a/contrib/tcsh/host.defs
+++ b/contrib/tcsh/host.defs
@@ -1,5 +1,5 @@
newcode :
-/* $Header: /src/pub/tcsh/host.defs,v 1.28 2000/11/11 23:03:35 christos Exp $ */
+/* $Header: /src/pub/tcsh/host.defs,v 1.31 2001/06/10 02:19:11 christos Exp $ */
/*
* host.defs: Hosttype/Machtype etc.
*/
@@ -37,7 +37,7 @@ newcode :
*/
#include "sh.h"
-RCSID("$Id: host.defs,v 1.28 2000/11/11 23:03:35 christos Exp $")
+RCSID("$Id: host.defs,v 1.31 2001/06/10 02:19:11 christos Exp $")
endcode :
@@ -477,8 +477,8 @@ vendor : defined(M_intel) : "intel"
vendor : defined(m68k) : "motorola"
vendor : defined(mac68k) : "apple"
vendor : defined(pc532) : "national-semi"
-vendor : defined(pmax) || defined(mips) : "dec"
-vendor : defined(M_mipsel) : "dec"
+vendor : defined(pmax) : "dec"
+vendor : defined(mips) : "mips"
vendor : defined(sparc) : "sun"
vendor : defined(sun3) : "sun"
vendor : defined(vax) : "digital"
@@ -499,10 +499,12 @@ enddef :
newdef : defined(__FreeBSD__)
comment : FreeBSD
+vendor : defined(__alpha) : "digital"
vendor : defined(M_intel) : "intel"
hosttype: : "FreeBSD"
ostype : : "FreeBSD"
-machtype: : "i386"
+machtype: defined(__alpha) : "alpha"
+machtype: defined(M_i386) : "i386"
enddef :
@@ -539,6 +541,14 @@ ostype : : "coherent"
machtype: defined(_I386) : "i386"
enddef :
+newdef : defined(concurrent)
+comment : Concurrent PowerHawk
+vendor : : "concurrent"
+hosttype: : "powerhawk"
+ostype : : "powermax_os"
+machtype: : "powerhawk"
+enddef :
+
newdef : defined(SCO)
comment : SCO UNIX System V/386 Release 3.2
vendor : : "sco"
diff --git a/contrib/tcsh/nls/C/set17 b/contrib/tcsh/nls/C/set17
index fa4fd20f46f4..0e8115a0b79d 100644
--- a/contrib/tcsh/nls/C/set17
+++ b/contrib/tcsh/nls/C/set17
@@ -1,4 +1,4 @@
-$ $Id: set17,v 1.3 1996/10/19 17:52:33 christos Exp $
+$ $Id: set17,v 1.4 2001/01/04 17:51:38 christos Exp $
$ sh.proc.c
$set 17
1 BUG: waiting for background job!\n
@@ -11,6 +11,6 @@ $set 17
8 BUG: status=%-9o
9 \040(core dumped)
10 \040(wd:
-11 wd now:
+11 (wd now:
12 %S: Already suspended\n
13 %S: Already stopped\n
diff --git a/contrib/tcsh/nls/C/set3 b/contrib/tcsh/nls/C/set3
index 9f83760d8c67..7a46f5f6e51d 100644
--- a/contrib/tcsh/nls/C/set3
+++ b/contrib/tcsh/nls/C/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.3 1995/04/24 14:12:51 christos Exp $
+$ $Id: set3,v 1.4 2001/04/26 19:07:48 kim Exp $
$ Editor function descriptions
$set 3
1 Move back a character
@@ -115,3 +115,10 @@ $set 3
112 Vi goto the beginning of line
113 Perform which of current command
114 Paste cut buffer at cursor position
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/Makefile b/contrib/tcsh/nls/Makefile
index 1b4de3aeafec..a1936e3644a9 100644
--- a/contrib/tcsh/nls/Makefile
+++ b/contrib/tcsh/nls/Makefile
@@ -1,5 +1,6 @@
-SUBDIRS= C finnish french german greek italian ja spanish
+SUBDIRS= C et finnish french german greek italian ja pl russian \
+ spanish ukrainian
#GENCAT= gencat -new
GENCAT= gencat
diff --git a/contrib/tcsh/nls/et/set1 b/contrib/tcsh/nls/et/set1
new file mode 100644
index 000000000000..bd44bb3cc983
--- /dev/null
+++ b/contrib/tcsh/nls/et/set1
@@ -0,0 +1,140 @@
+$ $Id: set1,v 1.2 2001/01/11 13:25:24 christos Exp $
+$ Error messages
+$set 1
+1 Sntaksi viga
+2 %s ei ole lubatud
+3 Sna on liiga pikk
+4 $< rida on liiga pikk
+5 $0 jaoks pole faili
+6 Mittetielik [] muutja
+7 $ laiendus peab lppema enne ]
+8 Halb : tiendaja $ (%c)
+9 Viga indeksis
+10 Vigane number
+11 Snad on otsas
+12 Faili nimi on puudu
+13 Sisemine tiendi viga
+14 Ksku pole
+15 Liiga vhe argumente
+16 Liiga palju argumente
+17 Seda aliast on liiga ohtlik luua
+18 Thi if
+19 Ebaige then
+20 Snad pole sulgudes
+21 %s ei leita
+22 Vigane mask
+23 Pole sellist limiiti
+24 Argument on liiga suur
+25 Vigane vi tundmatu skaleerimis faktor
+26 Defineerimata muutuja
+27 Kataloogi pinu pole nii sgav
+28 Vigane signaali number
+29 Tundmatu signaal; kill -l annab signaalid
+30 Muutuja nimi peab algama thega
+31 Muutuja nimi on liiga pikk
+32 Muutuja nimi vib koosneda ainult thtedest ja numbritest
+33 Sellel ksuinterpretaatoril puudub tkontroll
+34 Avaldises on sntaksi viga
+35 Kodukataloogi pole
+36 Kodukataloogi ei saa minna
+37 Vigane thi ksk
+38 Omistamisel pole avaldist
+39 Tundmatu operaator
+40 Arusaamatu
+41 %s: Fail on olemas
+42 Vtme -c argumendi lpus on langkriips
+43 Katkestatud
+44 Indeks on piiridest vljas
+45 Rea letitumine
+46 Sellist td pole
+47 Terminalilt ei saa
+48 Pole while/foreach sees
+49 Protsessid on otsas
+50 Ei leia
+51 Puuduv %c
+52 Ei leia smbolit %c
+53 Mlu on otsas
+54 Toru ei saa luua
+55 %s: %s
+56 %s
+57 Kasuta: jobs [ -l ]
+58 Argumendid peavad olema tde vi protsesside identifikaatorid
+59 Kesolevat td pole
+60 Pole eelmist td
+61 Pole mustrile vastavat td
+62 Fork sveneb > %d; vibolla `...` tskkel
+63 Alamshellis pole tkontrolli
+64 Snkroniseerimise trge: Protsessi %d pole
+65 %sTeil on peatatud tid
+66 %sTeil on seisatud tid
+67 Pole teist kataloogi
+68 Kataloogi pinu on thi
+69 Halb kataloog
+70 kasuta: %s [-%s]%s
+71 -h vtmel puudub operand
+72 Pole meldimise shell
+73 Nulliga jagamine
+74 Jgi leidmine nulliga
+75 Vigane skaala; te mtlesite ehk "%s"?
+76 Login shelli ei saa peatada (praegu)
+77 Tundmatu kasutaja: %s
+78 $home muutujat pole vrtustatud
+79 Kasuta: history [-%s] [# sndmuste number]
+80 $, ! vi < pole lubatud kasutada koos $# vi $?
+81 Reavahetus muutuja nimes
+82 * pole lubatud kasutada koos $# vi $?
+83 $?<number> vi $#<number> pole lubatud
+84 Lubamatu muutuja nimi
+85 Reavahetus muutuja indeksis
+86 Laiendamise puhvri letitumine
+87 Muutuja sntaksi viga
+88 Vigane ! kasutamine
+89 Eelmist asendust pole
+90 Vigane asendamine
+91 Eelmist vasakut poolt pole
+92 Parem pool on liiga pikk
+93 Vigane ! modifikaator: %c
+94 Modifikaator ebannestus
+95 Asenduse puhvri letitumine
+96 Vigane ! argumendi valik
+97 Pole eelmist otsimist
+98 %s: Sndmust pole
+99 Liiga palju )
+100 Liiga palju (
+101 Halvasti paigutatud (
+102 Suunamisel pole nime antud
+103 Segane vljundi suunamine
+104 << ei saa () vahel kasutada
+105 Segane sisendi suunamine
+106 Halvasti paigutatud ()
+107 Aliaste tskkel
+108 $watch muutuja pole seatud
+109 Plaanitud sndmuseid pole
+110 Kasuta: sched -<sndmuse#>.\nKasuta: sched [+]hh:mm <ksk>
+111 Niipalju sndmuseid pole
+112 Pole ksku, mida kivitada
+113 Vigane sndmuseaeg
+114 Suhteline aeg ei ole am/pm notatsiooniga koosklas
+115 Termcap sne on liiga pikk
+116 Kasuta: settc %s [yes|no]
+117 Tundmatu omadus `%s'
+118 Tundmatu termcap parameeter `%%%c'
+119 `%s' jaoks on liiga palju argumente (%d)
+120 `%s' nuab %d argumenti
+121 Kasuta: echotc [-v|-s] [<omadus> [<argumendid>]]
+122 %s: %s. Vale arhitektuur
+123 !# Ajaloo tskkel
+124 Vigane failipring
+125 Valija letitumine
+126 Tundmatu vti: `-%s'\nKasuta: %s [ -bcdefilmnqstvVxX -Dnimi[=vrtus] ] [ argument ... ]
+127 Tundmatu vti: `-%s'\nKasuta: %s [ -bcdefFilmnqstvVxX ] [ argument ... ]
+128 Tundmatu vti: `-%s'\nKasuta: %s [ -bcdefilmnqstvVxX ] [ argument ... ]
+129 \nVigane tiendus: "%s"
+130 \nVigane %s: '%c'
+131 \nEraldaja '%c' puudub prast %s "%s"
+132 \nMittetielik %s: "%s"
+133 -m vtmel pole operandi
+134 Kasuta: unlimit [-fh] [limiidid]
+135 $%S on ainult lugemiseks
+136 Pole sellist td
+137 Tundmatu colorls muutuja `%c%c'
diff --git a/contrib/tcsh/nls/et/set10 b/contrib/tcsh/nls/et/set10
new file mode 100644
index 000000000000..50b486a16394
--- /dev/null
+++ b/contrib/tcsh/nls/et/set10
@@ -0,0 +1,8 @@
+$ $Id: set10,v 1.1 2001/01/04 18:46:02 christos Exp $
+$ ma.setp.c
+$set 10
+1 setpath: vigane ksk '%s'.\n
+2 setpath: ksule '%s' pole piisavalt argumente.\n
+3 setpath: teel '%s' pole vrtust\n
+4 setpath: %s ei leitud %s's\n
+5 setpath: %d ei ole korrektne positsioon %s's\n
diff --git a/contrib/tcsh/nls/et/set11 b/contrib/tcsh/nls/et/set11
new file mode 100644
index 000000000000..7328a0d73201
--- /dev/null
+++ b/contrib/tcsh/nls/et/set11
@@ -0,0 +1,10 @@
+$ $Id: set11,v 1.1 2001/01/04 18:46:02 christos Exp $
+$ sh.c
+$set 11
+1 Hoiatus: tty (%s) pole kttesaadav.\n
+2 Seega ei saa kasutada tde kontrolli.\n
+3 Teil on %d kirja.\n
+4 Teil on %d kirja failis %s.\n
+5 Teil on %skiri.\n
+6 uus
+7 Teil on %skiri failis %s.\n
diff --git a/contrib/tcsh/nls/et/set12 b/contrib/tcsh/nls/et/set12
new file mode 100644
index 000000000000..de459481c199
--- /dev/null
+++ b/contrib/tcsh/nls/et/set12
@@ -0,0 +1,4 @@
+$ $Id: set12,v 1.1 2001/01/04 18:46:02 christos Exp $
+$ sh.dir.c
+$set 12
+1 %s: Proovin startida kataloogist "%s"\n
diff --git a/contrib/tcsh/nls/et/set13 b/contrib/tcsh/nls/et/set13
new file mode 100644
index 000000000000..02ff2bb3eae4
--- /dev/null
+++ b/contrib/tcsh/nls/et/set13
@@ -0,0 +1,13 @@
+$ $Id: set13,v 1.1 2001/01/04 18:46:02 christos Exp $
+$ sh.exec.c
+$set 13
+1 hash=%-4d dir=%-2d prog=%s\n
+2 %d hash buckets of %d bits each\n
+3 debug mask = 0x%08x\n
+4 %d hits, %d misses, %d%%\n
+5 %S: ksuinterpretaatori siseksk.\n
+6 %S: Ksku pole.\n
+7 where: / ksunimes on mttetu\n
+8 %S on tegelikult
+9 %S on siseksk\n
+10 hash miss:
diff --git a/contrib/tcsh/nls/et/set14 b/contrib/tcsh/nls/et/set14
new file mode 100644
index 000000000000..dedcc68ad5c2
--- /dev/null
+++ b/contrib/tcsh/nls/et/set14
@@ -0,0 +1,6 @@
+$ $Id: set14,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ sh.file.c
+$set 14
+1 \nhh!! Liiga palju %s!!\n
+2 nimesid paroolifailis
+3 faile
diff --git a/contrib/tcsh/nls/et/set15 b/contrib/tcsh/nls/et/set15
new file mode 100644
index 000000000000..f638275026df
--- /dev/null
+++ b/contrib/tcsh/nls/et/set15
@@ -0,0 +1,7 @@
+$ $Id: set15,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ sh.func.c
+$set 15
+1 %s: %s: Ei nnestu %s%s piirangut\n
+2 eemaldada
+3 seada
+4 \040kva
diff --git a/contrib/tcsh/nls/et/set16 b/contrib/tcsh/nls/et/set16
new file mode 100644
index 000000000000..e2f26be92586
--- /dev/null
+++ b/contrib/tcsh/nls/et/set16
@@ -0,0 +1,13 @@
+$ $Id: set16,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ sh.lex.c
+$set 16
+1 Seadsin tty pgrp numbrilt %d numbrile %d\n
+2 \nKasuta t lpetamiseks ksku "logout".\n
+3 \nKasuta "exit" ksku %s katkestamiseks.\n
+4 seek to eval %x %x\n
+5 seek to alias %x %x\n
+6 seek to file %x\n
+7 Bad seek type %d\n
+8 tell eval %x %x\n
+9 tell alias %x %x\n
+10 tell file %x\n
diff --git a/contrib/tcsh/nls/et/set17 b/contrib/tcsh/nls/et/set17
new file mode 100644
index 000000000000..abb92bba83e5
--- /dev/null
+++ b/contrib/tcsh/nls/et/set17
@@ -0,0 +1,16 @@
+$ $Id: set17,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ sh.proc.c
+$set 17
+1 BUG: ootan taustat jrel!\n
+2 Exit %d\n
+3 BUG: process flushed twice
+4 Ttab
+5 Signaal
+6 Exit %-25d
+7 Valmis
+8 BUG: staatus=%-9o
+9 \040(mlupilt pstetud)
+10 \040(tkataloog:
+11 (tkataloog nd:
+12 %S: Juba peatatud\n
+13 %S: Juba seisatud\n
diff --git a/contrib/tcsh/nls/et/set18 b/contrib/tcsh/nls/et/set18
new file mode 100644
index 000000000000..b91a437cece7
--- /dev/null
+++ b/contrib/tcsh/nls/et/set18
@@ -0,0 +1,4 @@
+$ $Id: set18,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ sh.set.c
+$set 18
+1 Hoiatus: nmedalt pikk PATH sai lhendatud\n
diff --git a/contrib/tcsh/nls/et/set19 b/contrib/tcsh/nls/et/set19
new file mode 100644
index 000000000000..8891ab9f8a4c
--- /dev/null
+++ b/contrib/tcsh/nls/et/set19
@@ -0,0 +1,15 @@
+$ $Id: set19,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ tc.alloc.c
+$set 19
+1 nbytes=%d: Mlu on otsas\n
+2 free(%lx) kasutati enne mlu haaramist.
+3 free(%lx) enne mlu algust.
+4 free(%lx) prast mlu lppu.
+5 free(%lx) halb plokk.
+6 free(%lx) vigane piirkonna kontroll.
+7 free(%lx) vigane plokkide indeks.
+8 %s mlu kasutamine hetkel:\nvaba:\t
+9 \nkasutatud:\t
+10 \n\tKokku kasutusel: %d, kokku vaba: %d\n
+11 \tMlu vahemikus 0x%lx kuni 0x%lx. Tegelik algus 0x%lx\n
+12 Mlu vahemikus 0x%lx kuni 0x%lx (%ld).\n
diff --git a/contrib/tcsh/nls/et/set2 b/contrib/tcsh/nls/et/set2
new file mode 100644
index 000000000000..691339f775fa
--- /dev/null
+++ b/contrib/tcsh/nls/et/set2
@@ -0,0 +1,111 @@
+$ $Id: set2,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ Signal names
+$set 2
+1 Null signaal
+2 Hangup
+3 Katkestus
+4 Quit
+5 Vigane instruktsioon
+6 Trace/BPT trap
+7 Abort
+8 IOT trap
+9 System Crash Imminent
+10 Error exit
+11 EMT trap
+12 Floating exception
+13 Tapetud
+14 Kasutaja signaal 1
+15 Kasutaja signaal 2
+16 Segmenteerimise rike
+17 Viga siinil
+18 Program range error
+19 Operand range error
+20 Vigane ssteemifunktsioon
+21 Katkenud toru
+22 Alarmkell
+23 Terminated
+24 Alamprotsessi olek muutus
+25 Alamprotsessi surm
+26 Apollo-spetsiifiline trge
+27 Alamprotsess peatatud vi lpetas
+28 Alamprotsess lpetas
+29 Voolutrge
+30 Resource Lost
+31 Break (Ctrl-Break)
+32 Sisend/vljund vimalik
+33 Asnkroonne S/V (select)
+34 Urgent condition on I/O channel
+35 Multitasking wake-up
+36 Multitasking kill
+37 Fortrani asnkroonne S/V lpetas
+38 Recovery
+39 Mitteparandatav mlu viga
+40 CPU aja piirang on letatud
+41 System shutdown imminent
+42 micro-tasking group-no wakeup flag set
+43 Thread error - (use cord -T for detailed info)
+44 CRAY Y-MP registri paarsuse viga
+45 Information request
+46 Peatatud (signaal)
+47 Seisatud (signaal)
+48 Peatatud
+49 Seisatud
+50 Jtkab
+51 Peatatud (tty sisend)
+52 Seisatud (tty sisend)
+53 Peatatud (tty vljund)
+54 Seisatud (tty vljund)
+55 Akna olek muutus
+56 Akna suurus muutus
+57 Telefoni olek muutus
+58 Cpu aja piirang on letatud
+59 Faili suuruse piirang on letatud
+60 Virtuaalaja alarm
+61 Profiling time alarm
+62 DIL signaal
+63 Pollable event occured
+64 Protsessi lwpd on blokeeritud
+65 Spetsiaalne LWP signaal
+66 Spetsiaalne CPR Signaal
+67 Spetsiaalne CPR Signaal
+68 Esimene reaalaja signaal
+69 Teine reaalaja signaal
+70 Kolmas reaalaja signaal
+71 Neljas reaalaja signaal
+72 Neljas viimane reaalaja signaal
+73 Kolmas viimane reaalaja signaal
+74 Teine viimane reaalaja signaal
+75 Viimane reaalaja signaal
+76 LAN Asnkroonne I/O
+77 PTY read/write availability
+78 I/O intervention required
+79 HFT monitor mode granted
+80 HFT monitor mode should be relinguished
+81 HFT sound control has completed
+82 Data in HFT ring buffer
+83 Migrate process
+84 Secure attention key
+85 Reschedule
+86 Signaling SS$_DEBUG
+87 Prioriteedi muutus
+88 Tuvastati teline tupiksituatsioon
+89 Uus sisendsmbol
+90 Pinu piirang on letatud
+91 Kasutamata signaal
+92 LM overlay
+93 ssteemi klmutamine
+94 ssteemi sulatamine
+95 tupiksituatsioon
+96 mlu suuruse piirang on letatud
+97 andmete suuruse piirang on letatud
+98 exceeded memory size limit of 32KB
+99 exce error for no memory
+100 check point start
+101 check point start of kernel
+102 restart start
+103 restart of kernel
+104 XMU suuruse piirang on letatud
+105 RLG0 piirang on letatud
+106 RLG1 piirang on letatud
+107 RLG2 piirang on letatud
+108 RLG3 piirang on letatud
diff --git a/contrib/tcsh/nls/et/set20 b/contrib/tcsh/nls/et/set20
new file mode 100644
index 000000000000..0587f75ff692
--- /dev/null
+++ b/contrib/tcsh/nls/et/set20
@@ -0,0 +1,41 @@
+$ $Id: set20,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ tc.bind.c
+$set 20
+1 Vigane klahvi nimi `%S'\n
+2 Halb klahv: %S\n
+3 Halb ksk: %S\n
+4 Halb klahvi spetsifikatsioon %S\n
+5 Null sne spetsifikatsioonis\n
+6 Standardsed klahviseosed\n
+7 Alternatiivsed klahviseosed\n
+8 Mitme-smbolised seosed\n
+9 Seosed nooleklahvidele\n
+10 %-15s-> on defineerimata\n
+11 BUG!!! %s pole seotud.\n
+12 Kasuta: bindkey [vtmed] [--] [KLAHV [KSK]]\n
+13 -a esita vi seo KLAHVI alternatiivne tabel\n
+14 -b ksitle KLAHVI kui C-, M-, F- vi X- klahvi nime\n
+15 -s ksitle COMMAND kui literaalset vljundsne\n
+16 -c ksitle COMMAND kui sisemist vi vlist ksku\n
+17 -v seo kik klahvid vi seostega\n
+18 -e seo kik klahvid emacsi seostega\n
+19 -d seo kik klahvid vaikimisi toimeti seostega\n
+20 -l esita toimeti ksud koos kirjeldustega\n
+21 -r kustuta KLAHVILT seos\n
+22 -k kasuta KLAHVI kui noole-klahvi smbolnime\n
+23 -- katkesta vtmete ttlemine\n
+24 -u (vi suvaline vigane vti) see teade\n
+25 Ilma KLAHVI vi KSUTA trkib kik seosed\n
+26 Ilma KSUTA trkib seosed KLAHVILE.\n
+27 Halb klahvi spetsifikatsioon -- null sne\n
+28 Halb klahvi spetsifikatsioon -- thi sne\n
+29 Halb funktsioon-klahvi spetsifikatsioon. Null klahv pole lubatud\n
+30 Halb klahvi spetsifikatsioon -- vigane kuueteistkmnend number\n
+31 Halb klahvi spetsifikatsioon -- vigane kaheksand number\n
+32 Halb klahvi spetsifikatsioon -- vigane kmnend number\n
+33 Halb funktsioon-klahvi spetsifikatsioon.\n
+34 Null klahv pole lubatud\n
+35 halb klahvi spetsifikatsioon -- tundmatu nimi "%S"\n
+36 kasuta: bind [KLAHV | KSK KLAHV | "emacs" | "vi" | "-a"]\n
+37 Vigane funktsioon
+38 %s\t\ton defineerimata\n
diff --git a/contrib/tcsh/nls/et/set21 b/contrib/tcsh/nls/et/set21
new file mode 100644
index 000000000000..ba9a344b4c04
--- /dev/null
+++ b/contrib/tcsh/nls/et/set21
@@ -0,0 +1,5 @@
+$ $Id: set21,v 1.1 2001/01/04 18:46:03 christos Exp $
+$ tc.disc.c
+$set 21
+1 Lokaalseid smboleid ei nnestu lugeda.\n
+2 Lokaalseid smboleid ei nnestu seada.\n
diff --git a/contrib/tcsh/nls/et/set22 b/contrib/tcsh/nls/et/set22
new file mode 100644
index 000000000000..92e3f3aae648
--- /dev/null
+++ b/contrib/tcsh/nls/et/set22
@@ -0,0 +1,17 @@
+$ $Id: set22,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tc.func.c
+$set 22
+1 %S: \t on tegelikult
+2 \nKasutaja %s: vale parool\n
+3 Vigane alias 'precmd' eemaldatud.\n
+4 Vigane alias 'cwdcmd' eemaldatud.\n
+5 Vigane alias 'beepcmd' eemaldatud.\n
+6 Vigane alias 'periodic' eemaldatud.\n
+7 ttlen ksurida\n
+8 Kas te tepoolest tahate kustutada kik failid? [e/j]
+9 katkestan failide kustutamise!\n
+10 ksurida on nd:\n
+11 ttlen ksurida\n
+12 hes loenditest\n
+13 ksurida on nd:\n
+14 jJ
diff --git a/contrib/tcsh/nls/et/set23 b/contrib/tcsh/nls/et/set23
new file mode 100644
index 000000000000..eb0609d40c00
--- /dev/null
+++ b/contrib/tcsh/nls/et/set23
@@ -0,0 +1,34 @@
+$ $Id: set23,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tc.os.c
+$set 23
+1 Vigane cpu/saidi nimi
+2 Saidi tee on liiga pikk
+3 tundmatu
+4 sait: %s\n
+5 %d: Saiti pole\n
+6 setlocal: %s: %s\n
+7 Saiti pole
+8 Te olete lksus universumis, mida te pole loonud
+9 Getwarp ebannestus
+10 Vigane warp
+11 Setwarp ebannestus
+12 Vigane universum
+13 Tundmatu viga: %d
+14 sysname: %s\n
+15 nodename: %s\n
+16 release: %s\n
+17 versioon: %s\n
+18 masin: %s\n
+19 getwd: ".." ei saa avada (%s)
+20 getwd: Ei saa minna kataloogi ".." (%s)
+21 getwd: Viga lugedes ".." (%s)
+22 getwd: Ei saa tagasi "." kataloogi (%s)
+23 getwd: "/" atribuute ei saa lugeda (%s)
+24 getwd: "." atribuute ei saa lugeda (%s)
+25 getwd: Kataloogi "%s" atribuute ei saa lugeda (%s)
+26 getwd: Kataloogi "%s" ei saa avada (%s)
+27 getwd: Kataloogis ".." pole kataloogi "." (%s)
+28 Vigane ssteemi tp
+29 Ssteemi tp ei ole mratud
+30 Liiga palju argumente
+31 Vigane argument
diff --git a/contrib/tcsh/nls/et/set24 b/contrib/tcsh/nls/et/set24
new file mode 100644
index 000000000000..a7fb2dec398f
--- /dev/null
+++ b/contrib/tcsh/nls/et/set24
@@ -0,0 +1,4 @@
+$ $Id: set24,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tc.sched.c
+$set 24
+1 Hkk!
diff --git a/contrib/tcsh/nls/et/set25 b/contrib/tcsh/nls/et/set25
new file mode 100644
index 000000000000..a95f6f60cd83
--- /dev/null
+++ b/contrib/tcsh/nls/et/set25
@@ -0,0 +1,6 @@
+$ $Id: set25,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tc.sig.c
+$set 25
+1 our wait %d\n
+2 viga: bsd_signal(%d) pole signaal\n
+3 viga: bsd_signal(%d) - sigaction ebannestus, errno = %d\n
diff --git a/contrib/tcsh/nls/et/set26 b/contrib/tcsh/nls/et/set26
new file mode 100644
index 000000000000..729c77647c13
--- /dev/null
+++ b/contrib/tcsh/nls/et/set26
@@ -0,0 +1,15 @@
+$ $Id: set26,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tc.who.c
+$set 26
+1 Ei saa lugeda %s atribuute. Anna ksk "unset watch".\n
+2 %s ei saa avada. Anna ksk "unset watch".\n
+3 BUG! viimane element ei ole viimasena registreeritud!\n
+4 tagurpidi:
+5 BUG! esimene element ei ole esimesena registreeritud!\n
+6 uus: %s/%s\n
+7 %n %a terminalil %l masinast %m.
+8 %n %a terminalil %l.
+9 ttab
+10 lpetas t
+11 asendas %s terminalil
+12 kohalik
diff --git a/contrib/tcsh/nls/et/set27 b/contrib/tcsh/nls/et/set27
new file mode 100644
index 000000000000..53828e48716d
--- /dev/null
+++ b/contrib/tcsh/nls/et/set27
@@ -0,0 +1,8 @@
+$ $Id: set27,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tw.comp.c
+$set 27
+1 ksk
+2 eraldaja
+3 muster
+4 vahemik
+5 tiendamine
diff --git a/contrib/tcsh/nls/et/set29 b/contrib/tcsh/nls/et/set29
new file mode 100644
index 000000000000..2ec61dd61dfa
--- /dev/null
+++ b/contrib/tcsh/nls/et/set29
@@ -0,0 +1,4 @@
+$ $Id: set29,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tw.help.c
+$set 29
+1 %S'ile pole abiteksti\n
diff --git a/contrib/tcsh/nls/et/set3 b/contrib/tcsh/nls/et/set3
new file mode 100644
index 000000000000..170da71d97d8
--- /dev/null
+++ b/contrib/tcsh/nls/et/set3
@@ -0,0 +1,124 @@
+$ $Id: set3,v 1.2 2001/04/26 19:07:48 kim Exp $
+$ Editor function descriptions
+$set 3
+1 Liigu smbol tagasi
+2 Kustuta smbol kursori tagant
+3 Lika jooksva sna algusest kursorini - salvesta likepuhvris
+4 Lika rea algusest kursorini - salvesta likepuhvris
+5 Liigu jooksva sna algusse
+6 Liigu rea algusse
+7 Thed kursorist kuni snalpuni suurteks
+8 Vi muuda kursori aluse smboli suurust ja liigu smbol edasi
+9 Vi muuda realpuni
+10 Puhasta ekraan jttes jooksva rea lemiseks
+11 Tienda jooksev sna
+12 Vali tiendusi liikudes nimekirjas edasi
+13 Vali tiendusi liikudes nimekirjas tagasi
+14 Tienda jooksev sna, ignoreeri programmeeritud tiendusi
+15 Kopeeri jooksev sna kursorini
+16 Kopeeri ala mrgist kursorini likepuhvrisse
+17 Avalda eelneva snani, millele see on prefiks
+18 Kustuta smbol kursori alt
+19 Kustuta smbol kursori alt vi teata thja rea korral faililpust
+20 Kustuta smbol kursori alt vi rea lpu korral nita tiendusi
+21 Kustuta smbol kursori alt, nita tiendusi vi teata faililpust
+22 Lika kursorist jooksva sna lpuni - salvesta likepuhvris
+23 Kui alustatud, lisab argumendile, muidu lisab numbri
+24 Number, mis alustab argumenti
+25 Liigu jrgmisele ajaloo reale
+26 Smbolid vikethtedeks kursorist jooksva sna lpuni
+27 Nita faililppu
+28 Kursor realppu
+29 Vaheta kursor ja mrk
+30 Avalda faili nimes metasmbolid
+31 Avalda ajaloo ksud
+32 Avalda real ajaloo ksud
+33 Avalda muutujad
+34 Liigu smbol edasi
+35 Liigu edasi jooksva sna lppu
+36 Vaheta kursori ees kaks smbolit
+37 Otsi ajaloos tagasi jooksva rea algusega rida
+38 Otsi ajaloos edasi jooksva rea algusega rida
+39 Lisa eelmise ksu viimane element
+40 Inkrementaalne edaspidi otsing
+41 Inkrementaalne tagurpidi otsing
+42 Puhasta rida
+43 Lika realpuni ja salvesta likepuhvris
+44 Lika ala mrgist kursorini ja salvesta likepuhvris
+45 Lika kogu rida ja salvesta likepuhvris
+46 Nita tiendamise valikud
+47 Nita tiendamise valikuid ignoreerides programmeeritud tiendusi
+48 Nita faili nimes metasmbolite leide
+49 Nita tiendamise valikuid vi teavita thja rea korral faililpust
+50 Nita masina koormust ja jooksva protsessi olekut
+51 Avalda ajaloo ksud ja lisa thik
+52 Tida ksklus
+53 Avalda failiteed, eemaldades algusest . ja ..
+54 Avalda ksk failiteeks vi aliaseks
+55 Llita lisamis- vi lekirjutamismood
+56 Lisa jrgmisele kirjutatavale smbolile kaheksas bitt
+57 Lisa jrgmine kirjutatav smbol reale kvoodituna
+58 Nita kik uuesti
+59 Taaskivita peatatud toimeti
+60 Esita jooksva ksu abiinfo
+61 See smbol lisatakse reale
+62 See smbol on smboljrjendis esimene
+63 Sea mrk
+64 Paranda jooksva sna igekirja
+65 Paranda terve rea igekirja
+66 Saada smbol terminalile vahendusmoodis
+67 Llita ajaloo literaalne vi leksiline mood
+68 Vaheta kursori alune ja kursorist vasakul asuvad smbolid
+69 Vaheta kursori ees kaks smbolit
+70 Tty viivitusega peatamine smbol
+71 Tty thjenda vljund smbol
+72 Tty katkesta smbol
+73 Tty vlju smbol
+74 Tty peata smbol
+75 Tty luba vljund smbol
+76 Tty keela vljund smbol
+77 Thistab sidumata smbolit
+78 Emacsi universaalne argument (argument korda 4)
+79 Liigu eelmisele ajaloo reale
+80 Smbolid suurthtedeks kursorist jooksva sna lpuni
+81 Vi liigu jrgmise sna algusse
+82 Vi sisene peale kursorit lisamismoodi
+83 Vi sisene rea lpus lisamismoodi
+84 Vi muuda kursori aluse smboli suurust ja liigu he smboli vrra edasi
+85 Vi muuda prefiks ksklust
+86 Vi muuda realpuni
+87 Sisene vi ksumoodi (kasuta alternatiivseid klahvi seoseid)
+88 Vi ksu mood tienda jooksev sna
+89 Vi liigu eelmisele smbolile (backspace)
+90 Vi kustuta prefiks ksklus
+91 Vi liigu jooksva thikuga eraldatud sna lppu
+92 Vi liigu jooksva sna lppu
+93 Vi liigu tagasi mratud smbolini
+94 Vi liigu edasi mratud smbolini
+95 Vi liigu tagasi mratud smbolile
+96 Vi liigu edasi mratud smbolile
+97 Sisene vi lisamismoodi
+98 Sisene rea alguses vi lisamismoodi
+99 Vi korda antud smboli otsimist samas suunas
+100 Vi korda antud smboli otsimist vastupidises suunas
+101 Vi korda antud otsimist samas suunas
+102 Vi korda antud otsimist vastupidises suunas
+103 Vi asenda kursori alt smbol jrgmisena kirjutatava smboliga
+104 Vi asendusreiim
+105 Vi otsi ajaloost tagurpidi
+106 Vi otsi ajaloost edaspidi
+107 Vi asenda kursori alune smbol ja mine sisesamisreiimi
+108 Vi asenda kogu rida
+109 Vi mine eelmise sna juurde
+110 Vi mine jrgmise sna juurde
+111 Vi taasta viimane muutus
+112 Vi mine rea algusse
+113 Kivita jooksval snal ksk which
+114 Kleebi likepuhver alates kursori positsioonist
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/et/set30 b/contrib/tcsh/nls/et/set30
new file mode 100644
index 000000000000..8438f462ab28
--- /dev/null
+++ b/contrib/tcsh/nls/et/set30
@@ -0,0 +1,16 @@
+$ $Id: set30,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ tw.parse.c
+$set 30
+1 starting_a_command %d\n
+2 complete %d
+3 complete %d %S\n
+4 %s: Internal match error.\n
+5 elementi
+6 veergu
+7 Leidsin %d %s, nitan neid? [e/j]
+8 looking = %d\n
+9 \n%s sisemine viga: Ma ei tea, mida ma otsin!\n
+10 pole kataloog
+11 pole leitav
+12 loetamatu
+13 jJ
diff --git a/contrib/tcsh/nls/et/set31 b/contrib/tcsh/nls/et/set31
new file mode 100644
index 000000000000..f701daaa367e
--- /dev/null
+++ b/contrib/tcsh/nls/et/set31
@@ -0,0 +1,7 @@
+$ $Id: set31,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ vms.termcap.c
+$set 31
+1 TERMCAP ei saa avada: [%s]\n
+2 %s ei saa avada.\n
+3 Leidsin %s failis %s.\n
+4 %s pole failis %s\n
diff --git a/contrib/tcsh/nls/et/set4 b/contrib/tcsh/nls/et/set4
new file mode 100644
index 000000000000..cc9cb1952281
--- /dev/null
+++ b/contrib/tcsh/nls/et/set4
@@ -0,0 +1,45 @@
+$ $Id: set4,v 1.1 2001/01/04 18:46:04 christos Exp $
+$ Termcap strings
+$set 4
+1 lisa uus thi rida
+2 kuuldav kell
+3 puhasta phjani
+4 puhasta rea lpuni
+5 kursori horisontaal positsioon
+6 ekraani puhastamine
+7 smboli kustutamine
+8 rea kustutamine
+9 alusta kustutamis mood
+10 lpeta kustutamis mood
+11 lpeta vahelekirjutamise mood
+12 kursor olekurealt
+13 kursor koju
+14 lisa smbol
+15 alusta vahelekirjutamise mood
+16 lisa tide
+17 saadab kursori alla
+18 saadab kursori vasakule
+19 saadab kursori paremale
+20 saadab kursori les
+21 alusta rasvast
+22 atribuutide lpp
+23 mitte-purustav thik
+24 lpeta rhutatud
+25 alusta rhutatud
+26 kursor olekureale
+27 kursor he vrra les
+28 alusta allajoonimist
+29 lpeta allajoonimine
+30 nhtav kell
+31 kustuta mitu smbolit
+32 kursor korduvalt alla
+33 lisa mitu smbolit
+34 kursor korduvalt vasakule
+35 kursor korduvalt paremale
+36 kursor korduvalt les
+37 Omab automaatseid ri
+38 Saab kasutada fsilist tabulaatorit
+39 Ridade arv
+40 Veergude arv
+41 Omab meta klahvi
+42 Parem r ignoreerib uut rida
diff --git a/contrib/tcsh/nls/et/set5 b/contrib/tcsh/nls/et/set5
new file mode 100644
index 000000000000..013f1b72e0d4
--- /dev/null
+++ b/contrib/tcsh/nls/et/set5
@@ -0,0 +1,4 @@
+$ $Id: set5,v 1.1 2001/01/04 18:46:05 christos Exp $
+$ ed.chared.c
+$set 5
+1 Tjrjekorra koormuse info puudub\n
diff --git a/contrib/tcsh/nls/et/set6 b/contrib/tcsh/nls/et/set6
new file mode 100644
index 000000000000..c97d381f85e4
--- /dev/null
+++ b/contrib/tcsh/nls/et/set6
@@ -0,0 +1,11 @@
+$ $Id: set6,v 1.1 2001/01/04 18:46:05 christos Exp $
+$ ed.inputl.c
+$set 6
+1 VIGA: vigane ksk klahvilt 0%o\r\n
+2 jah\n
+3 paranda\n
+4 katkesta\n
+5 ei\n
+6 Pole sellist ksku\n
+7 Arusaamatu ksk\n
+8 *** toimeti fataalne VIGA ***\r\n\n
diff --git a/contrib/tcsh/nls/et/set7 b/contrib/tcsh/nls/et/set7
new file mode 100644
index 000000000000..32d3e63e1ca3
--- /dev/null
+++ b/contrib/tcsh/nls/et/set7
@@ -0,0 +1,30 @@
+$ $Id: set7,v 1.1 2001/01/04 18:46:05 christos Exp $
+$ ed.screen.c
+$set 7
+1 \n\tTcsh arvab, et teie terminal omab\n
+2 \tjrgnevaid omadusi:\n\n
+3 \tTal on %d veergu ja %d rida\n
+4 \tTa %s meta klahvi\n
+5 omab
+6 ei oma
+7 \tTal on%s tabulaatori omadus\n
+8 puudu
+9 \tTa %s automaatseid ri\n
+10 omab
+11 ei oma
+12 \tTa %s maagilisi ri\n
+13 (thi)
+14 jah
+15 ei
+16 VIGA: ei saa kustutada\r\n
+17 DeleteChars: num on mttetu: %d\r\n
+18 VIGA: cannot insert\r\n
+19 StartInsert: num on mttetu: %d\r\n
+20 %s: Ei saa avada /etc/termcap.\n
+21 %s: Terminali tbil "%s" puudub kirje\n
+22 %s: kasutan rumala terminali seadeid.\n
+23 %s: HOIATUS: Teie terminal ei saa liikuda les.\n
+24 Pikkade ridade toimetamine vib olla kummaline.\n
+25 puudub puhasta EOL omadus.\n
+26 puudub kustuta smbol omadus.\n
+27 puudub lisa smbol omadus.\n
diff --git a/contrib/tcsh/nls/et/set8 b/contrib/tcsh/nls/et/set8
new file mode 100644
index 000000000000..dd44350d0631
--- /dev/null
+++ b/contrib/tcsh/nls/et/set8
@@ -0,0 +1,5 @@
+$ $Id: set8,v 1.1 2001/01/04 18:46:05 christos Exp $
+$ ed.term.c
+$set 8
+1 Tundmatu vti
+2 Vigane argument
diff --git a/contrib/tcsh/nls/et/set9 b/contrib/tcsh/nls/et/set9
new file mode 100644
index 000000000000..877460b1a2cf
--- /dev/null
+++ b/contrib/tcsh/nls/et/set9
@@ -0,0 +1,12 @@
+$ $Id: set9,v 1.1 2001/01/04 18:46:05 christos Exp $
+$ ed.xmap.c
+$set 9
+1 AddXkey: Null pikkusega laiend-klahv ei ole lubatud.\n
+2 AddXkey: ksuni viiv jrjend pole lubatud\n
+3 DeleteXkey: Null pikkusega laiend-klahv ei ole lubatud.\n
+4 Sidumata laiendatud klahv "%S"\n
+5 Mned laiendatud klahvid on sisemise trkipuhvri jaoks liiga pikad
+6 Enumerate: BUG!! Null viit anti\n!
+7 sisendit pole
+8 Midagi peab jrgnema: %c\n
+9 kaheksand-konstant ei mahu smbolisse.\n
diff --git a/contrib/tcsh/nls/finnish/set22 b/contrib/tcsh/nls/finnish/set22
index f66ed7be0406..7008372884d5 100644
--- a/contrib/tcsh/nls/finnish/set22
+++ b/contrib/tcsh/nls/finnish/set22
@@ -1,4 +1,4 @@
-$ $Id: set22,v 1.1 2000/01/14 22:57:33 christos Exp $
+$ $Id: set22,v 1.2 2001/04/26 19:06:01 kim Exp $
$ tc.func.c
$set 22
1 %S: \t on alias komennolle
@@ -14,5 +14,4 @@ $set 22
11 Jsennetn komentorivi\n
12 on yhdell listoista\n
13 Komentorivi on nyt:\n
-$ 14 YyKk
-14 Kk
+14 YyKk
diff --git a/contrib/tcsh/nls/finnish/set3 b/contrib/tcsh/nls/finnish/set3
index 01a99dcf9447..b88051874868 100644
--- a/contrib/tcsh/nls/finnish/set3
+++ b/contrib/tcsh/nls/finnish/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.1 2000/01/14 22:57:33 christos Exp $
+$ $Id: set3,v 1.2 2001/04/26 19:07:49 kim Exp $
$ Editor function descriptions
$set 3
1 Siirry taaksepin yksi merkki
@@ -115,4 +115,10 @@ $set 3
112 Vi: siirry rivin alkuun
113 Suorita 'which' tlle komennolle
114 Liimaa/lis leikkauspuskurin sislt kursorin paikalle
-
+115 Korvaa viimeksi liimattu teksti aikaisemmalla leikkauksella
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/finnish/set30 b/contrib/tcsh/nls/finnish/set30
index 1fed72239966..6f61db587a76 100644
--- a/contrib/tcsh/nls/finnish/set30
+++ b/contrib/tcsh/nls/finnish/set30
@@ -1,4 +1,4 @@
-$ $Id: set30,v 1.1 2000/01/14 22:57:33 christos Exp $
+$ $Id: set30,v 1.2 2001/04/26 19:06:01 kim Exp $
$ tw.parse.c
$set 30
1 starting_a_command %d\n
@@ -13,4 +13,4 @@ $set 30
10 not a directory
11 not found
12 unreadable
-13 Yy
+13 YyKk
diff --git a/contrib/tcsh/nls/french/set3 b/contrib/tcsh/nls/french/set3
index acf6f80be5d9..7e6c95223052 100644
--- a/contrib/tcsh/nls/french/set3
+++ b/contrib/tcsh/nls/french/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.1 1995/04/25 14:04:35 christos Exp $
+$ $Id: set3,v 1.2 2001/04/26 19:07:49 kim Exp $
$ Description des fonctions diteur
$set 3
1 Recule d'un caractre
@@ -115,3 +115,10 @@ $set 3
112 Vi va au dbut de la ligne
113 Excute quelle commande en cours
114 Colle le tampon de copie la position du curseur
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/german/set10 b/contrib/tcsh/nls/german/set10
index ae50ffb0fefc..27f8a66a9ccc 100644
--- a/contrib/tcsh/nls/german/set10
+++ b/contrib/tcsh/nls/german/set10
@@ -1,4 +1,4 @@
-$ $Id: set10,v 1.3 1996/10/19 17:52:48 christos Exp $
+$ $Id: set10,v 1.4 2001/04/26 19:09:18 kim Exp $
$ ma.setp.c
$set 10
1 setpath: ungltiger Befehl '%s'.\n
@@ -6,4 +6,3 @@ $set 10
3 setpath: Wert fehlt in Pfad '%s'\n
4 setpath: %s nicht in %s gefunden\n
5 setpath: %d keine gltige Position in %s\n
-
diff --git a/contrib/tcsh/nls/german/set3 b/contrib/tcsh/nls/german/set3
index c19ea2ad8f2d..43688180181b 100644
--- a/contrib/tcsh/nls/german/set3
+++ b/contrib/tcsh/nls/german/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.4 1995/04/25 14:08:04 christos Exp $
+$ $Id: set3,v 1.5 2001/04/26 19:07:50 kim Exp $
$ Editor function descriptions
$set 3
1 Ein Zeichen zurck
@@ -115,3 +115,10 @@ $set 3
112 Vi gehe zum Anfang der Zeile
113 Mache ein 'which' von dem aktuellen Befehl
114 Fge den Cut-Puffer an der Cursor-Position ein
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/greek/set3 b/contrib/tcsh/nls/greek/set3
index 46b4364a10c4..3a3f56a81eb9 100644
--- a/contrib/tcsh/nls/greek/set3
+++ b/contrib/tcsh/nls/greek/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.2 1998/09/18 15:32:03 christos Exp $
+$ $Id: set3,v 1.3 2001/04/26 19:07:50 kim Exp $
$ Editor function descriptions
$set 3
1
@@ -115,4 +115,10 @@ $set 3
112 (Vi)
113 "which"
114 cut buffer
-
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/italian/set3 b/contrib/tcsh/nls/italian/set3
index 733a36ff18ea..fdab68ddee7d 100644
--- a/contrib/tcsh/nls/italian/set3
+++ b/contrib/tcsh/nls/italian/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.1 1998/09/03 22:03:30 christos Exp $
+$ $Id: set3,v 1.2 2001/04/26 19:07:51 kim Exp $
$ Editor function descriptions
$set 3
1 Retrocede di un carattere
@@ -115,3 +115,10 @@ $set 3
112 Vi: si sposta all'inizio della linea
113 Esegue un `which' del comando corrente
114 Inserisce il contenuto del buffer alla posizione del cursore
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/pl/README b/contrib/tcsh/nls/pl/README
new file mode 100644
index 000000000000..073b1fa77ff0
--- /dev/null
+++ b/contrib/tcsh/nls/pl/README
@@ -0,0 +1,3 @@
+Tumaczenia dokona Pawe Niewiadomski <new@linuxpl.org>.
+Licencja GPL. Wszelkie informacje o bdach prosz kierowa do mnie
+(chciabym aby tumaczenie to byo jak najlepsze) \ No newline at end of file
diff --git a/contrib/tcsh/nls/pl/set1 b/contrib/tcsh/nls/pl/set1
new file mode 100644
index 000000000000..f7384624cbf8
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set1
Binary files differ
diff --git a/contrib/tcsh/nls/pl/set10 b/contrib/tcsh/nls/pl/set10
new file mode 100644
index 000000000000..4283408251d9
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set10
@@ -0,0 +1,8 @@
+$ $Id: set10,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ ma.setp.c
+$set 10
+1 setpath: nieprawidowe polecenie '%s'.\n
+2 setpath: za mao argumentw dla polecenia '%s'.\n
+3 setpath: brakuje wartoci w ciece '%s'\n
+4 setpath: %s nie zosta znaleziony w %s\n
+5 setpath: %d nie jest prawidow pozycj w %s\n
diff --git a/contrib/tcsh/nls/pl/set11 b/contrib/tcsh/nls/pl/set11
new file mode 100644
index 000000000000..97fac7d9c1f7
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set11
@@ -0,0 +1,10 @@
+$ $Id: set11,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ sh.c
+$set 11
+1 Uwaga: brak dostpu do tty (%s).\n
+2 Innymi sowy brak zarzdzania pracami w tej powoce.\n
+3 Masz %d wiadomoci.\n
+4 Masz %d wiadomoci w %s.\n
+5 Masz %spoczt.\n
+6 now
+7 Masz %spoczt w %s.\n
diff --git a/contrib/tcsh/nls/pl/set12 b/contrib/tcsh/nls/pl/set12
new file mode 100644
index 000000000000..f9f35ea34a95
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set12
@@ -0,0 +1,4 @@
+$ $Id: set12,v 1.3 1996/04/26 20:31:52 christos Exp $
+$ sh.dir.c
+$set 12
+1 %s: Prbuj wystartowa z "%s"\n
diff --git a/contrib/tcsh/nls/pl/set13 b/contrib/tcsh/nls/pl/set13
new file mode 100644
index 000000000000..eeb48738215e
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set13
@@ -0,0 +1,13 @@
+$ $Id: set13,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ sh.exec.c
+$set 13
+1 hash=%-4d dir=%-2d prog=%s\n
+2 %d hash buckets of %d bits each\n
+3 maska odpluskwiania = 0x%08x\n
+4 %d trafie, %d chybie, %d%%\n
+5 %S: polecenie wbudowane w powok.\n
+6 %S: nie znaleziono polecenia.\n
+7 gdzie: / w poleceniu nie ma sensu\n
+8 %S jest aliasem do
+9 %S jest wbudowane w powok\n
+10 chybie hash:
diff --git a/contrib/tcsh/nls/pl/set14 b/contrib/tcsh/nls/pl/set14
new file mode 100644
index 000000000000..d3dd53c85022
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set14
@@ -0,0 +1,6 @@
+$ $Id: set14,v 1.3 1998/11/24 18:18:06 christos Exp $
+$ sh.file.c
+$set 14
+1 \nKurcze!! Zbyt wiele %s!!\n
+2 nazw w pliku hase
+3 pliki
diff --git a/contrib/tcsh/nls/pl/set15 b/contrib/tcsh/nls/pl/set15
new file mode 100644
index 000000000000..51b62acae111
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set15
@@ -0,0 +1,7 @@
+$ $Id: set15,v 1.3 1996/10/19 17:52:32 christos Exp $
+$ sh.func.c
+$set 15
+1 %s: %s: Nie mog limitowa %s%s\n
+2 usu
+3 ustaw
+4 \040twardy
diff --git a/contrib/tcsh/nls/pl/set16 b/contrib/tcsh/nls/pl/set16
new file mode 100644
index 000000000000..0d8197d78d8a
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set16
@@ -0,0 +1,13 @@
+$ $Id: set16,v 1.3 1996/04/26 20:31:55 christos Exp $
+$ sh.lex.c
+$set 16
+1 Reset tty pgrp from %d to %d\n
+2 \nAby wylogowa si uyj "logout".\n
+3 \nAby opuci %s uyj "exit".\n
+4 seek to eval %x %x\n
+5 seek to alias %x %x\n
+6 seek to file %x\n
+7 Bad seek type %d\n
+8 tell eval %x %x\n
+9 tell alias %x %x\n
+10 tell file %x\n
diff --git a/contrib/tcsh/nls/pl/set17 b/contrib/tcsh/nls/pl/set17
new file mode 100644
index 000000000000..5a796eba6c27
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set17
@@ -0,0 +1,16 @@
+$ $Id: set17,v 1.3 1996/10/19 17:52:33 christos Exp $
+$ sh.proc.c
+$set 17
+1 PLUSKWA: czekam na zadanie pracujce w tle!\n
+2 Zakoczono %d\n
+3 PLUSKWA: proces wywoany drugi raz
+4 Dziaa
+5 Sygna
+6 Zwrcono %-25d
+7 Zakoczony
+8 PLUSKWA: status=%-9o
+9 \040(zrzucono core)
+10 \040(KR:
+11 (KR jest:
+12 %S: Ju jest zawieszony\n
+13 %S: Ju jest zatrzymany\n
diff --git a/contrib/tcsh/nls/pl/set18 b/contrib/tcsh/nls/pl/set18
new file mode 100644
index 000000000000..55671a79b377
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set18
@@ -0,0 +1,4 @@
+$ $Id: set18,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ sh.set.c
+$set 18
+1 Uwaga: miesznie duga PATH zostaa obcita\n
diff --git a/contrib/tcsh/nls/pl/set19 b/contrib/tcsh/nls/pl/set19
new file mode 100644
index 000000000000..23166bced888
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set19
@@ -0,0 +1,15 @@
+$ $Id: set19,v 1.3 1996/04/26 20:31:58 christos Exp $
+$ tc.alloc.c
+$set 19
+1 n-bajtw=%d: Brak pamici\n
+2 free(%lx) wywoany przed jakkolwiek allokacj.
+3 free(%lx) ponad obszarem pamici.
+4 free(%lx) poniej pocztku uywanej pamici.
+5 free(%lx) zy blok.
+6 free(%lx) ze sprawdzanie zasigu.
+7 free(%lx) zy index bloku.
+8 %s aktualnie allokowana pami:\nwolna:\t
+9 \nuywane:\t
+10 \n\tAktualnie w uyciu: %d, wolnych: %d\n
+11 \tZaallokowano pami od 0x%lx do 0x%lx. Wierzchoek 0x%lx\n
+12 Zaallokowano pami od 0x%lx do 0x%lx (%ld).\n
diff --git a/contrib/tcsh/nls/pl/set2 b/contrib/tcsh/nls/pl/set2
new file mode 100644
index 000000000000..7c18bac4dabc
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set2
@@ -0,0 +1,111 @@
+$ $Id: set2,v 1.4 1998/10/25 15:12:38 christos Exp $
+$ Signal names
+$set 2
+1 Pusty sygna
+2 Hangup
+3 Przerwij
+4 Quit
+5 Nieprawdiowa instrukcja
+6 Trace/BPT trap
+7 Abort
+8 IOT trap
+9 System Crash Imminent
+10 Powrt z bdem
+11 EMT trap
+12 Floating exception
+13 Zabity
+14 1 sygna uytkownika
+15 2 sygna uytkownika
+16 Naruszenie ochrony pamici
+17 Bd szyny
+18 Program range error
+19 Operand range error
+20 Nieprawidowe wywoanie systemowe
+21 Przerwany potok
+22 Alarm clock
+23 Zakoczono
+24 Zmiana statusu potomka
+25 mier potomka
+26 Bd specyficzny dla Apollo
+27 Potomek zakoczy dziaanie, lub zosta wyczony
+28 Potomek zakoczy dziaanie
+29 Brak zasilania
+30 Zasb stracony
+31 Przerwanie (Ctrl-Break)
+32 Input/output possible signal
+33 Asynchroniczne We/Wy (select)
+34 Pilne zdarzenie na kanale I/O
+35 Multitasking wake-up
+36 Multitasking kill
+37 Fortran asynchronous I/O completion
+38 Recovery
+39 Nienaprawialny bd pamici
+40 Limit czasu CPU przekroczony
+41 System shutdown imminent
+42 micro-tasking group-no wakeup flag set
+43 Thread error - (use cord -T for detailed info)
+44 Bd rejestru parzystoci dla CRAY Y-MP
+45 danie informacji
+46 Zawieszony (sygna)
+47 Zatrzymany (sygna)
+48 Zawieszony
+49 Zatrzymany
+50 Kontynuowany
+51 Zawieszony (oczekuje wejcia z tty)
+52 Zatrzymany (oczekuje wejcia z tty)
+53 Zawieszony (wyjcie na tty)
+54 Zatrzymany (wyjcie na tty)
+55 Window status changed
+56 Window size changed
+57 Phone status changed
+58 Limit czasu CPU wyczerpany
+59 Limit systemu plikw wyczerpany
+60 Virtual time alarm
+61 Profiling time alarm
+62 sygna DIL
+63 Pollable event occured
+64 Process's lwps are blocked
+65 Special LWP signal
+66 Special CPR Signal
+67 Special CPR Signal
+68 First Realtime Signal
+69 Second Realtime Signal
+70 Third Realtime Signal
+71 Fourth Realtime Signal
+72 Fourth Last Realtime Signal
+73 Third Last Realtime Signal
+74 Second Last Realtime Signal
+75 Last Realtime Signal
+76 LAN Asyncronous I/O
+77 PTY read/write availability
+78 I/O intervention required
+79 HFT monitor mode granted
+80 HFT monitor mode should be relinguished
+81 HFT sound control has completed
+82 Data in HFT ring buffer
+83 Migrate process
+84 Secure attention key
+85 Reschedule
+86 Signaling SS$_DEBUG
+87 Zmieniono priorytet
+88 True deadlock detected
+89 New input character
+90 Limit stosu wyczerpany
+91 Nieuywany sygna
+92 LM overlay
+93 system zamroony
+94 system odmroony
+95 dead lock
+96 exceeded memory size limit
+97 exceeded data size limit
+98 exceeded memory size limit of 32KB
+99 exce error for no memory
+100 check point start
+101 check point start of kernel
+102 pocztek restartu
+103 restart jdra
+104 exeeded XMU size limit
+105 exeeded RLG0 limit
+106 exeeded RLG1 limit
+107 exeeded RLG2 limit
+108 exeeded RLG3 limit
diff --git a/contrib/tcsh/nls/pl/set20 b/contrib/tcsh/nls/pl/set20
new file mode 100644
index 000000000000..432c7728e819
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set20
@@ -0,0 +1,41 @@
+$ $Id: set20,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tc.bind.c
+$set 20
+1 Nieprawidowa nazwa klawisza `%S'\n
+2 Nieprawidowa nazwa klawisza: %S\n
+3 Nieprawidowa nazwa polecenia: %S\n
+4 Bad key spec %S\n
+5 Null string specification\n
+6 Standardowe przyporzdkowania klawiszy\n
+7 Alternatywne przyporzdkowania klawiszy\n
+8 Multi-character bindings\n
+9 Arrow key bindings\n
+10 %-15s-> is undefined\n
+11 Pluskwa!!! %s nie jest przyporzdkowany niczemu.\n
+12 Uycie: bindkey [opcje] [--] [Klawisz [POLECENIE]]\n
+13 -a list or bind KEY in alternative key map\n
+14 -b interpret KEY as a C-, M-, F- or X- key name\n
+15 -s interpret COMMAND as a literal string to be output\n
+16 -c interpret COMMAND as a builtin or external command\n
+17 -v bind all keys to vi bindings\n
+18 -e bind all keys to emacs bindings\n
+19 -d bind all keys to default editor's bindings\n
+20 -l list editor commands with descriptions\n
+21 -r remove KEY's binding\n
+22 -k interpret KEY as a symbolic arrow-key name\n
+23 -- force a break from option processing\n
+24 -u (or any invalid option) this message\n
+25 Without KEY or COMMAND, prints all bindings\n
+26 Without COMMAND, prints the binding for KEY.\n
+27 bad key specification -- null string\n
+28 bad key specification -- empty string\n
+29 Bad function-key specification. Null key not allowed\n
+30 bad key specification -- malformed hex number\n
+31 bad key specification -- malformed octal number\n
+32 bad key specification -- malformed decimal number\n
+33 Bad function-key specification.\n
+34 Null key not allowed\n
+35 bad key specification -- unknown name "%S"\n
+36 uycie: bind [Klawisz | Klawisz polecenia | "emacs" | "vi" | "-a"]\n
+37 Nieprawidowa funkcja
+38 %s\t\tjest niezdefiniowany\n
diff --git a/contrib/tcsh/nls/pl/set21 b/contrib/tcsh/nls/pl/set21
new file mode 100644
index 000000000000..64e60e89572e
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set21
@@ -0,0 +1,5 @@
+$ $Id: set21,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tc.disc.c
+$set 21
+1 Nie mogem pobra lokalnych znakw.\n
+2 Nie mogem ustawi lokalnych znakw.\n
diff --git a/contrib/tcsh/nls/pl/set22 b/contrib/tcsh/nls/pl/set22
new file mode 100644
index 000000000000..173ef5562eed
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set22
@@ -0,0 +1,17 @@
+$ $Id: set22,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tc.func.c
+$set 22
+1 %S: \t jest aliasem do
+2 \nNieprawidowe haso dla %s\n
+3 Faulty alias 'precmd' removed.\n
+4 Faulty alias 'cwdcmd' removed.\n
+5 Faulty alias 'beepcmd' removed.\n
+6 Faulty alias 'periodic' removed.\n
+7 przetwarzam lini polece\n
+8 Czy na pewno chcesz usun wszystkie pliki? [n/t]
+9 pomijam kasowanie plikw!\n
+10 lini polece jest teraz:\n
+11 przetwarzam lini polece\n
+12 w jednej z list\n
+13 lini polece jest teraz:\n
+14 tT
diff --git a/contrib/tcsh/nls/pl/set23 b/contrib/tcsh/nls/pl/set23
new file mode 100644
index 000000000000..2cecc8ca2069
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set23
@@ -0,0 +1,34 @@
+$ $Id: set23,v 1.3 1996/04/26 20:32:00 christos Exp $
+$ tc.os.c
+$set 23
+1 Bad cpu/site name
+2 Site path too long
+3 nieznany
+4 site: %s\n
+5 %d: Nie znaleziono komputera\n
+6 setlocal: %s: %s\n
+7 Komputer nie zosta znaleziony
+8 You're trapped in a universe you never made
+9 Getwarp failed
+10 Invalid warp
+11 Setwarp failed
+12 Illegal universe
+13 Nieznany bd: %d
+14 sysname: %s\n
+15 nodename: %s\n
+16 release: %s\n
+17 version: %s\n
+18 machine: %s\n
+19 getwd: Nie mog otworzy ".." (%s)
+20 getwd: Nie mog przej do ".." (%s)
+21 getwd: Bd odczytu w ".." (%s)
+22 getwd: Nie mog przej do "." (%s)
+23 getwd: Cannot stat "/" (%s)
+24 getwd: Cannot stat "." (%s)
+25 getwd: Cannot stat directory "%s" (%s)
+26 getwd: Cannot open directory "%s" (%s)
+27 getwd: Cannot find "." in ".." (%s)
+28 Nieprawidowy typ systemu
+29 Typ systemu nie zosta ustawiony
+30 Zbyt duo argumentw
+31 Nieprawidowy argument
diff --git a/contrib/tcsh/nls/pl/set24 b/contrib/tcsh/nls/pl/set24
new file mode 100644
index 000000000000..2896947ae36a
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set24
@@ -0,0 +1,4 @@
+$ $Id: set24,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tc.sched.c
+$set 24
+1 kludge
diff --git a/contrib/tcsh/nls/pl/set25 b/contrib/tcsh/nls/pl/set25
new file mode 100644
index 000000000000..063e8d6c2f67
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set25
@@ -0,0 +1,6 @@
+$ $Id: set25,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tc.sig.c
+$set 25
+1 our wait %d\n
+2 error: bsd_signal(%d) signal out of range\n
+3 error: bsd_signal(%d) - sigaction failed, errno %d\n
diff --git a/contrib/tcsh/nls/pl/set26 b/contrib/tcsh/nls/pl/set26
new file mode 100644
index 000000000000..5c804ae9b332
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set26
@@ -0,0 +1,15 @@
+$ $Id: set26,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tc.who.c
+$set 26
+1 stat dla %s nie powid si. Wpisz "unset watch".\n
+2 Nie mona otworzy %s. Wpisz "unset watch".\n
+3 BUG! last element is not whotail!\n
+4 backward:
+5 BUG! first element is not whohead!\n
+6 new: %s/%s\n
+7 %n has %a %l from %m.
+8 %n has %a %l.
+9 logged on
+10 logged off
+11 replaced %s on
+12 local
diff --git a/contrib/tcsh/nls/pl/set27 b/contrib/tcsh/nls/pl/set27
new file mode 100644
index 000000000000..489f0de260b5
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set27
@@ -0,0 +1,8 @@
+$ $Id: set27,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tw.comp.c
+$set 27
+1 polecenie
+2 separator
+3 pattern
+4 zasig
+5 completion
diff --git a/contrib/tcsh/nls/pl/set29 b/contrib/tcsh/nls/pl/set29
new file mode 100644
index 000000000000..559bc5e70787
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set29
@@ -0,0 +1,4 @@
+$ $Id: set29,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ tw.help.c
+$set 29
+1 Brak pliku pomocy dla %S\n
diff --git a/contrib/tcsh/nls/pl/set3 b/contrib/tcsh/nls/pl/set3
new file mode 100644
index 000000000000..b287ce2aeef2
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set3
Binary files differ
diff --git a/contrib/tcsh/nls/pl/set30 b/contrib/tcsh/nls/pl/set30
new file mode 100644
index 000000000000..7e958fccd52c
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set30
@@ -0,0 +1,16 @@
+$ $Id: set30,v 1.4 1996/10/19 17:52:34 christos Exp $
+$ tw.parse.c
+$set 30
+1 starting_a_command %d\n
+2 complete %d
+3 complete %d %S\n
+4 %s: Internal match error.\n
+5 elementw
+6 wierszy
+7 Jest %d %s, pokaza je? [n/t]
+8 looking = %d\n
+9 \ntcsh internal error: I don't know what I'm looking for!\n
+10 nie jest katalogiem
+11 nie zosta znaleziony
+12 jest nieczytelny
+13 tT
diff --git a/contrib/tcsh/nls/pl/set31 b/contrib/tcsh/nls/pl/set31
new file mode 100644
index 000000000000..029171e3ab7c
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set31
@@ -0,0 +1,7 @@
+$ $Id: set31,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ vms.termcap.c
+$set 31
+1 Nie mog otworzy TERMCAP: [%s]\n
+2 Nie mog otworzy %s.\n
+3 Znaleziono %s w %s.\n
+4 Nie znaleziono %s w pliku %s\n
diff --git a/contrib/tcsh/nls/pl/set4 b/contrib/tcsh/nls/pl/set4
new file mode 100644
index 000000000000..391ce7c964ad
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set4
@@ -0,0 +1,45 @@
+$ $Id: set4,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ Termcap strings
+$set 4
+1 add new blank line
+2 audible bell
+3 clear to bottom
+4 clear to end of line
+5 cursor to horiz pos
+6 clear screen
+7 delete a character
+8 delete a line
+9 start delete mode
+10 end delete mode
+11 end insert mode
+12 cursor from status line
+13 home cursor
+14 insert character
+15 start insert mode
+16 insert padding
+17 sends cursor down
+18 sends cursor left
+19 sends cursor right
+20 sends cursor up
+21 begin bold
+22 end attributes
+23 non destructive space
+24 end standout
+25 begin standout
+26 cursor to status line
+27 cursor up one
+28 begin underline
+29 end underline
+30 visible bell
+31 delete multiple chars
+32 cursor down multiple
+33 insert multiple chars
+34 cursor left multiple
+35 cursor right multiple
+36 cursor up multiple
+37 Has automatic margins
+38 Can use physical tabs
+39 Number of lines
+40 Number of columns
+41 Posiada klawisz meta
+42 Newline ignored at right margin
diff --git a/contrib/tcsh/nls/pl/set5 b/contrib/tcsh/nls/pl/set5
new file mode 100644
index 000000000000..c888b3e4a0f7
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set5
@@ -0,0 +1,4 @@
+$ $Id: set5,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ ed.chared.c
+$set 5
+1 rednie obcienie niedostpne\n
diff --git a/contrib/tcsh/nls/pl/set6 b/contrib/tcsh/nls/pl/set6
new file mode 100644
index 000000000000..ed9d982a4783
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set6
@@ -0,0 +1,11 @@
+$ $Id: set6,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ ed.inputl.c
+$set 6
+1 ERROR: illegal command from key 0%o\r\n
+2 tak\n
+3 edytuj\n
+4 przerwij\n
+5 nie\n
+6 Brak pasujcego polecenia\n
+7 Niejasne polecenie\n
+8 *** BD fatalny edytora ***\r\n\n
diff --git a/contrib/tcsh/nls/pl/set7 b/contrib/tcsh/nls/pl/set7
new file mode 100644
index 000000000000..2a0d195510a4
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set7
@@ -0,0 +1,30 @@
+$ $Id: set7,v 1.3 1996/04/26 20:32:04 christos Exp $
+$ ed.screen.c
+$set 7
+1 \n\tTcsh myli e twoj terminal posiada\n
+2 \tnastpujc charakterystyk:\n\n
+3 \tMa %d kolumn i %d linii\n
+4 \tKlawisze meta: %sposiada\n
+5 a
+6 nie
+7 \tTabulatory: %spotrafi uywa\n
+8 nie
+9 \tAutomatyczne marginesy: %s\n
+10 tak
+11 nie
+12 \tMagiczne marginesy: %s\n
+13 (puste)
+14 tak
+15 nie
+16 ERROR: nie mona usuwa\r\n
+17 DeleteChars: num is riduculous: %d\r\n
+18 ERROR: nie mona wstawia\r\n
+19 StartInsert: num is riduculous: %d\r\n
+20 %s: Nie mona otworzy /etc/termcap.\n
+21 %s: Brak wpisu dla terminala typu "%s"\n
+22 %s: using dumb terminal settings.\n
+23 %s: WARNING: Your terminal cannot move up.\n
+24 Editing may be odd for long lines.\n
+25 no clear EOL capability.\n
+26 no delete char capability.\n
+27 no insert char capability.\n
diff --git a/contrib/tcsh/nls/pl/set8 b/contrib/tcsh/nls/pl/set8
new file mode 100644
index 000000000000..bfda403a858f
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set8
@@ -0,0 +1,5 @@
+$ $Id: set8,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ ed.term.c
+$set 8
+1 Nieprawidowy przecznik
+2 Nieprawidowy argument
diff --git a/contrib/tcsh/nls/pl/set9 b/contrib/tcsh/nls/pl/set9
new file mode 100644
index 000000000000..d0aaf734a979
--- /dev/null
+++ b/contrib/tcsh/nls/pl/set9
@@ -0,0 +1,12 @@
+$ $Id: set9,v 1.2 1995/03/19 18:07:15 christos Exp $
+$ ed.xmap.c
+$set 9
+1 AddXkey: Null extended-key not allowed.\n
+2 AddXkey: sequence-lead-in command not allowed\n
+3 DeleteXkey: Null extended-key not allowed.\n
+4 Unbound extended key "%S"\n
+5 Some extended keys too long for internal print buffer
+6 Enumerate: BUG!! Null ptr passed\n!
+7 brak wejcia
+8 Co musi by za: %c\n
+9 Octal constant does not fit in a char.\n
diff --git a/contrib/tcsh/nls/russian/set1 b/contrib/tcsh/nls/russian/set1
new file mode 100644
index 000000000000..a962af24374c
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set1
@@ -0,0 +1,140 @@
+$ $Id: set1,v 1.1 2001/03/18 19:06:35 christos Exp $
+$ Error messages
+$set 1
+1
+2 %s
+3
+4 $<
+5 $0
+6 ۣ []
+7 $ ]
+8 $ (%c)
+9
+10
+11
+12
+13 glob
+14
+15
+16
+17
+18 if
+19 then
+20
+21 %s
+22 mask
+23
+24
+25
+26
+27
+28
+29 ; kill -l
+30
+31
+32 -
+33
+34
+35
+36
+37
+38
+39
+40
+41 %s:
+42 Argument for -c ends in backslash
+43
+44 Subscript out of range
+45
+46
+47 Can't from terminal
+48 Not in while/foreach
+49
+50 No match
+51 %c
+52 Unmatched %c
+53
+54
+55 %s: %s
+56 %s
+57 : jobs [ -l ]
+58
+59
+60
+61
+62 Fork nesting > %d; maybe `...` loop
+63 No job control in subshells
+64 Sync fault: Process %d not found
+65 %sThere are suspended jobs
+66 %s
+67 No other directory
+68
+69
+70 : %s [-%s]%s
+71 -h
+72 Not a login shell
+73 0
+74 Mod by 0
+75 Bad scaling; did you mean "%s"?
+76 Can't suspend a login shell (yet)
+77 : %s
+78 $home
+79 : history [-%s] [# ]
+80 $, ! < $# $?
+81 Newline in variable name
+82 * $# $?
+83 $?<> $#<>
+84
+85 Newline in variable index
+86
+87
+88 !
+89
+90
+91 No previous left hand side
+92 Right hand side too long
+93 !: %c
+94 Modifier failed
+95
+96 Bad ! arg selector
+97 No prev search
+98 %s:
+99 )
+100 (
+101 (
+102
+103
+104 << ()
+105
+106 ()
+107
+108 No $watch variable set
+109 No scheduled events
+110 : sched -< >.\n: sched [+]: <>
+111
+112
+113
+114 Relative time inconsistent with am/pm
+115 Out of termcap string space
+116 : settc %s [yes|no]
+117 Unknown capability `%s'
+118 termcap `%%%c'
+119 `%s' (%d)
+120 `%s' %d
+121 : echotc [-v|-s] [<capability> [<args>]]
+122 %s: %s.
+123 !#
+124 Malformed file inquiry
+125 Selector overflow
+126 : `-%s'\n: %s [ -bcdefilmnqstvVxX -D[=] ] [ ... ]
+127 : `-%s'\n: %s [ -bcdefFilmnqstvVxX ] [ ... ]
+128 : `-%s'\n: %s [ -bcdefilmnqstvVxX ] [ ... ]
+129 \nInvalid completion: "%s"
+130 \nInvalid %s: '%c'
+131 \nMissing separator '%c' after %s "%s"
+132 \nIncomplete %s: "%s"
+133 -m
+134 : unlimit [-fh] [limits]
+135 $%S
+136
+137 `%c%c' colorls
diff --git a/contrib/tcsh/nls/russian/set10 b/contrib/tcsh/nls/russian/set10
new file mode 100644
index 000000000000..8f4ac87683b5
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set10
@@ -0,0 +1,8 @@
+$ $Id: set10,v 1.1 2001/03/18 19:06:35 christos Exp $
+$ ma.setp.c
+$set 10
+1 setpath: '%s'.\n
+2 setpath: '%s'.\n
+3 setpath: value missing in path '%s'\n
+4 setpath: %s %s\n
+5 setpath: %d not valid position in %s\n
diff --git a/contrib/tcsh/nls/russian/set11 b/contrib/tcsh/nls/russian/set11
new file mode 100644
index 000000000000..164b2a039a74
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set11
@@ -0,0 +1,10 @@
+$ $Id: set11,v 1.1 2001/03/18 19:06:36 christos Exp $
+$ sh.c
+$set 11
+1 : tty (%s).\n
+2 .\n
+3 %d ().\n
+4 %d () %s.\n
+5 %s.\n
+6
+7 %s %s.\n
diff --git a/contrib/tcsh/nls/russian/set12 b/contrib/tcsh/nls/russian/set12
new file mode 100644
index 000000000000..29714f83733c
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set12
@@ -0,0 +1,4 @@
+$ $Id: set12,v 1.1 2001/03/18 19:06:36 christos Exp $
+$ sh.dir.c
+$set 12
+1 %s: "%s"\n
diff --git a/contrib/tcsh/nls/russian/set13 b/contrib/tcsh/nls/russian/set13
new file mode 100644
index 000000000000..5eaebd01fe04
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set13
@@ -0,0 +1,13 @@
+$ $Id: set13,v 1.1 2001/03/18 19:06:36 christos Exp $
+$ sh.exec.c
+$set 13
+1 hash=%-4d dir=%-2d prog=%s\n
+2 %d hash buckets of %d bits each\n
+3 debug mask = 0x%08x\n
+4 %d hits, %d misses, %d%%\n
+5 %S: shell built-in command.\n
+6 %S: Command not found.\n
+7 where: / in command makes no sense\n
+8 %S is aliased to
+9 %S is a shell built-in\n
+10 hash miss:
diff --git a/contrib/tcsh/nls/russian/set14 b/contrib/tcsh/nls/russian/set14
new file mode 100644
index 000000000000..6014f28b2988
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set14
@@ -0,0 +1,6 @@
+$ $Id: set14,v 1.1 2001/03/18 19:06:37 christos Exp $
+$ sh.file.c
+$set 14
+1 \nYikes!! %s!!\n
+2
+3
diff --git a/contrib/tcsh/nls/russian/set15 b/contrib/tcsh/nls/russian/set15
new file mode 100644
index 000000000000..d4847a4406a0
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set15
@@ -0,0 +1,7 @@
+$ $Id: set15,v 1.1 2001/03/18 19:06:37 christos Exp $
+$ sh.func.c
+$set 15
+1 %s: %s: %s%s \n
+2
+3
+4 \040
diff --git a/contrib/tcsh/nls/russian/set16 b/contrib/tcsh/nls/russian/set16
new file mode 100644
index 000000000000..cd03c74767ab
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set16
@@ -0,0 +1,13 @@
+$ $Id: set16,v 1.1 2001/03/18 19:06:37 christos Exp $
+$ sh.lex.c
+$set 16
+1 Reset tty pgrp from %d to %d\n
+2 \n "logout" .\n
+3 \n "exit" %s.\n
+4 seek to eval %x %x\n
+5 seek to alias %x %x\n
+6 seek to file %x\n
+7 Bad seek type %d\n
+8 tell eval %x %x\n
+9 tell alias %x %x\n
+10 tell file %x\n
diff --git a/contrib/tcsh/nls/russian/set17 b/contrib/tcsh/nls/russian/set17
new file mode 100644
index 000000000000..b5bd47a35a34
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set17
@@ -0,0 +1,16 @@
+$ $Id: set17,v 1.1 2001/03/18 19:06:38 christos Exp $
+$ sh.proc.c
+$set 17
+1 BUG: waiting for background job!\n
+2 %d\n
+3 BUG: process flushed twice
+4 Running
+5
+6 Exit %-25d
+7
+8 BUG: status=%-9o
+9 \040(core dumped)
+10 \040(wd:
+11 wd now:
+12 %S: Already suspended\n
+13 %S: Already stopped\n
diff --git a/contrib/tcsh/nls/russian/set18 b/contrib/tcsh/nls/russian/set18
new file mode 100644
index 000000000000..5babefe0edb2
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set18
@@ -0,0 +1,4 @@
+$ $Id: set18,v 1.1 2001/03/18 19:06:38 christos Exp $
+$ sh.set.c
+$set 18
+1 : PATH \n
diff --git a/contrib/tcsh/nls/russian/set19 b/contrib/tcsh/nls/russian/set19
new file mode 100644
index 000000000000..4082647c1ca9
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set19
@@ -0,0 +1,15 @@
+$ $Id: set19,v 1.1 2001/03/18 19:06:38 christos Exp $
+$ tc.alloc.c
+$set 19
+1 nbytes=%d: \n
+2 free(%lx) called before any allocations.
+3 free(%lx) above top of memory.
+4 free(%lx) below bottom of memory.
+5 free(%lx) bad block.
+6 free(%lx) bad range check.
+7 free(%lx) bad block index.
+8 %s current memory allocation:\nfree:\t
+9 \nused:\t
+10 \n\tTotal in use: %d, total free: %d\n
+11 \tAllocated memory from 0x%lx to 0x%lx. Real top at 0x%lx\n
+12 Allocated memory from 0x%lx to 0x%lx (%ld).\n
diff --git a/contrib/tcsh/nls/russian/set2 b/contrib/tcsh/nls/russian/set2
new file mode 100644
index 000000000000..d11f834213d4
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set2
@@ -0,0 +1,111 @@
+$ $Id: set2,v 1.1 2001/03/18 19:06:39 christos Exp $
+$ Signal names
+$set 2
+1
+2 Hangup
+3
+4
+5
+6 Trace/BPT trap
+7
+8 IOT trap
+9 System Crash Imminent
+10
+11 EMT trap
+12
+13
+14 1
+15 2
+16
+17
+18 Program range error
+19 Operand range error
+20
+21 Broken pipe
+22 Alarm clock
+23
+24 Child status change
+25 Death of child
+26 Apollo-specific fault
+27
+28
+29 Power failure
+30 Resource Lost
+31 Break (Ctrl-Break)
+32 Input/output possible signal
+33 Asynchronous I/O (select)
+34 Urgent condition on I/O channel
+35 Multitasking wake-up
+36 Multitasking kill
+37 Fortran asynchronous I/O completion
+38 Recovery
+39 Uncorrectable memory error
+40 CPU time limit exceeded
+41 System shutdown imminent
+42 micro-tasking group-no wakeup flag set
+43 Thread error - (use cord -T for detailed info)
+44 CRAY Y-MP register parity error
+45 Information request
+46 Suspended (signal)
+47 Stopped (signal)
+48 Suspended
+49 Stopped
+50 Continued
+51 Suspended (tty input)
+52 Stopped (tty input)
+53 Suspended (tty output)
+54 Stopped (tty output)
+55 Window status changed
+56 Window size changed
+57 Phone status changed
+58 Cputime limit exceeded
+59 Filesize limit exceeded
+60 Virtual time alarm
+61 Profiling time alarm
+62 DIL signal
+63 Pollable event occured
+64 Process's lwps are blocked
+65 Special LWP signal
+66 Special CPR Signal
+67 Special CPR Signal
+68 First Realtime Signal
+69 Second Realtime Signal
+70 Third Realtime Signal
+71 Fourth Realtime Signal
+72 Fourth Last Realtime Signal
+73 Third Last Realtime Signal
+74 Second Last Realtime Signal
+75 Last Realtime Signal
+76 LAN Asyncronous I/O
+77 PTY read/write availability
+78 I/O intervention required
+79 HFT monitor mode granted
+80 HFT monitor mode should be relinguished
+81 HFT sound control has completed
+82 Data in HFT ring buffer
+83 Migrate process
+84 Secure attention key
+85 Reschedule
+86 Signaling SS$_DEBUG
+87 Priority changed
+88 True deadlock detected
+89 New input character
+90 Stack limit exceeded
+91 Unused signal
+92 LM overlay
+93 system freeze
+94 system defreeze
+95 dead lock
+96 exceeded memory size limit
+97 exceeded data size limit
+98 exceeded memory size limit of 32KB
+99 exce error for no memory
+100 check point start
+101 check point start of kernel
+102 restart start
+103 restart of kernel
+104 exeeded XMU size limit
+105 exeeded RLG0 limit
+106 exeeded RLG1 limit
+107 exeeded RLG2 limit
+108 exeeded RLG3 limit
diff --git a/contrib/tcsh/nls/russian/set20 b/contrib/tcsh/nls/russian/set20
new file mode 100644
index 000000000000..8d1795eb0185
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set20
@@ -0,0 +1,41 @@
+$ $Id: set20,v 1.2 2001/04/26 19:09:19 kim Exp $
+$ tc.bind.c
+$set 20
+1 `%S'\n
+2 : %S\n
+3 : %S\n
+4 %S\n
+5 Null string specification\n
+6 \n
+7 \n
+8 Multi-character bindings\n
+9 Arrow key bindings\n
+10 %-15s-> \n
+11 BUG!!! %s .\n
+12 : bindkey [] [--] [ []]\n
+13 -a list or bind KEY in alternative key map\n
+14 -b interpret KEY as a C-, M-, F- or X- key name\n
+15 -s interpret COMMAND as a literal string to be output\n
+16 -c interpret COMMAND as a builtin or external command\n
+17 -v bind all keys to vi bindings\n
+18 -e bind all keys to emacs bindings\n
+19 -d bind all keys to default editor's bindings\n
+20 -l list editor commands with descriptions\n
+21 -r remove KEY's binding\n
+22 -k interpret KEY as a symbolic arrow-key name\n
+23 -- force a break from option processing\n
+24 -u (or any invalid option) this message\n
+25 .\n
+26 , .\n
+27 -- \n
+28 -- \n
+29 . \n
+30 -- \n
+31 -- \n
+32 -- \n
+33 Bad function-key specification.\n
+34 \n
+35 bad key specification -- unknown name "%S"\n
+36 : bind [ | | "emacs" | "vi" | "-a"]\n
+37
+38 %s\t\tis undefined\n
diff --git a/contrib/tcsh/nls/russian/set21 b/contrib/tcsh/nls/russian/set21
new file mode 100644
index 000000000000..75533f8accc2
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set21
@@ -0,0 +1,5 @@
+$ $Id: set21,v 1.1 2001/03/18 19:06:39 christos Exp $
+$ tc.disc.c
+$set 21
+1 Couldn't get local chars.\n
+2 Couldn't set local chars.\n
diff --git a/contrib/tcsh/nls/russian/set22 b/contrib/tcsh/nls/russian/set22
new file mode 100644
index 000000000000..583af3aa9d95
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set22
@@ -0,0 +1,17 @@
+$ $Id: set22,v 1.1 2001/03/18 19:06:39 christos Exp $
+$ tc.func.c
+$set 22
+1 %S: \t
+2 \nIncorrect passwd for %s\n
+3 Faulty alias 'precmd' removed.\n
+4 Faulty alias 'cwdcmd' removed.\n
+5 Faulty alias 'beepcmd' removed.\n
+6 Faulty alias 'periodic' removed.\n
+7 \n
+8 ? [n/y]
+9 !\n
+10 :\n
+11 \n
+12 in one of the lists\n
+13 :\n
+14 yY
diff --git a/contrib/tcsh/nls/russian/set23 b/contrib/tcsh/nls/russian/set23
new file mode 100644
index 000000000000..8802ad561dd5
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set23
@@ -0,0 +1,34 @@
+$ $Id: set23,v 1.1 2001/03/18 19:06:40 christos Exp $
+$ tc.os.c
+$set 23
+1 Bad cpu/site name
+2 Site path too long
+3 unknown
+4 site: %s\n
+5 %d: Site not found\n
+6 setlocal: %s: %s\n
+7 Site not found
+8 You're trapped in a universe you never made
+9 Getwarp failed
+10 Invalid warp
+11 Setwarp failed
+12 Illegal universe
+13 Unknown Error: %d
+14 sysname: %s\n
+15 nodename: %s\n
+16 release: %s\n
+17 version: %s\n
+18 machine: %s\n
+19 getwd: Cannot open ".." (%s)
+20 getwd: Cannot chdir to ".." (%s)
+21 getwd: Read error in ".." (%s)
+22 getwd: Cannot change back to "." (%s)
+23 getwd: Cannot stat "/" (%s)
+24 getwd: Cannot stat "." (%s)
+25 getwd: Cannot stat directory "%s" (%s)
+26 getwd: Cannot open directory "%s" (%s)
+27 getwd: Cannot find "." in ".." (%s)
+28
+29 System type is not set
+30
+31
diff --git a/contrib/tcsh/nls/russian/set24 b/contrib/tcsh/nls/russian/set24
new file mode 100644
index 000000000000..dffed27be135
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set24
@@ -0,0 +1,4 @@
+$ $Id: set24,v 1.1 2001/03/18 19:06:40 christos Exp $
+$ tc.sched.c
+$set 24
+1 kludge
diff --git a/contrib/tcsh/nls/russian/set25 b/contrib/tcsh/nls/russian/set25
new file mode 100644
index 000000000000..481ecfd9847c
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set25
@@ -0,0 +1,6 @@
+$ $Id: set25,v 1.1 2001/03/18 19:06:40 christos Exp $
+$ tc.sig.c
+$set 25
+1 our wait %d\n
+2 : bsd_signal(%d) \n
+3 : bsd_signal(%d) - sigaction , errno %d\n
diff --git a/contrib/tcsh/nls/russian/set26 b/contrib/tcsh/nls/russian/set26
new file mode 100644
index 000000000000..e680370653d6
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set26
@@ -0,0 +1,15 @@
+$ $Id: set26,v 1.1 2001/03/18 19:06:41 christos Exp $
+$ tc.who.c
+$set 26
+1 cannot stat %s. Please "unset watch".\n
+2 %s cannot be opened. Please "unset watch".\n
+3 BUG! last element is not whotail!\n
+4 backward:
+5 BUG! first element is not whohead!\n
+6 new: %s/%s\n
+7 %n has %a %l from %m.
+8 %n has %a %l.
+9 logged on
+10 logged off
+11 replaced %s on
+12 local
diff --git a/contrib/tcsh/nls/russian/set27 b/contrib/tcsh/nls/russian/set27
new file mode 100644
index 000000000000..475cde2a69d7
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set27
@@ -0,0 +1,8 @@
+$ $Id: set27,v 1.1 2001/03/18 19:06:41 christos Exp $
+$ tw.comp.c
+$set 27
+1
+2
+3
+4
+5
diff --git a/contrib/tcsh/nls/russian/set29 b/contrib/tcsh/nls/russian/set29
new file mode 100644
index 000000000000..66b554b31a92
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set29
@@ -0,0 +1,4 @@
+$ $Id: set29,v 1.1 2001/03/18 19:06:41 christos Exp $
+$ tw.help.c
+$set 29
+1 %S\n
diff --git a/contrib/tcsh/nls/russian/set3 b/contrib/tcsh/nls/russian/set3
new file mode 100644
index 000000000000..70bcd78e2a3a
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set3
@@ -0,0 +1,124 @@
+$ $Id: set3,v 1.2 2001/04/26 19:07:51 kim Exp $
+$ Editor function descriptions
+$set 3
+1 Move back a character
+2 Delete the character behind cursor
+3 Cut from beginning of current word to cursor - saved in cut buffer
+4 Cut from beginning of line to cursor - save in cut buffer
+5 Move to beginning of current word
+6 Move to beginning of line
+7 Capitalize the characters from cursor to end of current word
+8 Vi change case of character under cursor and advance one character
+9 Vi change to end of line
+10 Clear screen leaving current line on top
+11 Complete current word
+12 Tab forward through files
+13 Tab backward through files
+14 Complete current word ignoring programmable completions
+15 Copy current word to cursor
+16 Copy area between mark and cursor to cut buffer
+17 Expand to preceding word for which this is a prefix
+18 Delete character under cursor
+19 Delete character under cursor or signal end of file on an empty line
+20 Delete character under cursor or list completions if at end of line
+21 Delete character under cursor, list completions or signal end of file
+22 Cut from cursor to end of current word - save in cut buffer
+23 Adds to argument if started or enters digit
+24 Digit that starts argument
+25 Move to next history line
+26 Lowercase the characters from cursor to end of current word
+27 Indicate end of file
+28 Move cursor to end of line
+29 Exchange the cursor and mark
+30 Expand file name wildcards
+31 Expand history escapes
+32 Expand the history escapes in a line
+33 Expand variables
+34 Move forward one character
+35 Move forward to end of current word
+36 Exchange the two characters before the cursor
+37 Search in history backward for line beginning as current
+38 Search in history forward for line beginning as current
+39 Insert last item of previous command
+40 Incremental search forward
+41 Incremental search backward
+42 Clear line
+43 Cut to end of line and save in cut buffer
+44 Cut area between mark and cursor and save in cut buffer
+45 Cut the entire line and save in cut buffer
+46 List choices for completion
+47 List choices for completion overriding programmable completion
+48 List file name wildcard matches
+49 List choices for completion or indicate end of file if empty line
+50 Display load average and current process status
+51 Expand history escapes and insert a space
+52 Execute command
+53 Expand pathnames, eliminating leading .'s and ..'s
+54 Expand commands to the resulting pathname or alias
+55 Switch from insert to overwrite mode or vice versa
+56 Add 8th bit to next character typed
+57 Add the next character typed to the line verbatim
+58 Redisplay everything
+59 Restart stopped editor
+60 Look for help on current command
+61 This character is added to the line
+62 This character is the first in a character sequence
+63 Set the mark at cursor
+64 Correct the spelling of current word
+65 Correct the spelling of entire line
+66 Send character to tty in cooked mode
+67 Toggle between literal and lexical current history line
+68 Exchange the character to the left of the cursor with the one under
+69 Exchange the two characters before the cursor
+70 Tty delayed suspend character
+71 Tty flush output character
+72 Tty interrupt character
+73 Tty quit character
+74 Tty suspend character
+75 Tty allow output character
+76 Tty disallow output character
+77 Indicates unbound character
+78 Emacs universal argument (argument times 4)
+79 Move to previous history line
+80 Uppercase the characters from cursor to end of current word
+81 Vi goto the beginning of next word
+82 Vi enter insert mode after the cursor
+83 Vi enter insert mode at end of line
+84 Vi change case of character under cursor and advance one character
+85 Vi change prefix command
+86 Vi change to end of line
+87 Enter vi command mode (use alternative key bindings)
+88 Vi command mode complete current word
+89 Vi move to previous character (backspace)
+90 Vi delete prefix command
+91 Vi move to the end of the current space delimited word
+92 Vi move to the end of the current word
+93 Vi move to the character specified backward
+94 Vi move to the character specified forward
+95 Vi move up to the character specified backward
+96 Vi move up to the character specified forward
+97 Enter vi insert mode
+98 Enter vi insert mode at beginning of line
+99 Vi repeat current character search in the same search direction
+100 Vi repeat current character search in the opposite search direction
+101 Vi repeat current search in the same search direction
+102 Vi repeat current search in the opposite search direction
+103 Vi replace character under the cursor with the next character typed
+104 Vi replace mode
+105 Vi search history backward
+106 Vi search history forward
+107 Vi replace character under the cursor and enter insert mode
+108 Vi replace entire line
+109 Vi move to the previous word
+110 Vi move to the next word
+111 Vi undo last change
+112 Vi goto the beginning of line
+113 Perform which of current command
+114 Paste cut buffer at cursor position
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/russian/set30 b/contrib/tcsh/nls/russian/set30
new file mode 100644
index 000000000000..9aa0fe3ac984
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set30
@@ -0,0 +1,16 @@
+$ $Id: set30,v 1.1 2001/03/18 19:06:42 christos Exp $
+$ tw.parse.c
+$set 30
+1 starting_a_command %d\n
+2 complete %d
+3 complete %d %S\n
+4 %s: Internal match error.\n
+5 items
+6 rows
+7 There are %d %s, list them anyway? [n/y]
+8 looking = %d\n
+9 \ntcsh internal error: I don't know what I'm looking for!\n
+10
+11
+12
+13 yY
diff --git a/contrib/tcsh/nls/russian/set31 b/contrib/tcsh/nls/russian/set31
new file mode 100644
index 000000000000..ca8c9db75f0b
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set31
@@ -0,0 +1,7 @@
+$ $Id: set31,v 1.1 2001/03/18 19:06:42 christos Exp $
+$ vms.termcap.c
+$set 31
+1 TERMCAP: [%s]\n
+2 %s.\n
+3 %s %s.\n
+4 No match found for %s in file %s\n
diff --git a/contrib/tcsh/nls/russian/set4 b/contrib/tcsh/nls/russian/set4
new file mode 100644
index 000000000000..53396bc4cba3
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set4
@@ -0,0 +1,45 @@
+$ $Id: set4,v 1.1 2001/03/18 19:06:42 christos Exp $
+$ Termcap strings
+$set 4
+1 add new blank line
+2 audible bell
+3 clear to bottom
+4 clear to end of line
+5 cursor to horiz pos
+6 clear screen
+7 delete a character
+8 delete a line
+9 start delete mode
+10 end delete mode
+11 end insert mode
+12 cursor from status line
+13 home cursor
+14 insert character
+15 start insert mode
+16 insert padding
+17 sends cursor down
+18 sends cursor left
+19 sends cursor right
+20 sends cursor up
+21 begin bold
+22 end attributes
+23 non destructive space
+24 end standout
+25 begin standout
+26 cursor to status line
+27 cursor up one
+28 begin underline
+29 end underline
+30 visible bell
+31 delete multiple chars
+32 cursor down multiple
+33 insert multiple chars
+34 cursor left multiple
+35 cursor right multiple
+36 cursor up multiple
+37 Has automatic margins
+38 Can use physical tabs
+39 Number of lines
+40 Number of columns
+41 Has meta key
+42 Newline ignored at right margin
diff --git a/contrib/tcsh/nls/russian/set5 b/contrib/tcsh/nls/russian/set5
new file mode 100644
index 000000000000..c237e84e8546
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set5
@@ -0,0 +1,4 @@
+$ $Id: set5,v 1.1 2001/03/18 19:06:43 christos Exp $
+$ ed.chared.c
+$set 5
+1 \n
diff --git a/contrib/tcsh/nls/russian/set6 b/contrib/tcsh/nls/russian/set6
new file mode 100644
index 000000000000..73367a8f934d
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set6
@@ -0,0 +1,11 @@
+$ $Id: set6,v 1.1 2001/03/18 19:06:43 christos Exp $
+$ ed.inputl.c
+$set 6
+1 : 0%o\r\n
+2 \n
+3 \n
+4 \n
+5 \n
+6 No matching command\n
+7 \n
+8 *** ***\r\n\n
diff --git a/contrib/tcsh/nls/russian/set7 b/contrib/tcsh/nls/russian/set7
new file mode 100644
index 000000000000..490c63717ae3
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set7
@@ -0,0 +1,30 @@
+$ $Id: set7,v 1.1 2001/03/18 19:06:43 christos Exp $
+$ ed.screen.c
+$set 7
+1 \n\tTcsh thinks your terminal has the\n
+2 \tfollowing characteristics:\n\n
+3 \tIt has %d columns and %d lines\n
+4 \tIt has %s meta key\n
+5 a
+6 no
+7 \tIt can%s use tabs\n
+8 not
+9 \tIt %s automatic margins\n
+10 has
+11 does not have
+12 \tIt %s magic margins\n
+13 (empty)
+14 yes
+15 no
+16 ERROR: cannot delete\r\n
+17 DeleteChars: num is riduculous: %d\r\n
+18 ERROR: cannot insert\r\n
+19 StartInsert: num is riduculous: %d\r\n
+20 %s: Cannot open /etc/termcap.\n
+21 %s: No entry for terminal type "%s"\n
+22 %s: using dumb terminal settings.\n
+23 %s: WARNING: Your terminal cannot move up.\n
+24 Editing may be odd for long lines.\n
+25 no clear EOL capability.\n
+26 no delete char capability.\n
+27 no insert char capability.\n
diff --git a/contrib/tcsh/nls/russian/set8 b/contrib/tcsh/nls/russian/set8
new file mode 100644
index 000000000000..bf5b6afe530d
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set8
@@ -0,0 +1,5 @@
+$ $Id: set8,v 1.1 2001/03/18 19:06:44 christos Exp $
+$ ed.term.c
+$set 8
+1
+2
diff --git a/contrib/tcsh/nls/russian/set9 b/contrib/tcsh/nls/russian/set9
new file mode 100644
index 000000000000..62320bc58307
--- /dev/null
+++ b/contrib/tcsh/nls/russian/set9
@@ -0,0 +1,12 @@
+$ $Id: set9,v 1.1 2001/03/18 19:06:44 christos Exp $
+$ ed.xmap.c
+$set 9
+1 AddXkey: Null extended-key not allowed.\n
+2 AddXkey: sequence-lead-in command not allowed\n
+3 DeleteXkey: Null extended-key not allowed.\n
+4 Unbound extended key "%S"\n
+5 Some extended keys too long for internal print buffer
+6 Enumerate: BUG!! Null ptr passed\n!
+7 no input
+8 Something must follow: %c\n
+9 Octal constant does not fit in a char.\n
diff --git a/contrib/tcsh/nls/spanish/set20 b/contrib/tcsh/nls/spanish/set20
index 8359f1d2d867..3709ce430cc2 100644
--- a/contrib/tcsh/nls/spanish/set20
+++ b/contrib/tcsh/nls/spanish/set20
@@ -1,4 +1,4 @@
-$ $Id: set20,v 1.1 1998/04/08 18:00:01 christos Exp $
+$ $Id: set20,v 1.2 2001/04/26 19:09:19 kim Exp $
$ tc.bind.c
$set 20
1 Nombre de tecla no vlido `%S'\n
@@ -39,4 +39,3 @@ $set 20
36 uso: bind [TECLA | COMANDO TECLA | "emacs" | "vi" | "-a"]\n
37 funcin no vlida
38 %s\t\tno est definida\n
-
diff --git a/contrib/tcsh/nls/spanish/set3 b/contrib/tcsh/nls/spanish/set3
index be8016ac4a4f..196a8ebf9b2a 100644
--- a/contrib/tcsh/nls/spanish/set3
+++ b/contrib/tcsh/nls/spanish/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.1 1998/04/08 18:00:08 christos Exp $
+$ $Id: set3,v 1.2 2001/04/26 19:07:51 kim Exp $
$ Descripcin de las funciones de edicin
$set 3
1 Retroceder un carcter
@@ -115,3 +115,10 @@ $set 3
112 Vi: ir al comienzo de la lnea
113 Ejecutar `which' para el comando actual
114 Pegar el buffer donde el cursor
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/nls/ukrainian/set3 b/contrib/tcsh/nls/ukrainian/set3
index 88055f3c537d..712b73fe4547 100644
--- a/contrib/tcsh/nls/ukrainian/set3
+++ b/contrib/tcsh/nls/ukrainian/set3
@@ -1,4 +1,4 @@
-$ $Id: set3,v 1.1 2000/11/11 23:03:44 christos Exp $
+$ $Id: set3,v 1.2 2001/04/26 19:07:52 kim Exp $
$ Editor function descriptions
$set 3
1 Move back a character
@@ -115,3 +115,10 @@ $set 3
112 Vi goto the beginning of line
113 Perform which of current command
114 Paste cut buffer at cursor position
+115 Replace just-yanked text with yank from earlier kill
+116 (WIN32 only) Copy cut buffer to system clipboard
+117 (WIN32 only) Paste clipboard buffer at cursor position
+118 (WIN32 only) Convert each '/' in next word to '\\\\'
+119 (WIN32 only) Convert each '/' in previous word to '\\\\'
+120 (WIN32 only) Page visible console window up
+121 (WIN32 only) Page visible console window down
diff --git a/contrib/tcsh/patchlevel.h b/contrib/tcsh/patchlevel.h
index aca35375b0ac..71a0db74fc56 100644
--- a/contrib/tcsh/patchlevel.h
+++ b/contrib/tcsh/patchlevel.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/patchlevel.h,v 3.126 2000/11/19 20:50:43 christos Exp $ */
+/* $Header: /src/pub/tcsh/patchlevel.h,v 3.129 2001/09/02 21:16:25 christos Exp $ */
/*
* patchlevel.h: Our life story.
*/
@@ -7,8 +7,8 @@
#define ORIGIN "Astron"
#define REV 6
-#define VERS 10
+#define VERS 11
#define PATCHLEVEL 0
-#define DATE "2000-11-19"
+#define DATE "2001-09-02"
#endif /* _h_patchlevel */
diff --git a/contrib/tcsh/sh.c b/contrib/tcsh/sh.c
index 0bfa2564bf20..824680c92e92 100644
--- a/contrib/tcsh/sh.c
+++ b/contrib/tcsh/sh.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.c,v 3.92 2000/11/11 23:03:35 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.c,v 3.95 2001/04/27 22:36:39 christos Exp $ */
/*
* sh.c: Main shell routines
*/
@@ -43,7 +43,7 @@ char copyright[] =
All rights reserved.\n";
#endif /* not lint */
-RCSID("$Id: sh.c,v 3.92 2000/11/11 23:03:35 christos Exp $")
+RCSID("$Id: sh.c,v 3.95 2001/04/27 22:36:39 christos Exp $")
#include "tc.h"
#include "ed.h"
@@ -160,7 +160,11 @@ struct saved_state {
};
static int srccat __P((Char *, Char *));
+#ifndef WINNT_NATIVE
static int srcfile __P((char *, bool, int, Char **));
+#else
+int srcfile __P((char *, bool, int, Char **));
+#endif /*WINNT_NATIVE*/
static sigret_t phup __P((int));
static void srcunit __P((int, bool, int, Char **));
static void mailchk __P((void));
@@ -676,6 +680,11 @@ main(argc, argv)
set(STRaddsuffix, Strsave(STRNULL), VAR_READWRITE);
/*
+ * Random default kill ring size
+ */
+ set(STRkillring, SAVE("30"), VAR_READWRITE);
+
+ /*
* Re-initialize path if set in environment
*/
if ((tcp = getenv("PATH")) == NULL)
@@ -1438,7 +1447,11 @@ srccat(cp, dp)
/*
* Source to a file putting the file descriptor in a safe place (> 2).
*/
+#ifndef WINNT_NATIVE
static int
+#else
+int
+#endif /*WINNT_NATIVE*/
srcfile(f, onlyown, flag, av)
char *f;
bool onlyown;
diff --git a/contrib/tcsh/sh.char.c b/contrib/tcsh/sh.char.c
index fe32777f32dc..bb028b72885f 100644
--- a/contrib/tcsh/sh.char.c
+++ b/contrib/tcsh/sh.char.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.char.c,v 3.13 2000/06/11 02:14:13 kim Exp $ */
+/* $Header: /src/pub/tcsh/sh.char.c,v 3.16 2001/03/20 04:16:56 christos Exp $ */
/*
* sh.char.c: Character classification tables
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.char.c,v 3.13 2000/06/11 02:14:13 kim Exp $")
+RCSID("$Id: sh.char.c,v 3.16 2001/03/20 04:16:56 christos Exp $")
#include "sh.char.h"
@@ -813,6 +813,68 @@ unsigned short _mbmap_sjis[256] = {
_MB1|_MB2, 0, 0, 0,
};
+unsigned short _mbmap_big5[256] = {
+/* This is latest big5 charmap, so called "Big5+" */
+/* first byte 0x81 - 0xfe */
+/* second byte 0x40 - 0x7e, 0x80 - 0xfe */
+/* 0x00 - 0x3f = 0 */
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+/* 0x40 - 0x7e = 2 */
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ _MB2, _MB2, _MB2, _MB2,
+ /* 0x7f = 0 */
+ _MB2, _MB2, _MB2, 0,
+/* 0x80 = 2, 0x81 - 0xfe = 3 */
+ _MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, _MB1|_MB2,
+ /* 0xff = 0 */
+ _MB1|_MB2, _MB1|_MB2, _MB1|_MB2, 0,
+};
+
+
#else /* !(defined(KANJI) && defined(SHORT_STRINGS) && defined(DSPMBYTE)) */
unsigned short _cmap[256] = {
/* 0 nul 1 soh 2 stx 3 etx */
diff --git a/contrib/tcsh/sh.char.h b/contrib/tcsh/sh.char.h
index d5286d4f23de..c383d0d1e14f 100644
--- a/contrib/tcsh/sh.char.h
+++ b/contrib/tcsh/sh.char.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.char.h,v 3.17 2000/11/11 23:03:35 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.char.h,v 3.18 2001/03/18 19:06:29 christos Exp $ */
/*
* sh.char.h: Table for spotting special characters quickly
* Makes for very obscure but efficient coding.
@@ -58,6 +58,7 @@ extern short _enable_mbdisp;
extern unsigned short _mbmap[];
extern unsigned short _mbmap_euc[];
extern unsigned short _mbmap_sjis[];
+extern unsigned short _mbmap_big5[];
/* VARIABLE Check str */
/* same compiler require #define even not define DSPMBYTE */
#define _MB1 0x0001
diff --git a/contrib/tcsh/sh.decls.h b/contrib/tcsh/sh.decls.h
index 4fd433da81a0..e3da4227d821 100644
--- a/contrib/tcsh/sh.decls.h
+++ b/contrib/tcsh/sh.decls.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.decls.h,v 3.34 1999/02/06 15:01:21 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.decls.h,v 3.35 2001/08/06 23:52:03 christos Exp $ */
/*
* sh.decls.h External declarations from sh*.c
*/
@@ -337,6 +337,7 @@ extern void unsetv __P((Char *));
extern void setNS __P((Char *));
extern void shift __P((Char **, struct command *));
extern void plist __P((struct varent *, int));
+extern Char *unparse __P((struct command *));
#if defined(DSPMBYTE)
extern void update_dspmbyte_vars __P((void));
extern void autoset_dspmbyte __P((Char *));
diff --git a/contrib/tcsh/sh.dir.c b/contrib/tcsh/sh.dir.c
index fd0adfda5a00..de2e9d0cd175 100644
--- a/contrib/tcsh/sh.dir.c
+++ b/contrib/tcsh/sh.dir.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.dir.c,v 3.54 2000/11/11 23:03:36 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.dir.c,v 3.56 2001/01/29 01:28:02 christos Exp $ */
/*
* sh.dir.c: Directory manipulation functions
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.dir.c,v 3.54 2000/11/11 23:03:36 christos Exp $")
+RCSID("$Id: sh.dir.c,v 3.56 2001/01/29 01:28:02 christos Exp $")
/*
* C Shell - directory management
@@ -1355,7 +1355,7 @@ recdirs(fname, def)
return;
}
- if ((snum = varval(STRsavedirs)) == STRNULL)
+ if ((snum = varval(STRsavedirs)) == STRNULL || snum[0] == '\0')
num = (unsigned int) ~0;
else
num = (unsigned int) atoi(short2str(snum));
diff --git a/contrib/tcsh/sh.dol.c b/contrib/tcsh/sh.dol.c
index 5d13270c7356..abad1c159a29 100644
--- a/contrib/tcsh/sh.dol.c
+++ b/contrib/tcsh/sh.dol.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.dol.c,v 3.45 2000/11/19 20:50:43 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.dol.c,v 3.47 2001/07/25 15:48:04 christos Exp $ */
/*
* sh.dol.c: Variable substitutions
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.dol.c,v 3.45 2000/11/19 20:50:43 christos Exp $")
+RCSID("$Id: sh.dol.c,v 3.47 2001/07/25 15:48:04 christos Exp $")
/*
* C shell
@@ -114,7 +114,7 @@ Dfix(t)
if (Ismbyte1(*p) && *(p + 1))
p ++;
else
-#endif DSPMBYTE
+#endif /* DSPMBYTE */
if (cmap(*p, _DOL | QUOTES)) { /* $, \, ', ", ` */
Dfix2(t->t_dcom); /* found one */
blkfree(t->t_dcom);
@@ -1043,7 +1043,7 @@ again:
#ifndef O_EXCL
# define O_EXCL 0
#endif
- if (open(tmp, O_RDWR|O_CREAT|O_EXCL|O_TEMPORARY) == -1) {
+ if (open(tmp, O_RDWR|O_CREAT|O_EXCL|O_TEMPORARY, 0600) == -1) {
int oerrno = errno;
#ifndef WINNT_NATIVE
if (errno == EEXIST) {
diff --git a/contrib/tcsh/sh.func.c b/contrib/tcsh/sh.func.c
index b26ea8ee1140..a2e898909917 100644
--- a/contrib/tcsh/sh.func.c
+++ b/contrib/tcsh/sh.func.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.func.c,v 3.91 2000/11/11 23:03:36 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.func.c,v 3.93 2001/03/13 12:53:50 christos Exp $ */
/*
* sh.func.c: csh builtin functions
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.func.c,v 3.91 2000/11/11 23:03:36 christos Exp $")
+RCSID("$Id: sh.func.c,v 3.93 2001/03/13 12:53:50 christos Exp $")
#include "ed.h"
#include "tw.h"
@@ -1147,7 +1147,7 @@ xecho(sep, v)
#endif /* BSDSIGS */
v++;
if (*v == 0)
- return;
+ goto done;
gflag = 0, tglob(v);
if (gflag) {
v = globall(v);
@@ -1753,6 +1753,8 @@ doumask(v, c)
/* In order to use rusage, we included "/usr/ucbinclude/sys/resource.h" in */
/* sh.h. However, some SVR4 limits are defined in <sys/resource.h>. Rather */
/* than include both and get warnings, we define the extra SVR4 limits here. */
+/* XXX: I don't understand if RLIMIT_AS is defined, why don't we define */
+/* RLIMIT_VMEM based on it? */
# ifndef RLIMIT_VMEM
# define RLIMIT_VMEM 6
# endif
@@ -1761,6 +1763,10 @@ doumask(v, c)
# endif
# endif /* SYSVREL > 3 && BSDLIMIT */
+# if defined(__linux__) && defined(RLIMIT_AS) && !defined(RLIMIT_VMEM)
+# define RLIMIT_VMEM RLIMIT_AS
+# endif
+
struct limits limits[] =
{
# ifdef RLIMIT_CPU
diff --git a/contrib/tcsh/sh.glob.c b/contrib/tcsh/sh.glob.c
index 0af58252f371..2b39c76c11ae 100644
--- a/contrib/tcsh/sh.glob.c
+++ b/contrib/tcsh/sh.glob.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.glob.c,v 3.47 2000/11/11 23:03:37 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.glob.c,v 3.48 2001/01/04 18:51:57 christos Exp $ */
/*
* sh.glob.c: Regular expression expansion
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.glob.c,v 3.47 2000/11/11 23:03:37 christos Exp $")
+RCSID("$Id: sh.glob.c,v 3.48 2001/01/04 18:51:57 christos Exp $")
#include "tc.h"
@@ -450,14 +450,12 @@ globexpand(v)
/*
* Step 4: expand .. if the variable symlinks==expand is set
*/
- if ( symlinks == SYM_EXPAND )
+ if (symlinks == SYM_EXPAND) {
for (s = *vl; s; s = *++vl) {
- char *path = short2str(s);
- if (strstr(path, "..") != NULL && access(path, F_OK) == 0) {
- *vl = dnormalize(s, 1);
- xfree((ptr_t) s);
- }
+ *vl = dnormalize(s, 1);
+ xfree((ptr_t) s);
}
+ }
vl = nv;
return (vl);
diff --git a/contrib/tcsh/sh.h b/contrib/tcsh/sh.h
index 55ed4cc43c1e..0e2c6fa40a77 100644
--- a/contrib/tcsh/sh.h
+++ b/contrib/tcsh/sh.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.h,v 3.93 2000/11/19 20:50:43 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.h,v 3.96 2001/03/18 19:06:29 christos Exp $ */
/*
* sh.h: Catch it all globals and includes file!
*/
@@ -189,12 +189,12 @@ typedef int sigret_t;
# endif /* __EMX__ || WINNT_NATIVE */
#endif /* !PATHSEP */
-#ifdef __HP_CXD_SPP
+#if defined(__HP_CXD_SPP) && !defined(__hpux)
# include <sys/cnx_stat.h>
# define stat stat64
# define fstat fstat64
# define lstat lstat64
-#endif /* __HP_CXD_SPP */
+#endif /* __HP_CXD_SPP && !__hpux */
/*
* This macro compares the st_dev field of struct stat. On aix on ibmESA
@@ -297,7 +297,7 @@ typedef int sigret_t;
# include <limits.h>
#endif /* POSIX && !WINNT_NATIVE */
-#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX)
+#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(linux)
# if !defined(pyr) && !defined(stellar)
# include <time.h>
# ifdef _MINIX
@@ -544,7 +544,7 @@ extern void DebugFree __P((ptr_t, char *, int));
# if defined(SCO) && (SYSVREL > 3)
# include <sys/socket.h>
# else
-# define MAXHOSTNAMELEN 255
+# define MAXHOSTNAMELEN 256
# endif
#endif /* MAXHOSTNAMELEN */
diff --git a/contrib/tcsh/sh.proc.c b/contrib/tcsh/sh.proc.c
index c35bba94a442..ea4f271dfce5 100644
--- a/contrib/tcsh/sh.proc.c
+++ b/contrib/tcsh/sh.proc.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.proc.c,v 3.71 2000/11/11 23:03:37 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.proc.c,v 3.75 2001/08/06 23:52:03 christos Exp $ */
/*
* sh.proc.c: Job manipulations
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.proc.c,v 3.71 2000/11/11 23:03:37 christos Exp $")
+RCSID("$Id: sh.proc.c,v 3.75 2001/08/06 23:52:03 christos Exp $")
#include "ed.h"
#include "tc.h"
@@ -803,6 +803,21 @@ static Char command[PMAXLEN + 4];
static int cmdlen;
static Char *cmdp;
+/* GrP
+ * unparse - Export padd() functionality
+ */
+Char *
+unparse(t)
+ register struct command *t;
+{
+ cmdp = command;
+ cmdlen = 0;
+ padd(t);
+ *cmdp++ = '\0';
+ return Strsave(command);
+}
+
+
/*
* palloc - allocate a process structure and fill it up.
* an important assumption is made that the process is running.
@@ -1524,6 +1539,7 @@ dokill(v, c)
{
register int signum, len = 0;
register char *name;
+ Char *sigptr;
extern int T_Cols;
extern int nsig;
@@ -1544,17 +1560,26 @@ dokill(v, c)
xputchar('\n');
return;
}
- if (Isdigit(v[0][1])) {
- signum = atoi(short2str(v[0] + 1));
+ sigptr = &v[0][1];
+ if (v[0][1] == 's') {
+ if (v[1]) {
+ v++;
+ sigptr = &v[0][0];
+ } else {
+ stderror(ERR_NAME | ERR_TOOFEW);
+ }
+ }
+ if (Isdigit(*sigptr)) {
+ signum = atoi(short2str(sigptr));
if (signum < 0 || signum > (MAXSIG-1))
stderror(ERR_NAME | ERR_BADSIG);
}
else {
for (signum = 0; signum <= nsig; signum++)
if (mesg[signum].iname &&
- eq(&v[0][1], str2short(mesg[signum].iname)))
+ eq(sigptr, str2short(mesg[signum].iname)))
goto gotsig;
- setname(short2str(&v[0][1]));
+ setname(short2str(sigptr));
stderror(ERR_NAME | ERR_UNKSIG);
}
gotsig:
@@ -1724,6 +1749,12 @@ pstart(pp, foregnd)
if (!foregnd)
pclrcurr(pp);
(void) pprint(pp, foregnd ? NAME | JOBDIR : NUMBER | NAME | AMPERSAND);
+
+ /* GrP run jobcmd hook if foregrounding */
+ if (foregnd) {
+ job_cmd(pp->p_command);
+ }
+
#ifdef BSDJOBS
if (foregnd) {
rv = tcsetpgrp(FSHTTY, pp->p_jobid);
@@ -1986,7 +2017,8 @@ pfork(t, wanttty)
if (t->t_dflg & F_NICE) {
int nval = SIGN_EXTEND_CHAR(t->t_nice);
#ifdef BSDNICE
- (void) setpriority(PRIO_PROCESS, 0, nval);
+ if (setpriority(PRIO_PROCESS, 0, nval) == -1 && errno)
+ stderror(ERR_SYSTEM, "setpriority", strerror(errno));
#else /* !BSDNICE */
(void) nice(nval);
#endif /* !BSDNICE */
diff --git a/contrib/tcsh/sh.sem.c b/contrib/tcsh/sh.sem.c
index 940df884d89f..2ff1399ba28a 100644
--- a/contrib/tcsh/sh.sem.c
+++ b/contrib/tcsh/sh.sem.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.sem.c,v 3.51 2000/11/11 23:03:38 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.sem.c,v 3.53 2001/08/06 23:52:03 christos Exp $ */
/*
* sh.sem.c: I/O redirections and job forking. A touchy issue!
* Most stuff with builtins is incorrect
@@ -37,7 +37,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.sem.c,v 3.51 2000/11/11 23:03:38 christos Exp $")
+RCSID("$Id: sh.sem.c,v 3.53 2001/08/06 23:52:03 christos Exp $")
#include "tc.h"
#include "tw.h"
@@ -319,6 +319,18 @@ execute(t, wanttty, pipein, pipeout)
break;
}
+ /*
+ * GrP Executing a command - run jobcmd hook
+ * Don't run for builtins
+ * Don't run if we're not in a tty
+ * Don't run if we're not really executing
+ */
+ if (t->t_dtyp == NODE_COMMAND && !bifunc && !noexec && intty) {
+ Char *cmd = unparse(t);
+ job_cmd(cmd);
+ xfree(cmd);
+ }
+
/*
* We fork only if we are timed, or are not the end of a parenthesized
* list and not a simple builtin function. Simple meaning one that is
@@ -571,7 +583,9 @@ execute(t, wanttty, pipein, pipeout)
if (t->t_dflg & F_NICE) {
int nval = SIGN_EXTEND_CHAR(t->t_nice);
# ifdef BSDNICE
- (void) setpriority(PRIO_PROCESS, 0, nval);
+ if (setpriority(PRIO_PROCESS, 0, nval) == -1 && errno)
+ stderror(ERR_SYSTEM, "setpriority",
+ strerror(errno));
# else /* !BSDNICE */
(void) nice(nval);
# endif /* BSDNICE */
diff --git a/contrib/tcsh/sh.set.c b/contrib/tcsh/sh.set.c
index d4bc2f523f04..fbe35595ad46 100644
--- a/contrib/tcsh/sh.set.c
+++ b/contrib/tcsh/sh.set.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.set.c,v 3.37 2000/07/15 19:58:51 christos Exp $ */
+/* $Header: /src/pub/tcsh/sh.set.c,v 3.39 2001/03/18 19:06:30 christos Exp $ */
/*
* sh.set.c: Setting and Clearing of variables
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.set.c,v 3.37 2000/07/15 19:58:51 christos Exp $")
+RCSID("$Id: sh.set.c,v 3.39 2001/03/18 19:06:30 christos Exp $")
#include "ed.h"
#include "tw.h"
@@ -160,6 +160,9 @@ update_vars(vp)
else if (eq(vp, STRrecognize_only_executables)) {
tw_cmd_free();
}
+ else if (eq(vp, STRkillring)) {
+ SetKillRing(getn(varval(vp)));
+ }
#ifndef HAVENOUTMP
else if (eq(vp, STRwatch)) {
resetwatch();
@@ -740,6 +743,8 @@ unset(v, c)
symlinks = 0;
if (adrof(STRimplicitcd) == 0)
implicit_cd = 0;
+ if (adrof(STRkillring) == 0)
+ SetKillRing(0);
if (did_edit && noediting && adrof(STRedit) == 0)
noediting = 0;
if (did_roe && adrof(STRrecognize_only_executables) == 0)
@@ -1103,6 +1108,8 @@ update_dspmbyte_vars()
iskcode = 1;
else if (eq(dstr1, STRKEUC))
iskcode = 2;
+ else if (eq(dstr1, STRKBIG5))
+ iskcode = 3;
else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) {
iskcode = 0;
}
@@ -1127,6 +1134,11 @@ update_dspmbyte_vars()
_cmap[lp] = _cmap_mbyte[lp];
_mbmap[lp] = _mbmap_euc[lp];
break;
+ case 3:
+ /* 3 ... big5 */
+ _cmap[lp] = _cmap_mbyte[lp];
+ _mbmap[lp] = _mbmap_big5[lp];
+ break;
default:
xprintf(CGETS(18, 3,
"Warning: unknown multibyte code %d; multibyte disabled\n"),
@@ -1204,6 +1216,7 @@ autoset_dspmbyte(pcp)
{ STRLANGEUCKRB, STRKEUC },
{ STRLANGSJIS, STRKSJIS },
{ STRLANGSJISB, STRKSJIS },
+ { STRLANGBIG5, STRKBIG5 },
{ NULL, NULL }
};
diff --git a/contrib/tcsh/sh.time.c b/contrib/tcsh/sh.time.c
index 45d0cb808cb8..cb71724efa9d 100644
--- a/contrib/tcsh/sh.time.c
+++ b/contrib/tcsh/sh.time.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/sh.time.c,v 3.22 2000/06/10 21:35:41 kim Exp $ */
+/* $Header: /src/pub/tcsh/sh.time.c,v 3.23 2001/03/18 19:06:31 christos Exp $ */
/*
* sh.time.c: Shell time keeping and printing.
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: sh.time.c,v 3.22 2000/06/10 21:35:41 kim Exp $")
+RCSID("$Id: sh.time.c,v 3.23 2001/03/18 19:06:31 christos Exp $")
#ifdef SUNOS4
# include <machine/param.h>
@@ -177,7 +177,8 @@ donice(v, c)
else if (*v == 0 && any("+-", cp[0]))
nval = getn(cp);
#ifdef BSDNICE
- (void) setpriority(PRIO_PROCESS, 0, nval);
+ if (setpriority(PRIO_PROCESS, 0, nval) == -1 && errno)
+ stderror(ERR_SYSTEM, "setpriority", strerror(errno));
#else /* BSDNICE */
(void) nice(nval);
#endif /* BSDNICE */
diff --git a/contrib/tcsh/tc.const.c b/contrib/tcsh/tc.const.c
index 635ea31ad430..883efc6f82a1 100644
--- a/contrib/tcsh/tc.const.c
+++ b/contrib/tcsh/tc.const.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/tc.const.c,v 3.57 2000/11/19 20:50:44 christos Exp $ */
+/* $Header: /src/pub/tcsh/tc.const.c,v 3.62 2001/08/06 23:52:04 christos Exp $ */
/*
* sh.const.c: String constants for tcsh.
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: tc.const.c,v 3.57 2000/11/19 20:50:44 christos Exp $")
+RCSID("$Id: tc.const.c,v 3.62 2001/08/06 23:52:04 christos Exp $")
Char STRlogout[] = { 'l', 'o', 'g', 'o', 'u', 't', '\0' };
Char STRautologout[] = { 'a', 'u', 't', 'o', 'l', 'o', 'g', 'o', 'u', 't',
@@ -125,6 +125,7 @@ Char STRdspmbyte[] = { 'd', 's', 'p', 'm', 'b', 'y', 't', 'e', '\0' };
Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' };
Char STRKEUC[] = { 'e', 'u', 'c', '\0' };
Char STRKSJIS[] = { 's', 'j', 'i', 's', '\0' };
+Char STRKBIG5[] = { 'b', 'i', 'g', '5', '\0' };
# ifdef MBYTEDEBUG /* Sorry, use for beta testing */
Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' };
# endif /* MBYTEMAP */
@@ -153,6 +154,8 @@ Char STRLANGEUCKRB[] = { '\0' };
Char STRLANGSJIS[] = { 'j', 'a', '_', 'J', 'P', '.', 'S', 'J', 'I', 'S',
'\0' };
Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { 'z', 'h', '_', 'T', 'W', '.', 'B', 'i', 'g', '5',
+ '\0' };
# elif defined(linux)
Char STRLANGEUC[] = { 'j', 'a', '_', 'J', 'P', '.', 'e', 'u', 'c', 'J',
'P', '\0' };
@@ -161,6 +164,7 @@ Char STRLANGEUCB[] = { 'j', 'a', '_', 'J', 'P', '.', 'u', 'j', 'i', 's',
Char STRLANGSJIS[] = { 'j', 'a', '_', 'J', 'P', '.', 'S', 'J', 'I', 'S',
'\0' };
Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { '\0' };
# elif defined(__uxpm__)
Char STRLANGEUCJP[] = { 'j', 'a', 'p', 'a', 'n', '\0' };
Char STRLANGEUCKR[] = { 'k', 'o', 'r', 'e', 'a', '\0' };
@@ -168,6 +172,7 @@ Char STRLANGEUCJPB[] = { '\0' };
Char STRLANGEUCKRB[] = { '\0' };
Char STRLANGSJIS[] = { '\0' };
Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { '\0' };
# elif defined(SOLARIS2)
Char STRLANGEUCJP[] = { 'j', 'a', '\0' };
Char STRLANGEUCKR[] = { 'k', 'o', '\0' };
@@ -175,6 +180,7 @@ Char STRLANGEUCJPB[] = { 'j', 'a', 'p', 'a', 'n', 'e', 's', 'e', '\0' };
Char STRLANGEUCKRB[] = { 'k', 'o', 'r', 'e', 'a', 'n', '\0' };
Char STRLANGSJIS[] = { '\0' };
Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { '\0' };
# elif defined(hpux)
Char STRLANGEUCJP[] = { 'j', 'a', '_', 'J', 'P', '.', 'e', 'u', 'c', 'J', 'P' };
Char STRLANGEUCKR[] = { 'k', 'o', '_', 'K', 'R', '.', 'e', 'u', 'c', 'K', 'R' };
@@ -182,6 +188,7 @@ Char STRLANGEUCJPB[] = { '\0' };
Char STRLANGEUCKRB[] = { '\0' };
Char STRLANGSJIS[] = { '\0' };
Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { '\0' };
# else
Char STRLANGEUCJP[] = { '\0' };
Char STRLANGEUCKR[] = { '\0' };
@@ -189,6 +196,7 @@ Char STRLANGEUCJPB[] = { '\0' };
Char STRLANGEUCKRB[] = { '\0' };
Char STRLANGSJIS[] = { '\0' };
Char STRLANGSJISB[] = { '\0' };
+Char STRLANGBIG5[] = { '\0' };
# endif
# endif /* defined(DSPMBYTE) */
#endif
@@ -214,6 +222,7 @@ Char STRKCORRECT[] = { 'C', 'O', 'R', 'R', 'E', 'C', 'T', '>', '%', 'R',
Char STRunalias[] = { 'u', 'n', 'a', 'l', 'i', 'a', 's', '\0' };
Char STRalias[] = { 'a', 'l', 'i', 'a', 's', '\0' };
Char STRprecmd[] = { 'p', 'r', 'e', 'c', 'm', 'd', '\0' };
+Char STRjobcmd[] = { 'j', 'o', 'b', 'c', 'm', 'd', '\0' }; /*GrP*/
Char STRpostcmd[] = { 'p', 'o', 's', 't', 'c', 'm', 'd', '\0' };
Char STRcwdcmd[] = { 'c', 'w', 'd', 'c', 'm', 'd', '\0' };
Char STRperiodic[] = { 'p', 'e', 'r', 'i', 'o', 'd', 'i', 'c', '\0' };
@@ -374,6 +383,8 @@ Char STRrm[] = { 'r', 'm', '\0' };
Char STRimplicitcd[] = { 'i', 'm', 'p', 'l', 'i', 'c', 'i', 't',
'c', 'd', '\0' };
+Char STRkillring[] = { 'k', 'i', 'l', 'l', 'r', 'i', 'n', 'g', '\0' };
+Char STRkilldup[] = { 'k', 'i', 'l', 'l', 'd', 'u', 'p', '\0' };
Char STRshlvl[] = { 's', 'h', 'l', 'v', 'l', '\0' };
Char STRKSHLVL[] = { 'S', 'H', 'L', 'V', 'L', '\0' };
Char STRLANG[] = { 'L', 'A', 'N', 'G', '\0' };
@@ -415,7 +426,11 @@ Char STRwarnebcdic[] = { 'w', 'a', 'r', 'n', 'e', 'b', 'c', 'd', 'i', 'c', '\
#ifdef COLOR_LS_F
Char STRlsmF[] = { 'l', 's', '-', 'F', '\0' };
Char STRcolor[] = { 'c', 'o', 'l', 'o', 'r', '\0' };
-Char STRmmcolormauto[] = {'-', '-', 'c', 'o', 'l', 'o', 'r', '=', 'a', 'u', 't', 'o', '\0' };
+#ifdef BSD_STYLE_COLORLS
+Char STRmmcolormauto[] = { '-', 'G', '\0' };
+#else
+Char STRmmcolormauto[] = { '-', '-', 'c', 'o', 'l', 'o', 'r', '=', 'a', 'u', 't', 'o', '\0' };
+#endif /* BSD_STYLE_COLORLS */
Char STRLS_COLORS[] = { 'L', 'S', '_', 'C', 'O', 'L', 'O', 'R', 'S', '\0' };
#endif /* COLOR_LS_F */
@@ -430,3 +445,6 @@ Char STRend[] = { 'e', 'n', 'd', '\0' };
#ifdef COLORCAT
Char STRcolorcat[] = { 'c', 'o', 'l', 'o', 'r', 'c', 'a', 't', '\0' };
#endif
+
+Char STRshwspace[] = { ' ', '\t', '\0' };
+Char STRshwordsep[] = { ' ', '\t', '&', '|', ';', '<', '>', '(', ')', '\0' };
diff --git a/contrib/tcsh/tc.decls.h b/contrib/tcsh/tc.decls.h
index a0d29a199f5e..c4b19172e806 100644
--- a/contrib/tcsh/tc.decls.h
+++ b/contrib/tcsh/tc.decls.h
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/tc.decls.h,v 3.47 2000/11/12 02:18:06 christos Exp $ */
+/* $Header: /src/pub/tcsh/tc.decls.h,v 3.49 2001/08/06 23:57:33 christos Exp $ */
/*
* tc.decls.h: Function declarations from all the tcsh modules
*/
@@ -96,6 +96,7 @@ extern void postcmd __P((void));
extern void cwd_cmd __P((void));
extern void beep_cmd __P((void));
extern void period_cmd __P((void));
+extern void job_cmd __P((Char *));
extern void aliasrun __P((int, Char *, Char *));
extern void setalarm __P((int));
extern void rmstar __P((struct wordent *));
diff --git a/contrib/tcsh/tc.func.c b/contrib/tcsh/tc.func.c
index 410f851f88aa..505830b2ce8d 100644
--- a/contrib/tcsh/tc.func.c
+++ b/contrib/tcsh/tc.func.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/tc.func.c,v 3.94 2000/11/12 02:18:06 christos Exp $ */
+/* $Header: /src/pub/tcsh/tc.func.c,v 3.97 2001/08/28 23:13:44 christos Exp $ */
/*
* tc.func.c: New tcsh builtins.
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: tc.func.c,v 3.94 2000/11/12 02:18:06 christos Exp $")
+RCSID("$Id: tc.func.c,v 3.97 2001/08/28 23:13:44 christos Exp $")
#include "ed.h"
#include "ed.defns.h" /* for the function names */
@@ -63,6 +63,7 @@ extern int do_logout;
extern time_t t_period;
extern int just_signaled;
static bool precmd_active = 0;
+static bool jobcmd_active = 0; /* GrP */
static bool postcmd_active = 0;
static bool periodic_active = 0;
static bool cwdcmd_active = 0; /* PWP: for cwd_cmd */
@@ -1043,6 +1044,44 @@ leave:
#endif /* BSDSIGS */
}
+
+/*
+ * GrP Greg Parker May 2001
+ * Added job_cmd(), which is run every time a job is started or
+ * foregrounded. The command is passed a single argument, the string
+ * used to start the job originally. With precmd, useful for setting
+ * xterm titles.
+ * Cloned from cwd_cmd().
+ */
+void
+job_cmd(args)
+ Char *args;
+{
+#ifdef BSDSIGS
+ sigmask_t omask;
+
+ omask = sigblock(sigmask(SIGINT));
+#else /* !BSDSIGS */
+ (void) sighold(SIGINT);
+#endif /* BSDSIGS */
+ if (jobcmd_active) { /* an error must have been caught */
+ aliasrun(2, STRunalias, STRjobcmd);
+ xprintf(CGETS(22, 14, "Faulty alias 'jobcmd' removed.\n"));
+ goto leave;
+ }
+ jobcmd_active = 1;
+ if (!whyles && adrof1(STRjobcmd, &aliases))
+ aliasrun(2, STRjobcmd, args);
+leave:
+ jobcmd_active = 0;
+#ifdef BSDSIGS
+ (void) sigsetmask(omask);
+#else /* !BSDSIGS */
+ (void) sigrelse(SIGINT);
+#endif /* BSDSIGS */
+}
+
+
/*
* Karl Kleinpaste, 21oct1983.
* Set up a one-word alias command, for use for special things.
@@ -1257,8 +1296,11 @@ rmstar(cp)
tmp->next->prev = tmp->prev;
xfree((ptr_t) tmp->word);
del = tmp;
+ tmp = tmp->next;
xfree((ptr_t) del);
}
+ we = tmp;
+ continue;
}
}
}
@@ -1532,14 +1574,18 @@ gethomedir(us)
#ifdef YPBUGS
fix_yp_bugs();
#endif /* YPBUGS */
- if (pp != NULL)
- return Strsave(str2short(pp->pw_dir));
+ if (pp != NULL) {
+ /* Don't return if root */
+ if (pp->pw_dir[0] == '/' && pp->pw_dir[1] == '\0')
+ return NULL;
+ else
+ return Strsave(str2short(pp->pw_dir));
+ }
#ifdef HESIOD
res = hes_resolve(short2str(us), "filsys");
- rp = 0;
- if (res != 0) {
- extern char *strtok();
- if ((*res) != 0) {
+ rp = NULL;
+ if (res != NULL) {
+ if ((*res) != NULL) {
/*
* Look at the first token to determine how to interpret
* the rest of it.
@@ -1564,6 +1610,10 @@ gethomedir(us)
}
for (res1 = res; *res1; res1++)
free(*res1);
+ if (rp != NULL && rp[0] == '/' && rp[1] == '\0') {
+ xfree((ptr_t)rp);
+ rp = NULL;
+ }
return rp;
}
#endif /* HESIOD */
diff --git a/contrib/tcsh/tc.printf.c b/contrib/tcsh/tc.printf.c
index d2b044ea7640..76432512f955 100644
--- a/contrib/tcsh/tc.printf.c
+++ b/contrib/tcsh/tc.printf.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/tc.printf.c,v 3.19 1998/10/25 15:10:37 christos Exp $ */
+/* $Header: /src/pub/tcsh/tc.printf.c,v 3.21 2001/06/21 23:26:54 kim Exp $ */
/*
* tc.printf.c: A public-domain, minimal printf/sprintf routine that prints
* through the putchar() routine. Feel free to use for
@@ -38,7 +38,7 @@
*/
#include "sh.h"
-RCSID("$Id: tc.printf.c,v 3.19 1998/10/25 15:10:37 christos Exp $")
+RCSID("$Id: tc.printf.c,v 3.21 2001/06/21 23:26:54 kim Exp $")
#ifdef lint
#undef va_arg
@@ -207,6 +207,7 @@ doprnt(addchar, sfmt, ap)
case 'S':
case 'Q':
+#ifdef SHORT_STRINGS
Bp = va_arg(ap, Char *);
if (!Bp) {
bp = NULL;
@@ -226,6 +227,7 @@ doprnt(addchar, sfmt, ap)
while (f_width-- > 0)
(*addchar) ((int) (' ' | attributes));
break;
+#endif /* SHORT_STRINGS */
case 's':
case 'q':
diff --git a/contrib/tcsh/tcsh.man b/contrib/tcsh/tcsh.man
index a056ac5106e0..361eb9a0beb4 100644
--- a/contrib/tcsh/tcsh.man
+++ b/contrib/tcsh/tcsh.man
@@ -76,7 +76,7 @@
.\" used here if you can. In particular, please don't use nroff commands
.\" which aren't already used herein.
.\"
-.TH TCSH 1 "19 November 2000" "Astron 6.10.00"
+.TH TCSH 1 "2 September 2001" "Astron 6.11.00"
.SH NAME
tcsh \- C shell with file name completion and command line editing
.SH SYNOPSIS
@@ -208,6 +208,9 @@ see the \fBversion\fR shell variable. (+)
Non-login shells read only \fI/etc/csh.cshrc\fR and \fI~/.tcshrc\fR
or \fI~/.cshrc\fR on startup.
.PP
+For examples of startup files, please consult
+\fIhttp://tcshrc.sourceforge.net\fR.
+.PP
Commands like \fIstty\fR(1) and \fItset\fR(1),
which need be run only once per login, usually go in one's \fI~/.login\fR file.
Users who need to use the same set of files with both \fIcsh\fR(1) and
@@ -1882,10 +1885,13 @@ and described in detail under the appropriate \fBBuiltin commands\fR,
The \fIsched\fR builtin command puts commands in a scheduled-event list,
to be executed by the shell at a given time.
.PP
-The \fIbeepcmd\fR, \fIcwdcmd\fR, \fIperiodic\fR, \fIprecmd\fR, and \fIpostcmd\fR
+The \fIbeepcmd\fR, \fIcwdcmd\fR, \fIperiodic\fR, \fIprecmd\fR, \fIpostcmd\fR,
+and \fIjobcmd\fR
\fBSpecial aliases\fR can be set, respectively, to execute commands when the shell wants
to ring the bell, when the working directory changes, every \fBtperiod\fR
-minutes, before each prompt, and before each command gets executed.
+minutes, before each prompt, before each command gets executed, after each
+command gets executed, and when a job is started or is brought into the
+foreground.
.PP
The \fBautologout\fR shell variable can be set to log out or lock the shell
after a given number of minutes of inactivity.
@@ -2848,12 +2854,14 @@ Lists the active jobs. With \fB\-l\fR, lists process
IDs in addition to the normal information. On TCF systems, prints
the site on which each job is executing.
.PP
-.B kill \fR[\fB\-\fIsignal\fR] \fB%\fIjob\fR|\fIpid\fR ...
+.PD 0
+.TP 8
+.B kill \fR[\fB\-s \fIsignal\fR] \fB%\fIjob\fR|\fIpid\fR ...
.PD 0
.TP 8
.B kill \-l
-The first form sends the specified \fIsignal\fR (or, if none is given,
-the TERM (terminate) signal) to the specified jobs or processes.
+The first and second forms sends the specified \fIsignal\fR (or, if none
+is given, the TERM (terminate) signal) to the specified jobs or processes.
\fIjob\fR may be a number, a string, `', `%', `+' or `\-' as described
under \fBJobs\fR.
Signals are either given by number or by name (as given in
@@ -2862,7 +2870,7 @@ There is no default \fIjob\fR; saying just `kill' does not send a signal
to the current job. If the signal being sent is TERM (terminate)
or HUP (hangup), then the job or process is sent a
CONT (continue) signal as well.
-The second form lists the signal names.
+The third form lists the signal names.
.PD
.ig \" Obsolete tcsh command
.TP 8
@@ -3423,6 +3431,16 @@ may cause an infinite loop. It is the author's opinion that anyone doing
so will get what they deserve.
.RE
.TP 8
+.B jobcmd
+Runs before each command gets executed, or when the command changes state.
+This is similar to \fIpostcmd\fR, but it does not print builtins.
+.RS +8
+.IP "" 4
+> alias jobcmd 'echo \-n "^[]2\e;\e!#^G"'
+.PP
+then executing \fIvi foo.c\fR will put the command string in the xterm title bar.
+.RE
+.TP 8
.B helpcommand
Invoked by the \fBrun-help\fR editor command. The command name for which help
is sought is passed as sole argument.
@@ -3615,6 +3633,7 @@ See also the \fBcwd\fR and \fBowd\fR shell variables.
.B dspmbyte \fR(+)
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.
If set to the following format, it enables display and editing of original
multi-byte code format:
.RS +8
@@ -3780,6 +3799,19 @@ substitutions. Tilde and variable expansions work as expected.
If set to `insert' or `overwrite', puts the editor into that input mode
at the beginning of each line.
.TP 8
+.B killdup \fR(+)
+Controls handling of duplicate entries in the kill ring. If set to
+`all' only unique strings are entered in the kill ring. If set to
+`prev' and the last killed string is the same as the current killed
+string, then the current string is not entered in the ring. If set
+to `erase' and the same string is found in the kill ring, the old
+string is erased and the current one is inserted.
+.TP 8
+.B killring \fR(+)
+Indicates the number of killed strings to keep in memory. Set to `30'
+by default. If unset or set to less than `2', the shell will only
+keep the most recently killed string.
+.TP 8
.B listflags \fR(+)
If set to `x', `a' or `A', or any combination thereof (e.g., `xA'), they
are used as flags to \fIls\-F\fR, making it act like `ls \-xF', `ls
@@ -4167,13 +4199,13 @@ Some examples are in order. First, let's set up some play directories:
.br
> mkdir from from/src to
.br
-> ln \-s from/src to/dist
+> ln \-s from/src to/dst
.PP
Here's the behavior with \fBsymlinks\fR unset,
.IP "" 4
-> cd /tmp/to/dist; echo $cwd
+> cd /tmp/to/dst; echo $cwd
.br
-/tmp/to/dist
+/tmp/to/dst
.br
> cd ..; echo $cwd
.br
@@ -4191,7 +4223,7 @@ here's the behavior with \fBsymlinks\fR set to `chase',
.PP
here's the behavior with \fBsymlinks\fR set to `ignore',
.IP "" 4
-> cd /tmp/to/dist; echo $cwd
+> cd /tmp/to/dst; echo $cwd
.br
/tmp/to/dst
.br
@@ -4201,7 +4233,7 @@ here's the behavior with \fBsymlinks\fR set to `ignore',
.PP
and here's the behavior with \fBsymlinks\fR set to `expand'.
.IP "" 4
-> cd /tmp/to/dist; echo $cwd
+> cd /tmp/to/dst; echo $cwd
.br
/tmp/to/dst
.br
@@ -4209,7 +4241,7 @@ and here's the behavior with \fBsymlinks\fR set to `expand'.
.br
/tmp/to
.br
-> cd /tmp/to/dist; echo $cwd
+> cd /tmp/to/dst; echo $cwd
.br
/tmp/to/dst
.br
@@ -4969,7 +5001,7 @@ pipe(2), setrlimit(2), sigvec(2), stat(2), umask(2), vfork(2), wait(2),
malloc(3), setlocale(3), tty(4), a.out(5), termcap(5), environ(7),
termio(7), Introduction to the C Shell
.SH VERSION
-This manual documents tcsh 6.10.00 (Astron) 2000-11-19.
+This manual documents tcsh 6.11.00 (Astron) 2001-09-02.
.SH AUTHORS
.PD 0
.TP 2
diff --git a/contrib/tcsh/tcsh.man2html b/contrib/tcsh/tcsh.man2html
index fd711f680897..ad3def92a408 100644
--- a/contrib/tcsh/tcsh.man2html
+++ b/contrib/tcsh/tcsh.man2html
@@ -1,5 +1,5 @@
-#!/bin/sh # -*- perl -*-
-# $Id: tcsh.man2html,v 1.11 2000/04/17 23:35:54 kim Exp $
+: # -*- perl -*-
+# $Id: tcsh.man2html,v 1.12 2001/04/28 05:20:42 kim Exp $
# tcsh.man2html, Dave Schweisguth <dcs@proton.chem.yale.edu>
#
@@ -820,7 +820,7 @@ only the word "help".
<A HREF="TOPFILEHERE">Up</A>
</BODY>
END
-#!/bin/sh
+: # -*- perl -*-
# Emulate #!/usr/local/bin/perl on systems without #!
diff --git a/contrib/tcsh/tw.color.c b/contrib/tcsh/tw.color.c
index 66d9648e61ee..de87c75a7a32 100644
--- a/contrib/tcsh/tw.color.c
+++ b/contrib/tcsh/tw.color.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/tw.color.c,v 1.7 2000/06/11 02:14:16 kim Exp $ */
+/* $Header: /src/pub/tcsh/tw.color.c,v 1.8 2001/03/18 19:06:32 christos Exp $ */
/*
* tw.color.c: builtin color ls-F
*/
@@ -36,7 +36,7 @@
*/
#include "sh.h"
-RCSID("$Id: tw.color.c,v 1.7 2000/06/11 02:14:16 kim Exp $")
+RCSID("$Id: tw.color.c,v 1.8 2001/03/18 19:06:32 christos Exp $")
#include "tw.h"
#include "ed.h"
@@ -70,6 +70,7 @@ static Variable variables[] = {
VAR('&', "or", ""), /* Orphanned symbolic link (defaults to ln) */
VAR('|', "pi", "33"), /* Named pipe (FIFO) */
VAR('=', "so", "01;35"), /* Socket */
+ VAR('>', "do", "01;35"), /* Door (solaris fast ipc mechanism) */
VAR('#', "bd", "01;33"), /* Block device */
VAR('%', "cd", "01;33"), /* Character device */
VAR('*', "ex", "01;32"), /* Executable file */
@@ -86,7 +87,7 @@ static Variable variables[] = {
};
enum FileType {
- VDir, VSym, VOrph, VPipe, VSock, VBlock, VChr, VExe,
+ VDir, VSym, VOrph, VPipe, VSock, VDoor, VBlock, VChr, VExe,
VFile, VNormal, VMiss, VLeft, VRight, VEnd
};
diff --git a/contrib/tcsh/tw.parse.c b/contrib/tcsh/tw.parse.c
index 722509be63bf..abfaa8cb6f86 100644
--- a/contrib/tcsh/tw.parse.c
+++ b/contrib/tcsh/tw.parse.c
@@ -1,4 +1,4 @@
-/* $Header: /src/pub/tcsh/tw.parse.c,v 3.89 2000/11/11 23:03:40 christos Exp $ */
+/* $Header: /src/pub/tcsh/tw.parse.c,v 3.90 2001/03/18 19:06:32 christos Exp $ */
/*
* tw.parse.c: Everyone has taken a shot in this futile effort to
* lexically analyze a csh line... Well we cannot good
@@ -39,7 +39,7 @@
*/
#include "sh.h"
-RCSID("$Id: tw.parse.c,v 3.89 2000/11/11 23:03:40 christos Exp $")
+RCSID("$Id: tw.parse.c,v 3.90 2001/03/18 19:06:32 christos Exp $")
#include "tw.h"
#include "ed.h"
@@ -1318,6 +1318,9 @@ tw_list_items(looking, numitems, list_max)
int max_items = 0;
int max_rows = 0;
+ if (numitems == 0)
+ return;
+
if ((ptr = varval(STRlistmax)) != STRNULL) {
while (*ptr) {
if (!Isdigit(*ptr)) {
@@ -1594,7 +1597,12 @@ t_search(word, wp, command, max_word_length, looking, list_max, pat, suf)
case TW_PATH | TW_DIRECTORY:
case TW_PATH | TW_COMMAND:
if ((dir_fd = opendir(short2str(exp_dir))) == NULL) {
- xprintf("%S: %s\n", exp_dir, strerror(errno));
+ if (command == RECOGNIZE)
+ xprintf("\n");
+ xprintf("%S: %s", exp_dir, strerror(errno));
+ if (command != RECOGNIZE)
+ xprintf("\n");
+ NeedsRedraw = 1;
return -1;
}
if (exp_dir[Strlen(exp_dir) - 1] != '/')
@@ -1779,6 +1787,13 @@ tilde(new, old)
new[0] = '\0';
return NULL;
}
+#ifdef apollo
+ /* Special case: if the home directory expands to "/", we do
+ * not want to create "//" by appending a slash from o.
+ */
+ if (new[0] == '/' && new[1] == '\0' && *o == '/')
+ ++o;
+#endif /* apollo */
(void) Strcat(new, o);
return new;