Index: vendor/tcsh/6.20.00/Copyright =================================================================== --- vendor/tcsh/6.20.00/Copyright (nonexistent) +++ vendor/tcsh/6.20.00/Copyright (revision 315513) @@ -0,0 +1,28 @@ +/*- + * Copyright (c) 1980, 1991 The Regents of the University of California. + * All rights reserved. + * + * 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. 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 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. + */ Index: vendor/tcsh/6.20.00/FAQ =================================================================== --- vendor/tcsh/6.20.00/FAQ (nonexistent) +++ vendor/tcsh/6.20.00/FAQ (revision 315513) @@ -0,0 +1,304 @@ + + [Home] FAQ + + Home | RecentChanges | Preferences + _________________________________________________________________ + + This is for people who do not read the manual! + + 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... :-) + _________________________________________________________________ + + 1. Where can I find tcsh sources? + + See http://www.tcsh.org/MostRecentRelease for download locations. + _________________________________________________________________ + + 2. Why is the meta key broken in tcsh-5.20 and up? + + 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 + endif + + If you don't have pass8, maybe one of these 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. + _________________________________________________________________ + + 3. 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. Pick one of the following as a workaround: + + dbxtool < /dev/null >& /dev/null & + /usr/etc/setsid dbxtool & + + If that does not work, for dbxtool at least you can add "sh stty sane" + in your .dbxinit + _________________________________________________________________ + + 4. I tried to compile tcsh and it cannot find ? + + Your system does not support NLS. Undefine NLS in config_f.h and it + should work fine. + _________________________________________________________________ + + 5. Where can I get csh sources? + + Csh sources are now available with the 4.4BSD networking + distributions. You don't need csh sources to compile tcsh-6.0x. + _________________________________________________________________ + + 6. I just made tcsh my login shell, and I cannot ftp any more? + + 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 :-) + _________________________________________________________________ + + 7. 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? + + 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: + + 1. Don't use suntools + 2. Use shelltool instead of cmdtool. + 3. Unset edit in tcsh. + _________________________________________________________________ + + 8. 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'; or + + Unset edit in tcsh. + _________________________________________________________________ + + 9. 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. + + Unset edit in tcsh. Using shelltool instead of cmdtool does not fix + this. + _________________________________________________________________ + + 10. I rlogin to another machine, and then no matter what I tell 'stty' + I cannot get it to pass 8 bit characters? + + Maybe you need to use 'rlogin -8' to tell rlogin to pass 8 bit + characters. + _________________________________________________________________ + + 11. Where do I get the public domain directory library? + + Anonymous ftp to prep.ai.mit.edu:/pub/gnu/dirent.tar.Z + _________________________________________________________________ + + 12. 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 + + Your file is not ansi compliant. You have one of 3 + choices: + + 1. Run fixincludes from the gcc distribution. + 2. Add -traditional to the gcc flags. + 3. Compile with cc. + _________________________________________________________________ + + 13. 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. + _________________________________________________________________ + + 14. 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: + + if ($term == "hp") then + 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"... + _________________________________________________________________ + + 15. 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. + _________________________________________________________________ + + 16. I am trying to compile tcsh and I am getting compile errors that + look like: + + >sh.c:???: `STR???' undeclared, outside of functions [gcc] + >"sh.c", line ???: STR??? undefined [cc] + + You interrupted make, while it was making the automatically generated + headers. Type 'make clean; make' + _________________________________________________________________ + + 17. 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'. + _________________________________________________________________ + + 18. 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. + + This is another manifestation of item 5. Just add the pathname to tcsh + in /etc/shells and everything should work fine. + _________________________________________________________________ + + 19. 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 + _________________________________________________________________ + + 20. 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 + _________________________________________________________________ + + 21. 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. + _________________________________________________________________ + + 22. If you need help generating your .cshrc file, check out: + + http://www.imada.sdu.dk/~blackie/dotfile/ + + or + http://www.dotfiles.com + _________________________________________________________________ + + 23. 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. + _________________________________________________________________ + + 24. 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. + _________________________________________________________________ + + 25. 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. + _________________________________________________________________ + + 26. Refreshing in command line editing can appear broken on some OS's + + 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. + _________________________________________________________________ + + 27. Where can I learn the merits of tcsh vs. bash vs. csh vs. sh etc? + + You can read the manual page section titled [NEW FEATURES] listing + features that tcsh adds to csh. + + You can read Tom Christiansen's [Csh Programming Considered Harmful], + a document advocating that csh (and by extension, tcsh) should not be + used for writing shell scripts. + + XXX: Need to find something about [bash], but bash is sh-compatible + and has many of the same interactive features of tcsh (command + completion does not appear to be as flexible, though). + + [Curtains up: introducing the Z shell] has a pretty good rundown on + zsh. Aside from the arguments about csh being evil, tcsh appears to + compare well with zsh [zsh]. Zsh is sh and ksh compatible, with many + of the interactive features of tcsh. + _________________________________________________________________ + + 28. Why does FreeBSD's tcsh do history browsing differently than I + expect? + + On FreeBSD, by default, the up arrow is set to + "history-search-backward", rather than the default "up-history". As a + result, if you type (part of) a word and press up arrow, you'll see + previous commands that match the prefix. Pretty useful, actually, + although it takes some getting used to. You can use bindkey to see + your settings, and to rebind up & down differently if desired. + _________________________________________________________________ + + Everything else is a bug :-( + + Christos + _________________________________________________________________ + + Home | RecentChanges | Preferences + Edit text of this page | View other revisions + Last edited April 29, 2004 15:02 (diff) + Search: ____________________ Index: vendor/tcsh/6.20.00/Fixes =================================================================== --- vendor/tcsh/6.20.00/Fixes (nonexistent) +++ vendor/tcsh/6.20.00/Fixes (revision 315513) @@ -0,0 +1,2151 @@ + 20. V6.20.00 - 20161124 + 19. Don't resize the screen if it did not change size. + 18. V6.19.01 - 20161025 + 17. restore file description when cleaning up after eval: + repeat 99 time + 16. PR/572: Fix $SHLVL issue when exec'ing subshells. + 15. PR/403: Fix backquote expansion for multi-byte character sets. + 14. Fix drawing issu with multi-line prompt (Kensuke Iwahashi/David Kaspar) + 13. always send prusage to stdout. + 12. PR/526: Fix double \\ printing from previous fix in history expansion. + 11. Android updates from Corinna Vinschen + 10. PR/526: Quote backslashes properly so they can be preserved in `` + expansions + 9. Fix memory leak for paraml + 8. Add notempty and ask values for the noclobber setting (Martin Tournoij) + 7. more correct $wordchars for vimode (Luke Mewburn) + 6. expose VImode in $vimode (Luke Mewburn) + 5. display what the compiled in editor is in bindkey -d (Luke Mewburn) + 4. run-fg-editor improvements and documentation (Luke Mewburn) + 3. Fix parsing of 'if (cond)then' (Fridolin Pokorny) + 2. PR/437: Fix handling of invalid unicode characters. + 1. PR/451: Fix error messages containing %c to be always '%c' + + 41. V6.19.00 - 20150521 + 40. V6.18.05 - 20150510 + 39. fix reseting when interrupted inside an eval "eval sleep 10^C" + (paulo.cesar.pereira.de.andrade) + 38. rename handle_intr -> handle_interrupt as originally intended. + 37. fix input tests that need stdin on a tty + 36. V6.18.04 - 20150504 + 35. revert fix echo "\1", it is incorrect. + 34. revert fix to PR/437, breaks short strings. + 33. V6.18.03 - 20150503 + 32. PR/437: Nakajima Akira: Fix segmentation fault reading input files + 31. PR/291: Print job status messages to stderr. + 30. Fridolin Pokorny NUL in `` does not mean EOF. + 29. Pavel Raiskup fix hang with: + while (1) + ( date & ; wait ) + end + 28. Add cdtohome special variable (Martin Tournoij) + 27. Fix root prompt char for windows (Corinna Vinschen) + 26. For "next" completion matches only consider exact matches of the previous + word (Jamie Landeg-Jones) + 25. Fix echo "\1" for echo_style=both where the first character was + not processed properly (Gary Duzan) + 24. V6.18.02 - 20140618 + 23. fix ls-F /non printing exit value twice. + 22. rename configure.in to configure.ac, add aclocal.m4 to CVS + 21. set foo="aabaabaa"; echo $foo:as/a// should produce bb + 20. Add locked merge history support (Marcin Konarski) + 19. Support more resource limits from various BSD's + 18. Cache history count to speed up thing + 17. PR/240: minix support + 16. revert fix for 15. Causes extra quoting, for example (foo is a program + that prints its arguments): + $ ./foo 'abc' * + '\a\b\c' + 15. fix globbing for ``, stripping backslashes. Example: + cat << _EOF > huh + echo 'hello\;world' + _EOF + echo `./huh 0` + echo `./huh $?` + 14. fix for `` that causes hang. Example: + cat << _EOF > huh + #!/bin/sh + echo "[$@]" + echo "I am running" + echo "I am running ($$)" >> huh.out + _EOF + cat << _EOF > huh.tcsh + #!/bin/tcsh -f + + ./huh \ + `#comment blah blah blah` \ + parameter a \ + `#comment blah blah blah` \ + parameter b \ + `#comment blah blah blah` \ + parameter c + echo ok + _EOF + 13. remove AsciiOnly fix now that the real issue has been fixed (Roman Kollar) + 12. define utmp file for aix (Laurence Darby) + 11. fix if history in loops + 10. make ls-F print to stderr and set the exit code + 9. make rmstar interruptible on linux + 8. Get rid of pret_t and make the printf functions return the number of + characters printed as the system ones do. + 7. Parse a FreeBSD compat $LSCOLORS. What to do when both LSCOLORS and + LS_COLORS are set. I am not documenting this until we decide. + 6. V6.18.01 - 20120214 + 5. fix interruptible wait again + 4. ignore bogus compiler overflow message + 3. cleanup ifdefs in utmp code, and provide default array entries + 2. Ignore #machine entries in host.defs + 1. Detect missing ) in gethost.c (Corinna Vinschen) + +104. V6.18.00 - 20120114 +103. remove unused variables. +102. Make gethost use definitions for x __x__ and __x automatically. +101. More utmp fixes +100. V6.17.10 - 20120105 + 99. Add more FreeBSD/NetBSD machines + 98. Add portability wrapper for gencat + 97. Fix warning for write in SYSMALLOC systems. + 96. V6.17.09 - 20120102 + 95. revert gencat handling to pre-cygwin fixes (without the env settings) + 94. remove stray endutent() + 93. V6.17.08 - 20111230 + 92. Remove - from gencat + 91. Provide support for malloc_usable_size() so that linux works again + without SYSMALLOC + 90. Add support for FreeBSD's utmpx. + 89. V6.17.07 - 20111227 + 88. Fix debian bug #645238: tcsh segfaults when prompt includes %j and + there are more than 10 jobs. + 87. PR/155: Default $anyerror to set for backward compatibility + 86. PR/149: Don't print -1 in %j (Vojtech Vitek) + 85. handle -- on chdir commands as the end of options processing so that + they can process a directory like -x without resorting to ./-x + (Andrew Stevenson) + 84. Handle write(2) returning ENOENT from SoFS, thanks ++HAL (Robert Byrnes) + 83. PR/38: Null check for jobs (Kurt Miller) + 82. Fix spelling correction correcting ./foo -> ../foo2 (jean-luc leger) + 81. PR/120: string0 in filetest does not have enough space. + 80. V6.17.06 - 20110415 + 79. PR/110: Add $anyerror to select behavior. Default to the new one. + 78. Don't try to spell commands that are correct (Rouben Rostamian) + [./tcsh -f; set path=($path 2); mkdir foo2; cd foo2; touch foo; + chmod +x foo; set correct=cmd; ./foo -> ../foo] + 77. Don't push the syntax struct on the cleanup stack, because on foo;bar + if foo fails, we will free bar prematurely (Ben Miller) + 76. Avoid infinite loop while trying to print the pid of a dying process + to a closed file (Bob Arendt) + 75. Handle completion of ${ variables (Anthony Mallet) + 74. Add --disable-nls-catalogs (Corinna Vinschen) + 73. convert message catalogs to UTF-8 (Werner Fink) + 72. check that the NLS path works before setting $NLSPATH. + 71. use SYSMALLOC for GLIBC (Werner Fink) + 70. use mallinfo for SYSMALLOC (Corinna Vinschen) + 69. V6.17.05 - 20110201 + 68. Use mkstemp() if there for here docs (Werner Fink) + 67. Fix handling of errors and exit values in builtins (Werner Fink) + 66. Better pty name detection (Werner Fink) + 65. Enable NLS catalogs on Cygwin (Corinna Vinschen) + 64. NLSPATH handling fixes (Corinna Vinschen) + 63. Avoid infrequent exit when tcsh cd's into a non-existent directory + https://bugzilla.novell.com/show_bug.cgi?id=293395 (Werner Fink) + 62. Don't try to spell check full path binaries that are correct because + they can cause hangs when other nfs partitions are hung. (Werner Fink) + 61. Avoid nested interrupts when exiting causing history writing to fail + https://bugzilla.novell.com/show_bug.cgi?id=331627 (Werner Fink) + 60. Instead of giving an error or ignoring lines with missing eol at eof, + process them. + 59. Avoid leaking fd's in mail check (Werner Fink) + 58. Add cygwin_xcrypt() (Corinna Vinschen) + 57. Recognize i686 (Corinna Vinschen) + 56. Rename cygwin32 to cygwin and bring it up-to-date with modern cygwin + settings (Corinna Vinschen) + 55. Avoid double slashes in cdpath (Corinna Vinschen) + 54. V6.17.04 - 20110118 + 53. Revert PR/110, breaks the test suite. + 52. V6.17.03 - 20110117 + 51. PR/102: Complain on input files with missing trailing \n + 50. PR/104: If atime == mtime we don't have new mail. + 49. PR/113: Don't allow illegal variable names to be set. + 48. PR/112: don't set $REMOTEHOST on the local machine. + 47. PR/110: exit status of the pipeline should be the status of the last + command. + 46. Android support (Corinna Vinschen) + 45. Add AUTOSET_KANJI which works around the Shift-JIS encoding that + translates unshifted 7 bit ASCII (Werner Fink) + 44. Handle mb{r,}towc() returning 0 by setting the return value to NUL + (Jean-Luc Leger) + 43. PR/109: make wait interruptible (Vojtech Vitek) + 42. resource limit fixes: signed vs. unsigned, megabyte issue, doc issues + (Robert Byrnes) + 41. remove .bat and .cmd handling for executables on cygwin (Corinna Vinschen) + 40. Don't echo history while history -L or history -M + 39. Check for EOS before ** from Greg Dionne + 38. Don't fork in backeval from Bryan Mason + 37. Better globstar support from Greg Dionne + 36. Error out when processing the last incomplete line instead of silently + ignoring it (Anders Kaseorg) + 35. Fix SEGV from echo `` + 34. Better fixes for histchars and promptchars (nargs) + 33. Fix win32 issue calling fmalloc/ffree from non-thread-safe context. + (Fabio Fabbri) + 32. V6.17.02 - 20100512 + 31. PR/79: nargs: Better handling for promptchars. + 30. PR/97: Add parseoctal to retain compatibility with previous versions (Jim + Zajkowski) + 29. PR/84: Performance fixes for large history merges (add + hashtable (Ted Anderson) + 28. Revert previous #23; people should use $histlit if they want this + feature. + 27. Don't kill "hup" background jobs when a child of the shell exits. + From Debian. + 26. Ignore \r\n in the command line options for OS's that don't strip + these from #!; from Debian + 25. Fix enhanced missing patch (Greg Dionne) + 24. Callers of rt_mbtowc don't grok -2 as a return. Return -1 for now. + (Corinna Vinschen) + 23. Turn HistLit on while recording history to avoid \!\! losing its \. + From Debian + 22. set autoexpand; set histchars="";\n crash. From Debian + 21. V6.17.01 - 20100506 + 20. unset verbose while we are reading the history file to avoid echoing + to the terminal. (Jeffrey Bastian) + 19. globstar addition, Enhance addition, euid, euser, gid variables + (Greg Dionne) + 18. Make 'e' in vi mode work like 'b' - use wordchars (Alistair Crooks) + 17. Handle UTF-16 surrogates (Corinna Vinschen) + 16. Make tcsh work on systems where sizeof(wchar_t) == 2 (Corinna Vinschen) + 15. Better support for Solaris >= 2.9 (Thomas Uhle) + 14. Change internal expression calculations to long long so that we can + deal with > 32 bit time, inodes, uids, file sizes etc. + 13. Add new linux resource limits. + 12. Don't print 'Exit X' when printexitvalue is set in `` expressions + (Jeff Bastian) + 11. Add more LS_COLORS vars (M.H. Anderson) + 10. Reduce whitespace in Makefile (Don Estabrook) + 9. Manual page fixes (Alan R. S. Bueno) + 8. Remove history in loops bug from the documentation (Holger Weiss) + 7. Add autorehash (Holger Weiss) + 6. Add history.at (Ted Anderson) + 5. Better NLSPATH handling (Norm Jacobs) + 4. Fix hostname building from utmp (Cyrus Rahman) + 3. Handle pending signals before flush so that the the history file does + not get truncated. (Ted Anderson) + 2. Fix AsciiOnly setting that broke 8 bit input. (Juergen Keil) + 1. remember to closedir in mailchk (from Werner Fink, reported by + David Binderman) + + 21. V6.17.00 - 20090710 + 20. Fix dataroot autoconf issue. + 19. Fix directory stuff for unit tests. + 18. Fix small bug in history in loops. + 17. Provide newer config.{guess,sub} + 16. Fix gcc 4 warnings. + 15. Fix memory trashing bug introduced in 10. + 14. V6.16.01 - 20090624 + 13. add missing sigemptyset in goodbye() + 12. add rlimit swapsize from FreeBSD. + 11. restore behavior where a[n-] never prints an error. + 10. always save the whole command, not just the first 80 chars of it. + 9. fix short2str/short2qstr length adjustment in wide chars + (Vitezslav Crhonek) + 8. set histfile=/tmp/history.temp; set savehist=(100 merge); + alias precmd history -S. After that justpr is not restored and commands + don't execute. (Andriy Gapon) + 7. Fix "as" $ modifier from corrupting memory. + set t=demfonsftraftionf; echo $t:as/f// + 6. Make $% work with environment variable (Ron Johnston) + 5. Dragonfly script support (Matthias Schmidt, m65) + 4. Add autoexpand=onlyhistory (Don Estabrook, m66) + 3. Add history in loops (Laurence Darby, m48) + 2. Add missing colorls "rs" variable (Shlomi Fish, m70) + 1. Fix pts detection issue (Ruslan Ermilov) + + 33. V6.16.00 - 20080930 + 32. longjmp clobbered variable fixes. + 31. __GNX__ addition + 30. Windows fork fixes + 28. V6.15.02 - 20080830 + 27. Fix an eval free'ing botch (Per Hedeland) + 26. /bin/echo "`" coredumped because stderror() calls longjmp corrupting + the stack (Mark Davies). We should vet the code for all stderror() + calls that cleanup local stack variables. + 25. foo > ${undef} caused coredumps because of vfork() child corrupting + the state of the parent stack. + 24. $x[A-B] did not complain for A out of range. (Cai Xianchao) + 23. rename setp -> tcsh_setp to avoid conflict with mach (Javier Vasquez) + 22. Fix degree handling by defining __XPG4_CHAR_CLASS__ for solaris + (Mike Sullivan) + 21. Change 'od' to 'od -c' in tests so that they work on big endian machines. + (Martin Kraemer) + 20. Add environment variable COMMAND_LINE to be available in completions + (Marcin Konarski) + 19. V6.15.01 - 20070928 + 18. Evaluate expressions in the proper order (Li Zefan), controlled by + compat_expr. + 17. Don't need to flush() if we are silent. Prevents recursive error issue. + (joshua stein) + 16. Don't execute the jobcmd if the output is not a tty (Charles Ross) + 15. Quote the history in the examples (Johann 'Myrkraverk' Oskarsson) + 14. Mismatch clarification patch (Per Hedeland) + 13. Fix 'repeat n cmd &' abort() (Mike Sullivan) + 12. Fix octal parsing (Li Zefan) + 11. Fix pty detection for autologout setting (Kris Kennaway, Giorgos Keramidas) + 10. kill `foo` got stuck because sigchld was disabled too soon (Mark Peek) + 9. Avoid null pointer dereference in proc cwd (Kurt Miller) + 8. eval "foreach a b c" exits (Anthony Menasse) + 7. Quoting was broken in substitutions (Joe Wells) + 6. QNX patches via pkgsrc + 5. cd - twice from a directory that contained a glob pattern, + expands the glob twice (Mark Santcroos) + 4. MidnightBsd support (Lucas Holt) + 3. Fix history substitution core-dump with no history entries + 2. Merge two character tables that are the same (Martin Kraemer) + 1. On ancient 7 bit locales, punctuation characters are used to + denote special characters such as umlaut, adiaresis, etc. + These characters return true for isalpha/isalnum. Ignore them + because they break parsing (Martin Kraemer) + + 74. V6.15.00 - 20070303 + 73. fix extension eating windows code (christos) + 72. fix loop in %R history expansion (christos) + 71. sched +X source file disables interrupts (Mike Sullivan) + 70. One off copying macro buffers (Jean-Luc Leger) + 69. Avoid infinite loops in :ga modifiers when the LHS is a substring of the + RHS. + 68. Automatically disable WIDE_STRINGS with --disable-nls (Miloslav Trmac) + 67. V6.14.07 - 20060825 + 66. rename set to setv to avoid clashes (christos) + 65. Eliminate sighold/sigrelse (christos) + 64. Compilation cleanups. (Martin Kraemer) + 63. Don't rebuild needlessly when generated files are unchanged + (Martin Kraemer) + 62. Fix confusion between Char and eChar (Martin Kraemer) + 61. V6.14.06 - 20060824 + 60. set PROGRAM_ENVIRONMENT for OSD_POSIX (Martin Kraemer) + 59. EBCDIC patch (Martin Kraemer) + 58. Remove globbing support in history rearches (Ryan Barrett) + 57. Highlighting patch (Ryan Barrett) + 56. Mark-Cursor exchange emacs editing fix (Martin Kraemer) + 55. V6.14.05 - 20060304 + 54. don't limit termcap strings to 1K (Alan Ferrency) + 53. protect against null path. + 52. Be more conservative in wide_read PR#29 + 51. remove HAVE_STRCOLL; not needed anymore (Miloslav Trmac) + 50. remove imake support and make nls configurable by configure + (Miloslav Trmac) + 49. V6.14.04 - 20060214 + 48. Fixes build failure with !SHORT_STRINGS (Miloslav Trmac) + 47. Fixes constness warnings with !SHORT_STRINGS: short2str is "strip()", + which modifies its argument. Rather than verify this is safe in all + callers, I have added caching_strip() to mirror the behavior of other + modes. (Miloslav Trmac) + 46. Fixes some constness warnings with SHORT_STRINGS; this is orthogonal + to both build errors with SHORT_STRINGS in 6.14.03, and + short_strings.patch. (Miloslav Trmac) + 45. config-catalogs.patch: Autodetect catalog support (#14). (Miloslav Trmac) + 44. auth.patch: Handle false positives in getauthid() detection, + IIRC on FreeBSD. (Miloslav Trmac) + 43. crypt.patch: Autodetect whether is available. (Miloslav Trmac) + 42. sigint.patch: Block SIGINT while waiting on children. + This is necessary, but I'll still have to look on the older + releases to find out why it was not necessary before + ("before" = 6.13 on Linux). (Miloslav Trmac) + 41. config-package.patch: Readd package version to configure.in, + the testsuite uses it. + (TODO: a better integration with package.h) (Miloslav Trmac) + 40. item_len.patch: Truncate item.len when truncating the string, + just to be sure. (Miloslav Trmac) + 39. va_list.patch: Add missing va_end(). (Miloslav Trmac) + 38. Use va_copy in xvasprintf(); emulate va_copy as suggested in + Autoconf manual if it is not available. (Miloslav Trmac) + 37. declarations.patch: Replace some #ifdef nests by autodetecting + whether the guarded declaration is necessary. + I'm only guessing this is the intent of the #ifdefs, though. + Declare environ unconditionally, it is a bit hard to detect + and the declaration is correct for Linux, anyway. (Miloslav Trmac) + 36. warning.patch: Fix a const warning. + 35. More color-ls variables (Jean-Luc Leger) + 34. V6.14.03 - 20060212 + 33. Signal related changes (Miloslav Trmac) + 32. Misc cast cleanups and code clarification (Miloslav Trmac) + 31. Use dynamically allocated buffers everywhere (Miloslav Trmac) + 30. Fix reading of invalid byte sequences (Miloslav Trmac) + 29. read should only increment count when it succeeds (Miloslav Trmac) + 28. testsuiteadditions (Miloslav Trmac) + 27. -n fixes (Miloslav Trmac) + 26. signness warnings (Miloslav Trmac) + 25. Prevent infinite recursion in catclose (Gerhard Niklasch) + 24. Add Dragonfly (Joerg Sonnenberger) + 23. Check for wcwidth returning a negative number (TOMITA Yoshinori) + 22. recognize "li" and "co" in echotc (Martin Kraemer) [PR/7] + 21. Don't use T_Cols for wrapping purposes; use TermH consistently + (Martin Kraemer) [PR/8] + 20. Don't display duplicate utmp records (Miloslav Trmac) [PR/17] + 19. Clarify hashing and -f sections of man page (Volker Quetschke) [PR/20] + 18. Dave Yearke: configure did not recognize solaris 10 [PR/18] + 17. CYGWIN: Don't lowercase commands and allow foo.exe on command line. + (Corinna Vinschen) [PR/19] + 16. CYGWIN: cd /foo && cd .. ends up erroneously in // for systems that + HAVE_SLASHSLASH [PR/21] + 15. %j was broken (Peter Kruse) + 14. Extend // handling in pathnames from being apollo specific to also + cygwin (Corinna Vinschen) + 13. Fix uppercase/lowercase transformations (Jean-Luc Leger) + 12. Fix symlink expansion (revert from 6.10.00) (Jean-Luc Leger and Christos) + 11. Fix literal sequence in prompt (Miloslav Trmac) + 10. V6.14.02 - 20050412 + 9. Prototype fixes (Miloslav Trmac and Jean-Luc Leger) + 8. V6.14.01 - 20050411 + 7. Make =- refer to $owd (H.Merijn Brand) + 6. Use prototypes (almost) everywhere (Miloslav Trmac) (issue #5) + 5. Fix doc path in Cygwin installation (Corinna Vinschen) + 4. Fix column size calculation (Martin Kraemer) + 3. Implement newline-and-hold and newline-and-down-history (Per Hedeland) + 2. Messages fixes for the ja (Japanese) locale (NAKAMURA Takeshi) (issue #4) + 1. Enable charset conversion in nls (Miloslav Trmac) (issue #3) + + 76. V6.14.00 - 20050325 + 75. Additional messages for the ja (Japanese) locale (NAKAMURA Takeshi) + 74. V6.13.10 - 20050321 + 73. Implement --help (Tom Warzeka) + 72. Clamp solaris autologout time + 71. Add support for "limit heapsize" (Martin Kraemer) + 70. Improved autoconf for utmp/utmpx (Miloslav Trmac) + 69. V6.13.09 - 20050303 + 68. Autoconf additions (Miloslav Trmac and Jean-Luc Leger) + 67. Fix erroneous sign extension when printing huge numbers (Martin Kraemer) + 66. Handle delay in termcap entries (Martin Kraemer) + 65. EBCDIC and BS2000 fixes (Martin Kraemer) + 64. Avoid the SCCS percent-S-percent sequence differently (Kimmo Suominen) + 63. Mark position update fixes (Martin Kraemer) + 62. Define BSDLIMIT and BSDTIMES for Cygwin (Corinna Vinschen) + 61. Fix NLSFrom prototype (Martin Kraemer) + 60. V6.13.08 - 20050303 + 59. Add test for socklen_t in autoconf + 58. Fix problems with NLSFrom prototype + 57. Deal with AIX's utmpx lossage + 56. V6.13.07 - 20050118 + 55. constifications, XXX: duplicate prototype on setpgrp(). + 54. iconv fixes (Miloslav Trmac) + 53. literal code cleanups (Miloslav Trmac) + 52. move intptr_t definition to sh.h and include both stdint.h and inttypes.h + 51. Fix dup2() issues, and introduce FSAFE as the highest file descriptor + to be left untouched. This is to avoid closing hesiod/nis etc file + descriptors behind their backs. I need to really fix file descriptor + handling one day. + 50. forward<->reverse char conversion verification (Miloslav Trmac) + 49. japanese locale additions (Yoshiyuki Sakakibara) + 48. wide character/utf 8 cleanups (Michael Schroeder) + 47. V6.13.06 - 20050105 + 46. autoconf cleanup (Miloslav Trmac) + 45. Fix literal refresh code (Michael Schroeder) + 44. Fix history printing bug with WIDE_STRINGS + 43. V6.13.05 - 20041121 + 42. deal with not having intptr_t + 41. get rid of bool. + 40. Protect HAVE_ICONV with NLS_CATALOGS + 39. Deal with wchar_t being unsigned. + 38. If we HAVEUTMPX redefine some utmp functions in terms of utmpx ones. + 37. V6.13.04 - 20041120 + 36. Fix display problems with two-column characters when using WIDE_STRINGS. + (Miloslav Trmac) + 35. Change charset declarations for some of the translations. + (Miloslav Trmac) + 34. Set O_LARGEFILE properly (Miloslav Trmac) + 33. Use libc functions to access utmp data (Miloslav Trmac) + 32. t_pmatch() was not really case-insensitive when cs == 8 + (Miloslav Trmac) + 31. Fix escaping of "control" bytes 0x80..0x9F when they are actually + parts of UTF-8 character representation. (Miloslav Trmac) + 30. V6.13.03 - 20041120 + 29. More close_on_exec fixes (Miloslav Trmac) + 28. SUSE dspmbyte fixes (via Harald) + 27. Newline handling in command substitution controlled by csubstnonl + (Miloslav Trmac) + 26. Fix UNC prompt expansion (WIN32) (Yasuhiro Matsumoto) + 25. Fix incorrect xprintf() usage (Miloslav Trmac) + 24. Additional architectures support for $HOSTTYPE and $MACHTYPE + (Miloslav Trmac) + 23. Use nl_langinfo(CODESET) to determine $dspmbyte (Miloslav Trmac) + 22. Complete arguments that contant a # (Steven Grady) + 21. Set close-on-exec in subshells + 20. Compilation fixes (Miloslav Trmac) + 19. V6.13.02 - 20040804 + 18. de-register, de-extern, de-shadow, and const poison. + 17. WIDE_STRINGS support (Miloslav Trmac) + 16. warning cleanups (Miloslav Trmac) + 15. nlsclose() arg passing, exp2 is now a gcc builtin (Mark Peek) + 14. iconv malloc portability fix. + 13. make automatic dspmbyte determination case insensitive + 12. V6.13.01 - 20040724 + 11. bug fix in automatic dspmbyte setting (Miloslav Trmac) + 10. iconv patches (Miloslav Trmac) + 9. cygwin signal fixes; only init 32 signals, don't set bit flag on error; + breaks SIGHUP. (Corinna Vinschen) + 8. Make sure terminal size change takes effect immediately. + 7. Obey $printexitvalue for builtins. + 6. FreeBSD PR/66420: Allow history parsing to be special so that it + can handle inline # characters (Oliver Eikemeier) + 5. new termname builtin from (Andrew Stevenson) + 4. if ($var =~ *[^0-9]*) echo not numeric, fix (Andrew Stevenson) + 3. completion fix to avoid dup hosts from ssh_known_hosts + (Eric D. Hendrickson) + 2. vc++ 7.1 compilation fix (Steve Schockley) + 1. UTF-8 handling for both single and double width characters, but + no combining character support. (Michael Schroeder) + + 36. V6.13.00 - 20040519 + 35. V6.12.03 - 20040322 + 34. turn on kanji and dspmbyte by default; add check for utf8 locales, + and turn parsing of that automatically based on $LANG. + 33. Fix compilation issue under Windows/NT and charset incorrect patch + (Yoshiyuki Sakakibara) + 32. completion additions (Tom Warzeka) + 31. compilation fix (Martin Kraemer) + 30. V6.12.02 - 20040221 + 29. Glob completion listing addition (Tom Warzeka) + 28. BS2000 bs2cmd builtin. (Martin Kraemer) + 27. Fix interrupt resetting code when /etc startup scripts have syntax errors + (Mark A. Grondona) + 26. Clarification of kill-ring commands (Per Hedeland) + 25. Debian completion additions (Martin Godisch) + 24. Japanese character set fixes (Juehiro-san) from debian + 23. NLS charset fixes; disabled since they only work with gnu gencat + (Martin Godisch) + 22. Fix HPUX >= 11 resource (Jack Cummings) + 21. Handle breaksw that jumps out of loops. + 20. Revert #16. It causes worse problems. + 19. Avoid using execl() because the last NULL does not always promoted to + a pointer because the function is variadic (Harti Brandt) + 18. revert ignoreeof to the 6.11.00 behavior and document it (Martin Godisch) + 17. do a case insensitive comparison for the multibyte vars (Martin Godisch) + 16. don't sigsuspend() for an already exited job + 15. glob all arguments in source (Martin Godisch) + 14. various debian fixes (Martin Godisch) + 13. setenv syntax check revert (Satoshi I. Nozawa) + 12. EAGAIN typo (dan harkless) + 11. filec compilation issue on hpux (beebe) + 10. win32 compilation fixes for O_LARGEFILE (amol) + 9. Don't go into an infinite loop when tcgetpgrp() returns an error. + 8. Cygwin fixes (Corinna Vinschen) + 7. NLS catclose() bug avoidance (KAJIMOTO Masato) + 6. V6.12.01 - 20030208 + 5. Misc NT cleanup. No more GPL code (amol) + 4. use strtol() to detect errors in builtin kill (Peter Jeremy) + 3. Recognize linux systems on mips* (Maciej W. Rozycki) + 2. Enable complete=igncase on unix (Stephen Krauth) + 1. Eliminate maxitems (Todd Miller) + + 58. V6.12.00 - 20020732 + 57. misc cleanups. + 56. V6.11.05 - 20020712 + 55. We should have socklen_t in the INET6 case, but we leave int otherwise. + 54. Fixed for Darwin/Rhapsody (Mark Peek) + 53. provide new config.sub and config.guess from ftp://ftp.gnu.org/gnu/config/ + (Nelson Beebe) + 52. V6.11.04 - 20020709 + 51. Dissallow setting of environment variables that do not contain + alphanumeric names (Ton Voon) + 50. Don't expand path components that don't resolve to path names (Jonathan + Chen) + 49. Make $ignoreeof agree with the man page (Matias Moreno Meringer) + 48. Fix argument passing in tc.prompt.c expdollar (Nelson Beebe) + 47. Completion fixes from FreeBSD (Mark Peek) + 46. FreeBSD's sbsize limit (Mark Peek) + 45. Fix repeat 3 repeat 2 echo foo + 44. Fix I/O redirection in scripts (Ian D Allen) + 43. Fix ` \\\n ` evaluation (Jean-Luc Leger) + 42. add --version (Nelson Beebe) + 41. portability fixes for sed (Nelson Beebe) + 40. undef sv_handler for AIX's benefit. (Nelson Beebe) + 39. Add a test for ss_family that disables IPV6 (linux/ppc, osf/1 have + problems) (Nelson Beebe) + 38. Disable ipv6 for Apple (Nelson Beebe) + 37. Fix darwin configure entry (Nelson Beebe) + 36. V6.11.03 - 20020701 + 35. Add Ian D. Allen's bug list. + 34. If we are invoked as csh, default to bsd echo (Matej Vela) + 33. Don't close file descriptors too early because setuid scripts fail. + (Jill Pryse-Davies) + 32. Completion updates (Tom Warzeka) + 31. Fix compilation issue on SunOS4 with _POSIX_VDISABLE (Tom Warzeka) + 30. ukrainian update (Olexander Kunytsa) + 29. DSPMBYTE=utf8 patch (Jean-Luc Leger) + 28. fix ipv4 only compilation, remove extra sigsetmask() call (Takayuki Nakao) + 27. window change can cause free to be re-entered causing abort (Mark Peek) + 26. vp->vec vetting, suggested by Ian Dall. + 25. V6.11.02 - 20020516 + 24. Fix prompt bugs in $var and %c0n (TAKAI Kousuke) + 23. Add Cray SV2 config (Rafal Maszkowski) + 22. Add pdf manual page (Warren Ferguson) + 21. Fix REMOTEHOST lossage in with AF_LOCAL sockets (Tom Mander) + 20. Fix win32 break because of TIOCSTI (Amol) + 19. Fix TIOCSTI for hpux 11 (Igor Schein) + 18. Avoid collapsing paths that refer to non-existent components + (Martin Kraemer) + 17. Make -shell invocations always treated as a login shell. + 16. V6.11.01 - 20020308 + 15. Fixes to polish nls locale (Paweł Niewiadomski) + 14. russian locale fixes (Alexey Dokuchaev) + 13. document door support (Shaen) + 12. tcsh euc handling extensions (Alexey Zelkin) + 11. Make sure that jobcmd does not clobber the current job (Rob McMahon) + 10. Make sure that the output of verbose and echo do not end up in the + command output (Victor I. Pasko) + 9. Add %j in prompt [needs more work; is not right the first time + after proclist changes] (Hr. Peter Kruse) + 8. `` commands with embedded newlines would ignore commands following + the new line (Victor I. Pasko) + 7. Re-initialize nls if NLSPATH is changed (Naoki Wakamatsu) + 6. Fix 64 bit compilation with linux and resource limits. + 5. Avoid double globbing when ls-F needs to fork (Joe Townsend) + 4. put back csh filec compatible support. + 3. add support for quads in xprintf in the presence of gcc. + 2. unlimit should set rlim.rlim_max to rlim.rlim_cur if max < cur. + 1. Make ~user work again when the home directory is '/'. + + 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ł Niewiadomski)) + 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) + 54. More WINNT_NATIVE fixes (amol) + 53. Fix compile error on winnt (Yoshiyuki Sakakibara) + 52. nonstopux configure and makefile fixes (Tom Bates) + 51. V6.09.04 - 20001111 + 50. Order of initialization for multibyte display was wrong + (HyunChul Kim) + 49. Follow the guideline for linux for japanese locale: + http://www.linux.or.jp/JF/JFdocs/Japanese-Locale-Policy.txt + (Tomohiro KUBOTA) + 48. Ukrainian nls map (Olexander Kunytsa) + 47. exit immeditiately if we get an error while we are setting up + (Michael Shalayeff) + 46. (unset path; unsetenv PATH; rehash) -> crash (Kent Vander Velden) + 45. change winnt to winnt_native (Randolph Fritz) + 44. Support home/end in the editor (Andrey A. Chernov) + 43. Typo s/gycwin/cygwin/ in tc.os.h (Andreas Schott) + 42. Alpha ev6 addition (Karen R. McArthur) + 41. DSPMBYTE patch from (Issei Suzuki) + 40. Security fix for here-doc tmp files (proton@ENERGYMECH.NET) + 39. Fix resource limit rounding *again* (Johannes Gross) + 38. Fix $ expansion in prompt (Takashi Sumiyoshi) + 37. V6.09.03 - 20000715 + 36. cygwin port fixes (Arihiro Yoshida) + 35. Add a new "catalog" variable that specifies which NLS catalog + to be used (Issei Suzuki) + 34. cleanup and addition of page up/down (amol) + 33. fix vfork compile problem. + 32. use inet_addr instead of inet_aton for portability. + 31. V6.09.02 - 20000704 + 30. lots more completions (George Cox) + 29. change FILSIZ to BUFSIZE [now that BUFSIZE >> MAXPATHLEN] and + avoid a potential buffer overflow in sh.dir.c (Volker Schmidt) + 28. _MINIX_VMD port (Martijn van Buul) + 27. inet6 handling for remotehost and configure (Hajimu UMEMOTO) + 26. aix-4 does not need gethostname (Darren Reed) + 25. IBM OS/390 Unix Systems Services support (Peter Prymmer) + 24. Fix prompt formatting (Andrey A. Chernov) + 23. Use HostType from Imakefile correctly (Kjetil Torgrim Homme) + 22. Handle long and expanded history lines better (Boleslaw Ciesielski) + 21. With symlinks=expand expand valid paths only (Martin Kraemer) + 20. Make one-byte charsets work with KANJI (Andrey A. Chernov) + 19. NT-specific executable detection moved to NT code (amol) + 18. New "complete module" (Dan Nicolaescu) + 17. Correctly display scaling string in limit error messages (Nathan Ahlstrom) + 16. Don't display "unset watch" message when not appropriate (kim) + 15. V6.09.01 - 20000114 + 14. Circumvent IRIX4D ESTALE bug by exiting. + 13. IRIS4D de-linting. + 12. Finnish nls catalogs (Jukka A. Ukkonen) + 11. Even more multibyte fixes (Taga Nayuta) + 10. Patches to statically link tcsh under solaris-2.6 (John Hawkinson) + 9. Manual page typos (R. Bernstein) + 8. HP/UX-11 (9000/800) HP/UX-10.20 (9000/820) (Haflidi Sigtryggur Magnusson) + 7. Color-ls fixes (Luis Francisco Gonzalez) + 6. Don't re-use time0 to compare to stat's st_mtime, cause it could be + the value returned from times(2) which is the ticks since system + startup (Frank van der Linden) + 5. Time percentage wrap fix (Simon Burge) + 4. EUCKR support (HyunChul Kim) + 3. Grammar and typo fixes for tcsh.man (Steve Kelem) + 2. More multibyte fixes (Rodney Ruddock) + 1. Change 6.08 -> 6.09 where I missed it; update for utlrix 4.5 (Simon Burge) + + 65. V6.09.00 - 19990816 + 64. Add csh emacs mode (Dan Harkless) + 63. Make sure the the glob buffer matches the word buffer size (Brian Biswas) + 62. Fix periodic to work without tperiod set (Kenny McCormack) + 61. V6.08.07 - 19990813 + 60. Fix e_dabbrev_expand (Bjorn Knutsson) + 59. Make \builtin work again (by calling the command not the builtin) + 58. Add NLS_BUGS for OS's that keep file descriptors open for NLS (Ian Dowse) + 57. Make NONLSREBIND work after tcsh starts up. + 56. Fix AIX stupid exit bug. (Dan Harkless) + 55. More irix fixes (Kaveh) + 54. V6.08.06 - 19990701 + 53. module command completion (Dan Nicolaescu) + 52. Man command completion enhancement (Tom) + 51. Fixes for irix configuration (Kaveh) + 50. Support \a and \e in echo command. From (Keith Thompson) + 49. Alpha configure nit from Kaveh + 48. V6.08.05 - 19990511 + 47. In some system, when a builtin fails immediately after we start + tcsh and before we print any messages, NLS messages fail (some + descriptor might be closed) [FreeBSD, HP/UX?]. So we force reading + the NLS catalogs in errinit() (Yoshiyuki Sakakibara) + 46. typos in ja/set1 and ja/set29 (Yoshiyuki Sakakibara) + 45. "dspmbyte autoset trap" support to HP-UX 10.20. (Yoshiyuki Sakakibara) + 44. misnumbered NLS message in tw.help.c (Yoshiyuki Sakakibara) + 43. colorcat variable for NLS color messages (Yoshiyuki Sakakibara) + 42. autoconf fixes from Kaveh (and if it broke, me) + 41. SGI irix fixes from Glenn Coombs. + 40. Don't spin writing the history file when quota is exceeded (Rob McMahon) + 39. V6.08.04 - 19990419 + 38. complete additions (John Gotts) + 37. Port to amiga with geek gadgets (Arto Huusko) + 36. Ignore case in setenv for windows (amol) + 35. Bug fixes for NT unc stuff (amol) + 34. Hash spell check (amol) + 33. V6.08.03 - 19990211 + 32. Helpcommand documentation (Vladimir Alexiev) + 31. small Y2K fix [%y in prompt would be formatted as 10 not 00 at year 2000], + and new Itoa() code (Chris Torek) + 30. OpenBSD m68k patches (Paul DuBois) + 29. Avoid redefinition of getpeername on Solaris-2.7 + 28. fix problems with savedups=erase, savehist=merge (Randy Gobbel) + 27. Don't set $shell to csh, if we were invoked as tcsh (Tomas Persson) + 26. added $_ + 25. added postcmd + 24. V6.08.02 - 19981124 + 23. document continue and continue_args + 22. wrong test in slowexec made NT optimization a noop (Amol) + 21. Rhapsody fixes + separate CFLAGS/CPPFLAGS (Wilfredo Sanchez) + 20. literals in both prompt at rprompt did not work properly (Taga Nayuta) + 19. multibyte deletion fixes (Yoshiyuki.Sakakibara) + 18. clean up key binding stuff for NT by moving the nt dependent code to + the NT source (amol) + 17. dspmbyte fixes for AIX, typos in man page and nls (Yoshiyuki Sakakibara) + 16. Convex fixes (Ron Echeverri) + 15. V6.08.01 - 19981025 + 14. SX4 port; this adds many casts for machines where ptrdiff_t is 64 bits. + (Andreas Schott) + 13. U/Win port; does not work properly with U/Win 1.6, wait for the next + version (Chris Jones) + 12. Sgi does not need gethostname prototype (John Bogan) + 11. Logic in sh.dir.c was wrong for NT (Amol) + 10. HP_CXD_SPP stat64 fixes (Scott Garee) + 9. Documentation spelling fixes (Keith Thompson) + 8. Documentation fix for savedirs (Amol) + 7. Siemens OSD_POSIX fixes (Martin Kraemer) + 6. include for all the BSD's (Trevor Johnson) + 5. Multibyte display fixes for gnu ls (Taga Nayuta) + 4. Configure/Makefile hesiod and bindir fixes (Dan Winship) + 3. Use winnt not win32 in tc.os.h (Amol) + 2. Cygwin32 port (Raj Menon) + 1. Ported Fixes (Tom) + + 95. V6.08.00 - 19981002 + 94. where builtin nt fix (Amol) + 93. V6.07.13 - 19980926 + 96. NT multibyte fixes (Amol) + 95. NeXT needs getcwd. + 94. fix new bug introduced by strncpy'fication in sh.dir.c (Taga Nayuta) + 93. V6.07.12 - 19980918 + 92. add cray in configure script (Tom) + 91. nls fixes + 90. Avoid buffer overflows in directory code (kim) + 89. Add multibyte character display support (Yoshiyuki Sakakibara) + 88. Make tcsh use getcwd instead of getwd and supply a getcwd. + 87. Fix remotehost again (kim) + 86. V6.07.11 - 19980913 + 85. Leave remotehost ip addresses alone (don't try to resolve them) (Kim) + 84. Read vs. force_read fixes (Amol) + 83. Make colorls if color is set before the first LS_COLORS setenv + (Taga Nayuta) + 82. Use _PATH_DEFPATH on BSD4_4 systems. (Jim Bernard) + 81. Cursor bounds checks (Michael Schroeder) + 80. Syntax error nits (Michael Schroeder) + 79. configure fixes (Michael Schroeder) + 78. V6.07.10 - 19980904 + 77. Off by one error in NO_ERRORS... + 76. Japanese NLS messages (Yoshiyuki Sakakibara) + 75. Add ENXIO and EBADF in the test for write failures for Irix Zombies + (Ralf W. Grosse-Kunstleve) + 74. Missed a test for NOSTRCOLL in glob.c (Michael Liepelt) + 73. Another ABSOLUTEP change (Amol) + 72. Italian NLS messages (Massimo Bertozzi) + 71. WIN32 fixes for ntslowexec and color_ls literal printing in prompt (Amol) + 70. a few missed WIN32 merges (Amol) + 69. defined YPBUGS for sgi (Kaveh) + 68. V6.07.09 - 19980707 + 67. Separate the nt builtins (Amol) + 66. completion fixes (Tom) + 65. color ls fixes (Taga Nayuta) + 64. V6.07.08 - 19980629 + 63. add config.h.in (Kaveh) + 62. win32 updates (Amol) + 61. warning and portability cleanups on the new changes (Kaveh) + 60. V6.07.07 - 19980628 + 59. Fast execute by-pass for win32 (Amol Deshpande) + 58. Clean up const usage a bit, and fix gcc 2.8.1 warnings. + 57. Use @bindir@ for DESTBIN in Makefile.in (Edgar Hoch) + 56. Avoid overflow in time builtin computation (Nobue Adachi) + 55. Color ls additions (Taga Nayuta) + 54. unsigned char vs. char warning fixes (Kaveh) + 53. Solaris 64 bit fixes (fix directory offset bug) (Thomas-Martin Kruel) + 52. More win32 patches (Amol) + 51. autoconf lossage from (Kaveh) + 50. V6.07.06 - 04/08/98 + 49. Collation fix for globbing (Andrey A. Chernov) + 48. We might have NLS_CATALOGS and not LC_MESSAGES (Andrey A. Chernov) + 47. 4.4BSD header fixes (Andrey A. Chernov) + 46. Signed char prompt fixes (Andrey A. Chernov) + 45. Pattern match fix for directory searches (Mike Patnode) + 44. Pentium DGUX fixes (Miko Nahum) + 43. Spanish nls message catalogs (Luis Francisco Gonzalez) + 42. Fix trailing whitespace parsing in HASHBANG code (Martin Kraemer) + 41. Remove stray debuggin message from unmatched substitutions. + (from Amol Deshpande) + 40. Fix reversed arguments in Usagae message. (from Amol Deshpande) + 39. Fix bug introduced at tcsh-7.06.03 [expdollar] that affected %.n prompt + format. + 38. Fix typos introduced in last batch of changes. + 37. Fix interrupted script using onintr, exiting parent shell problem. + 36. Cleanup prototypes. + 35. V6.07.05 - 10/28/97 + 34. Integrate Amol Deshpande's WINNT fixes to the tcsh source. Note that + this is not complete yet; we are missing the NT glue code and the message + catalogs. + 33. Fix ^T at the first character in the line (Chuck Silvers) + 32. Eliminate xsprintf and xvsprintf + 31. Qmail patch from (Matthew Zahorik) + 30. Added missing linux signals (Vadim Vygonets) + 29. fixed problem where complete complete 'p/*/t:*.txt/' would not honor + the pattern. + 28. Port to an EBCDIC machine: BS2000 by Siemens Nixdorf that has an + IBM/390 compatible processor (Martin.Kraemer) + 27. Detect when we have errors writing to stdout (Vadim Vygonets) + 26. Ignore quotes in the comparisons for builtins, so that \builtin works + (Amol Deshpande). + 25. HPUX, portability fixes; make sure that we have the right config file + (Jonathan Kamens) + 24. Don't do lookups for x displays and figure out ttys properly + (Leonard N. Zubkoff) + 23. make print_by_columns print in a single column when the output is not a tty + 22. use rlim_t for Solaris2 (Casper Dik) + 21. V6.07.04 - 05/04/97 + 20. set -f -l patch (Michael Veksler) + 19. SGI patches (Tomasz J. Cholewo). Also fix completion code to take into + account aliases that start with a period. + 18. SCO patches (Boyd Lynn Gerber) + 17. Fujitsu patches (Toshiaki Nomura) + 16. autoconf patches (Kaveh Ghazi) + 15. BSDI patches (Paul Vixie) + 14. %Q formatting character addition. + 13. Fix set=#123; echo $i:s/#// (Quoting problem) + 12. V6.07.03 - 02/23/97 + 11. Understand %$variable in the prompt. + 10. Quote directory names properly in .cshdirs + 9. USE_ACCESS and autoconfig patches from (Larry Schwimmer) + 8. Pyramid att config file (Andrew Lister) + 7. $rprompt code (Luke Mewburn) + 6. Kanji patches (Huw Rogers) + 5. Cray T3E port (Jorn Amundsen) + 4. Avoid html redirects in tcsh.man2html (from Kimmo) + 3. HP/UX 10.0 fix for filesize resource limit; don't scale by 512 anymore. + 2. Workaround for TIOCSTAT for NetBSD from lukem@netbsd.org + 1. Return exit status from 0..255 not -128...127, as POSIX mandates. + +V6.07.02, 10/27/96 + 58. More configure fixes from Kaveh. + 57. Fix histdup=erase again: Don't renumber events, or access uninitialized + storage. + 56. 6.07.01 - 10/19/96 + 55. Fix histdup=erase, where after some repetitions, we would get negative + history events (kim@gw.com) + 54. NLS fixes and typo in sh.err.c (Martin.Kraemer@deejai.mch.sni.de) + 53. Output history in raw format in the history file (mveksler@VNET.IBM.COM) + 52. Fix possible core dump when !: in autoexpand mode (rbrown@ERA.COM) + 51. 6.07.00 - 10/11/96 + 50. Avoid stdio.h inclusion problem in SCO (gethost.c). + 49. A bit of housekeeping in host.defs + 48. 6.06.04 - 10/05/96 + 47. Fix tellmewhat() code to return true if found. + 46. Change register foo to register int foo to avoid compiler warnings. + 45. Fix problem with sticky non editing mode from Casper Dik. + 44. history lex fix from Martin Kraemer; history events that ended with 0 + were not properly parsed. + 43. SNI fixes from Martin Kraemer. + 42. SGI fixes from Ralf W. Grosse-Kunstleve. + 41. BSDI2.1 fixes from Paul Vixie. + 40. 6.06.03 - 09/24/96 + 39. undef TIOCGLTC for HP/UX 10.0 from Michael Shroeder + 38. Sinix fixes + 37. 6.06.02 - 06/22/96 + 36. Added implicitcd + 35. Added configure.in and Makefile.in from Kaveh. + 34. unset path, unsetenv PATH, ./foo did not work. + 33. Add VAR_NOGLOB, and use it to avoid globbing directory names when + cd'ing into them. + 32. Fix bug introduced in the new tty parsing code. + 31. Avoid pushing string back to the parsing string in ${ errors. + 30. Patches for the manual page from Dave. + 29. 6.06.01 - 05/24/96 + 28. Use sysconf to get NCARGS if available Robert Daniel Kennedy + + 27. Grab the program name and use that instead of tcsh in error messages. + 26. Fix histdup, so that it does not leave gaps in the event sequence. + 25. HP/UX v10.0 fixes: Don't use bsdtty.h and avoid clobbering memory + since SIGRT??? is defined as -1. + 24. Avoid coredumps when $TERMCAP exceeds 1024 characters + Michael Schroeder + 23. Fix memory clobbering when SHORT_STRINGS is not defined. + Todd J Derr + 22. Only restart stopped editors. Robert Webb + 21. Recognize pts sysv ptys when checking to set autologout Bob Myers + + 20. Magic space incomplete modified core dump fix. Chris Metcalf + , Bradley White + 19. Linux nls fixes Rik Faith + 18. SGI RS8000, Ported notes. Ralf W. Grosse-Kunstleve + + 17. Greek nls messages. Aggelos P. Varvitsiotis + 16. Imakefile linux and libcrypt fixes. Jonathan Kamens + 15. FreeBSD fixes Jukka Ukkonen + 14. Expand the environment space for path Steve Kelem + 13. Don't overwrite the environment randomly Steve Kelem + + 12. Don't turn the editor on when we have dumb or unknown terminals. This + breaks emacs when compiled with terminfo Jonathan Kamens + 11. Fix F- parsing in tc.bind.c (Bob Meyers) + 10. Added -T option in history to force timestamp printing. -h alone does + not print timestamps anymore for compatibility with csh. + 9. Typo in tc.bind.c [with -DOBSOLETE] (misplaced parenthesis) + 8. Recognize convex models properly. + 7. suppress the DING! option using the noding variable. + 6. negative nice values did not work. + 5. Harris CX/UX 7.x support. + 4. ERR_DMMODE was used on the crays but not defined. I changed the error + messages in tc.os.c to use ERR_STRING instead, and fixed a missing error + message in the catalogs. Someone will need to retranslate #30 and #31 + in set23. + 3. Bug setting listflags... Workaround: set listflags=(A /bin/ls) + 2. Typo in Imakefile (# comment instead of c comment) + 1. Typo in ma.setp.c (missing parenthesis) + + +V6.06.00, 05/13/95 + 88. Cleanup off-by-one error ed.defns.c. + 87. 6.05.09 - 05/06/95 + 86. Small memory leak in dosetenv() + 85. Make sure that the number of editing functions defined is correct + and abort otherwise. + 84. Completion Fixes from Tom + 83. Don't add yp stuff in the tilde cache [names that start with + or -] + 82. Don't let children catclose() in xexit(), because the parent will lose + access to the nls catalogs. From Michael. + 81. 6.05.08 - 04/29/95 + 80. Update to the newest csh sh.file.c + 79. More completions from Tom. + 78. Fix the Imakefile to use XCOMM + 77. Update for AIX 3.2. + 76. French catalog from J.M.Vansteene@frcl.bull.fr (fwd Michael Schmidt) + 75. Nls fixes and small typos from Michael + 74. PDP11 BSD type fixes. + 73. More manual page fixes. + 72. 6.05.07 - 04/19/95 + 71. More NLS catalog fixes. + 70. Bruce's jumbo patch. + 69. 6.05.06 - 03/15/95 + 68. make clean does not clobber config.h if Makefile.std is used. + make veryclean does. + 67. New config define NISPLUS. Reportedly fixes vanishing output of ~expansion + on solaris 2.4. + 66. showdots has been removed; use listflags instead. [handles -x too] + 65. more nls catalog fixes. + 64. set histchars=,. did not have any effect in .cshrc + 63. fix "-c command" new core dump. + 62. more completions from Tom + 61. call catclose() before exiting, so that svr4 cleans up the symlinks before + exiting. + 60. Per's fix for insert-last-word + 59. Per's emacs abbreviation mode. + 58. Makefile fixes for catalog stuff. + 57. fixed again complete-word-raw and list-word-raw + 56. 6.05.05 - 03/11/95 + 55. Made %?str work again + 54. IRIX sigalarm problem should be fixed + 53. complete-word-raw and list-word-raw should work + 52. nls catalogs complete reworking. + 51. sh.init.c: Signal complete rewrite. + 50. Signal fixes from Bruce. + 49. Added promptchars, like histchars; affect %# in the prompt. The first + char is for the user and the second is for root. + 48. 6.05.04 - 03/03/95 + 47. Add NODOT config, $command [that holds the command passed with -c] + $GROUP and $group + 46. AFS fixes from Larry Schwimmer + 45. Real NLS catalogs from Michael Schmidt + 44. patch to allow ^? binding. + 43. completion patch from Paul DuBois. + 42. Don't spell check in here docs. + 41. Incorrect normalization of usec in sh.time.c + 40. directory printing and option parsing fixes [from Paul DuBois] + 39. realloc_searchlen should be static to avoid conflicts with OS's that + use the same malloc package. + 38. LOGINFIRST now applies to /etc/csh.login + 37. Fixes in bind compatibility code to bindkey. + 36. 6.05.03 - 01/17/95 + 35. Don't print the whole watchlist on startup. One can use explicitly + the log builtin for that. + 34. Don't display the $watch value in the log command. + 33. Don't delete the unmatched portion if we try to complete a spelling error. + 32. Solaris 2.4 workaround for isprint('\t') lossage (From Casper) + 31. Fixed csh bug: [Reported by Jaap] + set test="one\ + two\ + three" + echo "$test:q" + 30. Fixed the lossage in setting the looking mode in tw.parse.c before + calling t_search; $x/$y will not append the right suffix. + 29. Another attempt at the gethost timeout code. + 28. Cray dmmode and filetests -m -k [need documentation!] + 27. More manual patches. + 26. Don't glob the path; security problem and core-dump. [from beto] + 25. Avoid waiting for jobs that failed to restart, thus hanging the shell. + eg, run job in background, attach to debugger; kill it inside the + debugger. Get out of the debugger and you are stuck if you fg that job. + 24. 6.05.02 - 09/04/94 + 23. remhost code could pass the wrong length to getpeername() + 22. too eager sed'ing broke convex getwarpbyvalue() to getwarpbyvarval() + 21. Fixed new bindings bug. + 20. Fixed bug in newgrp code; execv was called incorrectly. + 19. Take into account programmable completion hints when spell checking. + 18. Unconditionally change stty modes in Rawmode() + 17. Change date in $version to be ISO 8601 per Keith's suggestion + 16. Fixed portability problems in the new counted-strings codes (From Kaveh) + 15. Fixed binding problem with the new counted-strings code [all key bindings + ended up in the extended map] + 14. 6.05.01 - 07/08/94 + 13. Changed key bindings to use counted strings instead of Null terminated + strings, so that binding ^@ works. + 12. Fix parsing bug, where words that contained keywords caused incorrect + word breaks: + switch (iftagd) + case iftagd: + echo It works + breaksw + default: + echo It is broken. + endsw + 11. Fix sh.c for systems with no job control. [the new hup builtin sends + SIGCONT]. + 10. Don't add the suffix character when all completions fail, from michael + 9. Added histdup=erase, that deletes the oldest duplicate instead of + the newest. + 8. Don't call .logout recursively if we receive more than one hup, + and don't process hangups when we execute the .logout. + 7. $logout was set to a static string. + 6. Non printable binding listing was broken. + 5. Recursive sourced scripts would get mangled up because of input buffer + confusion (thanks michael) + 4. M-space should not be counted as a space. Leads to infinite loop in + word splitting. + 3. Pyramid fixes. + 2. Fixed '\' in sysv echo (from Mika) + 1. Missed fix_yp_bugs() when setting REMOTEHOST (From Casper) + + +V6.05.00, 06/19/94 +113. 6.04.17 06/18/94 +112. Realloc debug fix from John. +111. Completion fixes from Bruce. +110. Added -b option to bind. +109. Added tcsh.man2html from Dave. Looks great! +108. 6.04.16 06/06/94 +107. Allow multi word glob in "`foo`" expressions. + > if ("`ls`" == "a b c") then +106. Michaels lex() buffer patch version 2. + the previous version core-dumped with + > sleep | echo +105. Fix seg fault in find_cmd, when path is unset. +104. 6.04.15 05/28/94 +103. the previous =~ fix, was a bit broken. +102. 6.04.14 05/25/94 +101. expression parser fix for !~ and =~. + if (foo =~ *) echo ok + the * was taken for a multiply and parsed as 0 * 0 returning 0. + and asked to match "foo" with "0" +100. Michael's lex() buffer patch. + 99. Bruce's Jumbo cleanup + 98. fixed Imakefile for X11R6 + 97. fixed argument parsing in source command. + 96. added $sched to format scheduled events. + 95. 6.04.13 05/07/94 + 94. added expand-command + 93. Alpha OSF-2.0 fixes + 92. 6.04.12 04/28/94 + 91. Ignoreeof patch from Bruce. + 90. Dan's completion fix. + 89. 6.04.11 04/12/94 + 88. Don't source .logout when killed with -HUP unless we are a login shell. + [ actually $loginsh controls the behavior now ] + 87. ISC-4.0 posix exec() bug workaround + (from Jonathan Broome ) + 86. Dan's patch for complete=enhance + 85. Kaveh's patches for memset, host.defs, _{U,G}ID_T + 84. 6.04.10 03/29/94 + 83. Pathname completion bug fixes... + 82. Completion pathname(p) changes: Completion 'C' -> 'X'. + Replaced 'p' with 'F' and added D,T,C. + 81. Next NLS fixes + (From Paul Nevai ) + 80. make spelling correction obey the current histchars setting. + 79. Fix rounding in limits so that 0 is a true 0. + (From Ken Lalonde ) + 78. 6.04.09 03/12/94 + 77. Alarm race with remotehost. + 76. If you have in your .cshrc + set savehist=(100 merge) + and execute + #!./tcsh + exec ps + you get no output; [fixed] + 75. setenv SHLVL -1; tcsh = Segmentation fault [fixed] + 74. 6.04.08 02/10/94 + 73. new machtype, ostype, vendor + 72. execute .logout on hangup. + 71. more man page fixes. + 70. 6.04.07 02/04/94 + 69. Dynamic hash changes, globbing for which command from Michael. + 68. INBUFSIZE fixes for history. + 67. printenv returns 1 when a variable is not found, like the non builtin one + 66. Add quotes to the mismatch array so that: + > touch foo + > mail "oo bar" + does not get corrected. The right fix would be to do correct parsing + and quote the space... + 65. NULL terminate mismatch[] array in ed.inputl.c, since it is used in + Strchr(). + 64. renamed stat to filetest + 63. Afs and Hesiod patches. + 62. More manual page patches. + 61. 6.04.06 12/19/93 + 60. Alarm for resolver timeouts (untested) + 59. Fixes for Henry Spenser's regex in the Makefiles + 58. Modifiers now work with $< and $< does not do :q by default. + [incompatibility with csh] and $< can be interrupted. + 57. Added $histdup. + 56. source /etc/.login for Solaris 2.x + 55. don't remove trailing spaces in history searches. + 54. dirs -L and dirs -S spurious warning elimination. + 53. man page fixes from David. + 52. Kimmo's patch [makefile, gcc warning, netdb.h include] + 51. 6.04.05 12/12/93 + 50. rewrote srcunit() to use st_save and st_restore. The code was + too messy to be useful before. + 49. recdirs and rechist patches again! + 48. Harris hck port, and ISC imake update + 47. Eliminate the x windows :display.screen before looking for the + hostname in REMOTEHOST + 46. Patch for CDF filetype() recognition (hpux) + 45. 6.04.04 11/12/93 + 44. Made =x obey nonomatch. + 43. Fixed rechist and recdirs not to depend on savehist and savedirs + 42. Removed aliases, bind, linedit builtins [ifdef'ed out as OBSOLETE] + 41. change REMHOST to REMOTEHOST for compatibility with SGI. + 40. $owd was not working correctly. + 39. Debugging printf elimination (from Kimmo) + 38. Typos in the new hup code in sh.c (from Matt) + 37. Imakefile fix for sequent (from Jaap) + 36. 6.04.03, 10/30/93 + 35. New manual page in place. + 34. Fixed Makefile sed RE to work with gnu sed. + 33. Added hup builtin. + 32. Added $REMHOST in config_f.h + 31. Fixed random parsing bug in sh.exp.c in isa(). It checked cp[1] + without checking cp[0] first... (should propagate to 4.4BSD) + 30. More sh.exp.c fixes from Bruce + 29. Always exit when the user types exit. + cat | tcsh -f -s + exit + ls + 28. savedirs fix and readlink() null termination fix from Peter. + 27. Added -p flag (force dirs printing in all directory functions and $owd + variable + 26. Let $dirstack work by default without needing to be set. + 25. Fixed history -h to work with other history flags. + 24. Renamed ed-functions more consistently (dcs) + 23. Added missing filetests (dcs) + 22. Added NEWGRP define in config_f.h (dcs) + 21. More fixes for non blocking io recovery from Bruce + 20. 6.04.02, 10/08/93 + 19. changed default prompt to %# + 18. New group 'g' completion. + 17. removed IIASA defs. + 16. fix for history -SL and dirs -SL to work when savedirs and savehist are + not set. + 15. fix magic-space to understand :p + 14. make :u,:l work for history. + 13. Fixes for non-blocking i/o recovery. trap all non blocking styles under + sunos. + 12. 6.04.01, 08/10/93 + 11. Vi mode word moves [they work like vi and don't obey wordchars anymore]. + 10. New file operators and stat builtin + 9. David's FIONREAD patch for SVR4 + 8. Bruce's ignoreeof=n patch + 7. Dan's complete/correct enhancement + 6. Abort corrections patch. + 5. Print_by_columns, now does not use the rightmost column. + 4. Renamed config/config.$i to $i to avoid once and for all filename length + problems. + 3. bbn butterfly config + 2. Beto's proc fixes + 1. Bruce's bug fix for ed.chared.c, signals + + +V6.04.00, 07/03/93 + 92. Alpha prototypes, for gcc -Wall clean compile. + 91. Fixed alpha hashing. Did not work for directories > 31, Thanks to + Dan Mosedale for all the help! + 90. Added USE(a) for unused parameters, to avoid compiler warnings. + 89. 6.03.10, 06/25/93 + 88. Makefile and lint patches from Bruce. + 87. Posixsig patch from Peter for svr4 + 86. 6.03.09, 06/11/93 + 85. signal handling broke with the last job control patch... + > (does-not-compute;) + would hang. + 84. don't quit after the first modifier fails: + > set i=aabbcc + > echo $i:s/a/A/:s/b/B/ + AaBbcc + > echo $i:s/x/A/:s/b/B/ + aabbcc + 83. Imakefile fixes for sequents from Jaap. + 82. Move past the bottom of input when we hit ^C, so that multi-line + input commands don't get trashed. + 81. Look only at the first word in ${EDITOR,VISUAL} to determine the + editor name. + 80. Last patch broke listmax. + 79. Remove extra sandbagging in exitstat(). Not needed anymore as value() + will never return NULL. + 78. Save $status before calling aliasrun() otherwise: + > alias precmd 'cd .' + > true + > echo $status + 0 + > false + > echo $status + 0 + 77. 6.03.08, 06/07/93 + 76. missing prototypes/unused variables under SYSV4. + 75. savedirs should glob the filename argument. + 74. 6.03.07, 06/05/93 + 73. Changed _Q, _Q1 macros in sh.lex.c, sh.dol.c, sh.char.? to _QF and _QB + because today 4.4BSD defined _Q to be ``Phonetics'' + 72. listmaxrows variable. + 71. set -r would not make existing variables readonly. + 70. print usernames with ~user where possible in dirs and job cwd's + 69. Mika's fixes (missing args in sh.c set(), linux Makefile, SIGCHLD) + 68. FIONREAD argument is int everywhere except on SunOS where it is long. + Tcsh used to think that it was long, and so it broke on the alpha where + sizeof(int) != sizeof(long) + 67. 6.03.06 05/16/93 + 66. Pipeline fixes. This should get rid of the dreaded Stopped tty output + message. + 65. Michael's fix for history buffer cleanup: + > alias foo 'echo \!:1:h' + > foo a/b + a + > ^P [nothing happens] + 64. Unsigned long rlimit type for 64 bit machines (alpha) + 63. Fixed Imakefile for alpha + 62. tilde expansion now obeys $nonomatch + 61. readonly veriables. 'set -r x=3' will set x to a very sticky 3... + 60. Fixed bug in the new tab'ed completion that interfered with old listing. + 59. Fixed entry -> item in tw.parse.c + 58. Added -f option to unlimit + 57. Define __STDC__ in Imakefile for Irix + 56. Static redeclarations in tw.parse.c + 55. 6.03.05 04/26/93 + 54. Don't echo history expansion in loops: + > alias junk 'foreach i (\!:2*) \ + foreach? echo \!:1 $i; \ + foreach? end' + > junk a b c d + echo a $i ; + a b + echo a $i ; + a c + echo a $i ; + a d + 53. Added complete-word-fwd and complete-word-back that scroll through + the list of possible completions... Neat addition from + jfink@csugrad.cs.vt.edu (Jeff "$DOTDIR" Fink) + 52. Workaround hpux9.01 broken optimizer in sh.glob.c where 'ls *' breaks. + 51. Michael's editor fix. With "magic margins" and 80 char width, try: + > set prompt= + 20aa76bac + 50. Reverted fix that does not glob the expanded back-quote text again. + 49. > cd /., echo $cwd + /. + Eliminate the . in this case... + 48. Matt's optimization in glob.c [retracted] + 47. Fixed bug with -S + 46. Renamed Makefile Makefile.std, and fixed the readme file + 45. 6.03.04 04/07/93 + 44. Changed -s == !-z and -S == socket + 43. Fixed typo in sh.c, in phup [shpgrp != pr->pgrp] + 42. Multi-line aliases are not entered into the history when executed. + 41. Changed f_seek to a union to avoid gcc warnings on 4.4BSD + 40. Fixed 'unset home; dirs' bug + 39. fixed $HOME->$home memory problem. + 38. $?0 returns false now on interactive shells for csh compatibility. + 37. Default watch inteval was 10 hours not 10 minutes as advertized in the + manual! + 36. Fixed clobbered veriable warning from gcc-1.39 in tw.parse.c + 35. Fixed typo with INVPTR in sh.lex.c + 34. 6.03.03 03/04/93 + 33. Eliminate 'Reset tty pgrp error message'. It is normal for the + walking process group stuff. Check about the killpg() above? + 32. More portability for 64 bit machines. + 31. Improved completion error messages. + 30. Fix bug with double globbing expansion on mirrored variables: + > setenv TERM '?vt100' + 29. Avoid hanging when writing to pipes etc. (From Paul Close) + 28. Typo in the $HOME->$home mirroring. + 27. %p %P 'p'recise time formats that include seconds for prompt strings. + 26. Signal list fixes from Paul Close. nsig is now a variable. + 25. 6.03.02 02/12/93 + 24. NEC SX3 "entry" is a reserved word!, changed entry to item... + [this is as bad as cray typedefining "word" to int. Next thing I know, + I'll have to prefix all the variables with tcsh_!] + 23. xxx + 22. Protected all include files to avoid warnings from lcc. + 21. Finally resolved the job control problems with linux and ISC (from Beto) + 20. More HUP,XFSZ,XCPU fixes. (with Beto) + 19. Dcanon would not canonicalize correctly in case where dnormalize() + failed to find a directory, but the directory existed when not + crossing the symbolic link. + 18. sh.init.c fixes; give 65 signals for all POSIX machines. + 17. AMS mail fixes and cmu wm handling. + 16. Setenv would not ignore trim quoted names... + > alias foo 'setenv "\!:1" bar' + > setenv FOO 123 + > foo FOO + > printenv + ... + FOO=123 + FOO=bar + ... + 15. 6.03.01 08/01/93 + 14. #undef SHORT_STRINGS gcc warning fixes... + 13. csh bug fix in foreach [quoteing problem] + > foreach i ("*") + > echo $i:q + > end + Should print * + 12. ls-F obeys showdots... + 11. After scheduled commands get executed, the editor could stay disabled + until the first enter. + 10. sigset() bug in ed.init.c; ^C could get disabled sometimes. + 9. Don't glob in dowhich(); otherwise \pat does not work if pat is aliased. + 8. When completion patterns are used $ and ~ expansion did not work right. + 7. Printenv builtin and long backquote expansion fix from Harald. + 6. $:-1, $:-0 enhancement from Paul and Michael. + 5. Lynx/OS patches + 4. Apollo bugs [Setenv -> tsetenv, typedef in pid_t] + 3. ^@ did not work correctly in bindkey. + 2. Fix vms/posix ifdefs in tc.alloc.c + 1. Elide gcc-2.3.1 warnings + + +V6.03.00, 11/20/92 +102. Solaris2 patches, renamed sunosX to sosX to fit in 14 character filenames. +101. 6.02.12 11/12/92 +100. Decreased BUFSIZE to 1K... +99. Don't use sbrk() in tc.alloc.c on VMS +98. EINTR error handling from Michael +97. Overwrite mode takes effect immediately, not delayed by a command. +96. Emx fixes. +95. SIGHUP gain... +94. Coherent times()/ fixes. +93. 6.02.11 10/27/92 +92. Mach setpath fixes. +91. Which now globs its arguments +90. Again POSIX SIGHUP fixes... Maybe we got it right this time... +89. Increased BUFSIZE to 4K. Smaller machines may want to decrease this. + [ Now one can edit up to 4K of buffer! ]. From Harald. +88. : is now a true builtin that does nothing, instead of being treated like + the last character of a label. This is so it can take args. From Harald. +87. More fixes for hpux limits from Harald. +86. Login shell if ppid == 1 and argc == 1 for VMS. +85. Typo in sh.exec.c from Harry. +84. Per's editor fixes. +83. 6.02.10 10/17/92 +82. Don't free STRNULL in freelex(). Update linked list in copylex() to + do the same insert as in lex(). +81. Fixed spurious tilde printing in %c prompt. +80. Fixed dumb wild free in AddXKey... + (thanks Harald for the complex bindings! :-) + > bindkey "\e10z" expand-line # Any editor command will do + > bindkey -[cs] "\e10z" "foo" # Any string or command will do + Free(%x) .... +79. coherent additions. +78. fixes for hpux8 resource limits [Thanks Harald] +77. 6.02.09 10/10/92 +76. More vms cleanups. +75. Removed #include CONFIGH from sh.h. There was no way to make it work + under VMS/POSIX +74. Added t completion (Gray Watson) +73. Memory leaks in sh.dir.c and sh.glob.c [thanks purify :-)] +72. IRIX 5.0 patches (from Paul Close) +71. BSD resource limits for hpux8.0 (From Andreas Stolcke) +70. NGROUPS_MAX fixes (from Matt Day) +69. 6.02.08 10/04/92 +68. VMS port additions. +67. Added $%var, which == strlen(var) +66. Added ^X^I and ^X^D to override programmable listing+completion +65. Added case insensitive globbing for OS/2 +64. FIOCLEX and FIONCLEX are only used if we don't have FD_CLOEXEC. +63. Added emx termio support, and emx pathsep support; emx compiles and runs: + needs job-debugging and finishing touches. +62. Horrible bug with the lex linked list; from Loic Grenie, grenie@ens.fr + > echo a !# + echoed 'echo a echo a echo'! +61. Shell -w,-x were incompatible with the same for test [POSIX] (beto) +60. builtin newgrp did not accept the - argument. +59. FIOCLEX for the masses (POSIX FD_CLOEXEC addition) +58. Old style csh completion bug fix [not used] (beto) +57. A background process waiting for input from tty + blocks when being foregrounded doesn't read its input and + doesn't get and signals. + It can only be killed from another session. (beto) + > cat > foo + #!/bin/csh -f + echo ">>>>>>" + set x = $< + echo $x + ^D + > chmod +x foo + > foo & + > fg + ^Z,^C # Nothing happens +56. history > 1000 fix (beto) +55. 6.02.07 9/18/92 +54. Added e_stuff_char() to put back a character in cooked mode in + the input stream... Useful for status (^T) +53. $? == $status and $# == $#argv like in the bourne shell. +52. Added $dirstack. Problems: off by one since =0 == $cwd, but + $dirstack[1] == $cwd... Suggestions welcome. +51. Leading spaces would confuse the run-help function. +50. Don't expand imported environment variables: + > setenv HOME \* + > tcsh + > echo "$home" + > echo "$HOME" +49. %C0n displays the number of directories omitted as /usr/local/bin /<2>bin/ +48. Added POSIXSIGS as a configuration option. +47. Per's fixes for history format and arrow key binding. +46. Expand-variables expands array variables too +45. 6.02.06 8/14/92 +44. Separated limit stuff from BSDTIMES and added BSDLIMIT +43. History searching inconsistent with HistLit: + > echo foo + foo + > ^foo^bar + bar + > ec[M-p] + echo foo +42. 6.02.05 8/8/92 +41. sourcing a script that contains 'onintr -; onintr' would disable + interrupts on the command line +40. cd ../... with symlinks=ignore would work !@#!@ +39. No more BACKPIPE for POSIX machines... +38. SUNOS NLS bug workarounds... +37. New HASHBANG define for #! emulation... even 386BSD does not have it + yet... +36. Added new -b -c file operators from SGI csh. +35. 6.02.04 7/23/92 +34. Walking process group fixes. +33. $0 contains now argv[0] when we are not executing a shell script. +32. New Getwd() was broken. +31. 6.02.03 7/17/92 +30. We kill our last foreground process group on HUP, for POSIX systems. +29. Walking process group fix. +28. $shlvl gets reset to 1 for login shells. +27. Macros can now involve multiple commands, i.e. + bindkey -s "^[OP" "ls\n^P" +26. 6.02.02 7/6/92 +25. nostat accepts now a list shell patterns. +24. Avoid print_exit_value in if ( { foo } ) +23. Symbolic key names for bindkey [arrow keys]. +22. Smarter getwd() that avoids some of the NFS hangs... +21. Use memmove() where possible. +20. 6.02.01 6/16/92 +19. Fix automatic correction to work with the new completion. +18. Globbing bug with brace expansion, when arguments need to be realloced... + e.g. echo 134{6,7}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9} +17. shift and left operators update variables correcly ('shift path' did not + work) +16. apollo fixes for cd. +15. STRNULL <-> NULL bug fixes. +14. %S in xprintf for short strings. +13. history -LSc, dirs -LSc additions, builtins builtin [oxymoron] +12. history formatting string, who formatting string, prompt formatting + all use tprintf() now. +11. $history accepts a second formatting argument.. +10. History timestamps preserved in .history +9. Backquotes were broken: echo hi | cat > `echo foo` +8. SGI -t operator problem. +7. Dnix fixes. +6. Fix history file writing bug when autologout. +5. Change from TCSETA to TCSETAW, since we affect the output. +4. Per's fixes for display margin bugs. +3. Linux fixes. +2. Collapse adjacent stars in glob.c to avoid exponential behavior. +1. Fixed parseescape to put ^ literally if not followed by alpha. + + +V6.02.00, 5/15/92 +94. Default echo_style was not being set correctly. +93. $< did not work correctly with NLS chars. +92. 6.01.15 (5/11/92) +91. Minor cleanups in refresh code. +90. 6.01.14 (5/8/92) +89. Print \n in the right margin always to be consistent. +88. Linux patches. +87. 6.01.13 (5/2/92) +86. Fixes in listing and completion of non-unique commands. +85. Fix =stack entries > 9... from Bill Petro +84. Fix for last character at margin. [on terminals that have am & xm move + the cursor manually to the next line] +83. Fix for complete completions +82. small typo in tc.alloc.c from Mark Moraes. +81. small typo in tw.parse.c from Richard. +80. Man page fixes from Per. +79. 6.01.12 (4/24/92) [release version for 6.02] +78. Autosuffix was not getting reset all the time. +77. Don't limit completion patterns to 1K. +76. Naming changes in ed.screen.c from Justin. +75. 6.01.11 (4/10/92) +74. Fixed magic-space ! expand bug: + > echo a b123 45.{6,7} + > echo !:2!:3[magic-space] +73. Work-around for apollo optimizer in tc.bind.c +72. Problem with setjmp in tw.parse.c +71. symlinks=expand from Yumin. +70. tenematch() fixes from Michael; +69. 6.01.10 (4/3/92) +68. Fixed Gnmatch. +67. Removed ignore_symlinks and chase_symlinks. Replaced by symlinks variable. +66. Backquote from completion was broken for machines with no dup2() +65. No $printexitvalue for `` jobs. +64. Added ultrix stuff for PW_AUTH [from Mike Potter mpotter@lampf.lanl.gov] +63. Fixed bug in Gnmatch(), added 'N' command 'x' completion. +62. Fixed fg_proc_entry() so autologout gets disabled when a process + is foregrounded. +61. 6.01.09 (3/26/92) +60. source builtin takes arguments now that are passed in the script e.g.: + > ./tcsh -i a b c + > cat test + echo $argv + > echo $argv + a b c + > source test 1 2 3 + 1 2 3 + > echo $argv + a b c +59. Eliminate $margin_bug, add more intelligent margin code [from Justin] +58. expand_symlinks variable Urgh... +57. SGI CONTROL() fixes... +56. new dnormalize(), expand_symlinks flag. +55. interrupting completion restores the current line. [from Marc] +54. 6.01.08 (3/20/92) +53. inputmode affects the first line too. +52. Searches in vi do not destroy the current line. +51. -drwX test enhancement. +50. Generalized completion syntax and added more completion builtins. +49. Don't print '\n' on the right margin if we can avoid it. +48. 6.01.07 (3/9/92) +47. New completion style. [[[ ]],=] +46. 6.01.06 (3/7/92) +45. complete styles are ignored after shell metachars eg. + > complete mail =u + > mail christos < [tab] + completes filenames. +44. $echo_style is initialized to the default style of the machine. +43. SGI 4.0 CTRL() macro is busted. So we ignore it. +42. Fixed bug with the new margin code (thanks justin) +41. Fixed mirroring of variables. Now set and setenv affect + HOME, TERM, PATH, SHLVL, USER and their csh counterparts. Unset affects + affects only the csh copies of the variables, and unsetenv only the + environment variables. +40. Fixed gcc-2.0 warnings in sh.sem.c (needed for vfork() -O2 optimization) +39. 6.01.05 (2/21/92) +38. signal masking for BSD machines was still wrong in tw.init.c +37. Added $margin_bug, and now the editor outputs on the rightmost + column by default. This should fix the xterm cut-n-paste problem. +36. AU/X 2.0 and SGI compiles with POSIX as a default now. +35. sysv_echo is gone too. Now we have a variable called echo_style + which can be set to "none", "bsd", "sysv", "both" that defines + the builtin echo_style. The default is "bsd" for systems with + SYSVREL == 0, "sysv" otherwise. This can be overriden in config.h + by defining ECHO_STYLE ro be BSD_ECHO, SYSV_ECHO, BOTH_ECHO, + or NONE_ECHO. +34. asynchronous notification in run-fg-editor would try to change the + tty settings and print an extra prompt. + > set notify + > sleep 10 & + > vi^Z + > ^[^Z +33. alias x /bin/true + x? + reported .//bin/true instead of /bin/true +32. 6.01.04 (2/12/92) +31. fixed vi_substitute_line +30. binding completion addition. +29. showdots=-A addition +28. sysv_echo addition; deleted bsd_echo which is now the default. +27. dunique could crash. +26. Don't clear lines after an asynchronous notification, because it + might erase the message. +25. 6.01.03 (1/29/92) +24. `` were not working correctly when tcsh is started with 0,1,2 closed. +23. Correction was picking up the wrong thing in cases like .rhosts hosts +22. Correction with names with quoted spaces was broken. +21. Added sysv_echo and bsd_echo. +20. Added and documented the complete builtin. +19. Added dunique and cd -. +18. Per's fix for alarm functions. Things would break if time went backwards. +17. Realloc bug fix (copy min of old and new size) +16. Fix for csh compatible braces. +15. Brace globbing and negation globbing for Gmatch. +14. 6.01.02 (1/16/92) +13. Completion builtin, new tw* files. +12. 6.01.01 (1/6/92) +11. Changed w_ fields in tc.who.c to who_ to avoid redefinitions in + in some os's. +10. Setting savehist to an empty string makes savehist use the value + in $history. +9. echotc did not use the internal termcap descriptions. +8. echotc did not work right for single argument termcap strings. +7. DGUX needs SAVESIGVEC, updated type protection, and disabled CSWTCH. +6. Changed SVID to SYSVREL, since there is no SVID == 4 (yet). +5. Typo in tc.sig.h: UNRELSIGS was not getting defined. +4. Globbing bug fix. tglob() should ignore globbing characters inside + backquotes otherwise things get expanded twice: + % echo 'bar?' > 'foo?' + % echo `cat foo\?` + echo: No match. +3. Mach setpath fix. +2. Alliant process group fix. +1. Xenix fixes for broken vi and help path with no suffixes. + + +V6.01.00, 12/19/91 [for comp.sources.unix] +22. Restore the original prompt in automatic correction when the user + asks to re-edit the command. +21. Better error for unreadable files in tw.parse.c +20. Sequent patches. +19. (V6.00.08 beta 12/14/91) +18. Filenames containing # were spelled/expanded incorrectly. +17. Stellar/stellix port. +16. Hpux 8.0 has SIGWINDOW but we cannot get the window size. Protect + against window changes updating $LINES and $COLUMNS. +15. Mach setpath did not work right. +14. Mach does not need setenv in lib; in fact that does not work right. +13. shell level gets decremented when we exec. +12. restart_fg_editor picked the wrong editor if arg contained a slash. + e.g vi ~/.cshrc +11. (V6.00.07 beta 12/08/91) +10. Allow use of vfork() on systems that do not have job control. +9. Avoid NUMCC from being defined twice. +8. (V6.00.06 beta 12/05/91) +7. SunOS3's FIOCLEX dups... +6. Yet another globbing bug fix from Michael (echo .[^.]) +5. Ultrix now wants __ before cpp symbols. +4. Workaround sun's header files inconsistency so tcsh can be compiled + with #undef POSIX +3. Fixed limit stuff so that large values don't cause errors. +2. Fixed =1 and ~user error messages (Per) +1. (beta-5 6.00.04 == 6.00.05) + +$#* +$#* New numbering scheme (The last 2 digits are reserved for beta releases +$#* from now on. So we start at 6.00.06 which is 6.00.04 beta 6, and we are +$#* going to release 6.01.00... +$#* + +V6.00.04, (never released) +34. (beta-5 11/25/91) +33. Simplify code in BindArrowKeys() +32. Get rid of the PNULL's +31. Support for shadow password in locking code. (From Kimmo) +30. Normalize-path editor function. +29. (beta-4 11/21/91) +28. minix additions +27. bindkey fixes (-c addition, casting cleanups) +26. (beta-3 11/16/91) +25. Prompt length checking. +24. Michael's fixes for the watching code. Tcsh could core dump when using + a corrupted utmp. +23. overwrite mode flag, and autologout locking code. +22. overwrite mode would still insert digits! +21. Get the value of _POSIX_VDISABLE from pathconf... +20. Hpux 8.0 fixes. Sigstack botches with shared libraries. Ansi mode + static initialization of structures with prototyped function pointers + gives spurious warnings... +19. Onintr in /etc rc files is disabled. +18. (beta-2 11/03/91) +17. Multi-line aliases with `` bug fix. +16. Sticky emacs overwrite mode. +15. Autolist option. +14. Fix for redirection with wildcard filanames. +13. No error correction for multi-line commands. +12. Esix-4 re-defines p_pid. Argh... +11. (beta-1 10/28/91) +10. Foreach loops were broken again. +9. SUNOS localtime() bug does not only happen on the 8th byte. [Michael] +8. sh.dir.c, memory corruption in dinit(). Thanks Michael. +7. uts broken work-around, and has a wait3() +6. SGI (-t filename) extension, returns true when filename is a tty. +5. 'default:' addition in all switch() statements. +4. oflag was not being updated correctly in Rawmode() +3. missing 'break;' in prompt code '%y'. +2. infinite loop in :a code. +1. hashstat was not reporting hits+misses + + +V6.00.03, 10/21/91 +31. watch code now accepts shell patterns. +30. new hashing code portability fixes. +29. $foo:gs/:/ / fix and 'a' modifier addition. +28. Added $! (the pid of the last background job forked) +27. exec does not kill the shell when it fails. +26. Irix4.0 decls. +25. SVR4 uthost fixes from Kimmo Suominen +24. Imake addition from marc +23. New i-search from Per. +22. ibmesa fixes +21. convex fixes. +20. t command for vi. +19. SVR4 fixes (reverse pipeline and sigaction()) from David Dawes. +18. New hashing from Marc +17. Added : to the ~name separators so ~foo:~bar works. +16. New ed.init.c. Added ed.term.c +15. Still can't get the history exactly csh-like... !-2$ was broken... +14. vi character searches. +13. -Dvar=name command line option for the apollos. +12. Prompt format changes for date/directory. +11. Vi searches. +10. Emacs i-search. [currently not bound] +9. Vi additions ([dc]-{w,$,f},Undo) +8. tcsh -n parses now builtin structures. +7. seek to the end on errors in loops. +6. echotc -s was broken +5. Better !event parsing. !foo;!bar was broken. +4. foreach loops and if statements in aliases. +3. .cshdirs would corrupt the heap if some directories were not there. +2. System V echo was broken with \ +1. Fixed echo '!-1', history would eat the quote. + +V6.00.02, 08/05/91 [For comp.sources.unix] +8. tcsh will always set $LOGNAME and $USER if not already set in the + environment. +7. added $histfile. +6. echo `echo` * and echo ~ {} were broken +5. setty builtin addition +4. Multiple : modifiers [experimental, disabled with -DCOMPAT] +3. 7 bit fixes, and hp9000s500. +2. #undef DEBUG in tc.alloc.c, so we continue if we get a bad free() +1. getn() is now protected against NULL strings. + +V6.00.01, 07/16/91 +17. added beepcmd, and fixed small tenematch bugs. +16. Renamed DUP2 flag to HAVEDUP2 cause AIXPS2 defines DUP2 already. +15. More ANSI fixes, and mit additions (load-average) +14. don't clear ECHOE, background programs might need it. +13. Refresh bug fix... +12. getpwent() should not be interrupted (yellow pages), cause it might + leave dangling pointers, that endpwent() will trash. +11. ChangeSize is now responsible to set the screen size to something + sane, but it should not affect the environment if the information + it received is not valid +10. Find out if we are running under emacs using $TERM. It is more + reliable. +9. tcsh was broken if SHORT_STRINGS was not defined (glob() problem) +8. If GetSize() fails it should always return reasonable screen sizes. +7. globbing should not fail if one or more patterns match. +6. increased the number of aliases in the loop detection code. +5. DGUX has size_t and pid_t defined now... +4. ESIX does not have EWOULDBLOCK or EAGAIN & POSIX... That was not handled + correctly. +3. rs6000 needs BSDWAIT. +2. Hpux susp key could not be changed. +1. Apollo fixes. + +V6.00.00, 07/04/91 +45. Fixed quoting of VSTART/VSTOP on termios +44. Memory leak every time you pipe in or out. +43. echo {foo bar.[ch]}. Did not check for end of word. +42. ANSI prototypes +41. dmove() would leave the source descriptor open when using dup2() + e.g. + while (1) + echo foo >>! bar + end + runs out of file descriptors +40. recursive `` expanded via aliases would abort. +39. set home=../relative-path-name was broken. + e.g. + set home=../..; cd ..; + +38. Incorrect error when changing to directory: + e.g. + mkdir not-in-cd-path; chmod -x not-in-cd-path; cd not-in-cd-path; + echoed: + not-in-cd-path: No such file or directory. + it should have said + not-in-cd-path: Permission denied. +37. if ( \! =~ [\!] ) echo ok, did not echo ok. Quoting inside [] pattern. +36. More than 127 jobs caused job # to go negative +35. unsetenv ... Added support for more than one pattern. +34. More background process status report fixes. +33. Apollo builtin support. +32. Glob fix. echo '*' * was not handled properly. +31. Glob fix. setenv FOO `sleep 1` would either cause a segmentation fault. + or print ambiguous. +30. Glob fix. Quoted characters inside [] were not handled properly. +29. Removed TELL and VMUNIX defines. I think we cannot compile on V6 anyway +28. Overflow check for expansions. +27. Added matchbeep, shell pattern history searching. +26. Added code to handle /dev/std{in,out,err} +25. Fixed POSIX speed handling in raw mode. +24. Fixed a flushing bug in the filec code in sh.file.c +23. Compiled and added hp9000s700 to the list of hosts. +22. Fixed horrible bug in gmatch() + switch (4) + case [a-z]: + echo bug; + breaksw; + case 4: + echo ok; + breaksw; + endsw +21. Fixes for _SEQUENT_ ut_host. +20. FLUSHO added +19. mkdir foo\`bar; cd foo\`bar; was broken +18. EWOULDBLOCK == EAGAIN on RENO check for that too. +17. Dword() simplified and removed the gotos. +16. Hpux now compiles with POSIX. Moved the local chars modes in ed.init.c + after the tty modes. +15. Process group fixes for POSIX +14. We need on the suns for FIOCLEX!!! We did not close + our file descriptors before... +13. A/UX fixes. +12. History events that start with a number are not necessarily numeric: + > !3d + 3d: Event not fount +11. History loop detection added. + > alias a \!# + > b; a +10. Alias loop detection code was ineffective on eager optimizers. + 9. All errors should now go through our table. Next step we should + add nls error messages. + 8. Unsetenv now globs its arguments! Before it did not... + 7. Added tilde cache and -l flag. + 6. Added autocorrect + 5. Fixed for so that background jobs in scripts get process groups + 4. Fixed amazing memory leak in setenv()... + 3. Added short2qstr() so that we can form quoted strings to be used with glob() + 2. str2short and short2str allocate space dynamically. + 1. Fixed bug related to the is*() routines called with shorts. + [only if NLS and SHORT_STRINGS are defined]. + (The _ctype_ was getting indexed with shorts...) + 0. Complete overhaul. Brought in the 4.4 csh stuff. Separated most + tcsh and csh code except where I would have to add more global + variables. Compiled correctly with both lint and gcc -Wall on + a sparc running 4.1 + +V5.20.03, 03/20/91. - Never released +25. Kanji, SXA additions. +24. (exec foo) should not fail if they are suspended jobs. +23. Support kernel paging stuff on aix 370. +22. Now we handle correctly the environment variables LINES, COLUMNS, + TERMCAP for window size changes... +21. Tcsh 5.18c+ had broken NULL chars on scripts. + > cat > foo + #!/usr/local/bin/tcsh -f + echo "foo" + echo "^V^@" + echo "bar" + ^D + > chmod +x foo; foo + foo +20. Posix has EAGAIN and not EWOULDBLOCK +19. Don't set ECHOK; makes kill ^U ugly. +18. $shell is SHELLPATH and not $SHELL any more. +17. Added -n flag to cd, pushd, popd and dirs. Documented -l and -v + flags. +16. Documented and fixed chase_symlinks and ignore_symlinks. +15. Call endpwent() when you get interrupted... + cd ~chri^C + cd ~christos/ + +14. Exec when you have suspended jobs asks for verification. +13. Variable length fixes: + >set abcdefghijklmnopqrstuvwxyz=1 + >echo $abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrs: Undefined variable + Now we have better messages too... +12. Icon fixes... +11. Quote expanded glob and history chars too. +10. If someone sets SHIN to O_NDELAY we died... Now we set it back... + 9. unset path; unsetenv PATH; ls-F; (poof) fixed... + 8. Patches for masscomp, and ${var123} lexical analysis fix... + 7. Patch for sunview bug: A partially covered suntool sends SIGWINCH every + time the text is scrolled, causing annoying redraw effects. Now tcsh + checks if the size really changed before doing anything. + 6. Interrupt in the middle of cwdcmd, and periodic does not remove the + aliases. + 5. prompt2 and prompt3 fixes: + Prompt2 now prints the status of the parser by default. + Prompt3 can now have the standard prompt escape sequences. + 4. eval file descriptor re-direction fix. + >set p='w | tail +3' + >eval $p + (originally | tail +3 was ignored) + 3. $edit != emacs anymore; it was misleading, 'set edit' enables editing + 'unset edit' disables it. + 2. PERROR define fix. + 1. irix3.3.1 line discipline fix. + +V5.20.02, 12/15/90. +32. /etc/Logout added and merged with /etc/Login flag. +31. Fixed tty chars in ed.init.c. Some of them were not handled correctly. +30. Command execution does not leak memory any more, and doing + ~ four times does not core-dump. +29. Fixed the notorious csh 'if(' bug (part of the convex fixes) +28. Intelligent getwd() on startup, and canonicalization. +27. Intelligent directory stack. Gets updated when $HOME changes. +26. Directory stack/save-restore additions +25. Convex Fixes. +24. Fixed onlret, and echonl getting stuck on svid. +23. Shouldn't leave tty in raw mode at auto-logout (e.g. when su'ing from a + csh, this is annoying). +22. Some users had environment EMACS set to something, and with my bad fix + at pl 1 found that they didn't have echo... (of course, even before my + "fix", they didn't have editing...). Anyway, refined the check to be + for EMACS=t, which is what emacs sets when running a subshell. +21. kill -CONT %job, would not update the status of the job, but it would + just restart it. +20. Sequent fixes. +19. AIX370 signal and TCF fixes. +18. fixed ls-F -l, SIGINT problem. +17. aix on the ps2 does not have strcoll() either. +16. Bind [A - [D and OA to OD in vi mode to the arrow key functions + so that they work from insert mode. +15. %~ was not working correctly for /home/news and /home/newsbin... +14. Removed Rcs Log +13. ISC unix fixes. +12. sunos3.x wants not +11. Remove precmd's, cwdcmd's and periodic cmds that had errors. +10. Compile sunos4.1 using termio. + 9. Rs6000 line discipline fixes. + 8. T_Tabs was wrong for termio machines. + 7. Don't bind single keystroke arrow keys, when they are already bound! + 6. Test for newline and tab before deciding not to send shell scripts + to the bourne shell. + 5. Added LITERAL prompt stuff. + 4. Fixed gethostname() in sh.rest.c to return the nodename. + 3. Do not quote spell checked stuff. This is not very intelligent but + works better than before. + 2. Fixes for relative path components. (paths that start with a .) + 1. Fixed so that Rawmode() is not called when we are not editing + (breaks running under emacs) + +V5.20.01, 11/15/90. +12. Recognize environment variables too. +11. Always start in Rawmode() +10. don't try to execute binary files using the bourne shell. + 9. Vi change to end of line updates correctly now. + 8. Prompt in continuation lines. + 7. Prompt in if statements fix. + 6. System V ^C works right now. + 5. ^Z works correctly in bindings + 4. Better error messages for variables. + 3. dinit() now is more robust. + 2. Added aux2.0 patches. + 1. Fixed bug with arrow key bindings in ed.screen.c. All the keys + were bound to up-history! + +V5.20.00, 11/10/90. +26. Fixed system V and POSIX time reporting. +25. Fixed ed.screen.c so that it does not use malloc(). +24. Fixed SIGWINCH on the iris +23. Fixed ed.screen.c, so that settc works correcly. It used to set + the termcap with a string that was allocated from the stack! +22. Fixed listing of commands, where the last command was not checked. +21. Fixed which command. It did not work for + \, if command was aliased. +20. Eliminated CSH4.3 define. You've had enough time to upgrade from 4.2 +19. Fixed GotTermCaps to be called only once. +18. Added bindkey -r +17. Attributes were not getting reset correctly. +16. history -t does not print the time-stamp. +15. AddXkey, works now for single character xkeys. +14. filetype() knows better about symlinks. +13. ls-F works with filenames that have metachars +12. Completion/spelling works with quoted things. +11. Fixed refresh bug. Repeat by: + On an intelligent terminal that has insert and delete chars (xterm) + > orphan + > vi orphan.c + > ^P^P +10. Fixed so that if we don't have a tty on stdin editing is disabled. + 9. Check for nested process forking, to avoid loops such as: + > alias foo 'set bar=`foo`' + > foo + 8. Fix setting of AsciiOnly (Per) + 7. tw.spell.c, defined F_OK for systems that don't have it. + 6. ourwait.h had typo in ifdef. + 5. BSD compilers need a cast to int for enums used in + switches (Matthew Day) + 4. Found the cause for the core-dump in long backquote + expansions (Mark Davies) + 3. Some externs in ed.h needed to be truly externs... + reported by Mark Davies, bug appeared only on hp9000s800. + 2. Changed $tcsh, and $version strings. + 1. Added internal sprintf function, renamed putchar to CSHputchar, + printf to CSHprintf, sprintf to CSHsprintf. + +V5.19.02, 10/23/90. +36. Added /etc/cshrc for the SGI irises. +35. Added expand-variables function. +34. Documented $time in tcsh.man +33. Shell variables are now 'recognized' when expanding/listing things. +32. ls-F does not eat the last slash on the / directory! +31. Strings bound to keys are printed inside double quotes. +30. History now remembers the exact line, not just an unparsed version of + the tokens. +29. Renamed itoa to Itoa(), so things in libc that use itoa() don't break. +28. Ported to IBM aix/ps2. +27. Fixed eval so that it forks when the output is piped + Repeat by: + > who | grep $user + > eval who | grep $user +26. Fixed so that 'nice ' does not + nice or fork. + Consider doing: + nice cd /tmp && rm *.c (don't try it!!!) + [what actually happens is that nice has to fork, then the child executes + chdir, and the parent stays where it was] +25. Added Dan's patches (nls, builtin bindkey, fixes to the editor). +24. Added aix370, migrate, getspath, getspath, getxvers, setxvers +23. Added builtin echotc, removed sl and el. +22. Ported to 4.4 BSD. This involved changing the way lots of flags worked, + cleanup of the SVID stuff, and addition of more compilation flags. + Now POSIX can work whed BSD is defined... +21. Fixed so that el, sl work. Actually they are to be removed soon and + be replaced with echotc. +20. Avoid the Quoted Space hack for alias when printing jobs! + [aliases to the same name avoid further alias expansion, by + inserting a quoted space in front of the command. In SHORT_STRINGS + QUOTE is the 15th bit so print ignores it thinking it is the + end of the string. So we just skip the Quoted Space....] + Repeat by: + > set notify + > alias ls ls -F + > (ls) & + Prints Exit 0 ( + Should print: Exit 0 ( ls -F ) +19. Fixed so that "", '', ``, all produce ': Command not found', + and not the spurious messages. + Repeat by: + > set path = (/bin /usr/bin .... .) + > "" + /some/path/name/: Command not found +18. Enable the use of macros if they exist and NLS is defined. + NLS code is not ready yet. +17. Fixed rmstar and continue_jobs code, so that they are not compile + options, but shell variables. Now you need to 'set rmstar' to get + enable rmstar. +16. Fixed SIGWINCH, SIGWINDOW, and setting of li, co, that broke + suntools, and others. + Repeat by: + Start a shelltool of size other than 80x34 + > telltc + > stty -a + do not report the same number of lines and columns. +15. More fixes to tw.parse.c, and tw.spell.c. +14. More fixes to sh.char.c. +13. Fixed coredump caused by ``. +12. Fixed spell-line code.. +11. Trapped SIGCHLD in sh.sem.c, while forking. Still there is a small + race, but the probability of happening is smaller! +10. Fixed sh.char.c to be ISO compliant. + 9. Added expand-glob + 8. Fixed ourwait.h for little endians. + 7. Fixed that foreach i (^D expands correctly. + 6. Fixed so that listmax is ignored in ls-F. + 5. Fixed spelling correction so that single letter words and words that + contain globbing chars do not get spell checked. + 4. Changed NeXT HOSTTYPE to next, since all HOSTTYPE's are lower case. + 3. Fixed symmetry, and changed symmetry HOSTTYPE from sequent to symmetry. + 2. Added boldfacing, underlining chars. + 1. Added IRIX3.3.1 support. + +V5.19.01, 9/26/90. + 7. Brought the README file up-to-date, and changed the bug report + address to point to me. + 6. sh.lex.c. In addla(), overflow computation was wrong. + 5. Fixed SHELLPATH, to be set correctly when $SHELL is not set. + 4. Fixed print statement in sh.proc.c that contained \215. + 3. Fixed the Makefile and MAKEDIFFS so that a tahoe diff can be made. + 2. RS6000: hacked around execv bug, and ed.init.c warning. + 1. Editor should not be enabled when we don't have a tty. Index: vendor/tcsh/6.20.00/Imakefile =================================================================== --- vendor/tcsh/6.20.00/Imakefile (nonexistent) +++ vendor/tcsh/6.20.00/Imakefile (revision 315513) @@ -0,0 +1,632 @@ +XCOMM +XCOMM $tcsh: Imakefile,v 1.88 2014/07/07 20:34:58 christos Exp $ +XCOMM +XCOMM Imakefile for tcsh 6.12 +XCOMM Marc Horowitz, MIT SIPB +XCOMM + +#ifdef DestDir +#undef DestDir +#endif +#ifdef ManSuffix +#undef ManSuffix +#endif + +/* All config options go in a separate file. */ + +#include "imake.config" + +#ifndef HasGcc +# define HasGcc 0 +#endif + +#ifndef HasGcc2 +# define HasGcc2 0 +#endif + +/* This is a giant conditional block. It should be set up right for +platforms which are in here, but it may need to be changed for new +ones. Please send in your fixes and additions! */ + +/**** tcsh configuration defines ****/ + +/* specific platforms */ + +#ifndef ConfigH +# ifdef UltrixArchitecture +# define ConfigH ultrix +# endif + +# ifdef UxpArchitecture +# define ConfigH sysv4 +# endif + +# if defined(LinuxArchitecture) || defined(GNUArchitecture) +# define ConfigH linux +# endif + +# ifdef AlphaArchitecture +# if !defined(LinuxArchitecture) && !defined(GNUArchitecture) +# define ConfigH decosf1 +# endif +# if !HasGcc +# define MyCflags -std1 -Olimit 2000 +# else +# define NoCombineRegs +# endif +# endif + +# if defined(VaxArchitecture) && !defined(UltrixArchitecture) +# define ConfigH bsd +# endif + +# ifdef NeXTArchitecture +# define ConfigH mach +# endif + +# if defined(SunArchitecture) +# if (OSMajorVersion == 3) +# define ConfigH sunos35 +# else +# if (OSMajorVersion == 4) +# if (OSMinorVersion == 0) +# define ConfigH sunos40 +# else /* OSMinorVersion == 1 */ +# if (OSTeenyVersion == 3) +# define ConfigH sunos413 +# else /* OsTeenyVersion in [0,1,2] */ +# define ConfigH sunos41 +# endif +# endif +# define NoCombineRegs +# else /* OSMajorVersion == 5 */ +# if (OSMinorVersion < 3) +# if (OSMinorVersion < 2) +# define ConfigH sol2 +# else +# define ConfigH sol22 +# endif +# else +# if (OSMinorVersion < 4) +# define ConfigH sol23 +# else +# if (OSMinorVersion < 6) +# define ConfigH sol24 +# else +# if (OSMinorVersion < 9) +# define ConfigH sol26 +# else +# define ConfigH sol29 +# endif +# endif +# endif +# endif +# define NoCombineRegs +# endif +# endif +# endif + +# ifdef HPArchitecture +/* For some stupid reason makedepend on HP requires this */ +DEPENDFLAGS = -o.o +# if (OSMajorVersion >= 8) +# define ConfigH hpux8 +# else +# define ConfigH hpux7 +# endif +# endif + +# ifdef CrayArchitecture +# define ConfigH cray +# endif + +# ifdef SGIArchitecture +# define ConfigH irix +# define UseLibBSD +# if (OSMajorVersion < 5) +# ifdef you_are_using_yp +# define UseSunLib +# endif +# if !HasGCC +# define MyStdc -D__STDC__ +# if SGICompilerMajorVersion < 4 +CCOPTIONS=-float # We don't want -cckr and -prototypes +# endif +# endif +# endif +# if (OSMajorVersion == 6) +# if (OSMinorVersion >= 2) +# undef UseLibBSD +# define ConfigH irix62 +# endif +# endif +# endif + +# ifdef IBMArchitecture +# undef UseLibBSD +# if (SystemV == YES) +# define ConfigH aix +# if OSMajorVersion < 3 +# if OSMinorVersion < 2 +# define UseLibBSD +# endif +# endif +# else +# define ConfigH bsd +# define AOSArchitecture +# endif +# endif + + +#ifdef AOSArchitecture +#define MyStdc -U__STDC__ +#endif + +# if defined(MipsBsdArchitecture) || defined(MipsSysvArchitecture) +# define ConfigH mips +# endif + +# ifdef DguxArchitecture +# define ConfigH dgux +# endif + +# ifdef ConvexArchitecture +# define ConfigH convex +# endif + +# if defined(SQNTArchitecture) || defined(SequentArchitecture) +# define ConfigH sequent +# endif + +# ifdef MacIIArchitecture +# define ConfigH mac2 +# endif + +# ifdef MinixArchitecture +/* Maybe conditional on MACH? */ +SYSSRCS=mi.termios.c mi.wait.h mi.varargs.h +SYSOBJS=mi.termios.${SUF} +EXTF=ma.setp.c vms.termcap.c +# else +/* Maybe conditional on MACH? */ +SYSSRCS=ma.setp.c +SYSOBJS=ma.setp.${SUF} +EXTF=mi.termios.c mi.wait.h mi.varargs.h vms.termcap.c +# endif + +# ifdef i386Isc +# if IscVersion != 202 +# define ConfigH isc +# define UseLibCposix +# else +# define ConfigH isc202 +# endif +# endif /* i386Isc */ + +# ifdef OpenBSDArchitecture +# define ConfigH bsd4.4 +# endif /* OpenBsdArchitecture */ + +# ifdef NetBSDArchitecture +# define ConfigH bsd4.4 +# endif /* NetBsdArchitecture */ + +# ifdef FreeBSDArchitecture +# define ConfigH bsd4.4 +# endif /* FreeBsdArchitecture */ + +# ifdef MidnightBSDArchitecture +# define ConfigH bsd4.4 +# endif /* MidnightBsdArchitecture */ + +# ifdef i386SVR4Architecture +# define ConfigH sysv4 +# ifdef DELL +# define NoCombineRegs +# endif +# endif + +#endif /* !ConfigH */ + +/* generic os's */ + +#ifndef ConfigH + +#if (SystemV == YES) +#define ConfigH sysv3 +#else +/* why this as a default? Why not? */ +#define ConfigH bsd +#endif + +#endif /* !ConfigH */ + +/**** libraries ****/ + +#if (SystemV == NO) || defined(HPArchitecture) || \ + defined(SQNTArchitecture) || defined(SequentArchitecture) || \ + defined(MacIIArchitecture) || defined(UseLibTermcap) +LIBTERMCAP = -ltermcap +#else +LIBTERMCAP = +#endif + +#if defined(SQNTArchitecture) || defined(SequentArchitecture) +LIBSQNT=-lsocket -linet -lnsl -lseq +#endif + +/* This may not be good enough - I don't have access to enough systems +to really test it. */ +#if (SystemV == YES) || defined(UseLibCurses) && !defined(HPArchitecture) +LIBCURSES = -lcurses +#else +LIBCURSES = +#endif + +#if defined(UseLibNet) +LIBNET = -lnet +#else +LIBNET = +#endif + +#if defined(UseLibSocket) +LIBSOCKET = -lsocket +#else +LIBSOCKET = +#endif + +#if defined(UseLibBSD) +LIBBSD = -lbsd +#else +LIBBSD = +#endif + +#if (defined(SGIArchitecture) && \ + (OSMajorVersion == 3) && (OSMinorVersion == 3)) || \ + defined(UseLibC_S) +LIBC_S = -lc_s +#else +LIBC_S = +#endif + +#if defined(UseLibSun) +LIBSUN = -lsun +#else +LIBSUN = +#endif + +#if defined(UseLibCposix) +LIBCPOSIX = -lcposix +#else +LIBCPOSIX = +#endif + +#if defined(UseLibInet) +LIBINET = -linet +#else +LIBINET = +#endif + +#if defined(UseLibDir) +LIBDIRECT = -ldir +#else +LIBDIRECT = +#endif + +#if defined(UseLibX) +LIBX = -lx +#else +LIBX = +#endif + +#if defined(UseLibIntl) +LIBINTL = -lintl +#else +LIBINTL = +#endif + +#if (HasLibCrypt == YES) +LIBCRYPT = -lcrypt +#else +LIBCRYPT = +#endif + +#if defined(MacIIArchitecture) || defined(UseLibPosix) +LIBPOSIX = -lposix +#else +LIBPOSIX = +#endif + +#if defined(ATTArchitecture) || defined(UseLibDirent) +LIBDIRECTENT = -ldirent +#else +LIBDIRECTENT = +#endif + +/* The order here is significant. Although nothing uses all of these, +some platforms which use more than one do care about the order. */ + +SYSLIBS = $(LIBPOSIX) $(LIBDIRECTENT) $(LIBTERMCAP) $(LIBCURSES) \ + $(LIBNET) $(LIBINTL) $(LIBSOCKET) $(LIBSUN) $(LIBBSD) $(LIBCPOSIX) \ + $(LIBINET) $(LIBDIRECT) $(LIBX) $(LIBC_S) $(LIBSQNT) $(LIBCRYPT) + +/* Past here, nothing should need to be changed to compile on a different +platform, unless you have a really weird architecture. */ + +#ifdef MyCC +CC = MyCC +#else +# if HasGcc +# if HasGcc2 +CC = gcc +# else +# ifdef NoCombineRegs +CC = gcc -finline-functions -fstrength-reduce +# else +CC = gcc -fcombine-regs -finline-functions -fstrength-reduce +# endif +# endif +# else +CC = cc +# endif +#endif + +#ifdef HESIOD +HESLIB = -L/usr/athena/lib -lhesiod +/* it seems to me that the -I shouldn't be necessary, but there seems +to be a bug in the Imake stuff, so here it is. */ +HESDEF = -DHESIOD -I/usr/athena/include +#else +HESLIB = +HESDEF = +#endif + +#ifdef AFS +#ifndef AFSDIR +AFSDIR = /usr/afsws +#endif +#ifdef AFS33 +#define AFS33LIB -laudit +#else +#define AFS33LIB +#endif +/* Auxilliary libs needed for AFS */ +/* Both HPUX and Solaris need the BSD libraries. We need -lc before + * the bsd library to avoid using any more of it than is necessary. + */ +#if defined(HPArchitecture) +#define AFSAUXLIB -lc -lBSD +/* This is probably a kludge, but so is imake. */ +#else +#if defined(SunArchitecture) && (OSMajorVersion == 5) +#define AFSAUXLIB -lsocket -lnsl -lc -lucb +#else +#define AFSAUXLIB +#endif +#endif /* AFSAUXLIB */ +AFSLIB = -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lkauth -lprot -lubik\ + -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\ + $(AFSDIR)/lib/afs/util.a AFS33LIB AFSAUXLIB +AFSDEF = -DAFS -I$(AFSDIR)/include +#else +AFSLIB = +AFSDEF = +#endif + +/* This is encore specific, but I don't know what encore's #define is, +and it shouldn't hurt to have it here, so here it is */ +PARALLEL=12 # Make the multi-max run fast. + +#ifndef TcshTop +#define TcshTop /usr/local +#endif +TCSHTOP = TcshTop + +#ifndef ManSuffix +#define ManSuffix 1 +#endif +MANSUFFIX = ManSuffix + +#ifdef TcshPath +PATH_TCSHELL = TcshPath +TCSHPATH = -D_PATH_TCSHELL='"$(PATH_TCSHELL)"' +#else +TCSHPATH = +#endif + +#ifdef DestBin +TCSH_BINDIR = DestBin +#else +TCSH_BINDIR = $(TCSHTOP)/bin +#endif +#ifdef DestMan +TCSH_MANDIR = DestMan +#else +TCSH_MANDIR = $(TCSHTOP)/man/man$(MANSUFFIX) +#endif + +LOCALLIBS = + +#ifndef MyCflags +#define MyCflags +#endif + +#ifndef MyDefines +#define MyDefines +#endif + +#ifndef MyIncludes +#define MyIncludes +#endif + +#ifndef MyStdc +#define MyStdc +#endif + +#ifdef CDebugFlags +CDEBUGFLAGS = CDebugFlags +#else +# if HasGcc2 +CDEBUGFLAGS = -O2 +# else +CDEBUGFLAGS = -O +# endif +#endif + + +#ifdef HostType +HOSTTYPE=HostType +HTDEF = -DHOSTTYPE='"$(HOSTTYPE)"' +#else +HTDEF = +#endif + +DEFINES = $(TCSHPATH) $(HESDEF) $(AFSDEF) $(HTDEF) MyDefines MyCflags MyStdc +INCLUDES = -I. MyIncludes +#ifdef MyLibs +LDLIBS = MyLibs +#endif + +SUF = o +VERSION = 6.12 + +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 sh.lex.c \ + sh.misc.c sh.parse.c sh.print.c sh.proc.c \ + sh.sem.c sh.set.c sh.time.c glob.c \ + sh.char.h sh.dir.h sh.proc.h sh.h \ + sh.decls.h glob.h ${SYSSRCS} +SHOBJS= sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \ + sh.char.${SUF} sh.exp.${SUF} sh.file.${SUF} sh.func.${SUF} \ + sh.glob.${SUF} sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} \ + sh.misc.${SUF} sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} \ + sh.sem.${SUF} sh.set.${SUF} sh.time.${SUF} glob.${SUF} ${SYSOBJS} + +TWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ + tw.comp.c tw.color.c +TWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \ + tw.comp.${SUF} tw.color.${SUF} + +EDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ + ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h +EDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \ + ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} + +TCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ + tc.func.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ + tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ + tc.who.c tc.h +TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.disc.${SUF} tc.func.${SUF} tc.os.${SUF} tc.printf.${SUF} \ + tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + +MISCF = Makefile.std Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ + README.imake complete.tcsh vmsreadme.txt Makefile.vms termcap.vms \ + snames.h host.defs gethost.c tcsh.man2html Makefile.in configure.ac \ + Makefile.win32 aclocal.m4 +CONFSRCS=config/[a-z]* + + +SRCS = $(SHSRCS) $(TWSRCS) $(EDSRCS) $(TCSRCS) +OBJS = $(SHOBJS) $(TWOBJS) $(EDOBJS) $(TCOBJS) + +ALLSRCS= $(MISCF) $(SRCS) $(EXTF) + +AllTarget(tcsh) + +ed.defns.h: config.h ed.defns.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '#ifndef _h_ed_defns' >> $@ + @echo '#define _h_ed_defns' >> $@ + egrep '[FV]_' ed.defns.c | egrep '^#define' >> $@ + @echo '#endif /* _h_ed_defns */' >> $@ + +sh.err.h: config.h sh.err.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '#ifndef _h_sh_err' >> $@ + @echo '#define _h_sh_err' >> $@ + egrep 'ERR_' sh.err.c | egrep '^#define' >> $@ + @echo '#endif /* _h_sh_err */' >> $@ + +tc.const.h: config.h tc.const.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '#ifndef _h_tc_const' >> $@ + @echo '#define _h_tc_const' >> $@ + ${CC} -E $(INCLUDES) ${DEFINES} -D_h_tc_const tc.const.c | \ + grep 'Char STR' | \ + sed -e 's/Char \([a-zA-Z0-9_]*\)\[\].*/extern Char \1[];/' | \ + sort >> $@ + @echo '#endif /* _h_tc_const */' >> $@ + +config.h: config_f.h + cp config/ConfigH config.h + +$(OBJS): sh.err.h tc.const.h ed.defns.h + +tar.Z: + rm -f tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tar.gz: + rm -f tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + +shar: + rm -f tcsh-*.shar + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \ + tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \ + tcsh-${VERSION}/?*/set?* + rm -rf tcsh-${VERSION} + +catalogs: + @(cd nls; make catalogs) + +world: + $(MAKE) clean ; $(MAKE) depend ; $(MAKE) tcsh ; $(MAKE) install + +clean:: + rm -f ed.defns.h sh.err.h tc.const.h config.h tc.defs.* + rm -f tcsh.*.m tcsh.*.cat + +depend:: config.h ed.defns.h sh.err.h tc.const.h $(SRCS) tc.defs.c + +tc.defs.${SUF}: tc.defs.c sh.h + +tc.defs.c: gethost host.defs + @rm -f $@ + @echo "/* Do not edit this file, make creates it */" > $@ + ./gethost host.defs >> $@ + +ALIB=$(HESLIB) $(AFSLIB) $(SYSLIBS) +AINC=ed.defns.h sh.err.h tc.const.h sh.h + +NormalProgramTarget(tcsh, $(OBJS), $(AINC), $(LOCALLIBS), $(ALIB)) +NormalProgramTarget(gethost, gethost.${SUF}, $(AINC), $(LOCALLIBS), $(ALIB)) + +InstallProgram(tcsh,$(TCSH_BINDIR)) +InstallManPage(tcsh,$(TCSH_MANDIR)) +DependTarget() Index: vendor/tcsh/6.20.00/MAKEDIFFS =================================================================== --- vendor/tcsh/6.20.00/MAKEDIFFS (nonexistent) +++ vendor/tcsh/6.20.00/MAKEDIFFS (revision 315513) @@ -0,0 +1,41 @@ +#!/bin/sh +# +# MAKEDIFFS.sh: Make context diffs for the csh sources +# +# $tcsh: MAKEDIFFS,v 3.1 2006/03/02 18:46:44 christos Exp $ +XINUDIR=/usr/share/src/mtXinu/bin/csh +BSDDIR=/usr/share/src/mtXinu/BSD/bin/csh +TAHOEDIR=/usr/share/src/mtXinu/TAHOE/bin/csh +RENODIR=/usr/share/src/mtXinu/RENO/bin/csh +TCSHDIR=`pwd` +case "x$1" in +xxinu) + CSHDIR=$XINUDIR;; +xbsd) + CSHDIR=$BSDDIR;; +xtahoe) + CSHDIR=$TAHOEDIR;; +xreno) + CSHDIR=$RENODIR;; +x*) + echo "Usage: `basename $0` [bsd|tahoe|xinu|reno]";exit 1;; +esac +DIFF1='sh.c sh.char.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.exp.c sh.file.c' +DIFF2='sh.func.c sh.glob.c sh.hist.c sh.init.c sh.lex.c sh.misc.c sh.parse.c sh.print.c' +DIFF3='sh.proc.c sh.sem.c sh.set.c sh.time.c sh.char.h sh.dir.h sh.h sh.local.h sh.proc.h' + +for i in $DIFF1 +do + diff -c $CSHDIR/$i $TCSHDIR/$i +done > DIFFS.1 + +for i in $DIFF2 +do + diff -c $CSHDIR/$i $TCSHDIR/$i +done > DIFFS.2 + +for i in $DIFF3 +do + diff -c $CSHDIR/$i $TCSHDIR/$i +done > DIFFS.3 +exit 0 Property changes on: vendor/tcsh/6.20.00/MAKEDIFFS ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: vendor/tcsh/6.20.00/MAKESHAR =================================================================== --- vendor/tcsh/6.20.00/MAKESHAR (nonexistent) +++ vendor/tcsh/6.20.00/MAKESHAR (revision 315513) @@ -0,0 +1,121 @@ +#!/bin/sh +# +# MAKESHAR.sh: Make a shar file for the sources +# +# $tcsh: MAKESHAR,v 3.2 2006/03/02 18:46:44 christos Exp $ + +AWK=/usr/bin/nawk # Must be nawk or gawk cause of 2D arrays +WC=/usr/ucb/wc +GREP=/usr/bin/egrep +SORT=/usr/bin/sort +SH=/bin/sh + +dirs= +name=kit +files= +verbose=0 +size=45000 + +for i +do + case $i in + -n) + name=;; + -v) + verbose=1;; + -d) + SH=/bin/cat;; + -s) + size=$1;; + *) + if [ -z "$name" ] + then + name=$i + elif [ -d $i ] + then + dirs="$dirs $i" + elif [ -f $i ] + then + files="$files $i" + else + echo "$0: File `$i' not found." 1>&2 + exit 1 + fi;; + esac +done + +if [ \( -z "$files" \) -a \( -z "$dirs" \) ] +then + echo "Usage: $0 [-n name] [-s size] [-vd] ." 1>&2 + exit 1 +fi + +$WC $files | $GREP -v total | $SORT +2 | $AWK ' + BEGIN { + i = 0; + seq = 1; + size = 0; + name = 1; + used = 2; + verbose='"$verbose"'; + tty = "/dev/tty"; + maxsize = '"$size"'; + dirs = "'"$dirs"'"; + }; + { + a[i, size] = $3; + a[i, name] = $4; + a[i, used] = 0; + i++; + }; + END { + for (maxi = i--; i >= 0; i--) { + idx = 0; + if (a[i, used] == 0) { + if (verbose && a[i, size] > maxsize) + printf("Warning: File %s is %d > %d\n", + a[i, name], a[i, size], maxsize) > tty; + s = a[i, size]; + a[i, used] = 1; + kit[seq, idx++] = i; + j = 0; + while (j < maxi) { + # Find the greatest file we can add + j = maxi; + for (k = 0; k < maxi; k++) + if (a[k, used] == 0 && a[k, size] + s < maxsize) + j = k; + if (j < maxi) { + s += a[j, size]; + a[j, used] = 1; + kit[seq, idx++] = j; + } + } + sizes[seq] = s; + kit[seq++, idx] = -1; + } + } + for (i = 1; i < seq; i++) { + printf("shar -n%d -e%d %s ", i, seq - 1, dirs); + if (verbose) { + printf("%3d of %3d: ", i, seq - 1) > tty; + len = 12; + } + for (j = 0; kit[i, j] != -1; j++) { + s = a[kit[i, j], name]; + if (verbose) { + clen = length(s) + 1; + len += clen; + if (len > 70) { + printf("\n ") > tty; + len = 12 + clen; + } + printf("%s ", s) > tty; + } + printf("%s ", s); + } + printf("> '"$name"'-%d.shar;", i); + if (verbose) + printf("= %5d\n", sizes[i]) > tty; + } + }' | $SH Property changes on: vendor/tcsh/6.20.00/MAKESHAR ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: vendor/tcsh/6.20.00/Makefile.in =================================================================== --- vendor/tcsh/6.20.00/Makefile.in (nonexistent) +++ vendor/tcsh/6.20.00/Makefile.in (revision 315513) @@ -0,0 +1,779 @@ +# $tcsh: Makefile.in,v 3.59 2015/08/24 20:09:04 kim Exp $ +# Makefile.in 4.3 6/11/83 +# +# C Shell with process control; VM/UNIX VAX Makefile +# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria +# +# With an input editor, command completion, etc. and ported to all sorts of +# things; Paul Placeway, CIS Dept., Ohio State University +# +SHELL=/bin/sh +VERSION=@PACKAGE_VERSION@ +BUILD=tcsh$(EXEEXT) +VPATH=@srcdir@ +srcdir=@srcdir@ + +################################################################ +## CFLAGS. For various -D things, see config.h +################################################################ +# +# These are the default suffixes from .c to .o and -c to get there +# but to use the global optimizer on the mips boxes, see below +# +SUF=o +CF=-c + +CPPFLAGS=-I. -I$(srcdir) + +LFLAGS= +# hpux lint +#LFLAGS= -Zn10000 + + +# This is set by autoconf: +CFLAGS = @CFLAGS@ +# debug: +#CFLAGS= -g +# production: +#CFLAGS= -O +# Broken optimizers.... +#CFLAGS= + +#CFLAGS= -g -pg -DPROF +#CFLAGS= -O -pg -DPROF + +# gcc 1.00-1.37 +#CFLAGS= -O -finline-functions -fstrength-reduce + +# gcc 1.37-1.40 +#CFLAGS= -O -fcombine-regs -finline-functions -fstrength-reduce +# add -msoft-float for 68881 machines. + +# gcc 2.0 +# On the sparc, don't use -O2; it breaks setjmp() and vfork() +#CFLAGS= -O + +# gcc-2.1+ +#CFLAGS= -O2 + +# lucid c on suns +#CFLAGS= -O5 + +# gcc 2.1 on linux +#CFLAGS= -O6 -fomit-frame-pointer + +# HP/UX 8.0, 9.0 +#CFLAGS= +O3 -Aa + +# Ultrix 4.2a +#CFLAGS= -O -Olimit 2000 + +# Intel Paragon OSF/1 with PGI compilers +#CFLAGS= -O -Mnodebug -Mnoperfmon + +# DEC Alpha OSF/1 +## Normal Optimization +#CFLAGS= -O2 -Olimit 2000 +## Full Optimization - may not work +#CFLAGS= -O3 -Olimit 2000 +#CF=-j +#SUF=u +#.SUFFIXES: .u + +# for silicon graphics (and other mips compilers) -- use the +# global optimizer! (-O3). +# On SGI 4.0+ you need to add -D__STDC__ too. +#CFLAGS= -O3 +## Ultrix 4.2a +#CFLAGS= -O3 -Olimit 2000 +#CF=-j +#SUF=u +#.SUFFIXES: .u ## Ultrix and gnu-make need that + +# mips systems +# CFLAGS= -O -systype bsd43 -Wf,-XNd5000 -Wf,-XNp6000 -Olimit 2000 + +# for at&t machines +#CFLAGS= -O -Ksd + +# Stardent Titan +#CFLAGS = -O -43 + +# Stardent Stellar or sunos4 /bin/cc or Solaris2.1 /opt/SUNWspro/bin/cc +#CFLAGS = -O4 + +# Intergraph clipper CLIX 3.1 +#CFLAGS= -w -O2 + +# Dnix 5.3 +#CFLAGS = -O -X7 + +# Pyramid OS/x +#CFLAGS = -OG + +# Multiflow (5M binary... if you choose -O5!) +#CFLAGS = -O5 -sb_trace 0 + +# DDE Supermax Unix SYSV Rel III. +# CFLAGS= -O3 + +# SINIX RMx00 +#CFLAGS= -O# -D_POSIX_SOURCE# -kansi + +# Apollo's with cc [apollo builtins don't work with gcc] +# and apollo should not define __STDC__ if it does not have +# the standard header files. RT's (aos4.3) need that too; +# you might want to skip the -O on the rt's... Not very wise. +# AIX/ESA needs -D_IBMESA on command line (this may disappear by GA) +#DFLAGS=-U__STDC__ +#DFLAGS=-D_IBMESA +# On aix2.2.1 we need more compiler space. +#DFLAGS=-Nd4000 -Nn3000 +# AU/X 2.0 needs a flag for POSIX (read the config file) +#DFLAGS=-Zp +# Tektronix 4300 running UTek 4.0 (BSD 4.2) needs: +#DFLAGS = -DUTek -DBSD +# VMS_POSIX needs: +#DFLAGS=-D_VMS_POSIX +# Multiflow and PCC compilers don't like void typedefs. +# You may also need -U__STDC__ if you use pcc (i.e. ibmrt aos4.3). +#DFLAGS=-DMULTIFLOW +#DFLAGS=-DPCC +# DELL SVR4 +#DFLAGS=-DDELL +#DFLAGS= +#DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"' +## The following is set by autoconf. +DFLAGS = -D_PATH_TCSHELL='"${bindir}/tcsh"' @DFLAGS@ @CPPFLAGS@ + + +################################################################ +## LDFLAGS. Define something here if you need to +################################################################ +## This is set by autoconf: +LDFLAGS= @LDFLAGS@ +## The simplest, suitable for all. +#LDFLAGS= +## Stripped. Takes less space on disk. +#LDFLAGS= -s +## Pure executable. Spares paging over the network for machines with +## local swap but external /usr/local/bin . +#LDFLAGS= -s -n +## Without dynamic linking. (SunOS/cc) +#LDFLAGS= -s -n -Bstatic +## Without dynamic linking. (SunOS/gcc) +#LDFLAGS= -s -n -static +## Stripped, shared text (Unicos) +#LDFLAGS= -Wl,-s,-n +## Link statically. (linux) +#LDFLAGS= -s -static +## Impure executable (linux) +#LDFLAGS= -s -N + +################################################################ +## SBINLDFLAGS. Flags to build a tcsh suitable for installation in +## in /sbin under Solaris with gcc. See the "tcsh.sbin" +## target. +################################################################ +SBINLDFLAGS=-Wl,-R/etc/lib,-I/etc/lib/ld.so.1,-ldl,-Bstatic + +################################################################ +## LIBES. Pick one, or roll your own. +################################################################ +## This is set by autoconf. +LIBES= @LIBS@ +## BSD style things +#LIBES= -ltermcap +## SunOS, HP-UX, pyramid +#LIBES= -ltermcap +## Linux +#LIBES= -ltermcap +## Linux with PW_SHADOW +#LIBES= -ltermcap -lshadow +## Tek XD88/10 (UTekV) with PW_SHADOW +#LIBES= -ltermcap -lsec +## Motorola MPC (sysV88) with PW_SHADOW +#LIBES= -ltermcap -lsec +## Mach +#LIBES= -ltermcap -lcs +## DEC osf1 on the alpha +#LIBES= -ltermcap -lbsd +## Intel paragon +#LIBES= -ltermcap -lbsd +## Clipper intergraph +#LIBES= -ltermcap -lbsd +## Sequent's Dynix +#LIBES= -ltermcap -lseq +## Ultrix with Enhanced Security +#LIBES= -ltermcap -lauth +## Xenix 386 style things +#LIBES= -ltermcap -ldir -lx +## masscomp RTU6.0 +#LIBES= -ltermcap -lndir -lsocket -ljobs +## AIX on the rt +#LIBES= -lcurses +## TitanOS on the stellar +#LIBES= -lcurses +## SysV4 w/o BSDTIMES or Solaris 2 +#LIBES= -ltermlib -lsocket -lnsl +## SysV3 w/o networking +#LIBES= -lcurses +## SysV3 with networking +#LIBES= -lcurses -lnet +## SysV2 w/o networking & dirlib +#LIBES= -lcurses -ldir +## SysV2 with networking & dirlib +#LIBES= -lcurses -ldir -lnet +## AIX on the IBM 370 or rs6000 or ps2 +#LIBES= -lcurses -lbsd +## ETA10 +#LIBES= -lcurses -lbsd +## Irix3.1 on the SGI-IRIS4D +#LIBES= -lcurses -lbsd +## Irix3.3 on the SGI-IRIS4D w/o yp +#LIBES= -lcurses -lbsd -lc_s +## Irix3.3 on the SGI-IRIS4D with yp +#LIBES= -lcurses -lsun -lbsd -lc_s +## Amdahl UTS 2.1 +#LIBES= -lcurses -lsocket -lbsd +## Intel's hypercube. +#LIBES= -lcurses -lsocket +## ns32000 based Opus. +#LIBES= -lcurses -lsocket +## ISC 2.2 without networking +#LIBES= -lcurses -lcposix +## ISC 2.2 with networking +#LIBES= -lcposix -lc_s -lcurses -linet +## ISC 2.0.2 without networking +#LIBES= -lcurses -lsec -lc_s +## ISC 2.0.2 with networking +#LIBES= -lcurses -linet -lsec -lc_s +## SCO SysVR3.2v2.0 +#LIBES= -lcurses -lintl -lcrypt +## SCO+ODT1.1 +#LIBES= -lcurses -lintl -lsocket -lcrypt +## A/UX 2.0 +#LIBES= -lposix -ltermcap +## A/UX 3.0 +#LIBES= -lposix -ltermcap -lc_s +## att3b1 cc w/o shared lib & dirlib +#LIBES= -ldirent -lcurses +## att3b1 gcc with shared lib & dirlib +#LIBES= -shlib -ldirent -lcurses +## SysV4 with BSDTIMES +#LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a +## Stardent Vistra +#LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a +## emx under OS/2 +#LIBES= -ltermc +## Minix, VMS_POSIX +#LIBES= +## Multiflow +#LIBES= -ltermcap -lcrypt +## NetBSD +#LIBES= -ltermcap -lcrypt +## DDE Supermax +#LIBES= -lcurses + +################################################################ +## EXTRAFLAGS and EXTRALIBS +################################################################ +# Compiling for AFS with kerberos authentication +#AFSLIBDIR = /usr/afsws/lib +#AFSDEF = -DAFS -I/usr/afsws/include +#AFS33LIB = -laudit +# +#Solaris and HPUX require the BSD libraries with AFS. +#We use -lc to use only what we require. +# Solaris +#AFSAUXLIB = -lsocket -lnsl -lc -lucb +# HPUX +#AFSAUXLIB = -lc -lBSD +# +#AFSLIB = -L$(AFSLIBDIR) -L$(AFSLIBDIR)/afs -lkauth -lprot -lubik\ +# -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\ +# $(AFSLIBDIR)/afs/util.a $(AFS33LIB) $(AFSAUXLIB) +# + +EXTRAFLAGS = @HESDEF@ $(AFSDEF) +EXTRALIBS = @HESLIB@ $(AFSLIB) @LIBICONV@ + + + +# The difficult choice of a c-compiler... +# First, you should try your own c-compiler. +# Gcc -traditional is also a safe choice. +# If you think that you have good include files try gcc -Wall... +# If you want to take out -traditional, make sure that your sys/ioctl.h +# is fixed correctly, otherwise you'll be stopped for tty input, or you +# will lose the editor and job control. + +# This is for setting your C preprocessor value. +# This is set by autoconf. +CPP = @CPP@ +# The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which +# on the suns does not know how to make dynamically linked binaries. +# This is set by autoconf. +CC = @CC@ +#CC= gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Werror -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wsign-compare -Wcast-qual -Wreturn-type -Wswitch -Wshadow -Wwrite-strings -Wextra -Wcast-qual -Wwrite-strings -Wold-style-definition -Wuninitialized -Wpointer-sign +# -Wconversion -Wformat=2 -ansi -pedantic +#CC= gcc -Wall -pipe -B/bin/ +# Generate code for Intel 486 (linux) +#CC= gcc -m486 -pipe -Wall +# BSDI2.1 w/ shared libraries +#CC= shlicc +#CC= cc +#CC= occ +#CC= acc +#CC= pcc +#CC= hc -w +# For VMS/POSIX +#CC= c89 +# For suns, w/o gcc and SVR4 +#CC= /bin/cc +# FPS 500 (+FPX) with Sun C compiler +#CC= /usr/lib/sun.compile/cc +# Solaris 2.1 +#CC= /opt/SUNWspro/bin/cc +# Alliant fx2800 +#CC= scc +# for NEC SX-4 +#CC= cc -h0,ansi,novector,float0 +#CC= lcc -wa +CC_FOR_GETHOST = @CC_FOR_GETHOST@ +ED= ed +AS= as +RM= rm +CXREF= /usr/ucb/cxref +VGRIND= csh /usr/ucb/vgrind +CTAGS= /usr/ucb/ctags +#XSTR= /usr/ucb/xstr +SCCS= /usr/local/sccs +# Make the multi-max run fast. +PARALLEL=12 +# Use Sequent's parallel make +#P=& +P= +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +mandir=@datarootdir@/man +MANSECT=1 +DESTBIN=${DESTDIR}${bindir} +DESTMAN=${DESTDIR}${mandir}/man${MANSECT} +# A/UX +# DESTMAN=${DESTDIR}/catman/man${MANSECT} +# Stardent Vistra (SysVR4) +# DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} +# Amiga unix (SysVR4) +# DESTMAN=/usr/catman/1l +EXEEXT=@EXEEXT@ +FTPAREA=/usr/spool/ftp + +BUILD_CATALOGS = @BUILD_CATALOGS@ + +ASSRCS= 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 \ + sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \ + sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h \ + tw.color.c +PSSRCS= sh.decls.h glob.c glob.h dotlock.c dotlock.h mi.termios.c mi.wait.h mi.varargs.h ma.setp.c \ + vms.termcap.c +SHSRCS= ${ASSRCS} ${PSSRCS} +SHOBJS= sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \ + sh.char.${SUF} sh.exp.${SUF} sh.file.${SUF} sh.func.${SUF} \ + sh.glob.${SUF} sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} \ + sh.misc.${SUF} sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} \ + sh.sem.${SUF} sh.set.${SUF} sh.time.${SUF} glob.${SUF} dotlock.${SUF} \ + mi.termios.${SUF} ma.setp.${SUF} vms.termcap.${SUF} + +TWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ + tw.comp.c tw.color.c +TWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \ + tw.comp.${SUF} tw.color.${SUF} + +EDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ + ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h +EDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \ + ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} + +TCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ + tc.func.c tc.nls.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ + tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ + tc.who.c tc.h +TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.disc.${SUF} tc.func.${SUF} tc.nls.${SUF} tc.os.${SUF} tc.printf.${SUF} \ + tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + +PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 +AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ + README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ + host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ + tests/testsuite.at aclocal.m4 +TESTFILES= tests/aliases.at tests/arguments.at tests/commands.at \ + tests/expr.at tests/lexical.at tests/mb-eucjp.at \ + tests/mb-utf8.at tests/noexec.at tests/parenthesis.at tests/syntax.at \ + tests/subst.at tests/variables.at tests/sh.dol.at + +VHSRCS=${PVSRCS} ${AVSRCS} + +CONFSRCS=config/* + +ALLSRCS= ${SHSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${VHSRCS} +DISTSRCS= ${PSSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${AVSRCS} $(TESTFILES) + + +OBJS= ${SHOBJS} ${TWOBJS} ${EDOBJS} ${TCOBJS} + + +all: ${BUILD} catalogs + +tcsh$(EXEEXT):$(P) ${OBJS} + rm -f tcsh$(EXEEXT) core + ${CC} -o tcsh$(EXEEXT) ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} + +tcsh.sbin:$(P) ${OBJS} + rm -f tcsh.sbin core + ${CC} -o tcsh.sbin ${SBINLDFLAGS} ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} + +# Purify +pure:$(P) ${OBJS} + rm -f tcsh$(EXEEXT) core + purify `echo ${CC} | sed -e s,-B/bin/,,` -o tcsh$(EXEEXT) ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} +# OS/2 +#tcsh.exe: tcsh +# emxbind tcsh + +gethost: gethost.c sh.err.h tc.const.h sh.h + rm -f gethost + ${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} $(srcdir)/gethost.c + +tc.defs.c: gethost host.defs + @rm -f $@.tmp + @echo "/* Do not edit this file, make creates it */" > $@.tmp + ./gethost $(srcdir)/host.defs >> $@.tmp + @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi + +tcsh.ps: tcsh.man + rm -f tcsh.ps + -ptroff -t -man $(srcdir)/tcsh.man > tcsh.ps + +.c.${SUF}: + ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< + +.SUFFIXES: .s .i + +.c.i: + ${CC} -E ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< | cat -s > $@ + +.c.s: + ${CC} -S ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< + +# _VMS_POSIX #module addition +#.c.${SUF}: +# @(echo '#module '`echo $< | sed -e 's/\./_/g'`; cat $<) > $*..c +# @echo ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*.c +# @${CC} ${CF} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*..c +# @mv $*..o $*.o +# @rm -f $*..c + + +# Don't do any special massaging of C files for sharing of strings!! +# it causes weird segmentation faults on some systems. +#.c.o: +# ${CPP} ${CFLAGS} ${CPPFLAGS} $*.c | ${XSTR} -c - +# ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} x.c +# mv -f x.o $*.o +# rm -f x.c + +#ed.init.o: ed.init.c +# ${CPP} ${CFLAGS} ${CPPFLAGS} $*.c | ${XSTR} -c - +# ${CC} -R ${CF} ${CFLAGS} ${CPPFLAGS} x.c +# mv -f x.o $*.o +# rm -f x.c + +#strings.o: strings +# ${XSTR} +# ${CC} -c -R xs.c +# mv -f xs.o strings.o +# rm -f xs.c + +##.DEFAULT: +## ${SCCS} get $< + +##.DEFAULT: +## co $< + +ed.defns.h: ed.defns.c + @rm -f $@.tmp + @echo '/* Do not edit this file, make creates it. */' > $@.tmp + @echo '#ifndef _h_ed_defns' >> $@.tmp + @echo '#define _h_ed_defns' >> $@.tmp + grep '[FV]_' $(srcdir)/ed.defns.c | grep '^#define' >> $@.tmp + @echo '#endif /* _h_ed_defns */' >> $@.tmp + @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi + +sh.err.h: sh.err.c + @rm -f $@.tmp + @echo '/* Do not edit this file, make creates it. */' > $@.tmp + @echo '#ifndef _h_sh_err' >> $@.tmp + @echo '#define _h_sh_err' >> $@.tmp + grep 'ERR_' $(srcdir)/sh.err.c | grep '^#define' >> $@.tmp + @echo '#endif /* _h_sh_err */' >> $@.tmp + @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi + +tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h + @rm -f $@.tmp + @echo '/* Do not edit this file, make creates it. */' > $@.tmp + @echo '#ifndef _h_tc_const' >> $@.tmp + @echo '#define _h_tc_const' >> $@.tmp + ${CPP} $(CPPFLAGS) ${DFLAGS} ${EXTRAFLAGS} -D_h_tc_const\ + $(srcdir)/tc.const.c | \ + sed -n -e 's/^\(Char STR[a-zA-Z0-9_]*\) *\[ *\].*/extern \1[];/p' | \ + LC_COLLATE=C sort >> $@.tmp + @echo '#endif /* _h_tc_const */' >> $@.tmp + @if [ -f $@ ] && cmp -s $@.tmp $@; then echo $@ unchanged.; rm -f $@.tmp; else mv -f $@.tmp $@; echo $@ recreated.; fi + +$(srcdir)/tests/package.m4: $(srcdir)/configure.ac + { \ + echo '# Signature of the current package.'; \ + echo 'm4_define([AT_PACKAGE_NAME], [@PACKAGE_NAME@])'; \ + echo 'm4_define([AT_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \ + echo 'm4_define([AT_PACKAGE_VERSION], [@PACKAGE_VERSION@])'; \ + echo 'm4_define([AT_PACKAGE_STRING], [@PACKAGE_STRING@])'; \ + echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \ + } >$(srcdir)/tests/package.m4 + +$(srcdir)/tests/testsuite: $(srcdir)/tests/package.m4 $(srcdir)/tests/testsuite.at $(TESTFILES) + autom4te --language=autotest -I $(srcdir)/tests \ + $(srcdir)/tests/testsuite.at -o $@.tmp + mv $@.tmp $@ + +atconfig: config.status + $(SHELL) ./config.status ./atconfig + + +csh.prof: ${OBJS} sh.prof.${SUF} mcrt0.${SUF} + rm -f csh.prof + ld -X mcrt0.${SUF} ${OBJS} -o csh.prof ${LIBES} -lc + +sh.prof.${SUF}: + cp sh.c sh.prof.c + ${CC} ${CF} ${CFLAGS} ${CPPFLAGS} -DPROF sh.prof.c + +lint: tc.const.h ed.defns.h + lint ${DFLAGS} ${CPPFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} + +alint: tc.const.h ed.defns.h + alint ${DFLAGS} ${CPPFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} + +print: + @pr READ_ME + @pr makefile makefile.* + @(size -l a.out; size *.${SUF}) | pr -h SIZES + @${CXREF} sh*.c | pr -h XREF + @ls -l | pr + @pr sh*.h [a-rt-z]*.h sh*.c alloc.c + +vprint: + @pr -l84 READ_ME TODO + @pr -l84 makefile makefile.* + @(size -l a.out; size *.${SUF}) | pr -l84 -h SIZES + @${CXREF} sh*.c | pr -l84 -h XREF + @ls -l | pr -l84 + @${CXREF} sh*.c | pr -l84 -h XREF + @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c + +vgrind: + @cp /dev/null index + @for i in *.h; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done + @for i in *.c; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done + @vgrind -t -x -h Index index >/crp/bill/csh/index.t + +install-strip: install + -strip ${DESTBIN}/tcsh$(EXEEXT) + +install: tcsh$(EXEEXT) install.catalogs install.man + -mkdir -p ${DESTBIN} + -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old + cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT) + chmod 755 ${DESTBIN}/tcsh$(EXEEXT) + +install.catalogs: + @test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} install DESTDIR=${DESTDIR}) || exit 0 + +install.man: tcsh.man + -mkdir -p ${DESTMAN} + -rm -f ${DESTMAN}/tcsh.${MANSECT} + cp $(srcdir)/tcsh.man ${DESTMAN}/tcsh.${MANSECT} + chmod 444 ${DESTMAN}/tcsh.${MANSECT} + +# Amiga Unix +#install.man: tcsh.man +# compress tcsh.man +# cp tcsh.man.Z ${DESTMAN}/tcsh.Z +# chmod 444 ${DESTMAN}/tcsh.Z + +# Apple A/UX +#install.man: tcsh.man +# -rm -f ${DESTMAN}/tcsh.${MANSECT}.Z +# nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z +# chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z + +clean: clean.catalogs + ${RM} -f a.out strings x.c xs.c tcsh$(EXEEXT) tcsh.a _MAKE_LOG gethost + ${RM} -f *.${SUF} *.i *.s + ${RM} -f sh.prof.c ed.defns.h tc.const.h sh.err.h tc.defs.c + ${RM} -f tcsh.*.m tcsh.*.cat + +clean.catalogs: + @test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} clean) || exit 0 + +veryclean: clean + ${RM} -f Makefile config.h config_p.h + ${RM} -f config.status config.cache config.log tcsh.ps + ${RM} -f missing + ${RM} -rf autom4te.cache + ${RM} -f *~ #* + +distclean: veryclean + +cleandir: veryclean + +tags: /tmp + ${CTAGS} sh*.c + +tar.Z: + rm -f tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + -mkdir tcsh-${VERSION} tcsh-${VERSION}/config tcsh-${VERSION}/tests + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tar.gz: + rm -f tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + -mkdir tcsh-${VERSION} tcsh-${VERSION}/config tcsh-${VERSION}/tests + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + +shar: + rm -f tcsh-*.shar + rm -rf tcsh-${VERSION} + -mkdir tcsh-${VERSION} tcsh-${VERSION}/config tcsh-${VERSION}/tests + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \ + tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \ + tcsh-${VERSION}/?*/set?* + rm -rf tcsh-${VERSION} + +catalogs: + @test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} catalogs) || exit 0 + +tcsh-${VERSION}.tar.Z: + rm -rf tcsh-${VERSION} + rm -f tcsh-${VERSION}.tar tcsh-${VERSION}.tar.Z DIFFS.[123] + -mkdir tcsh-${VERSION} tcsh-${VERSION}/tests + ./MAKEDIFFS bsd + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh-${VERSION} + cp ${DISTSRCS} tcsh-${VERSION} + -mkdir tcsh-${VERSION}/config + cp ${CONFSRCS} tcsh-${VERSION}/config + cp Makefile tcsh-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tcsh.tahoe-${VERSION}.tar.Z: + rm -rf tcsh.tahoe-${VERSION} + rm -f tcsh.tahoe-${VERSION}.tar tcsh.tahoe-${VERSION}.tar.Z DIFFS.[123] + -mkdir tcsh.tahoe-${VERSION} + ./MAKEDIFFS tahoe + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.tahoe-${VERSION} + cp ${DISTSRCS} tcsh.tahoe-${VERSION} + -mkdir tcsh.tahoe-${VERSION}/config + cp ${CONFSRCS} tcsh.tahoe-${VERSION}/config + cp Makefile tcsh.tahoe-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh.tahoe-${VERSION} | compress > tcsh.tahoe-${VERSION}.tar.Z + rm -rf tcsh.tahoe-${VERSION} + +tcsh.reno-${VERSION}.tar.Z: + rm -rf tcsh.reno-${VERSION} + rm -f tcsh.reno-${VERSION}.tar tcsh.reno-${VERSION}.tar.Z DIFFS.[123] + -mkdir tcsh.reno-${VERSION} + ./MAKEDIFFS reno + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.reno-${VERSION} + cp ${DISTSRCS} tcsh.reno-${VERSION} + -mkdir tcsh.reno-${VERSION}/config + cp ${CONFSRCS} tcsh.reno-${VERSION}/config + cp Makefile tcsh.reno-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh.reno-${VERSION} | compress > tcsh.reno-${VERSION}.tar.Z + rm -rf tcsh.reno-${VERSION} + +ftp: tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z + cp tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z ${FTPAREA} + cp tcsh.man ${FTPAREA} + +autoconfigure: $(srcdir)/configure $(srcdir)/config.h.in + +$(srcdir)/configure: $(srcdir)/configure.ac + cd $(srcdir) && autoconf + +$(srcdir)/config.h.in: $(srcdir)/stamp-h.in +$(srcdir)/stamp-h.in: $(srcdir)/configure.ac + cd $(srcdir) && autoheader + @echo timestamp > $(srcdir)/stamp-h.in + +check: atconfig $(srcdir)/tests/testsuite + $(SHELL) $(srcdir)/tests/testsuite + +# +# Dependencies +# +config.h: config_f.h + +TCH=tc.h tc.const.h tc.decls.h tc.nls.h tc.os.h tc.sig.h +SHH=sh.h sh.types.h sh.char.h sh.err.h sh.dir.h sh.proc.h pathnames.h \ + sh.decls.h ${TCH} +TWH=tw.h tw.decls.h +EDH=ed.h ed.decls.h + +# EDH +EDINC=sh.${SUF} sh.func.${SUF} sh.lex.${SUF} sh.print.${SUF} sh.proc.${SUF} \ + sh.set.${SUF} tc.bind.${SUF} tc.os.${SUF} tc.prompt.${SUF} \ + tc.sched.${SUF} tw.parse.${SUF} tw.color.${SUF} +${EDOBJS} ${EDINC} : ${EDH} + +# SHH +${OBJS}: config.h ${SHH} + +# TWH +TWINC=ed.chared.${SUF} ed.inputl.${SUF} sh.exec.${SUF} sh.func.${SUF} \ + sh.set.${SUF} tc.func.${SUF} tc.nls.${SUF} tw.color.${SUF} +${TWOBJS} ${TWINC}: ${TWH} + +# glob.h +glob.${SUF} sh.glob.${SUF}: glob.h + +# dotlock.h +dotlock.${SUF}: dotlock.h + +# ed.defns.h +EDDINC=tc.bind.${SUF} tc.func.${SUF} tc.os.${SUF} +${EDOBJS} ${EDDINC}: ed.defns.h + +# tc.defs.o +tc.defs.${SUF}: tc.defs.c sh.h Index: vendor/tcsh/6.20.00/Makefile.man2html =================================================================== --- vendor/tcsh/6.20.00/Makefile.man2html (nonexistent) +++ vendor/tcsh/6.20.00/Makefile.man2html (revision 315513) @@ -0,0 +1,17 @@ +# +# Create the HTML version of the manual page +# + +CGI=tcsh.html/tcsh.cgi + +tcsh.html/top.html: tcsh.man tcsh.man2html + perl tcsh.man2html -i + -rm -f tcsh.html/index.html + chmod -R a+rX tcsh.html + mv ${CGI} ${CGI}.bak + sed -e '1s,^.*$$,#!/usr/bin/perl,' < ${CGI}.bak > ${CGI} + chmod a+rx ${CGI} + rm -f ${CGI}.bak + +clean: + -rm -rf tcsh.html Property changes on: vendor/tcsh/6.20.00/Makefile.man2html ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: vendor/tcsh/6.20.00/Makefile.std =================================================================== --- vendor/tcsh/6.20.00/Makefile.std (nonexistent) +++ vendor/tcsh/6.20.00/Makefile.std (revision 315513) @@ -0,0 +1,632 @@ +# $tcsh: Makefile.std,v 1.100 2015/08/24 20:09:04 kim Exp $ +# Makefile.std 4.3 6/11/83 +# +# C Shell with process control; VM/UNIX VAX Makefile +# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria +# +# With an input editor, command completion, etc. and ported to all sorts of +# things; Paul Placeway, CIS Dept., Ohio State University +# +SHELL=/bin/sh +VERSION=6.12 +BUILD=tcsh +srcdir=. + +################################################################ +## CFLAGS. For various -D things, see config.h +################################################################ +# +# These are the default suffixes from .c to .o and -c to get there +# but to use the global optimizer on the mips boxes, see below +# +SUF=o +CF=-c + +INCLUDES=-I. -I$(srcdir) + +LFLAGS=$(INCLUDES) +#LFLAGS=$(INCLUDES) -Zn10000 # hpux lint + + +#CFLAGS= $(INCLUDES) -g # debug +#CFLAGS= $(INCLUDES) -O # production +#CFLAGS= $(INCLUDES) # Broken optimizers.... + +#CFLAGS= -g -pg $(INCLUDES) -DPROF +#CFLAGS= -O -pg $(INCLUDES) -DPROF + +# gcc 1.00-1.37 +#CFLAGS=-O $(INCLUDES) -finline-functions -fstrength-reduce + +# gcc 1.37-1.40 +#CFLAGS=-O $(INCLUDES) -fcombine-regs -finline-functions -fstrength-reduce +# add -msoft-float for 68881 machines. + +# gcc 2.0 +# On the sparc, don't use -O2; it breaks setjmp() and vfork() +#CFLAGS=-O $(INCLUDES) + +# gcc-2.1+ +CFLAGS=-O2 $(INCLUDES) + +# lucid c on suns +#CFLAGS=-O5 $(INCLUDES) + +# gcc 2.1 on linux +#CFLAGS=-O6 -fomit-frame-pointer $(INCLUDES) + +# HP/UX 8.0, 9.0 +#CFLAGS= $(INCLUDES) +O3 -Aa + +# Ultrix 4.2a +#CFLAGS= $(INCLUDES) -O -Olimit 2000 + +# Intel Paragon OSF/1 with PGI compilers +#CFLAGS=-O -Mnodebug -Mnoperfmon $(INCLUDES) + +# DEC Alpha OSF/1 +#CFLAGS= -O2 $(INCLUDES) -Olimit 2000 ## Normal Optimization +#CFLAGS= -O3 $(INCLUDES) -Olimit 2000 ## Full Optimization - may not work +#CF=-j +#SUF=u +#.SUFFIXES: .u + +# for silicon graphics (and other mips compilers) -- use the +# global optimizer! (-O3). +# On SGI 4.0+ you need to add -D__STDC__ too. +#CFLAGS= -O3 $(INCLUDES) +#CFLAGS= -O3 $(INCLUDES) -Olimit 2000 ## Ultrix 4.2a +#CF=-j +#SUF=u +#.SUFFIXES: .u ## Ultrix and gnu-make need that + +# mips systems +# CFLAGS= $(INCLUDES) -O -systype bsd43 -Wf,-XNd5000 -Wf,-XNp6000 -Olimit 2000 + +# for at&t machines +#CFLAGS= -O -Ksd $(INCLUDES) + +# Stardent Titan +#CFLAGS = $(INCLUDES) -O -43 + +# Stardent Stellar or sunos4 /bin/cc or Solaris2.1 /opt/SUNWspro/bin/cc +#CFLAGS = $(INCLUDES) -O4 + +# Intergraph clipper CLIX 3.1 +#CFLAGS= -w -O2 $(INCLUDES) + +# Dnix 5.3 +#CFLAGS = -O -X7 + +# Pyramid OS/x +#CFLAGS = -OG + +# Multiflow (5M binary... if you choose -O5!) +#CFLAGS = -O5 -sb_trace 0 + +# DDE Supermax Unix SYSV Rel III. +# CFLAGS= -O3 + +# SINIX RMx00 +#CFLAGS= -O # -D_POSIX_SOURCE # -kansi + +# Minix-VMD +# CFLAGS= -O -D_ANSI_H -I /usr/include/bsdcompat $(INCLUDES) + +# Apollo's with cc [apollo builtins don't work with gcc] +# and apollo should not define __STDC__ if it does not have +# the standard header files. RT's (aos4.3) need that too; +# you might want to skip the -O on the rt's... Not very wise. +# AIX/ESA needs -D_IBMESA on command line (this may disappear by GA) +#DFLAGS=-U__STDC__ +#DFLAGS=-D_IBMESA +# On aix2.2.1 we need more compiler space. +#DFLAGS=-Nd4000 -Nn3000 +# AU/X 2.0 needs a flag for POSIX (read the config file) +#DFLAGS=-Zp +# Tektronix 4300 running UTek 4.0 (BSD 4.2) needs: +#DFLAGS = -DUTek -DBSD +# VMS_POSIX needs: +#DFLAGS=-D_VMS_POSIX +# Multiflow and PCC compilers don't like void typedefs. +# You may also need -U__STDC__ if you use pcc (i.e. ibmrt aos4.3). +#DFLAGS=-DMULTIFLOW +#DFLAGS=-DPCC +# DELL SVR4 +#DFLAGS=-DDELL +# SCO_SV +#DFLAGS=-D_SPEED_T -DSCO +DFLAGS= +#DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"' + + +################################################################ +## LDFLAGS. Define something here if you need to +################################################################ +LDFLAGS= ## The simplest, suitable for all. +#LDFLAGS= -s ## Stripped. Takes less space on disk. +#LDFLAGS= -s -n ## Pure executable. Spares paging over +# ## the network for machines with local +# ## swap but external /usr/local/bin . +#LDFLAGS= -s -n -Bstatic ## Without dynamic linking. (SunOS/cc) +#LDFLAGS= -s -n -static ## Without dynamic linking. (SunOS/gcc) +#LDFLAGS= -Wl,-s,-n ## Stripped, shared text (Unicos) +#LDFLAGS= -s -static ## Link statically. (linux) +#LDFLAGS= -s -N ## Impure executable (linux) +#LDFLAGS= -Bdynamic -dy ## SCO_SV + +################################################################ +## LIBES. Pick one, or roll your own. +################################################################ +LIBES= -ltermcap ## BSD style things +#LIBES= -ltermcap ## SunOS, HP-UX, pyramid +#LIBES= -ltermcap ## Linux +#LIBES= -ltermcap -lshadow ## Linux with PW_SHADOW +#LIBES= -ltermcap -lsec ## Tek XD88/10 (UTekV) with PW_SHADOW +#LIBES= -ltermcap -lsec ## Motorola MPC (sysV88) with PW_SHADOW +#LIBES= -ltermcap -lcs ## Mach +#LIBES= -ltermcap -lbsd ## DEC osf1 on the alpha +#LIBES= -ltermcap -lbsd ## Intel paragon +#LIBES= -ltermcap -lbsd ## Clipper intergraph +#LIBES= -ltermcap -lseq ## Sequent's Dynix +#LIBES= -ltermcap -lauth ## Ultrix with Enhanced Security +#LIBES= -ltermcap -ldir -lx ## Xenix 386 style things +#LIBES= -ltermcap -lndir -lsocket -ljobs ## masscomp RTU6.0 +#LIBES= -lcurses ## AIX on the rt +#LIBES= -lcurses ## TitanOS on the stellar +#LIBES= -ltermlib -lsocket -lnsl ## SysV4 w/o BSDTIMES or Solaris 2 +#LIBES= -lcurses ## SysV3 w/o networking +#LIBES= -lcurses -lnet ## SysV3 with networking +#LIBES= -lcurses -ldir ## SysV2 w/o networking & dirlib +#LIBES= -lcurses -ldir -lnet ## SysV2 with networking & dirlib +#LIBES= -lcurses -lbsd ## AIX on the IBM 370 or rs6000 or ps2 +#LIBES= -lcurses -lbsd ## ETA10 +#LIBES= -lcurses -lbsd ## Irix3.1 on the SGI-IRIS4D +#LIBES= -lcurses -lbsd -lc_s ## Irix3.3 on the SGI-IRIS4D w/o yp +#LIBES= -lcurses -lsun -lbsd -lc_s ## Irix3.3 on the SGI-IRIS4D with yp +#LIBES= -lcurses -lsocket -lbsd ## Amdahl UTS 2.1 +#LIBES= -lcurses -lsocket ## Intel's hypercube. +#LIBES= -lcurses -lsocket ## ns32000 based Opus. +#LIBES= -lcurses -lcposix ## ISC 2.2 without networking +#LIBES= -lcposix -lc_s -lcurses -linet ## ISC 2.2 with networking +#LIBES= -lcurses -lsec -lc_s ## ISC 2.0.2 without networking +#LIBES= -lcurses -linet -lsec -lc_s ## ISC 2.0.2 with networking +#LIBES= -lcurses -lintl -lcrypt ## SCO SysVR3.2v2.0 +#LIBES= -lcurses -lintl -lsocket -lcrypt ## SCO+ODT1.1 +#LIBES= -lcurses -lsocket -lcrypt ## SCO_SV +#LIBES= -lposix -ltermcap ## A/UX 2.0 +#LIBES= -lposix -ltermcap -lc_s ## A/UX 3.0 +#LIBES= -ldirent -lcurses ## att3b1 cc w/o shared lib & dirlib +#LIBES= -shlib -ldirent -lcurses ## att3b1 gcc with shared lib & dirlib +#LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a ## SysV4 with BSDTIMES +#LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a ## Stardent Vistra +#LIBES= -ltermc ## emx under OS/2 +#LIBES= ## Minix, VMS_POSIX +#LIBES= -ltermcap -lcrypt ## Multiflow +#LIBES= -ltermcap -lcrypt ## NetBSD +#LIBES= -lcurses ## DDE Supermax + +################################################################ +## EXTRAFLAGS and EXTRALIBS +################################################################ +# Compiling for HESIOD +#HESDEF = -DHESIOD -I/usr/athena/include +#HESLIB = -L/usr/athena/lib -lhesiod +# +# Compiling for AFS with kerberos authentication +#AFSLIBDIR = /usr/afsws/lib +#AFSDEF = -DAFS -I/usr/afsws/include +#AFS33LIB = -laudit +# +#Solaris and HPUX require the BSD libraries with AFS. +#We use -lc to use only what we require. +#AFSAUXLIB = -lsocket -lnsl -lc -lucb # Solaris +#AFSAUXLIB = -lc -lBSD # HPUX +# +#AFSLIB = -L$(AFSLIBDIR) -L$(AFSLIBDIR)/afs -lkauth -lprot -lubik\ +# -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\ +# $(AFSLIBDIR)/afs/util.a $(AFS33LIB) $(AFSAUXLIB) +# + +EXTRAFLAGS = $(HESDEF) $(AFSDEF) +EXTRALIBS = $(HESLIB) $(AFSLIB) + + +# The difficult choice of a c-compiler... +# First, you should try your own c-compiler. +# Gcc -traditional is also a safe choice. +# If you think that you have good include files try gcc -Wall... +# If you want to take out -traditional, make sure that your sys/ioctl.h +# is fixed correctly, otherwise you'll be stopped for tty input, or you +# will lose the editor and job control. + +# This is for setting your C preprocessor value. +CPP = ${CC} -E +# The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which +# on the suns does not know how to make dynamically linked binaries. +CC= gcc -Wall -pipe -B/bin/ # -ansi -pedantic +#CC= gcc -m486 -pipe -Wall # Generate code for Intel 486 (linux) +#CC= shlicc # BSDI2.1 w/ shared libraries +#CC= cc +#CC= occ +#CC= acc +#CC= pcc +#CC= hc -w +#CC= c89 # For VMS/POSIX +#CC= /bin/cc # For suns, w/o gcc and SVR4 +#CC= /usr/lib/sun.compile/cc # FPS 500 (+FPX) with Sun C compiler +#CC= /opt/SUNWspro/bin/cc # Solaris 2.1 +#CC= scc # Alliant fx2800 +#CC= lcc -wa +#CC= cc -b elf -Kpic # SCO_SV +ED= ed +AS= as +RM= rm +CXREF= /usr/ucb/cxref +#CXREF= /bin/cxref # SCO_SV +VGRIND= csh /usr/ucb/vgrind +CTAGS= /usr/ucb/ctags +#CTAGS= /usr/bin/ctags # SCO_SV +#XSTR= /usr/ucb/xstr +#XSTR= /usr/bin/xstr # SCO_SV +SCCS= /usr/local/sccs +PARALLEL=12 # Make the multi-max run fast. +#P=& # Use Sequent's parallel make +P= +DESTDIR=/usr/local +#DESTDIR=/usr/contrib +MANSECT=1 +DESTBIN=${DESTDIR}/bin +DESTMAN=${DESTDIR}/man/man${MANSECT} +# DESTMAN=${DESTDIR}/catman/man${MANSECT} # A/UX +# DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} # Stardent Vistra (SysVR4) +# DESTMAN=/usr/catman/1l # Amiga unix (SysVR4) +FTPAREA=/usr/spool/ftp + +ASSRCS= 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 \ + sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \ + sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h +PSSRCS= sh.decls.h glob.c glob.h dotlock.c dotlock.h mi.termios.c mi.wait.h mi.varargs.h ma.setp.c \ + vms.termcap.c +SHSRCS= ${ASSRCS} ${PSSRCS} +SHOBJS= sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \ + sh.char.${SUF} sh.exp.${SUF} sh.file.${SUF} sh.func.${SUF} \ + sh.glob.${SUF} sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} \ + sh.misc.${SUF} sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} \ + sh.sem.${SUF} sh.set.${SUF} sh.time.${SUF} glob.${SUF} dotlock.${SUF} \ + mi.termios.${SUF} ma.setp.${SUF} vms.termcap.${SUF} + +TWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ + tw.comp.c tw.color.c +TWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \ + tw.comp.${SUF} tw.color.${SUF} + +EDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ + ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h +EDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \ + ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} + +TCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ + tc.func.c tc.nls.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ + tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ + tc.who.c tc.h +TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.disc.${SUF} tc.func.${SUF} tc.nls.${SUF} tc.os.${SUF} tc.printf.${SUF} \ + tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + +PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 +AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ + README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ + host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ + aclocal.m4 + +VHSRCS=${PVSRCS} ${AVSRCS} + +CONFSRCS=config/* + +ALLSRCS= ${SHSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${VHSRCS} +DISTSRCS= ${PSSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${AVSRCS} + + +OBJS= ${SHOBJS} ${TWOBJS} ${EDOBJS} ${TCOBJS} + + +all: ${BUILD} + +tcsh:$(P) ${OBJS} + rm -f tcsh core + ${CC} -o tcsh ${LDFLAGS} ${CFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} + +# Purify +pure:$(P) ${OBJS} + rm -f tcsh core + purify `echo ${CC} | sed -e s,-B/bin/,,` -o tcsh ${LDFLAGS} ${CFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} +# OS/2 +tcsh.exe: tcsh + emxbind tcsh + +gethost: gethost.c sh.err.h tc.const.h sh.h + rm -f gethost + ${CC} -o gethost ${LDFLAGS} ${CFLAGS} ${DFLAGS} $(srcdir)/gethost.c ${LIBES} ${EXTRALIBS} + +tc.defs.c: gethost host.defs + @rm -f $@ + @echo "/* Do not edit this file, make creates it */" > $@ + ./gethost $(srcdir)/host.defs >> $@ + +tcsh.ps: tcsh.man + rm -f tcsh.ps + -ptroff -t -man $(srcdir)/tcsh.man > tcsh.ps + + +.c.${SUF}: + ${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< + +# _VMS_POSIX #module addition +#.c.${SUF}: +# @(echo '#module '`echo $< | sed -e 's/\./_/g'`; cat $<) > $*..c +# @echo ${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*.c +# @${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*..c +# @mv $*..o $*.o +# @rm -f $*..c + + +# Don't do any special massaging of C files for sharing of strings!! +# it causes weird segmentation faults on some systems. +#.c.o: +# ${CPP} ${CFLAGS} $*.c | ${XSTR} -c - +# ${CC} ${CF} ${CFLAGS} x.c +# mv -f x.o $*.o +# rm -f x.c + +#ed.init.o: ed.init.c +# ${CPP} ${CFLAGS} $*.c | ${XSTR} -c - +# ${CC} -R ${CF} ${CF} x.c +# mv -f x.o $*.o +# rm -f x.c + +#strings.o: strings +# ${XSTR} +# ${CC} -c -R xs.c +# mv -f xs.o strings.o +# rm -f xs.c + +##.DEFAULT: +## ${SCCS} get $< + +##.DEFAULT: +## co $< + +ed.defns.h: ed.defns.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '#ifndef _h_ed_defns' >> $@ + @echo '#define _h_ed_defns' >> $@ + grep '[FV]_' $(srcdir)/ed.defns.c | grep '^#define' >> $@ + @echo '#endif /* _h_ed_defns */' >> $@ + +sh.err.h: sh.err.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '#ifndef _h_sh_err' >> $@ + @echo '#define _h_sh_err' >> $@ + grep 'ERR_' $(srcdir)/sh.err.c | grep '^#define' >> $@ + @echo '#endif /* _h_sh_err */' >> $@ + +tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '#ifndef _h_tc_const' >> $@ + @echo '#define _h_tc_const' >> $@ + ${CPP} $(INCLUDES) ${DFLAGS} ${EXTRAFLAGS} -D_h_tc_const\ + $(srcdir)/tc.const.c | grep 'Char STR' | \ + sed -e 's/Char \([a-zA-Z0-9_]*\) *\[ *\].*/extern Char \1[];/' | \ + LC_COLLATE=C sort >> $@ + @echo '#endif /* _h_tc_const */' >> $@ + +csh.prof: ${OBJS} sh.prof.${SUF} mcrt0.${SUF} + rm -f csh.prof + ld -X mcrt0.${SUF} ${OBJS} -o csh.prof ${LIBES} -lc + +sh.prof.${SUF}: + cp sh.c sh.prof.c + ${CC} ${CF} ${CFLAGS} -DPROF sh.prof.c + +lint: tc.const.h ed.defns.h + lint ${DFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} + +alint: tc.const.h ed.defns.h + alint ${DFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} + +print: + @pr READ_ME + @pr makefile makefile.* + @(size -l a.out; size *.${SUF}) | pr -h SIZES + @${CXREF} sh*.c | pr -h XREF + @ls -l | pr + @pr sh*.h [a-rt-z]*.h sh*.c alloc.c + +vprint: + @pr -l84 READ_ME TODO + @pr -l84 makefile makefile.* + @(size -l a.out; size *.${SUF}) | pr -l84 -h SIZES + @${CXREF} sh*.c | pr -l84 -h XREF + @ls -l | pr -l84 + @${CXREF} sh*.c | pr -l84 -h XREF + @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c + +vgrind: + @cp /dev/null index + @for i in *.h; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done + @for i in *.c; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done + @vgrind -t -x -h Index index >/crp/bill/csh/index.t + +install: tcsh + -mv -f ${DESTBIN}/tcsh ${DESTBIN}/tcsh.old + cp tcsh ${DESTBIN}/tcsh + -strip ${DESTBIN}/tcsh + chmod 555 ${DESTBIN}/tcsh + +install.man: tcsh.man + -rm -f ${DESTMAN}/tcsh.${MANSECT} + cp $(srcdir)/tcsh.man ${DESTMAN}/tcsh.${MANSECT} + chmod 444 ${DESTMAN}/tcsh.${MANSECT} + +# Amiga Unix +#install.man: tcsh.man +# compress tcsh.man +# cp tcsh.man.Z ${DESTMAN}/tcsh.Z +# chmod 444 ${DESTMAN}/tcsh.Z + +# Apple A/UX +#install.man: tcsh.man +# -rm -f ${DESTMAN}/tcsh.${MANSECT}.Z +# nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z +# chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z + +clean: + ${RM} -f a.out strings x.c xs.c tcsh tcsh.a _MAKE_LOG core gethost + ${RM} -f *.${SUF} sh.prof.c ed.defns.h tc.const.h sh.err.h tc.defs.c + ${RM} -f tcsh.*.m tcsh.*.cat + +veryclean: clean + ${RM} -f config.h config.status config.cache config.log Makefile tcsh.ps + ${RM} -f *~ #* + +distclean: veryclean + +tags: /tmp + ${CTAGS} sh*.c + +tar.Z: + rm -f tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tar.gz: + rm -f tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + +shar: + rm -f tcsh-*.shar + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \ + tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \ + tcsh-${VERSION}/?*/set?* + rm -rf tcsh-${VERSION} + +catalogs: + @(cd nls; make catalogs) + +tcsh-${VERSION}.tar.Z: + rm -rf tcsh-${VERSION} + rm -f tcsh-${VERSION}.tar tcsh-${VERSION}.tar.Z DIFFS.[123] + mkdir tcsh-${VERSION} + ./MAKEDIFFS bsd + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh-${VERSION} + cp ${DISTSRCS} tcsh-${VERSION} + mkdir tcsh-${VERSION}/config + cp ${CONFSRCS} tcsh-${VERSION}/config + cp Makefile tcsh-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tcsh.tahoe-${VERSION}.tar.Z: + rm -rf tcsh.tahoe-${VERSION} + rm -f tcsh.tahoe-${VERSION}.tar tcsh.tahoe-${VERSION}.tar.Z DIFFS.[123] + mkdir tcsh.tahoe-${VERSION} + ./MAKEDIFFS tahoe + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.tahoe-${VERSION} + cp ${DISTSRCS} tcsh.tahoe-${VERSION} + mkdir tcsh.tahoe-${VERSION}/config + cp ${CONFSRCS} tcsh.tahoe-${VERSION}/config + cp Makefile tcsh.tahoe-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh.tahoe-${VERSION} | compress > tcsh.tahoe-${VERSION}.tar.Z + rm -rf tcsh.tahoe-${VERSION} + +tcsh.reno-${VERSION}.tar.Z: + rm -rf tcsh.reno-${VERSION} + rm -f tcsh.reno-${VERSION}.tar tcsh.reno-${VERSION}.tar.Z DIFFS.[123] + mkdir tcsh.reno-${VERSION} + ./MAKEDIFFS reno + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.reno-${VERSION} + cp ${DISTSRCS} tcsh.reno-${VERSION} + mkdir tcsh.reno-${VERSION}/config + cp ${CONFSRCS} tcsh.reno-${VERSION}/config + cp Makefile tcsh.reno-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh.reno-${VERSION} | compress > tcsh.reno-${VERSION}.tar.Z + rm -rf tcsh.reno-${VERSION} + +ftp: tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z + cp tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z ${FTPAREA} + cp tcsh.man ${FTPAREA} + +autoconfigure: $(srcdir)/configure $(srcdir)/config.h.in + +$(srcdir)/configure: $(srcdir)/configure.ac + cd $(srcdir) && autoconf + +$(srcdir)/config.h.in: $(srcdir)/stamp-h.in +$(srcdir)/stamp-h.in: $(srcdir)/configure.ac + cd $(srcdir) && autoheader + @echo timestamp > $(srcdir)/stamp-h.in + +# +# Dependencies +# +config.h: config_f.h + +TCH=tc.h tc.const.h tc.decls.h tc.nls.h tc.os.h tc.sig.h +SHH=sh.h sh.types.h sh.char.h sh.err.h sh.dir.h sh.proc.h pathnames.h \ + sh.decls.h ${TCH} +TWH=tw.h tw.decls.h +EDH=ed.h ed.decls.h + +# EDH +EDINC=sh.${SUF} sh.func.${SUF} sh.lex.${SUF} sh.print.${SUF} sh.proc.${SUF} \ + sh.set.${SUF} tc.bind.${SUF} tc.os.${SUF} tc.prompt.${SUF} \ + tc.sched.${SUF} tw.parse.${SUF} tw.color.${SUF} +${EDOBJS} ${EDINC} : ${EDH} + +# SHH +${OBJS}: config.h ${SHH} + +# TWH +TWINC=ed.chared.${SUF} ed.inputl.${SUF} sh.exec.${SUF} sh.func.${SUF} \ + sh.set.${SUF} tc.func.${SUF} tc.nls.${SUF} tw.color.${SUF} +${TWOBJS} ${TWINC}: ${TWH} + +# glob.h +glob.${SUF} sh.glob.${SUF}: glob.h + +# dotlock.h +dotlock.${SUF}: dotlock.h + +# ed.defns.h +EDDINC=tc.bind.${SUF} tc.func.${SUF} tc.os.${SUF} +${EDOBJS} ${EDDINC}: ed.defns.h + +# tc.defs.o +tc.defs.${SUF}: tc.defs.c sh.h Index: vendor/tcsh/6.20.00/Makefile.vms =================================================================== --- vendor/tcsh/6.20.00/Makefile.vms (nonexistent) +++ vendor/tcsh/6.20.00/Makefile.vms (revision 315513) @@ -0,0 +1,594 @@ +# $tcsh: Makefile.vms,v 1.40 2014/07/07 20:34:58 christos Exp $ +# Makefile.vms 4.3 6/11/83 +# +# C Shell with process control; VM/UNIX VAX Makefile +# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria +# +# With an input editor, command completion, etc. and ported to all sorts of +# things; Paul Placeway, CIS Dept., Ohio State University +# +SHELL=/bin/sh +VERSION=6.12 +BUILD=tcsh + +################################################################ +## CFLAGS. For various -D things, see config.h +################################################################ +# +# These are the default suffixes from .c to .o and -c to get there +# but to use the global optimizer on the mips boxes, see below +# +SUF=o +CF=-c + +INCLUDES=-I. -I.. + +LFLAGS=$(INCLUDES) +#LFLAGS=$(INCLUDES) -Zn10000 # hpux lint + + +#CFLAGS= $(INCLUDES) -g # debug +#CFLAGS= $(INCLUDES) -O # production +#CFLAGS= $(INCLUDES) # Broken optimizers.... + +#CFLAGS= -g -pg $(INCLUDES) -DPROF +#CFLAGS= -O -pg $(INCLUDES) -DPROF + +# gcc 1.00-1.37 +#CFLAGS=-O $(INCLUDES) -finline-functions -fstrength-reduce + +# gcc 1.37-1.40 +#CFLAGS=-O $(INCLUDES) -fcombine-regs -finline-functions -fstrength-reduce +# add -msoft-float for 68881 machines. + +# gcc 2.0 +# On the sparc, don't use -O2; it breaks setjmp() and vfork() +#CFLAGS=-O $(INCLUDES) + +# gcc-2.1+ +#CFLAGS=-O2 $(INCLUDES) + +# lucid c on suns +#CFLAGS=-O5 $(INCLUDES) + +# gcc 2.1 on linux +#CFLAGS=-O6 -fomit-frame-pointer $(INCLUDES) + +# HP/UX 8.0, 9.0 +#CFLAGS= $(INCLUDES) +O3 -Aa + +# Ultrix 4.2a +#CFLAGS= $(INCLUDES) -O -Olimit 2000 + +# Intel Paragon OSF/1 with PGI compilers +#CFLAGS=-O -Mnodebug -Mnoperfmon $(INCLUDES) + +# DEC Alpha OSF/1 +#CFLAGS= -O2 $(INCLUDES) -Olimit 2000 ## Normal Optimization +#CFLAGS= -O3 $(INCLUDES) -Olimit 2000 ## Full Optimization - may not work +#CF=-j +#SUF=u +#.SUFFIXES: .u + +# for silicon graphics (and other mips compilers) -- use the +# global optimizer! (-O3). +# On SGI 4.0+ you need to add -D__STDC__ too. +#CFLAGS= -O3 $(INCLUDES) +#CFLAGS= -O3 $(INCLUDES) -Olimit 2000 ## Ultrix 4.2a +#CF=-j +#SUF=u +#.SUFFIXES: .u ## Ultrix and gnu-make need that + +# mips systems +# CFLAGS= $(INCLUDES) -O -systype bsd43 -Wf,-XNd5000 -Wf,-XNp6000 -Olimit 2000 + +# for at&t machines +#CFLAGS= -O -Ksd $(INCLUDES) + +# Stardent Titan +#CFLAGS = $(INCLUDES) -O -43 + +# Stardent Stellar or sunos4 /bin/cc or Solaris2.1 /opt/SUNWspro/bin/cc +#CFLAGS = $(INCLUDES) -O4 + +# Intergraph clipper CLIX 3.1 +#CFLAGS= -w -O2 $(INCLUDES) + +# Dnix 5.3 +#CFLAGS = -O -X7 + +# Pyramid OS/x +#CFLAGS = -OG + +# Multiflow (5M binary... if you choose -O5!) +#CFLAGS = -O5 -sb_trace 0 + +# DDE Supermax Unix SYSV Rel III. +# CFLAGS= -O3 + +# Apollo's with cc [apollo builtins don't work with gcc] +# and apollo should not define __STDC__ if it does not have +# the standard header files. RT's (aos4.3) need that too; +# you might want to skip the -O on the rt's... Not very wise. +# AIX/ESA needs -D_IBMESA on command line (this may disappear by GA) +#DFLAGS=-U__STDC__ +#DFLAGS=-D_IBMESA +# On aix2.2.1 we need more compiler space. +#DFLAGS=-Nd4000 -Nn3000 +# AU/X 2.0 needs a flag for POSIX (read the config file) +#DFLAGS=-Zp +# Tektronix 4300 running UTek 4.0 (BSD 4.2) needs: +#DFLAGS = -DUTek -DBSD +# VMS_POSIX needs: +#DFLAGS=-D_VMS_POSIX +# Multiflow +#DFLAGS=-DMULTIFLOW +# DELL SVR4 +#DFLAGS=-DDELL +DFLAGS= +#DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"' + + +################################################################ +## LDFLAGS. Define something here if you need to +################################################################ +LDFLAGS= ## The simplest, suitable for all. +#LDFLAGS= -s ## Stripped. Takes less space on disk. +#LDFLAGS= -s -n ## Pure executable. Spares paging over +# ## the network for machines with local +# ## swap but external /usr/local/bin . +#LDFLAGS= -s -n -Bstatic ## Without dynamic links. (SunOS) +#LDFLAGS= -Wl,-s,-n ## Stripped, shared text (Unicos) +#LDFLAGS= -s -static ## Link statically. (linux) +#LDFLAGS= -s -N ## Impure executable (linux) + +################################################################ +## LIBES. Pick one, or roll your own. +################################################################ +#LIBES= -ltermcap ## BSD style things +#LIBES= -ltermcap ## SunOS, HP-UX, pyramid +#LIBES= -ltermcap ## Linux +#LIBES= -ltermcap -lshadow ## Linux with PW_SHADOW +#LIBES= -ltermcap -lsec ## Tek XD88/10 (UTekV) with PW_SHADOW +#LIBES= -ltermcap -lsec ## Motorola MPC (sysV88) with PW_SHADOW +#LIBES= -ltermcap -lcs ## Mach +#LIBES= -ltermcap -lbsd ## DEC osf1 on the alpha +#LIBES= -ltermcap -lbsd ## Intel paragon +#LIBES= -ltermcap -lbsd ## Clipper intergraph +#LIBES= -ltermcap -lseq ## Sequent's Dynix +#LIBES= -ltermcap -lauth ## Ultrix with Enhanced Security +#LIBES= -ltermcap -ldir -lx ## Xenix 386 style things +#LIBES= -ltermcap -lndir -lsocket -ljobs ## masscomp RTU6.0 +#LIBES= -lcurses ## AIX on the rt +#LIBES= -lcurses ## TitanOS on the stellar +#LIBES= -ltermlib -lsocket -lnsl ## SysV4 w/o BSDTIMES or Solaris 2 +#LIBES= -lcurses ## SysV3 w/o networking +#LIBES= -lcurses -lnet ## SysV3 with networking +#LIBES= -lcurses -ldir ## SysV2 w/o networking & dirlib +#LIBES= -lcurses -ldir -lnet ## SysV2 with networking & dirlib +#LIBES= -lcurses -lbsd ## AIX on the IBM 370 or rs6000 or ps2 +#LIBES= -lcurses -lbsd ## ETA10 +#LIBES= -lcurses -lbsd ## Irix3.1 on the SGI-IRIS4D +#LIBES= -lcurses -lbsd -lc_s ## Irix3.3 on the SGI-IRIS4D w/o yp +#LIBES= -lcurses -lsun -lbsd -lc_s ## Irix3.3 on the SGI-IRIS4D with yp +#LIBES= -lcurses -lsocket -lbsd ## Amdahl UTS 2.1 +#LIBES= -lcurses -lsocket ## Intel's hypercube. +#LIBES= -lcurses -lsocket ## ns32000 based Opus. +#LIBES= -lcurses -lcposix ## ISC 2.2 without networking +#LIBES= -lcposix -lc_s -lcurses -linet ## ISC 2.2 with networking +#LIBES= -lcurses -lsec -lc_s ## ISC 2.0.2 without networking +#LIBES= -lcurses -linet -lsec -lc_s ## ISC 2.0.2 with networking +#LIBES= -lcurses -lintl -lcrypt ## SCO SysVR3.2v2.0 +#LIBES= -lcurses -lintl -lsocket -lcrypt ## SCO+ODT1.1 +#LIBES= -lposix -ltermcap ## A/UX 2.0 +#LIBES= -lposix -ltermcap -lc_s ## A/UX 3.0 +#LIBES= -ldirent -lcurses ## att3b1 cc w/o shared lib & dirlib +#LIBES= -shlib -ldirent -lcurses ## att3b1 gcc with shared lib & dirlib +#LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a ## SysV4 with BSDTIMES +#LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a ## Stardent Vistra +#LIBES= -ltermc ## emx under OS/2 +LIBES= ## Minix, VMS_POSIX +#LIBES= -ltermcap -lcrypt ## Multiflow +#LIBES= -ltermcap -lcrypt ## NetBSD +#LIBES= -lcurses ## DDE Supermax + +################################################################ +## EXTRAFLAGS and EXTRALIBS +################################################################ +# Compiling for HESIOD +#HESDEF = -DHESIOD -I/usr/athena/include +#HESLIB = -L/usr/athena/lib -lhesiod +# +# Compiling for AFS with kerberos authentication +#AFSLIBDIR = /usr/afsws/lib +#AFSDEF = -DAFS -I/usr/afsws/include +#AFS33LIB = -laudit +# +#Solaris and HPUX require the BSD libraries with AFS. +#We use -lc to use only what we require. +#AFSAUXLIB = -lsocket -lnsl -lc -lucb # Solaris +#AFSAUXLIB = -lc -lBSD # HPUX +# +#AFSLIB = -L$(AFSLIBDIR) -L$(AFSLIBDIR)/afs -lkauth -lprot -lubik\ +# -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\ +# $(AFSLIBDIR)/afs/util.a $(AFS33LIB) $(AFSAUXLIB) +# + +EXTRAFLAGS = $(HESDEF) $(AFSDEF) +EXTRALIBS = $(HESLIB) $(AFSLIB) + + +# The difficult choice of a c-compiler... +# First, you should try your own c-compiler. +# Gcc -traditional is also a safe choice. +# If you think that you have good include files try gcc -Wall... +# If you want to take out -traditional, make sure that your sys/ioctl.h +# is fixed correctly, otherwise you'll be stopped for tty input, or you +# will lose the editor and job control. + +# The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which +# on the suns does not know how to make dynamically linked binaries. +#CC= gcc -Wall -pipe -B/bin/ # -ansi -pedantic +#CC= gcc -m486 -pipe -Wall # Generate code for Intel 486 (linux) +#CC= cc +#CC= occ +#CC= acc +#CC= pcc +#CC= hc -w +CC= c89 # For VMS/POSIX +#CC= /bin/cc # For suns, w/o gcc and SVR4 +#CC= /usr/lib/sun.compile/cc # FPS 500 (+FPX) with Sun C compiler +#CC= /opt/SUNWspro/bin/cc # Solaris 2.1 +#CC= scc # Alliant fx2800 +#CC= lcc -wa +ED= ed +AS= as +RM= rm +CXREF= /usr/ucb/cxref +VGRIND= csh /usr/ucb/vgrind +CTAGS= /usr/ucb/ctags +#XSTR= /usr/ucb/xstr +SCCS= /usr/local/sccs +PARALLEL=12 # Make the multi-max run fast. +#P=& # Use Sequent's parallel make +P= +DESTDIR=/usr/local +MANSECT=1 +DESTBIN=${DESTDIR}/bin +DESTMAN=${DESTDIR}/man/man${MANSECT} +# DESTMAN=${DESTDIR}/catman/man${MANSECT} # A/UX +# DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} # Stardent Vistra (SysVR4) +# DESTMAN=/usr/catman/1l # Amiga unix (SysVR4) +FTPAREA=/usr/spool/ftp + +ASSRCS= 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 \ + sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \ + sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h +PSSRCS= sh.decls.h glob.c glob.h mi.termios.c mi.wait.h mi.varargs.h ma.setp.c \ + vms.termcap.c +SHSRCS= ${ASSRCS} ${PSSRCS} +SHOBJS= sh.${SUF} sh.dir.${SUF} sh.dol.${SUF} sh.err.${SUF} sh.exec.${SUF} \ + sh.char.${SUF} sh.exp.${SUF} sh.func.${SUF} sh.glob.${SUF} \ + sh.hist.${SUF} sh.init.${SUF} sh.lex.${SUF} sh.misc.${SUF} \ + sh.parse.${SUF} sh.print.${SUF} sh.proc.${SUF} sh.sem.${SUF} \ + sh.set.${SUF} sh.time.${SUF} glob.${SUF} mi.termios.${SUF} \ + ma.setp.${SUF} vms.termcap.${SUF} + +TWSRCS= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ + tw.comp.c tw.color.c +TWOBJS= tw.help.${SUF} tw.init.${SUF} tw.parse.${SUF} tw.spell.${SUF} \ + tw.comp.${SUF} tw.color.${SUF} + +EDSRCS= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ + ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h +EDOBJS= ed.chared.${SUF} ed.refresh.${SUF} ed.screen.${SUF} ed.init.${SUF} \ + ed.inputl.${SUF} ed.defns.${SUF} ed.xmap.${SUF} ed.term.${SUF} + +TCSRCS= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ + tc.func.c tc.os.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ + tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ + tc.who.c tc.h +TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ + tc.disc.${SUF} tc.func.${SUF} tc.os.${SUF} tc.os.${SUF} tc.printf.${SUF} \ + tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ + tc.vers.${SUF} tc.who.${SUF} + +PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 +AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ + WishList config_f.h eight-bit.me glob.3 patchlevel.h \ + pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ + README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ + host.defs gethost.c tcsh.man2html configure.ac aclocal.m4 + +VHSRCS=${PVSRCS} ${AVSRCS} + +CONFSRCS=config/* + +ALLSRCS= ${SHSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${VHSRCS} +DISTSRCS= ${PSSRCS} ${TWSRCS} ${EDSRCS} ${TCSRCS} ${AVSRCS} + + +OBJS= ${SHOBJS} ${TWOBJS} ${EDOBJS} ${TCOBJS} + + +all: ${BUILD} + +tcsh:$(P) ${OBJS} + rm -f tcsh core + ${CC} -o tcsh ${LDFLAGS} ${CFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} + +# Purify +pure:$(P) ${OBJS} + rm -f tcsh core + purify `echo ${CC} | sed -e s,-B/bin/,,` -o tcsh ${LDFLAGS} ${CFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} +# OS/2 +tcsh.exe: tcsh + emxbind tcsh + +gethost: gethost.c sh.err.h tc.const.h sh.h + rm -f gethost + ${CC} -o gethost ${LDFLAGS} ${CFLAGS} ${DFLAGS} gethost.c ${LIBES} ${EXTRALIBS} + +tc.defs.c: gethost host.defs + @rm -f $@ + @echo "/* Do not edit this file, make creates it */" > $@ + ./gethost host.defs >> $@ + +tcsh.ps: tcsh.man + rm -f tcsh.ps + -ptroff -man tcsh.man > tcsh.ps + + +#.c.${SUF}: +# ${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $< + +# _VMS_POSIX #module addition +.c.${SUF}: + @(echo '\#module '`echo $< | sed -e 's/\./_/g'`; cat $<) > $*..c + @echo ${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*.c + @${CC} ${CF} ${CFLAGS} ${DFLAGS} ${EXTRAFLAGS} $*..c + @mv $*..o $*.o + @rm -f $*..c + + +# Don't do any special massaging of C files for sharing of strings!! +# it causes weird segmentation faults on some systems. +#.c.o: +# ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c - +# ${CC} ${CF} ${CFLAGS} x.c +# mv -f x.o $*.o +# rm -f x.c + +#ed.init.o: ed.init.c +# ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c - +# ${CC} -R ${CF} ${CF} x.c +# mv -f x.o $*.o +# rm -f x.c + +#strings.o: strings +# ${XSTR} +# ${CC} -c -R xs.c +# mv -f xs.o strings.o +# rm -f xs.c + +##.DEFAULT: +## ${SCCS} get $< + +##.DEFAULT: +## co $< + +ed.defns.h: ed.defns.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '\#ifndef _h_ed_defns' >> $@ + @echo '\#define _h_ed_defns' >> $@ + grep '[FV]_' ed.defns.c | grep '^\#define' >> $@ + @echo '\#endif /* _h_ed_defns */' >> $@ + +sh.err.h: sh.err.c + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '\#ifndef _h_sh_err' >> $@ + @echo '\#define _h_sh_err' >> $@ + grep 'ERR_' sh.err.c | grep '^#define' >> $@ + @echo '\#endif /* _h_sh_err */' >> $@ + +tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h + @rm -f $@ + @echo '/* Do not edit this file, make creates it. */' > $@ + @echo '\#ifndef _h_tc_const' >> $@ + @echo '\#define _h_tc_const' >> $@ + ${CC} -E $(INCLUDES) ${DFLAGS} -D_h_tc_const tc.const.c | \ + grep 'Char STR' | \ + sed -e 's/Char \([a-zA-Z0-9_]*\) *\[ *\].*/extern Char \1[];/' | \ + sort >> $@ + @echo '\#endif /* _h_tc_const */' >> $@ + +csh.prof: ${OBJS} sh.prof.${SUF} mcrt0.${SUF} + rm -f csh.prof + ld -X mcrt0.${SUF} ${OBJS} -o csh.prof ${LIBES} -lc + +sh.prof.${SUF}: + cp sh.c sh.prof.c + ${CC} ${CF} ${CFLAGS} -DPROF sh.prof.c + +lint: tc.const.h ed.defns.h + lint ${DFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} + +alint: tc.const.h ed.defns.h + alint ${DFLAGS} ${LFLAGS} sh*.c tw*.c ed*.c tc.*.c ${LIBES} + +print: + @pr READ_ME + @pr makefile makefile.* + @(size -l a.out; size *.${SUF}) | pr -h SIZES + @${CXREF} sh*.c | pr -h XREF + @ls -l | pr + @pr sh*.h [a-rt-z]*.h sh*.c alloc.c + +vprint: + @pr -l84 READ_ME TODO + @pr -l84 makefile makefile.* + @(size -l a.out; size *.${SUF}) | pr -l84 -h SIZES + @${CXREF} sh*.c | pr -l84 -h XREF + @ls -l | pr -l84 + @${CXREF} sh*.c | pr -l84 -h XREF + @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c + +vgrind: + @cp /dev/null index + @for i in *.h; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done + @for i in *.c; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done + @vgrind -t -x -h Index index >/crp/bill/csh/index.t + +install: tcsh + -mv -f ${DESTBIN}/tcsh ${DESTBIN}/tcsh.old + cp tcsh ${DESTBIN}/tcsh + -strip ${DESTBIN}/tcsh + chmod 555 ${DESTBIN}/tcsh + +install.man: tcsh.man + -rm -f ${DESTMAN}/tcsh.${MANSECT} + cp tcsh.man ${DESTMAN}/tcsh.${MANSECT} + chmod 444 ${DESTMAN}/tcsh.${MANSECT} + +# Amiga Unix +#install.man: tcsh.man +# compress tcsh.man +# cp tcsh.man.Z ${DESTMAN}/tcsh.Z +# chmod 444 ${DESTMAN}/tcsh.Z + +# Apple A/UX +#install.man: tcsh.man +# -rm -f ${DESTMAN}/tcsh.${MANSECT}.Z +# nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z +# chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z + +clean: + ${RM} -f a.out strings x.c xs.c tcsh tcsh.a _MAKE_LOG core gethost + ${RM} -f *.${SUF} sh.prof.c ed.defns.h tc.const.h sh.err.h tc.defs.c + ${RM} -f tcsh.*.m tcsh.*.cat + +veryclean: clean + ${RM} -f config.h + ${RM} -f *~ #* + +tags: /tmp + ${CTAGS} sh*.c + +tar.Z: + rm -f tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tar.gz: + rm -f tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | gzip > tcsh-${VERSION}.tar.gz + rm -rf tcsh-${VERSION} + +shar: + rm -f tcsh-*.shar + rm -rf tcsh-${VERSION} + mkdir tcsh-${VERSION} tcsh-${VERSION}/config + cp ${ALLSRCS} tcsh-${VERSION} + cp ${CONFSRCS} tcsh-${VERSION}/config + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + MAKESHAR -v -n tcsh-${VERSION} tcsh-${VERSION} \ + tcsh-${VERSION}/?* tcsh-${VERSION}/config/?* \ + tcsh-${VERSION}/?*/set?* + rm -rf tcsh-${VERSION} + +catalogs: + @(cd nls; make catalogs) + +tcsh-${VERSION}.tar.Z: + rm -rf tcsh-${VERSION} + rm -f tcsh-${VERSION}.tar tcsh-${VERSION}.tar.Z DIFFS.[123] + mkdir tcsh-${VERSION} + ./MAKEDIFFS bsd + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh-${VERSION} + cp ${DISTSRCS} tcsh-${VERSION} + mkdir tcsh-${VERSION}/config + cp ${CONFSRCS} tcsh-${VERSION}/config + cp Makefile tcsh-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh-${VERSION} | compress > tcsh-${VERSION}.tar.Z + rm -rf tcsh-${VERSION} + +tcsh.tahoe-${VERSION}.tar.Z: + rm -rf tcsh.tahoe-${VERSION} + rm -f tcsh.tahoe-${VERSION}.tar tcsh.tahoe-${VERSION}.tar.Z DIFFS.[123] + mkdir tcsh.tahoe-${VERSION} + ./MAKEDIFFS tahoe + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.tahoe-${VERSION} + cp ${DISTSRCS} tcsh.tahoe-${VERSION} + mkdir tcsh.tahoe-${VERSION}/config + cp ${CONFSRCS} tcsh.tahoe-${VERSION}/config + cp Makefile tcsh.tahoe-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh.tahoe-${VERSION} | compress > tcsh.tahoe-${VERSION}.tar.Z + rm -rf tcsh.tahoe-${VERSION} + +tcsh.reno-${VERSION}.tar.Z: + rm -rf tcsh.reno-${VERSION} + rm -f tcsh.reno-${VERSION}.tar tcsh.reno-${VERSION}.tar.Z DIFFS.[123] + mkdir tcsh.reno-${VERSION} + ./MAKEDIFFS reno + mv DIFFS.1 DIFFS.2 DIFFS.3 tcsh.reno-${VERSION} + cp ${DISTSRCS} tcsh.reno-${VERSION} + mkdir tcsh.reno-${VERSION}/config + cp ${CONFSRCS} tcsh.reno-${VERSION}/config + cp Makefile tcsh.reno-${VERSION}/Makefile.new + tar cf - nls/Makefile nls/?*/set?* | (cd tcsh-${VERSION}; tar xpf -) + tar cvf - tcsh.reno-${VERSION} | compress > tcsh.reno-${VERSION}.tar.Z + rm -rf tcsh.reno-${VERSION} + +ftp: tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z + cp tcsh-${VERSION}.tar.Z tcsh.tahoe-${VERSION}.tar.Z ${FTPAREA} + cp tcsh.man ${FTPAREA} + +# +# Dependencies +# +config.h: config_f.h + +TCH=tc.h tc.const.h tc.decls.h tc.nls.h tc.os.h tc.sig.h +SHH=sh.h sh.types.h sh.char.h sh.err.h sh.dir.h sh.proc.h pathnames.h \ + sh.decls.h ${TCH} +TWH=tw.h tw.decls.h +EDH=ed.h ed.decls.h + +# EDH +EDINC=sh.${SUF} sh.func.${SUF} sh.lex.${SUF} sh.print.${SUF} sh.proc.${SUF} \ + sh.set.${SUF} tc.bind.${SUF} tc.os.${SUF} tc.prompt.${SUF} \ + tc.sched.${SUF} tw.parse.${SUF} +${EDOBJS} ${EDINC} : ${EDH} + +# SHH +${OBJS}: config.h ${SHH} + +# TWH +TWINC=ed.chared.${SUF} ed.inputl.${SUF} sh.exec.${SUF} sh.func.${SUF} \ + sh.set.${SUF} tc.func.${SUF} tc.nls.${SUF} +${TWOBJS} ${TWINC}: ${TWH} + +# glob.h +glob.${SUF} sh.glob.${SUF}: glob.h + +# ed.defns.h +EDDINC=tc.bind.${SUF} tc.func.${SUF} tc.os.${SUF} +${EDOBJS} ${EDDINC}: ed.defns.h + +# tc.defs.o +tc.defs.${SUF}: tc.defs.c sh.h Index: vendor/tcsh/6.20.00/NewThings =================================================================== --- vendor/tcsh/6.20.00/NewThings (nonexistent) +++ vendor/tcsh/6.20.00/NewThings (revision 315513) @@ -0,0 +1,169 @@ +This file contains visible (incompatible) changes to the users. +This version of tcsh has the following new things: + +6.08 +* %$variables are now expanded in the prompt. +* print_by_columns prints in a single column if the output is not a tty. +* REMOTEHOST contains only the IP address, not the host name of the machine. +* names in .cshdirs are quoted. +* exit value from 0..255 not -128..127 as posix mandates. + +6.07 +* Implicit cd when the variable implicitcd is set or set to verbose + +6.06 +* NLS Message Catalog support. + +6.05 +* The bind, aliases, linedit builtins are not used anymore; they are + #ifdef'ed OBSOLETE and will be really removed in the next version +* new filetest builtin +* new hup builtin +* =x obeys nonomatch +* tcsh.man2html nroff to HTML converter for the tcsh manpage +* prompt is now %# by default. +* $REMOTEHOST contains the name of the remote host (optional) +* $HOSTTYPE is going away. New variables $OSTYPE, $MACHTYPE, $VENDOR similar + to the gnu ones. +* $< can be interrupted and takes modifiers. Does not quote args by default + like csh. + +6.04 +* Variable modifiers do not stop processing after the first one fails + > set i=aabbcc + > echo $i:s/a/A/:s/b/B/ + AaBbcc + > echo $i:s/x/A/:s/b/B/ + aabbcc +* set -r makes variables readonly +* set nonomatch, echo ~notaser returns ~notauser instead of an error +* file operators: Changed -s == !-z and -S == socket +* $?0 returns false now on interactive shells for csh compatibility. +* %p%P include seconds in prompt strings. + +6.03 +* $%var contains the number of characters in $var. +* Shell -w -x are now POSIX compliant on POSIX machines. +* Imported environment variables are not globbed. +* $dirstack can be used to set and examine the directory stack. +* $? == $status and $# == $#argv like in the bourne shell. +* expand variables expands arrays too (but not array elements yet). +* $0 contains argv[0] on interactive shells. +* new -b -c etc file operators from SGI csh. +* nostat takes a list of shell patterns. +* symbolic names for arrow key bindings [left, right, up, down] +* shift, left operators update variables correctly. +* builtins builtin. +* history and dirs accept now -LSc flags. +* $history accepts an optional second argument, that can change the + history builtin output similar to the $time format. +* History timestamps preserved in .history. The history file contains + now the timestamps as csh comments. + + +6.02 +* ignore_symlinks and chase_symlinks are replaced with symlinks=ignore + and symlinks=chase; symlinks=expand addition +* complete and uncomplete builtins; user-programmable completion additions. +* Tcsh now uses the rightmost column of the terminal, allowing cut-and-paste + operations in terminal emulators that work [xterm R5 not R4] +* echo_style controls now the behaviour of the builtin echo; the default + should match the builtin echo of /bin/csh; if your system does not + come with csh, then the default echo should match /bin/echo. +* cd -; changes to the previous directory. +* setting dunique variable pushes only unique directories on the directory + stack. +* source builtin allows additional arguments that get passed in $argv in + the sourced script. +* tcsh now mirrors correctly all exported csh variables [term=TERM,path=PATH + etc.] +* showdots=-A makes listing behave like ls -A. +* directory stack access = allows for entries > 9. +* $a:u uppercase the first character in $a, $a:l downcases the first + character in $a. +* Shorthand for file tests in 'if' expressions ( -dx file ) is the + same as ( -d file && -x file ) + +6.01 +* Nothing new. + +6.00 PL3 +* %d in the prompt is the week-day and no longer $cwd; use %/ instead. +* changes in the prompt format. Date changes to accomodate people from + down under. +* vi insert mode to command mode transition does not move the cursor. + +6.00 PL2 +* setty builtin + This is used to specify what tcsh modes can be altered using stty, + Modes that should be set are specified as +, modes that should + be cleared are specified as -, and the ones that should be + untouched are specified as . setty with no arguments prints + the modes that are affected by tcsh, and setty -a prints all modes. +* multiple : modifiers in variables and ! escapes. Things like: + > set prompt="$host:r:$cwd>" + don't work any more, they should be replaced with + > set prompt="${host:r}:$cwd>" + or + > set prompt="$host:r"":$cwd>" + the reason is that now you can + > set foo=/usr/local/a.b.c + > echo $foo:t:r:e + b + If for some reason you don't like this change you can disable it with + -DCOMPAT. -DCOMPAT may go away in future tcsh versions and the way tcsh + works now is the way the 4.4BSD csh works. + +6.00 PL1 +* There is no more config.iris4d, use config.sgi instead + +6.00 +* History searching searches using shell patterns too. +* The autolist values that controlled beeping are not supported any more; + used matchbeep instead. +* /etc/Login and /etc/Logout were renamed to /etc/csh.login /etc/csh.logout + and /etc/csh.cshrc was added +* prompt2 and prompt3 can have prompt escapes. +* eval pipes work +* ignore_symlinks works + +5.20 PL2 +* %{..%} escapes in prompt + +5.20 PL0 +* bindkey -r +* history -t +* shell variables in paths expand correctly. +* variable expansion +* quoted expansions now work. +* new version and tcsh variable format + +5.19 PL2 +* NLS support +* New bindkey and echotc builtins +* Underline and Bold in the prompt; additions and changes to the prompt and + who syntax (%u is now %n, so that %u can be used to turn undeline off, + and %n is now \n). +* rmstar needs to be set to protect from accidental removal +* Fixed editor, and spell line. +* Glob-expand, on arguments. +* Added process migration builtins for aix370 + +5.19 PL1 +* Maintainance release for mainly the rs6000 + +5.19 PL0 +* 8 bit clean code, by using 16 bit strings. +* Mostly shared strings (a side-effect) +* Highlights everywhere (and in ls-F) filenames that contain characters + with the eighth bit set (or passes them unchanged depending on the + variable 'nometa') +* Newline in the prompt via %n. +* dirs takes also a -v flag for `vertical display' +* There is a new variable `listjobs' which controls if and how jobs + are displayed when a new job is suspended. [Idea from the mtXinu + code, very useful for novice users who hit control-Z 10 times on + the same job!] + set listjobs=long, jobs -l is executed every time a job is suspended. + set listjobs=short, jobs is executed every time a job is suspended. +* Passes lint... At least on a sun. Index: vendor/tcsh/6.20.00/Ported =================================================================== --- vendor/tcsh/6.20.00/Ported (nonexistent) +++ vendor/tcsh/6.20.00/Ported (revision 315513) @@ -0,0 +1,1073 @@ + +Hello, + +This file contains a list of machines used, libraries compiler etc. If you +find it out-of-date, or you have additions or changes, please let me know. + +christos + + +VENDOR : Sun +MODELS : sun3, sun4, sun386i +COMPILER: cc, gcc, acc +CFLAGS : normal +LIBES : -ltermcap +OS : sunos 3.5, 4.0, 4.1, 4.1.1, 4.1.2, 4.1.3, 4.1.4 +CONFIG : sunos* +ENVIRON : n/a +NOTES : Don't compile with /usr/5bin/cc +VERSION : 6.08 + +VENDOR : Sun +MODELS : sun4, ultra +COMPILER: cc, gcc +CFLAGS : normal +LIBES : -lcurses -lsocket -lnsl +OS : solaris 2.1, 2.2, 2.3, 2.4, 2.5, 2.5.1 +CONFIG : sol* +ENVIRON : n/a +NOTES : The sunpro compiler cannot compile tcsh with -O, it crashes + : on some files. In any case do not use -O with any of the + : tcsh files, because the optimized code assumes that the + : floating point is already initialized and does not do the + : necessary initializations. This results in weird floating + : point failures of programs exec'ed from tcsh. +VERSION : 6.08 + +VENDOR : Sun +MODELS : ultra +COMPILER: WorkShop cc +CFLAGS : normal +LIBES : -lcurses -lsocket -lnsl +OS : solaris 2.6, 2.7, 8 +CONFIG : sol26 +ENVIRON : n/a +NOTES : none +VERSION : 6.08 + +VENDOR : Sun +MODELS : ultra, i686, x86_64 +COMPILER: Sun Studio cc +CFLAGS : normal +LIBES : -lcurses -lsocket -lnsl +OS : solaris 9, 10 +CONFIG : sol29 +ENVIRON : n/a +NOTES : none +VERSION : 6.18 + +VENDOR : Sun +MODELS : i386 +COMPILER: cc, gcc +CFLAGS : -D__STDC__=0 +LIBES : -lcurses -lsocket -lnsl +OS : solaris 2.1 +CONFIG : sol2 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.04.13 + +VENDOR : Sun +MODELS : sun4 +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermcap +OS : linux 2.0.x, 2.1.x +CONFIG : linux +ENVIRON : n/a +NOTES : none +VERSION : 6.07.03 + +VENDOR : hp +MODELS : apollo +COMPILER: cc +CFLAGS : -U__STDC__ -I. -O +LIBES : -ltermcap +OS : domain 10.4.3 +CONFIG : bsd +ENVIRON : bsd4.3 +NOTES : Don't use gcc; breaks tc.os.c +VERSION : 6.01.00 + +VENDOR : hp +MODELS : hp9000s300, hp9000s700, hp9000s800 +COMPILER: cc, gcc +CFLAGS : normal (-Aa -O3 hpux 8.0, 8.07, 9.05) +LIBES : -ltermcap +OS : hpux 6.5, 7.0.x, 8.0, 9.05 +CONFIG : hpux{7,8} +ENVIRON : n/a +NOTES : Don't use -lBSD; breaks getpgrp(). Config.hp-3.2 obsolete? + : Some versions of the compiler are broken with -O3. Try 'ls *' + : If it does not work, lower the optimization level... +VERSION : 6.05.06 + +VENDOR : hp +MODELS : hp9000s700 +COMPILER: cc, c89, gcc +CFLAGS : +O3 -Aa (cc), +O3 (c89), normal (gcc) +LIBES : -ltermcap +OS : hpux 10.00, 10.01 +CONFIG : hpux8 +ENVIRON : n/a +NOTES : Carl-Olof Almbladh (coa@teorfys.lu.se) + : To make a statically linked version: in config_f.h, #undef NLS + : and use these LDFLAGS in the Makefile: LDFLAGS= -Wl,-a,archive + : [orban@kato.den.csci.csc.com (Tom Orban) +VERSION : 6.08 + +VENDOR : hp +MODELS : SPP-1200 SPP-1600 S-2X00 X-2X00 +COMPILER: cc +CFLAGS : -Ae +LIBES : -ltermcap +OS : SPP-UX 5.X +CONFIG : hpux8 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.07.02 + +VENDOR : hp +MODELS : hp9000s500 +COMPILER: cc +CFLAGS : -I. -O +LIBES : -ltermcap +OS : hpux 5.2 +CONFIG : hp-5.2 +ENVIRON : n/a +NOTES : very slow in executing commands (I think the reason is +NOTES : a very slow fork) +VERSION : 6.00.01 + +VENDOR : digital +MODELS : vax +COMPILER: cc, gcc +CFLAGS : normal +LIBES : -ltermcap +OS : bsd4.3, bsd4.4 +CONFIG : bsd* +ENVIRON : n/a +NOTES : cc broken: typedef void sigret_t; typedef void pret_t; +VERSION : 6.00.03 + +VENDOR : digital +MODELS : vax +COMPILER: cc, gcc +CFLAGS : normal +LIBES : -ltermcap +OS : mtXinu 4.3 +CONFIG : mtxinu +ENVIRON : n/a +NOTES : cc broken: typedef void sigret_t; typedef void pret_t; +VERSION : 6.03.09 + +VENDOR : digital +MODELS : vax, DECstation +COMPILER: cc, gcc +CFLAGS : -O -Olimit 2000 (cc), normal (gcc) +LIBES : -ltermcap +OS : ultrix 3.0 (vax), 4.0, 4.1, 4.2, 4.3, 4.4, 4.5 +CONFIG : ultrix +ENVIRON : n/a +NOTES : pcc broken: typedef void sigret_t (vax); +NOTES : mips compiler on ultrix 3.5 needs -Dvoid=int +NOTES : vax compiler on ultrix 3.0 needs -Dvoid=int +NOTES : Does Ultrix 4.x still need YPBUGS? +NOTES : Ultrix4.2 may need NAMEI_BUG +VERSION : 6.09.00 + +VENDOR : Apple +MODELS : macII +COMPILER: cc +CFLAGS : normal (-ZP) +LIBES : -ltermcap (-lposix -ltermcap) +OS : aux 2.0 +CONFIG : mac2 (-DPOSIX -DPOSIXJOBS) +ENVIRON : n/a +NOTES : Tcsh can compile both in non POSIX and POSIX mode. The +NOTES : default configuration is non POSIX. The flags in parentheses +NOTES : are the changes that are needed to compile in POSIX mode +VERSION : 6.00.01 + +VENDOR : ibm +MODELS : ps/2, rs6000, ibm370, ibmESA +COMPILER: cc +CFLAGS : normal +LIBES : -lcurses -lbsd [No -lbsd for 4.1] +OS : aix 3.1,3.2,4.1 (rs6000) aix 1.1 (ps/2) aix G9.9 (ibm370) + : aix (ibmESA) +CONFIG : aix +ENVIRON : n/a +NOTES : aix G9.9 sfname() frees bad pointers. Use TCF with care! +NOTES : aix 3.2 may need NAMEI_BUG +NOTES : aix 3.2 may need _BSD_INCLUDES defined in h +NOTES : aix 4.1 does not need -lbsd anymore. +VERSION : 6.06.00 (rs6000) + +VENDOR : ibm +MODELS : ibm390 +COMPILER: c89 +CFLAGS : normal +LIBES : -lcurses +OS : os390 R 2.7 +CONFIG : os390 +ENVIRON : USS (formerly OpenEdition, aka POSIX) +NOTES : Used GNU make for OS/390. +NOTES : Use `CFLAGS="" ./configure` to avoid -g and make binary +NOTES : half as large. +VERSION : 6.09.00 + +VENDOR : ibm +MODELS : rt +COMPILER: hc, gcc +CFLAGS : -I. -U__STDC__ +LIBES : -ltermcap +OS : aos 4.3 +CONFIG : bsd +ENVIRON : n/a +NOTES : Old versions of the compiler break with -O. No ansi include +NOTES : files so we have to undef __STDC__ +VERSION : 6.05.06 + +VENDOR : ibm +MODELS : rt +COMPILER: pcc +CFLAGS : -I. -U__STDC__ -DPCC +LIBES : -ltermcap +OS : aos 4.3 +CONFIG : bsd +ENVIRON : n/a +NOTES : Old versions of the compiler break with -O. No ansi include +NOTES : files so we have to undef __STDC__ +NOTES : pcc broken: typedef void sigret_t; typedef void pret_t; +VERSION : 6.05.06 + +VENDOR : ibm +MODELS : rt +COMPILER: cc +CFLAGS : -I. -Nd4000 -Nn3000 +LIBES : -lcurses +OS : aix 2.2.1 +CONFIG : aix +ENVIRON : n/a +NOTES : Stacksize limit is 1K off? +VERSION : 6.00.03 + +VENDOR : sequent +MODELS : balance, symmetry +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap -lseq +OS : Dynix 3.1, 3.2, ptx 1.2 +CONFIG : sequent +ENVIRON : universe on Dynix 3.1, 3.2: ucb +NOTES : none +VERSION : 6.04.00 + +VENDOR : sequent +MODELS : symmetry +COMPILER: gcc 2.6.2 +CFLAGS : -m486 +LIBES : -ltermcap -lseq -lsocket -linet -lnsl +OS : DYNIX/ptx 2.1.0, 4.1.3 +CONFIG : sequent +ENVIRON : +NOTES : Didn't work for me with Sequent's /bin/cc +NOTES : 4.1.3 does not need libinet anymore. +VERSION : 6.05.00 + +VENDOR : encore +MODELS : multimax +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermcap +OS : umax 4.2 +CONFIG : bsd +ENVIRON : n/a +NOTES : none +VERSION : 6.00.00 + +VENDOR : sony +MODELS : news 1850, 1750 +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermcap +OS : bsd 4.3, news-os 3.3,4.1C +CONFIG : bsd +ENVIRON : n/a +NOTES : none +VERSION : 6.05.06 + +VENDOR : ibm + compatibles +MODELS : i386,i286 +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap -ldir -lx +OS : xenix +CONFIG : xenix +ENVIRON : n/a +NOTES : none +VERSION : 6.00.01 + +VENDOR : hp +MODELS : hp300 +COMPILER: cc, gcc +CFLAGS : normal +LIBES : -ltermcap +OS : MORE/bsd 4.3+ +CONFIG : mtxinu +ENVIRON : n/a +NOTES : none +VERSION : 6.05.06 + +VENDOR : hp, motorola +MODELS : hp300, m68k +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermcap -lcrypt +OS : NetBSD 1.0A +CONFIG : bsd4.4 +ENVIRON : n/a +NOTES : none +VERSION : 6.05.06 + +VENDOR : digital +MODELS : vax +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermcap +OS : bsd 4.3reno +CONFIG : bsdreno +NOTES : ttyname() is buggy. calls closedir() twice. See README +ENVIRON : n/a +VERSION : 6.00.04 + +VENDOR : Cray Research +MODELS : Y-MP +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap +OS : Unicos 6.0 +CONFIG : cray +ENVIRON : n/a +NOTES : none +VERSION : 6.00.01 + +VENDOR : Cray Research +MODELS : C90 +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap +OS : Unicos 9.0.2.1 +CONFIG : cray +ENVIRON : n/a +NOTES : none +VERSION : 6.08 + +VENDOR : Cray Research +MODELS : SV1, probably also SV2 +COMPILER: cc +CFLAGS : normal +LIBES : -ltermlib +OS : Unicos 10.0.1.0 +CONFIG : cray +ENVIRON : n/a +NOTES : none +VERSION : 6.11 + +VENDOR : pyramid +MODELS : MIS4/2T +COMPILER: cc +CFLAGS : -OG +LIBES : -ltermcap +OS : OSx5.1,6.4 +CONFIG : pyr +ENVIRON : n/a +NOTES : If there are problems with the global optimizer, use -OP +NOTES : If you only have the AT&T universe, use the pyratt config +NOTES : file and define -D_PID_T -Dpyr. +VERSION : 6.06.00 + +VENDOR : next +MODELS : any +COMPILER: gcc or cc -arch m68k -arch i386 +CFLAGS : -O2 -g +LIBES : -ltermcap # [-lcs 2.0] +OS : next os 2.x, 3.x +CONFIG : mach +ENVIRON : n/a +NOTES : NeXTSTeP 3.3 on intel defines speed_t so compile with -D_SPEED_T +NOTES : NeXT's cc -E adds spaces before and after array brackets! +NOTES : You'll need to change the sed expression in the Makefile to +NOTES : something like: +NOTES : 's/Char \([a-zA-Z0-9_]*\) *\[ *\].*/extern Char \1[];/' +VERSION : 6.04.00 + +VENDOR : Apple +MODELS : any +COMPILER: cc +CFLAGS : -O3 -pipe -g -arch ppc -arch i386 -UNeXT +OS : Rhapsody 5 +CONFIG : rhapsody +ENVIRON : n/a +NOTES : CFLAGS="-O3 -pipe -g -UNeXT" configure && make +VERSION : 6.08.00 + +VENDOR : Apple +MODELS : any +COMPILER: cc +CFLAGS : -O3 -pipe -g -arch ppc -arch i386 +OS : Darwin +CONFIG : darwin +ENVIRON : n/a +NOTES : CFLAGS="-O3 -pipe -g -arch ppc -arch i386 -UNeXT" configure && make +VERSION : 6.11.05 + +VENDOR : Heurikon +MODELS : HK68 +COMPILER: gcc (Green Hills C-68000) +CFLAGS : -ga -X138 -X25 -I. +LDFLAGS : -n +LIBES : -lcurses -ltermcap -ldirent +OS : UniPlus+ 5.0 +CONFIG : hk68 +ENVIRON : n/a +NOTES : Need Doug Gwyn's POSIX directory library (libdirent.a) +VERSION : 6.00.01 + +VENDOR : Amdahl +MODELS : n/a +COMPILER: cc/gcc +CFLAGS : normal +LIBES : -lcurses -lsocket -lbsd +CONFIG : amdahl +ENVIRON : n/a +VERSION : 6.00.01 + +VENDOR : prime +MODELS : exl 300 series +COMPILER: cc +CFLAGS : -O -s -I. +LIBES : -lcurses -lstcp +OS : system v.3.1.2 +CONFIG : sysv +ENVIRON : sysv +NOTES : Is libstcp.a on all exl 300s? +VERSION : 6.00.01 + +VENDOR : convex +MODELS : c220 +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap +OS : 9.0.6 (bsd 4.3) +CONFIG : convex +ENVIRON : n/a +NOTES : Dont use the -pcc flag. + : Use setty to fix the default tty settings. +VERSION : 6.00.01 + +VENDOR : Norsk Data +MODELS : nd5000 +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap +OS : Ndix Version C +CONFIG : bsd +ENVIRON : n/a +NOTES : The -O option makes the compiler run for ages! +VERSION : 6.00.03 + +VENDOR : SGI +MODELS : 4D, 3000 +COMPILER: cc +CFLAGS : -D__STDC__ +LIBES : -lcurses -lsun -lbsd -lc_s +OS : IRIX (3.?) 3.2 3.3 4.0 +CONFIG : sgi +ENVIRON : n/a +NOTES : AUTOLOGOUT is probably best undef'ed +NOTES : For 4.0, the NLS define in h can be enabled. +NOTES : 4.0.5a cc does not have -O3 anymore. +NOTES : If you don't like -lbsd, you can define POSIXJOBS in +NOTES : config.h and omit it. +VERSION : 6.06.00 + +VENDOR : SGI +MODELS : R8000 PowerIndigo2 +COMPILER: cc -n32 +CFLAGS : -D__STDC__ +LIBES : -lcurses -lsun -lbsd -lc_s +OS : IRIX 6.2 +CONFIG : sgi +ENVIRON : n/a +NOTES : CCOPTIONS=-OPT:fold_arith_limit=4000 +NOTES : SHLIBDIR=/usr/lib32 +NOTES : LDPOSTLIB = -nostdlib -L$(ROOT)$(SHLIBDIR)/mips3 \ +NOTES : -L$(ROOT)$(SHLIBDIR) +NOTES : In config.h #undef NLS and #undef NLS_CATALOGS +VERSION : 6.06.00 + +VENDOR : SGI +MODELS : Onyx R10000 +COMPILER: gcc-2.7.2.1 configured for mips-sgi-irix5.3 +CFLAGS : none +LIBES : -ltermcap -lbsd +OS : IRIX 6.2 +CONFIG : sgi +ENVIRON : n/a +VERSION : 6.07.02 + +VENDOR : ibm + compatibles +MODELS : i386,i486 +COMPILER: /bin/cc +CFLAGS : normal +LIBES : -ltermlib -lsocket -lnsl (without BSDTIMES) +LIBES : -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a (BSDTIMES) +OS : SVR4 (DELL, ESIX, ISC, UHC) +CONFIG : sysv4 +ENVIRON : n/a +NOTES : none +VERSION : 6.05.06 + +VENDOR : ibm + compatibles +MODELS : i386,i486 +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermcap +OS : linux 0.8x, 0.9x, 1.x +CONFIG : linux +ENVIRON : n/a +NOTES : none +VERSION : 6.05.06 + +VENDOR : ibm + compatibles +MODELS : i386,i486 +COMPILER: gcc +CFLAGS : normal +LIBES : -lcurses -lc_s [for crypt] +OS : SVR3.2.2 [SCO] +CONFIG : sco32v2 +ENVIRON : n/a +NOTES : none +VERSION : 6.03.00 + +VENDOR : stardent +MODELS : gs2600 +COMPILER: /bin/cc +CFLAGS : -O +LIBES : -lcurses +OS : stellix +CONFIG : stellar +ENVIRON : n/a +NOTES : works but not worth compiling with -O4... +NOTES : setpgrp() and SIGCHLD work the BSD way, not the way documented. +NOTES : we need to define BACKPIPE +VERSION : 6.00.04 + +VENDOR : stardent +MODELS : titan 3000 series +COMPILER: /bin/cc +CFLAGS : -O -43 +LIBES : -ltermcap +OS : OS 3.0.3 +CONFIG : bsd +ENVIRON : n/a +NOTES : Kernel bug with SIGTTIN, Try vi, ^Z, bg, fg.... +VERSION : 6.01.01 + +VENDOR : stardent +MODELS : titan 1500 series +COMPILER: cc +CFLAGS : -O -43 +LIBES : -ltermcap +OS : OS 2.5 +CONFIG : bsd +ENVIRON : n/a +NOTES : Kernel bug with SIGTTIN, Try vi, ^Z, bg, fg.... +NOTES : You can add -w to the CFLAGS to suppress the warnings. +VERSION : 6.02.07 + +VENDOR : SGI +MODELS : INDIGO +COMPILER: cc +CFLAGS : -D__STDC__ +LIBES : -lcurses -lsun -lbsd -lc_s +OS : IRIX (3.?) 3.2 3.3 4.0 +CONFIG : sgi +ENVIRON : n/a +NOTES : AUTOLOGOUT is probably best undef'ed +NOTES : For 4.0, the NLS define in h can be enabled. +VERSION : 6.01 + +VENDOR : SGI +MODELS : INDY +COMPILER: cc +CFLAGS : +LIBES : -lcurses -lbsd +OS : IRIX 5.1 +CONFIG : sgi +ENVIRON : n/a +NOTES : it will build without -lbsd but then job control +NOTES : won't actually work. +VERSION : 6.04.00 + +VENDOR : alliant +MODELS : FX/2800 series +COMPILER: scc +CFLAGS : normal +LIBES : -ltermcap +OS : Alliant Concentrix 2800 2.2.00 +CONFIG : bsd +ENVIRON : n/a +NOTES : For a newer version of the operating system try defining + : NEW_OS in alliant [or better find a way to tell + : them apart. +VERSION : 6.03.00 + +VENDOR : stardent +MODELS : Vistra 800 +COMPILER: /bin/cc +CFLAGS : -O +LIBES : -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a +OS : SYSVR4 +CONFIG : sysv4 +ENVIRON : n/a +NOTES : Works like a charm +VERSION : 6.01 + +VENDOR : Evans & Sutherland +MODELS : ESV +COMPILER: cc +CFLAGS : mips systems +LIBES : -ltermcap +OS : ES/os 2.2 (UMIPS mips ATT_V3_0) +CONFIG : mips +ENVIRON : bsd4.3 +NOTES : would it be preferable to have HOSTTYPE of +NOTES : "esv" instead of "mips"? +VERSION : 6.01.00 + +VENDOR : masscomp +MODELS : Masscomp 6000 +COMPILER: cc +CFLAGS : production +LIBES : -ltermcap +OS : RTU 5.0 +CONFIG : masscomp +ENVIRON : Link in the "bsd" universe as opposed to "att". +NOTES : For pre RTU 6.0, remember to remove the #define RTU6 in the +NOTES : masscomp file. +NOTES : As of tcsh v6.02.07, try putting "bindkey ^t stuff-char" +NOTES : in your /etc/csh.cshrc for masscomp kernel (ctrl-t) status. +VERSION : 6.02.07 + +VENDOR : masscomp +MODELS : Masscomp 5400 +COMPILER: cc +CFLAGS : normal +LIBES : -ltermcap -lndir -lsocket -ljobs +OS : RTU 6.0 +CONFIG : masscomp +ENVIRON : Link in the "bsd" universe as opposed to "att". +NOTES : n/a +VERSION : 6.01.00 + +VENDOR : Cray Computer +MODELS : CRAY-2 & CRAY-3 +COMPILER: cc +CFLAGS : normal +LIBES : -lcurses -lnet +OS : CSOS 1.0 +CONFIG : csos +ENVIRON : n/a +NOTES : none +VERSION : 6.02 + +VENDOR : Motorola +MODELS : Delta 3000/Delta 4000 +COMPILER: cc +CFLAGS : normal +LIBES : -lcurses +OS : System V/68 R3V6.2, R3V7 +CONFIG : sysV68 +ENVIRON : n/a +NOTES : none +VERSION : 6.01.00, 6.02.00 + +VENDOR : Motorola +MODELS : MPC 3062 +COMPILER: cc +CFLAGS : Broken optimizers... +LIBES : -lcurses -lsec +OS : System V/88 R32V2 +CONFIG : sysV88 +ENVIRON : n/a +NOTES : If you're using the bundled Greenhills compiler, don't use -O. +NOTES : One error -O causes is failure to exec scripts with /bin/sh +NOTES : if they don't have a #! header on top. +VERSION : 6.02.07 + +VENDOR : alliant +MODELS : FX/8X series +COMPILER: pcc +CFLAGS : normal +LIBES : -ltermcap +OS : Concentrix 6.0.00 beta +CONFIG : bsd +ENVIRON : n/a +NOTES : Needs to define DIRENT in h +VERSION : 6.02.00 + +VENDOR : alliant +MODELS : FX/8X series +COMPILER: pcc +CFLAGS : normal +LIBES : -ltermcap +OS : Concentrix 5.7.00 +CONFIG : bsd +ENVIRON : n/a +NOTES : n/a +VERSION : 6.00.01 + +VENDOR : gould (encore) +MODELS : NP1 +COMPILER: cc +CFLAGS : production +LIBES : -ltermcap +OS : UTX/32 3.1A +CONFIG : bsd +ENVIRON : n/a +NOTES : n/a +VERSION : 6.02.00 + +VENDOR : gould (encore) +MODELS : 9050 +COMPILER: cc +CFLAGS : production +LIBES : -ltermcap +OS : UTX/32 2.1A +CONFIG : bsd +ENVIRON : n/a +NOTES : n/a +VERSION : 6.02.00 + +VENDOR : ibm & compatible +MODELS : i386 +COMPILER: cc +CFLAGS : production +LIBES : -lcurses -lcposix +OS : 3.2 +CONFIG : isc +ENVIRON : ISC386 +NOTES : n/a +VERSION : 6.02.00 + +VENDOR : att +MODELS : 3b2-600GR (RISC) +COMPILER: cc +CFLAGS : production +LIBES : -lcurses +OS : SystemV R4.0 +CONFIG : sysv4 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.02.00 + +VENDOR : att +MODELS : 3b2-600G +COMPILER: cc +CFLAGS : production +LIBES : -lcurses +OS : SystemV R3.2.3 +CONFIG : sysv3 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.02.00 + +VENDOR : tektronix +MODELS : XD88/10 +COMPILER: cc +CFLAGS : Broken optimizers... +LIBES : -ltermcap -lsec +OS : UTekV 3.2e +CONFIG : tekXD88 +ENVIRON : n/a +NOTES : If you're using the bundled Greenhills compiler, don't use -O. +NOTES : One error -O causes is failure to exec scripts with /bin/sh +NOTES : if they don't have a #! header on top. +VERSION : 6.02.07 + +VENDOR : tektronix +MODELS : 4300 +COMPILER: cc +CFLAGS : production +LIBES : -ltermcap +OS : UTek 4.0 (BSD 4.2) +CONFIG : bsd +ENVIRON : n/a +NOTES : set DFLAGS = -DUTek -DBSD in the Makefile +VERSION : 6.02.07 + +VENDOR : BBN +MODELS : butterfly gp1000 +COMPILER: cc +CFLAGS : production +LIBES : -ltermcap +OS : Mach 1000 version 2.5 +CONFIG : mach +ENVIRON : n/a +NOTES : n/a +VERSION : 6.02.07 + +VENDOR : sony +MODELS : news 3700 +COMPILER: cc +CFLAGS : -O -Wf,-XNp15000,-XNd15000,-XNh15000 +LIBES : -lcurses -lc /usr/ucblib/libucb.a +OS : sysvr4, news-os 5.02 +CONFIG : sysv4 +ENVIRON : n/a +NOTES : Use /usr/bin/cc, not /usr/ucb/cc. +VERSION : 6.00.03 + +VENDOR : ibm & compatible +MODELS : i386, i486 +COMPILER: cc +CFLAGS : production +LIBES : -lterm +OS : Coherent 4.0 +CONFIG : coh3 +ENVIRON : gnu tools (see below) +NOTES : The standard make, /bin/sh and sed that come with Coherent are +NOTES : not quite up to the makefile. Either use gnu make or change +NOTES : occurances of '# to '\# since Coherent's make takes all '#'s to +NOTES : be a comment, even when quoted, except when escaped by '\'. +NOTES : Coherent's /bin/sh does not allow you to set VERSION, etc. +NOTES : since they are hard-wired internal variables. Either use +NOTES : /usr/bin/ksh, another sh or change the name of the offending +NOTES : variables. Coherent's sed, unfortunately, is broken beyond a +NOTES : workaround. Either get gnu sed or run that portion of the +NOTES : makefile on a machine with a full sed and import the output. +VERSION : 6.02.08 + +VENDOR : Control Data Systems +MODELS : CD4680 +COMPILER: cc, cc2.20 (mips) +CFLAGS : mips systems, DFLAGS=-DCDC +LIBES : -ltermcap +OS : EP/IX 1.4.3 (RiscOS based) +CONFIG : mips +ENVIRON : bsd4.3 (if sysv, need "set path=(/usr/bsd43/bin $path)" ) +NOTES : n/a +VERSION : 6.02.00 + +VENDOR : alliant +MODELS : FX/8X series +COMPILER: pcc +CFLAGS : normal +LIBES : -ltermcap -lresolv +OS : Concentrix 6.0.00 beta +CONFIG : alliant (see NOTES) +ENVIRON : n/a +NOTES : Needs to define DIRENT and BSDLIMIT in h. The +NOTES : beta release of the Concentrix 6.0.00 has some errors +NOTES : in the system header files, namely, /usr/include/sys/dir.h. +VERSION : 6.03.00 + +VENDOR : hp +MODELS : hp9000s700 +COMPILER: cc +CFLAGS : No -O here!!! Breaks quoting! Try echo 'foo | bar'... +LIBES : -ltermcap +OS : HP OSF/1 1.0 +CONFIG : hposf1 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.03.00 + +VENDOR : digital +MODELS : DEC 3000/400 (alpha) +COMPILER: cc +CFLAGS : -call_shared -I. -I.. -O -Olimit 2000 -std1 +LIBES : -lcurses +OS : OSF1 1.2 +CONFIG : decosf1 +ENVIRON : n/a +NOTES : none +VERSION : 6.03 + +VENDOR : digital +MODELS : DEC 3000/400 (alpha) +COMPILER: cc +CFLAGS : -O2 -I. -I.. -Olimit 2000 +LIBES : -lcurses +OS : OSF1 (Digital Unix) 1.3, 2.0, 3.0, 3.2, 4.0 +CONFIG : decosf1 +ENVIRON : n/a +NOTES : none +VERSION : 6.07.11 + +VENDOR : Intel +MODELS : Paragon +COMPILER: icc +CFLAGS : -O2 +LIBES : -ltermcap +OS : Paragon OSF/1 Release 1.0.1 Server 1.0 R1.0 +CONFIG : parosf1 +ENVIRON : n/a +NOTES : I have gotten two different config files that both seem to + : work! +VERSION : 6.03.00 + +VENDOR : Data General +MODELS : AViiON mc88000 +COMPILER: cc +CFLAGS : -O2 +LIBES : -lcurses +OS : DGUX 5.4R2.01 +CONFIG : dgux5.4 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.04.00 + +VENDOR : Data General +MODELS : Aviion +COMPILER: gcc 2.5.8 +CFLAGS : -g -O2 -msvr4 +LIBES : -ltermcap +OS : DGUX 5.4.1 +CONFIG : dgux5.4 +ENVIRON : sde m88kdguxelf +VERSION : 6.05.00 + +VENDOR : Harris +MODELS : Tahoe +COMPILER: cc, gcc 1.42 +CFLAGS : -O +LIBES : -ltermcap +OS : CX/UX 5.1 CX/UX 7.1 +CONFIG : hcx +ENVIRON : universe bsd +NOTES : n/a +VERSION : 6.06.01 + +VENDOR : Multiflow +MODELS : multiflow +COMPILER: cc +CFLAGS : -O5 -sb_trace 0 -DMULTIFLOW +LIBES : -ltermcap -lcrypt +OS : 4.3 BSD TRACE/UNIX +CONFIG : bsd +ENVIRON : n/a +NOTES : Lower the optimization or you'll get a 5M binary! +NOTES : cc broken: typedef void sigret_t; typedef void pret_t; +VERSION : 6.04.00 + +VENDOR : Unixware +MODELS : all +COMPILER: cc +CFLAGS : normal +LIBES : -lcrypt -ltermlib -lsocket -lnsl -lgen +OS : Unixware 2.03 (4.2MP) +CONFIG : svr4 +ENVIRON : n/a +NOTES : Remove PW_SHADOW from config file, or add -lgen for getspnam +VERSION : 6.07.00 + +VENDOR : Intergraph +MODELS : clipper +COMPILER: cc +CFLAGS : n/a +LIBES : -ltermcap -lbsd +OS : clix 7.1.3 +CONFIG : clipper +ENVIRON : n/a +NOTES : n/a +VERSION : 6.05.00 + +VENDOR : SNI (Siemens Nixdorf Information Systems) +MODELS : rm400 (R4000 mips) +COMPILER: /usr/bin/cc +CFLAGS : -kansi; xmkmf (=> -DSVR4 -DSNI -DSMSINFO -DR3000) +LIBES : -ltermcap -lc -L/usr/ucblib -lucb +OS : SINIX 5.42 +CONFIG : sysv4 +ENVIRON : +NOTES : This is a POSIX (XPG-4) system. +NOTES : Make sure that -lucb is included _last_ (even after -lc) +NOTES : so use: -ltermcap -lc -L/usr/ucblib -lucb +NOTES : In config.h, set HAVEUTMPX und unset BSDSIGS and BSDTIMES +NOTES : +VERSION : 6.06.03 + +VENDOR : U/WIN +MODELS : i386 +COMPILER: cc +CFLAGS : -O +LIBES : -lcurses +OS : Windows NT with U/WIN +CONFIG : uwin +ENVIRON : +NOTES : Needs POSIX.DLL from U/WIN version later than 1.6 +NOTES : Did not function correctly when using #define SYSMALLOC +VERSION : 6.07.02 + +VENDOR : SNI (Siemens Nixdorf Information Systems) +MODELS : rm600 (R4000 mips) +COMPILER: /usr/bin/cc +CFLAGS : -kansi -DSVR4 -DSNI -DSMSINFO -DR3000 +LIBES : -ltermcap -lsocket -lxnet -lc -L/usr/ucblib -lucb +OS : SINIX 5.43 +CONFIG : sysv4 +ENVIRON : +NOTES : In config.h, set HAVEUTMPX und unset BSDSIGS, +NOTES : BSDTIMES, and BSDLIMIT, since otherwise resource.h +NOTES : is falsely searched in /usr/ucbinclude/sys/ +NOTES : +VERSION : 6.07.02 + +VENDOR : FUJITSU +MODELS : ds90 +COMPILER: cc +CFLAGS : -O -I. -DSVR4 -DANSICPP +LIBES : -lsocket -lnsl -ltermcap +OS : UXP/DS V20L10(SVR4.2) +CONFIG : sysv4 +ENVIRON : n/a +NOTES : n/a +VERSION : 6.07.02 + +VENDOR : Fujitsu ICL +MODELS : SuperServer Intel based +COMPILER: gcc 2.7.2 +CFLAGS : normal for gcc 2.1+ .... -O2 $(INCLUDES) +LIBES : -ltermlib -lsocket -lnsl -lcrypt -lgen +OS : SCO UnixWare 2.1 SysVR4.2 i386 x86at +CONFIG : sysv4 +ENVIRON : n/a +NOTES : none +VERSION : 6.06.00 + +VENDOR : NEC +MODELS : SX-4, SX-5 +COMPILER: cc +CFLAGS : -h0,ansi,novector,float0 # for NEC SX-4 +LIBES : -Gsmall +OS : NEC's +CONFIG : superux8 +ENVIRON : n/a +NOTES : none +VERSION : 6.08.01 + +VENDOR : Unixware 7.1.0 +MODELS : all +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermlib -lsocket -lgen +OS : Unixware 7.1.0 +CONFIG : svr5 +ENVIRON : n/a +NOTES : none +VERSION : 6.09.00 + Index: vendor/tcsh/6.20.00/README =================================================================== --- vendor/tcsh/6.20.00/README (nonexistent) +++ vendor/tcsh/6.20.00/README (revision 315513) @@ -0,0 +1,207 @@ +This is tcsh version 6.20.00. 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. + +Tcsh has been ported to most unix variants, and can be tinkered to work +in unix systems that it has not ported yet. See the Ported file for +a more complete list of ported systems and in the config directory for +a configuration file that matches your system. +Tcsh also runs under VMS/POSIX and OS/2+emx; the OS/2 port is not +complete yet. + +Feel free to use it. These changes to csh may only be included in a +commercial product if the inclusion or exclusion does not change the +purchase price, level of support, etc. Please respect the individual +authors by giving credit where credit is due (in other words, don't +claim that you wrote portions that you haven't, and don't delete the +names of the authors from the source code or documentation). + +To install tcsh: + +0) Try running "./configure". If that doesn't work, goto step 1. + Run "./configure --help" to see possible options. After running + configure, goto step 3. + +1) Otherwise copy Makefile.std to Makefile. Look at the Makefile and + make sure that you are using the right compilation flags. + +2) Copy the appropriate for your machine and OS config file from the + config subdirectory into config.h. Consult the file "Ported" for + settings known to work on various machines. If you are trying to + compile tcsh on a machine for which there is no config file yet, + you will need to create a config file using as a template one of + the supplied ones. If you get tcsh working on a new machine, I'd + appreciate a copy of the config file plus additional information + about the architecture/OS. If you are creating a new config file, + look very hard at BSDJOBS and BSDTIMES if you are running + a non-BSD machine. For vanila SysV, these would all be #undef-ed, + but others may vary (such as A/UX or HPUX). On a pyramid, compile + in the UCB universe even if you are running under the ATT universe + usually; it will work anyway, and you get job control for free. + +3) Look at config_f.h, and enable or disable any features you want. + It is configured the way I like it, but you may disagree. + +4) Look at host.defs to make sure that you have the right defines to set + the environment variables "HOSTTYPE", "MACHTYPE", "OSTYPE" and + "VENDOR" correctly. If you need to make changes, PLEASE SEND THEM + BACK TO ME. + +5) You may want to adjust the DESTBIN and DESTMAN entries in + the Makefile. These are the directories that tcsh, and the tcsh.1 + man entry will be placed in when you do a "make install" and "make + install.man" respectively. If you decide to install tcsh somewhere + other than in /usr/local/bin/tcsh, you should #define _PATH_TCSHELL + "/your/installation/directory/tcsh" in pathnames.h. + +6) make + +7) Read the documentation while you are waiting. The file tcsh.man + is in standard [nt]roff -man format. If you like, you can run the + tcsh.man2html script (requires Perl) to generate an HTML version of + the manpage which you can read with Mosaic, lynx or other HTML browser. + +8) Test tcsh by typing ./tcsh to see that it has compiled correctly. + The history command should give a time stamp on every entry. + Typing normal characters should echo each exactly once. Control-A + should put the cursor at the beginning of the input line, but after + the prompt. Typing characters after that should insert them into + the line. If you have job control make sure that stopping and + restarting jobs works. Make sure you can ^C in the middle of the + input line. Also make sure that pipelines work correctly and there + are no races. Try 'echo | cat | cat | cat | cat | more' a couple of + times. If you have job control, try this command in the background + and bring it in the foreground when it stops for tty output. Also + make sure that the ioctl() modes are preserved. Get into vi, enter + and exit input mode and suspend it, background it and foreground it + again. After all that, lastly make sure that the tty process group + manipulation is happening correctly. Try ftp to some host. If your + passwd appears on the screen, you have lost /dev/tty. Otherwise + everything is fine. + +9) Once satisfied that tcsh is working correctly, complete the installation + by typing "make install" to install the binary, and "make install.man" to + install the documentation. Don't forget to look at complete.tcsh for + useful completions... + +10) Enjoy. + +11) PLEASE file any bug reports (and fixes), code for new features at: + + http://bugs.gw.com/ + + Comments, questions, etc. (even flames) are welcome via email to: + + The tcsh bugs mailing list + tcsh-bugs@mx.gw.com + +Various: + +*************************************************************************** + +On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory +manipulation library has to be installed. This library is available +for anonymous ftp from prep.ai.mit.edu:/pub/gnu/dirent.tar.Z +If the network is not installed, then there is a gethostname() +routine is tc.os.c + +*************************************************************************** + +On BSDreno, in ttyname() closedir() is called twice and so the same +pointer gets free'd twice. tcsh's malloc is picky and it prints an +error message to that effect. If you don't like the message: + +1. Apply the following patch: + +*** /usr/src/lib/libc/gen/ttyname.c.orig Fri Jun 1 17:17:15 1990 +--- /usr/src/lib/libc/gen/ttyname.c Tue Oct 29 16:33:12 1991 +*************** +*** 51,57 **** + if (stat(buf, &sb2) < 0 || sb1.st_dev != sb2.st_dev || + sb1.st_ino != sb2.st_ino) + continue; +- closedir(dp); + rval = buf; + break; + } +--- 51,56 ---- + +Or: Comment the error printing out in tc.alloc.c +Or: Compile -DSYSMALLOC + + +*************************************************************************** + +From: Scott Krotz + +Tcsh has been ported to minix by Scott Krotz (krotz@honey.rtsg.mot.com). +Unfortunately the minix sed is broken, so you'll have to find a way to +make tc.const.h, sh.err.h, ed.defns.h which are automatically generated. +The easiest way to create them is to make a copy from unix, copying +minix to config.h, and then 'make sh.err.h tc.const.h ed.defns.h' + +The OS/dependent files are in mi.termios.h, mi.wait.h, mi.varargs.h + +You will get some warnings, but dont worry about them, just ignore +them. After tcsh has compiled and the gcc binary is converted to a +minix binary, remember to chmem it to give it more memory - it will +need it! How much you need depends on how many aliases you have, etc.. +Add at least 50000 to it. + +One last thing. You might have to make some links for include files so +that they are in the directories that tcsh is expecting while compiling. +I forget if I had to do this or not, but it should be fairly easy to sort +out. If it cant find any include files this is probably the reason. + +If you have any problems, please tell me. I can be contacted through +e-mail at: + +krotz@honey.rtsg.mot.com + +I also read comp.os.minix on a regular basis, so a note there will get +my attention also. + +Have fun! + +ps. The termios functions are provided by Magnus Doell and Bruce Evans. + Thanks, guys! + + +From: Bob Byrnes + +This is for minix 1.5 (straight out of the box from P-H) plus the i386 +patches from Bruce Evans. + +I cross-compiled on a Sun using gcc 2.1 with a target of i386-bsd +(using the minix include files instead of the bsd versions), and then +linked the resulting object files with similarly compiled crtso.o and +libc.a on vax (little endian) using a hacked version of ld which I put +together to generate minix executables instead of bsd a.out format. +What a kludge ... + +I compiled with -O2 -Wall ... So far I haven't noticed any problems +with the optimizer. + +In case anyone is contemplating compiling tcsh with bcc (Bruce Evan's +i386 compiler that comes with the minix386 upgrade package), don't bother. +It is some serious bugs that kill tcsh when compiled for 16-bit characters. +I can provide more details of bugs that I noticed for brave souls who want +to try, but it would be hard (and why bother if you can get gcc?). + +I can make the binary available to anyone who wants it (for example people +who can't get access to a cross-compiling environment, and who don't yet +have gcc running under minix). + + +*************************************************************************** + +If your compiler cannot handle long symbol names, add + +#include "snames.h" + +to your config.h file + + -- Christos Zoulas + christos@zoulas.com + Index: vendor/tcsh/6.20.00/README.imake =================================================================== --- vendor/tcsh/6.20.00/README.imake (nonexistent) +++ vendor/tcsh/6.20.00/README.imake (revision 315513) @@ -0,0 +1,9 @@ + +If you have imake running on your machine, you may skip steps 1 and 2 +described in the README file and try instead the process described here. +Note that imake is not supported for all the platforms yet, so this +might not work on your machine. If that is the case please let us know. +If you can send a patch that fixes the problem we would appreciate it. + +1. edit imake.config and modify the configurable parameters to your liking. +2. 'xmkmf; make depend; make' Index: vendor/tcsh/6.20.00/WishList =================================================================== --- vendor/tcsh/6.20.00/WishList (nonexistent) +++ vendor/tcsh/6.20.00/WishList (revision 315513) @@ -0,0 +1,309 @@ + + [Home] WishList + + Home | RecentChanges | Preferences + _________________________________________________________________ + + Surprised by this behavior...is this a bug? + + (Goal: e.g. distinguish between completely numeric args/names and + those containing non-numerics) + + % touch 1023 pex103 pex103a 104a z101 16a02 1999 2001 2001_A_Space_Odyssey + % ls -1 *[^0-9]* + 104a + 16a02 + 2001_A_Space_Odyssey + pex103 + pex103a + z101 + # (great, looks good to me. Got everything containing a nonnumeric, no more, n +o less.) + + % foreach p ( 1023 pex103 pex103a 104a z101 16a02 1999 2001 2001_A_Space_Odyss +ey ) + foreach? if ( $p !~ *[^0-9]* ) echo $p + foreach? end + # (no output. Huh?) + + % foreach p ( 1023 pex103 pex103a 104a z101 16a02 1999 2001 2001_A_Space_Odyss +ey ) + foreach? if ( $p =~ *[^0-9]* ) echo $p + foreach? end + 1023 (!) + pex103 + pex103a + 104a + z101 + 16a02 + 1999 (!) + 2001 (!) + 2001_A_Space_Odyssey + # (Huh?) + + The [MAN page description] for =~ and !~ just refer to "(see [Filename + substitution])', but evidently there is a (unexplained) difference. + The actual filename globbing looks correct to me, but the pattern + matching operator behavior is unexpected, if I'm not missing + something. + + tcsh 6.09.00 + + - bhooglan + _________________________________________________________________ + + Wish "tcsh -l" would accept other flags. At least "-c". + + Currently I can't get ssh to have the right environment unless it is a + login shell. The .ssh/environment doesn't work for me because I login + to different machines with different environments. One thing to do + would be to not have the different environment for login compared to + other shells, but what I would really like is something like... + + ssh remote_application_server "tcsh -l -c application" + + The "ssh -t" doesn't work for me and I don't know why. + + Thanks Tim + + Fix limit vmemoryuse in Linux + + In Linux tcsh is unable to limit vmemoryuse. This is because + RLIMIT_VMEM isn't defined, instead Linux has RLIMIT_AS which means the + same. On Google groups I found patches suggested by Komazaki at + http://groups.google.com/groups?hl=sv&lr=&ie=UTF-8&oe=ISO-2022-JP&selm + =m3snmczvfc.wl%40thinkpad.osk.3web.ne.jp.osk.3web.ne.jp and Ogawa + Hirofumi suggests a patch at + http://groups.google.com/groups?hl=sv&lr=&ie=UTF-8&selm=87snmba4id.fsf + %40devron.myhome.or.jp None of these patches seems to have been + included in version 6.12 as 6.12 still has this problem. + + /Henrik?? + + New idea: use last line (or n'th line) of output as input to new + command. + + I often find myself typing something like: + + >locate lshort + /usr/local/stow/share/texmf/doc/latex/general/lshort.dvi . . . + /usr/local/store/share/texmf/doc/latex/general/lshort.dvi + + >xdvi /usr/local/store/share/texmf/doc/latex/general/lshort.dvi + + Now the way I accomplish writing the last line, is by moving the mouse + over the last line, and the copy paste it. It would be very nice, if + the shell could keep the last n lines of output in a buffer. This way + one could avoid using the mouse by typing something like: + + >xdvi + + which would insert the last line of output, similarly could + insert the second last line of output. (the exact commands used is of + course configured via bindkey). + + This could save me a couple of times to the mouse everyday - + di010070@diku.dk + + The shell does not capture any output from commands it runs, so + this is really more a feature for the terminal (be it hardware + or software). --Kim + + 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. + + Make manual page references links in the HTML version of the manual. + + It is possible to match the words with ([0-9]) after them. Links could + be using the manual page CGI at http://www.tac.eu.org/cgi-bin/man-cgi + for content. + + Add OpenBSD?? to the Makefile, etc. + + A Csh compatability mode would be nice: I know tcsh is supposed to be + fully csh compatible, but csh scripts containing such constructs as + '$<' , 'if ( -d $file ) cd $file' or any of a great number of other + valid csh commands, will produce syntax errors or the like with tcsh, + which is frustrating when writing/maintaining csh scripts which have + to run on systems with only tcsh and systems with only csh. If such a + thing exists, I couldn't find it after searching the man page for two + hours, and it should be better documented + + Add hooks for command completion Either for a dynamically loaded + library, or a callback to another program that allows another pass to + complete the command. As a trivial example, the module could duplicate + the functionality of aliases. A tcsh_mud.so could define sigh, groan, + cheer, lol, etc to produce output if they weren't actually valid + commands. + + Properly deal with : in filename substitution + + Given something like + + blah.foo:*.foo + + expand it properly to something like + + blah.foo:baz.foo:bob.foo:bar.foo + + It already does this, if you have a file named like that... --Kim + + Directory commands don't handle blanks in filenames. If I have an + environment variable such as: + +% setenv TOMCAT '/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0' +and then do the following, setenv complains that it has too many arguments. +% cd /tmp +% cd "$TOMCAT" +setenv: Too many arguments +% dirs +/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0 /tmp +% pushd "$TOMCAT" +/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0 +setenv: Too many arguments. +% pushd /tmp +/tmp /c/Program? Files/Apache? Software Foundation/Tomcat? 5.0 +% pushd +/c/Program? Files/Apache? Software Foundation/Tomcat? 5.0 /tmp +setenv: Too many arguments. + + Wish tcsh would feature fc (fix command) as in bash !Wish tcsh would + featuer fc (fix command) as in bash ! + + i wish for read-only CVS access to the sources (as i am on the + bleeding egde) + + Functions would be useful! As would being able to redirect stderr (or + other file descriptors) independently of stdout! -- Rohan Talip + + Don't complete commands with non-executable files. For example if I + have a file called README in a directory in the PATH, and I type R TAB + tcsh will complete README as a command. But README does not have the x + bit set, so it's kind of pointless to have that completion. + + --> Setting the shell variable "recognize_only_executables" will give + you this behavior. --Waz + + If I have in my .tcshrc: complete {cd,pushd} p/1/d/ and I type + "complete cd" at the shell prompt nothing is printed. It would be nice + if {cd,pushd} p/1/d/ was printed. + + --> I had programmed this feature a while ago but have not submitted + it because the implementation is not robust enough to keep TCSH from + crashing when special characters are part of the pattern. I'll get + back to it at some point! --Waz + + It would be nice if "set autolist" would be on by default. + + --- + + Unicode (UTF-8) doesn't seem to work. It's not even possible to "make + catalogs" in unicode environment. Also unicode support (and other + multibyte encodings) should depend on environment variables + (LC_CTYPE), not on "set dspmbyte". On unicode terminal translations + show empty characters instead of messages. + + In addition to message catalogs, there are more problems: +ipi:~/test/tcsh/bin> ls +tcsh ĺäö +ipi:~/test/tcsh/bin> set dspmbyte utf8 +ipi:~/test/tcsh/bin> ls ??? +ls: No match. + + Unicode is used more and more, and is default on many environments, so + this really should be fixed. --mpaananen + _________________________________________________________________ + + When I have a script called from complete I would like to have the the + existing text from the command line passed to that script so that it + can look at all existing words to detemine what it should output as + the completion list. + + For example: + + complete prog 'n/-x/`myscript`' + + Then when I do this: + + > prog -a A -b B -x + + The script would get 'prog -a A -b B -x ' which would allow the script + to base its -x completions on the options given for -a and -b (or if + they aren't present give nothing - or a message saying that they are + required). Setting a temporary environment variable before executing + the command would also work and would probably be safer. + + Perhaps this info is already available as a special variable that can + be manually passed to the script: complete prog 'n/-x/`myscript + $cmd_line`'? + + Update: I looked into this further by actually downloading the code + and looking through it. It doesn't seem that this information is + available anywhere, but I did manage to achieve what I wanted by + adding the following two lines around the call to tw_complete (line + 278, tw.parse.c 6.12.00): + + added> tsetenv(STRCURRCMDLINE, (Char *)&qline); + looking = tw_complete(cmd_start, &wordp, &pat, looking, &suf); + + added> Unsetenv(STRCURRCMDLINE); + + And I added a definition for STRCURRCMDLINE to be "CURRCMDLINE". + + This provides the environment variable CURRCMDLINE to any + script/program running under complete. The only issue I see is picking + a sufficiently obscure environment variable that noone else is likely + to use, but have it readable enough to understand what it is for. It + also shouldn't overwrite an existing ENV variable if it is already in + use. + _________________________________________________________________ + + Home | RecentChanges | Preferences + Edit text of this page | View other revisions + Last edited March 25, 2004 10:27 (diff) + Search: ____________________ Index: vendor/tcsh/6.20.00/Y2K =================================================================== --- vendor/tcsh/6.20.00/Y2K (nonexistent) +++ vendor/tcsh/6.20.00/Y2K (revision 315513) @@ -0,0 +1,10 @@ +The tcsh code has been tested on a solaris-2.6 machine and a +NetBSD-1.3H machine running before, and after the year 2000. The +code has been also visually inspected for Y2K compliance problems. +Tcsh does not use time functions for anything but display purposes, +so its operation should not be affected assuming that the time +related functions of the c library work properly. + +Note: Since the last audit, tcsh-6.08.00 has been found to have +a minor problem with %y in the prompt (it will print 10 instead +of 00 in y2k). This has been fixed in tcsh-6.09.00. Index: vendor/tcsh/6.20.00/aclocal.m4 =================================================================== --- vendor/tcsh/6.20.00/aclocal.m4 (nonexistent) +++ vendor/tcsh/6.20.00/aclocal.m4 (revision 315513) @@ -0,0 +1,1409 @@ +# generated automatically by aclocal 1.15 -*- Autoconf -*- + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +# iconv.m4 serial 19 (gettext-0.18.2) +dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, + dnl Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + ]], + [[int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + result |= 16; + return result; +]])], + [am_cv_func_iconv_works=yes], , + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [m4_ifdef([gl_00GNULIB], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + ]], + [[]])], + [am_cv_proto_iconv_arg1=""], + [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated . + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) + fi +]) + +# lib-ld.m4 serial 6 +dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. + +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 /dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL([acl_cv_path_LD], +[if test -z "$LD"; then + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE([rpath], + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found +dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) + dnl Autoconf >= 2.61 supports dots in --with options. + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + dnl The same code as in the loop below: + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + dnl First look for a shared library. + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + dnl Then look for a static library. + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$acl_hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$acl_hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) + +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl . + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" +]) + Index: vendor/tcsh/6.20.00/complete.tcsh =================================================================== --- vendor/tcsh/6.20.00/complete.tcsh (nonexistent) +++ vendor/tcsh/6.20.00/complete.tcsh (revision 315513) @@ -0,0 +1,1281 @@ +# +# $tcsh: complete.tcsh,v 1.56 2015/07/03 16:52:47 christos Exp $ +# example file using the new completion code +# +# Debian GNU/Linux +# /usr/share/doc/tcsh/examples/complete.gz +# +# This file may be read from user's ~/.cshrc or ~/.tcshrc file by +# decompressing it into the home directory as ~/.complete and +# then adding the line "source ~/.complete" and maybe defining +# some of the shell variables described below. +# +# Added two Debian-specific completions: dpkg and dpkg-deb (who +# wrote them?). Changed completions of several commands. The ones +# are evaluated if the `traditional_complete' shell variable is +# defined. +# +# Debian enhancements by Vadim Vygonets . +# Bugfixes and apt completions by Miklos Quartus . +# Cleanup by Martin A. Godisch . + +onintr - +if ( ! $?prompt ) goto end + +if ( $?tcsh ) then + if ( $tcsh != 1 ) then + set rev=$tcsh:r:r + set rel=$tcsh:r:e + if ( $rev > 6 || ( $rev > 5 && $rel > 1 ) ) then + set _has_complete=1 + endif + endif + unset rev rel +endif + +if ( ! $?_has_complete ) goto end + +if ( ! $?noglob ) set noglob _unset_noglob + +# Old TCSH versions don't define OSTYPE. +# Use a close approximation instead. + +if ( ! $?OSTYPE ) then + setenv OSTYPE `echo "$HOSTTYPE" | sed -e 's/^(i[3456]86|(amd|x86_)64)-//'` +endif + +if ( ! $?hosts ) set hosts + +foreach f ( "$HOME/."{,r,ssh/known_}hosts* \ + /usr/local/etc/csh.hosts /etc/hosts.equiv ) + if ( -r "$f" ) then + set hosts=($hosts `sed \ + -e 's/#.*//' \ + -e '/^[+-]@/d' \ + -e 's/^[-+]//' \ + -e 's/[[:space:]].*//' \ + -e 's/,/\n/g' "$f" \ + | sed -e '/^[.:[:xdigit:][:space:]]*$/d'`) + endif +end +unset f + +if ( -r "$HOME/.netrc" ) then + set hosts=($hosts `awk '$1 == "machine" { print $2 }' "$HOME/.netrc"`) +endif + +set hosts=(`echo $hosts | tr ' ' '\012' | sort -u`) + +if ( ! $#hosts ) then + # This is just a hint for the user. + set hosts=(ftp.funet.fi ftp.gnu.org ftp.uu.net) +endif + +complete ywho n/*/\$hosts/ # argument from list in $hosts +complete rsh p/1/\$hosts/ c/-/"(l n)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ +complete ssh p/1/\$hosts/ c/-/"(l n)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ +complete xrsh p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ N/-l/c/ n/-/c/ p/2/c/ p/*/f/ +complete rlogin p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ +complete telnet p/1/\$hosts/ p/2/x:''/ n/*/n/ + +complete cd p/1/d/ # Directories only +complete chdir p/1/d/ +complete pushd p/1/d/ +complete popd p/1/d/ +complete pu p/1/d/ +complete po p/1/d/ +complete complete p/1/X/ # Completions only +complete uncomplete n/*/X/ +complete exec p/1/c/ # Commands only +complete trace p/1/c/ +complete strace p/1/c/ +complete which n/*/c/ +complete where n/*/c/ +complete skill p/1/c/ +complete dde p/1/c/ +complete adb c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/ +complete sdb p/1/c/ +complete dbx c/-I/d/ n/-/c/ N/-/"(core)"/ p/1/c/ p/2/"(core)"/ +complete xdb p/1/c/ +complete gdb n/-d/d/ n/*/c/ +complete ups p/1/c/ +complete set 'c/*=/f/' 'p/1/s/=' 'n/=/f/' +complete unset n/*/s/ +complete alias p/1/a/ # only aliases are valid +complete unalias n/*/a/ +complete xdvi n/*/f:*.dvi/ +complete dvips n/*/f:*.dvi/ +complete tex n/*/f:*.{tex,texi}/ +complete latex n/*/f:*.{tex,ltx}/ + +complete su \ + c/--/"(login fast preserve-environment command shell help version)"/ \ + c/-/"(f l m p c s -)"/ \ + n/{-c,--command}/c/ \ + n@{-s,--shell}@'`cat /etc/shells`'@ \ + n/*/u/ +complete cc \ + c/-[IL]/d/ \ + c@-l@'`\ls -1 /usr/lib/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \ + c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/ +complete acc \ + c/-[IL]/d/ \ + c@-l@'`\ls -1 /usr/lang/SC1.0/lib*.a | sed s%^.\*/lib%%\;s%\\.a\$%%`'@ \ + c/-/"(o l c g L I D U)"/ n/*/f:*.[coasi]/ +complete gcc \ + c/-[IL]/d/ \ + c/-f/"(caller-saves cse-follow-jumps delayed-branch elide-constructors \ + expensive-optimizations float-store force-addr force-mem inline \ + inline-functions keep-inline-functions memoize-lookups \ + no-default-inline no-defer-pop no-function-cse omit-frame-pointer \ + rerun-cse-after-loop schedule-insns schedule-insns2 strength-reduce \ + thread-jumps unroll-all-loops unroll-loops syntax-only all-virtual \ + cond-mismatch dollars-in-identifiers enum-int-equiv no-asm no-builtin \ + no-strict-prototype signed-bitfields signed-char this-is-variable \ + unsigned-bitfields unsigned-char writable-strings call-saved-reg \ + call-used-reg fixed-reg no-common no-gnu-binutils nonnull-objects \ + pcc-struct-return pic PIC shared-data short-enums short-double \ + volatile)"/ \ + c/-W/"(all aggregate-return cast-align cast-qual comment conversion \ + enum-clash error format id-clash-len implicit missing-prototypes \ + no-parentheses pointer-arith return-type shadow strict-prototypes \ + switch uninitialized unused write-strings)"/ \ + c/-m/"(68000 68020 68881 bitfield fpa nobitfield rtd short c68000 c68020 \ + soft-float g gnu unix fpu no-epilogue)"/ \ + c/-d/"(D M N)"/ \ + c/-/"(f W vspec v vpath ansi traditional traditional-cpp trigraphs pedantic \ + x o l c g L I D U O O2 C E H B b V M MD MM i dynamic nodtdlib static \ + nostdinc undef)"/ \ + c/-l/f:*.a/ \ + n/*/f:*.{c,C,cc,o,a,s,i}/ +complete g++ n/*/f:*.{C,cc,o,s,i}/ +complete CC n/*/f:*.{C,cc,cpp,o,s,i}/ +complete rm \ + c/--/"(directory force interactive verbose recursive help version)"/ \ + c/-/"(d f i v r R -)"/ \ + n/*/f:^*.{c,cc,C,h,in}/ + # Protect precious files +complete vi n/*/f:^*.[oa]/ +complete bindkey \ + N/-a/b/ N/-c/c/ n/-[ascr]/'x:'/ \ + n/-[svedlr]/n/ c/-[vedl]/n/ c/-/"(a s k c v e d l r)"/ \ + n/-k/"(left right up down)"/ p/2-/b/ \ + p/1/'x:'/ + +complete find \ + n/-fstype/"(nfs 4.2)"/ \ + n/-name/f/ \ + n/-type/"(c b d f p l s)"/ \ + n/-user/u/ \ + n/-group/g/ \ + n/-exec/c/ \ + n/-ok/c/ \ + n/-cpio/f/ \ + n/-ncpio/f/ \ + n/-newer/f/ \ + c/-/"(fstype name perm prune type user nouser group nogroup size inum \ + atime mtime ctime exec ok print ls cpio ncpio newer xdev depth \ + daystart follow maxdepth mindepth noleaf version anewer cnewer \ + amin cmin mmin true false uid gid ilname iname ipath iregex links \ + lname empty path regex used xtype fprint fprint0 fprintf print0 \ + printf not a and o or)"/ \ + n/*/d/ + +complete -%* c/%/j/ # fill in the jobs builtin +complete {fg,bg,stop} c/%/j/ p/1/"(%)"// + +complete limit c/-/"(h)"/ n/*/l/ +complete unlimit c/-/"(h)"/ n/*/l/ + +#complete -co* p/0/"(compress)"/ # make compress completion +# # not ambiguous + +# "zcat" may be linked to "compress" or "gzip" +if (-X zcat) then + zcat --version >& /dev/null + if ($status != 0) then + complete zcat n/*/f:*.Z/ + else + complete zcat c/--/"(force help license quiet version)"/ \ + c/-/"(f h L q V -)"/ \ + n/*/f:*.{gz,Z,z,zip}/ + endif +endif + +complete finger c/*@/\$hosts/ n/*/u/@ +complete ping p/1/\$hosts/ +complete traceroute p/1/\$hosts/ + +complete {talk,ntalk,phone} \ + p/1/'`users | tr " " "\012" | uniq`'/ \ + n/*/\`who\ \|\ grep\ \$:1\ \|\ awk\ \'\{\ print\ \$2\ \}\'\`/ + +complete ftp c/-/"(d i g n v)"/ n/-/\$hosts/ p/1/\$hosts/ n/*/n/ + +# this one is simple... +#complete rcp c/*:/f/ C@[./\$~]*@f@ n/*/\$hosts/: +# From Michael Schroeder +# This one will rsh to the file to fetch the list of files! +complete rcp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");rsh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");rsh $q[1] ls -dp $q[2]\*`%' 'c%*@%$hosts%:' 'C@[./$~]*@f@' 'n/*/$hosts/:' + +complete dd \ + c/--/"(help version)"/ c/[io]f=/f/ \ + c/conv=*,/"(ascii ebcdic ibm block unblock \ + lcase notrunc ucase swab noerror sync)"/,\ + c/conv=/"(ascii ebcdic ibm block unblock \ + lcase notrunc ucase swab noerror sync)"/,\ + c/*=/x:''/ \ + n/*/"(if of conv ibs obs bs cbs files skip file seek count)"/= + +complete nslookup p/1/x:''/ p/2/\$hosts/ + +complete ar \ + c/[dmpqrtx]/"(c l o u v a b i)"/ \ + p/1/"(d m p q r t x)"// \ + p/2/f:*.a/ \ + p/*/f:*.o/ + +# these should be merged with the MH completion hacks below - jgotts +complete {refile,sprev,snext,scan,pick,rmm,inc,folder,show} \ + "c@+@F:$HOME/Mail/@" + +# these and interrupt handling from Jaap Vermeulen +complete {rexec,rxexec,rxterm,rmterm} \ + 'p/1/$hosts/' \ + 'c/-/(l L E)/' \ + 'n/-l/u/' \ + 'n/-L/f/' \ + 'n/-E/e/' \ + 'n/*/c/' +complete kill \ + 'c/-/S/' \ + 'c/%/j/' \ + 'n/*/`ps -u $LOGNAME | awk '"'"'{print $1}'"'"'`/' + +# these from Marc Horowitz +complete attach \ + 'n/-mountpoint/d/' \ + 'n/-m/d/' \ + 'n/-type/(afs nfs rvd ufs)/' \ + 'n/-t/(afs nfs rvd ufs)/' \ + 'n/-user/u/' \ + 'n/-U/u/' \ + 'c/-/(verbose quiet force printpath lookup debug map nomap remap zephyr \ + nozephyr readonly write mountpoint noexplicit explicit type \ + mountoptions nosetuid setuid override skipfsck lock user host)/' \ + 'n/-e/f/' \ + 'n/*/()/' +complete hesinfo \ + 'p/1/u/' \ + 'p/2/(passwd group uid grplist pcap pobox cluster filsys sloc service)/' + +complete ./configure \ + 'c@--{prefix,exec-prefix,bindir,sbindir,libexecdir,datadir,sysconfdir,sharedstatedir,localstatedir,infodir,mandir,srcdir,x-includes,x-libraries}=*@x:'@ \ + 'c/--cachefile=*/x:/' \ + 'c/--{enable,disable,with}-*/x://' \ + 'c/--*=/x://' \ + 'c/--/(prefix= exec-prefix= bindir= sbindir= libexecdir= datadir= \ + sysconfdir= sharedstatedir= localstatedir= infodir= mandir= \ + srcdir= x-includes= x-libraries= cachefile= enable- disable- \ + with- help no-create quiet silent version verbose )//' + +complete gs \ + 'c/-sDEVICE=/(x11 cdjmono cdj550 epson eps9high epsonc dfaxhigh dfaxlow \ + laserjet ljet4 sparc pbm pbmraw pgm pgmraw ppm ppmraw bit)/' \ + 'c/-sOutputFile=/f/' 'c/-s/(DEVICE OutputFile)/=' \ + 'c/-d/(NODISPLAY NOPLATFONTS NOPAUSE)/' 'n/*/f/' +complete perl 'n/-S/c/' +complete sccs \ + p/1/"(admin cdc check clean comb deledit delget delta diffs edit enter \ + fix get help info print prs prt rmdel sccsdiff tell unedit unget \ + val what)"/ + +complete printenv 'n/*/e/' +complete setenv 'p/1/e/' 'c/*:/f/' + +# these and method of setting hosts from Kimmo Suominen +if ( -f "$HOME/.mh_profile" && -X folders ) then + if ( ! $?FOLDERS ) setenv FOLDERS "`folders -fast -recurse`" + if ( ! $?MHA ) setenv MHA "`ali | sed -e '/^ /d' -e 's/:.*//'`" + + set folders = ( $FOLDERS ) + set mha = ( $MHA ) + + complete ali \ + 'c/-/(alias nolist list nonormalize normalize nouser user help)/' \ + 'n,-alias,f,' + + complete anno \ + 'c/-/(component noinplace inplace nodate date text help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete burst \ + 'c/-/(noinplace inplace noquiet quiet noverbose verbose help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete comp \ + 'c/-/(draftfolder draftmessage nodraftfolder editor noedit file form nouse use whatnowproc nowhatnowproc help)/' \ + 'c,+,$folders,' \ + 'n,-whatnowproc,c,' \ + 'n,-file,f,'\ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete dist \ + 'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit form noinplace inplace whatnowproc nowhatnowproc help)/' \ + 'c,+,$folders,' \ + 'n,-whatnowproc,c,' \ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete folder \ + 'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete folders \ + 'c/-/(all nofast fast noheader header nopack pack noverbose verbose norecurse recurse nototal total noprint print nolist list push pop help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete forw \ + 'c/-/(noannotate annotate draftfolder draftmessage nodraftfolder editor noedit filter form noformat format noinplace inplace digest issue volume whatnowproc nowhatnowproc help)/' \ + 'c,+,$folders,' \ + 'n,-whatnowproc,c,' \ + 'n,-filter,f,'\ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete inc \ + 'c/-/(audit file noaudit nochangecur changecur file form format nosilent silent notruncate truncate width help)/' \ + 'c,+,$folders,' \ + 'n,-audit,f,'\ + 'n,-form,f,' + + complete mark \ + 'c/-/(add delete list sequence nopublic public nozero zero help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete mhmail \ + 'c/-/(body cc from subject help)/' \ + 'n,-cc,$mha,' \ + 'n,-from,$mha,' \ + 'n/*/$mha/' + + complete mhpath \ + 'c/-/(help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete msgchk \ + 'c/-/(nodate date nonotify notify help)/' + + complete msh \ + 'c/-/(prompt noscan scan notopcur topcur help)/' + + complete next \ + 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ + 'c,+,$folders,' \ + 'n,-moreproc,c,' \ + 'n,-showproc,c,' \ + 'n,-form,f,' + + complete packf \ + 'c/-/(file help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete pick \ + 'c/-/(and or not lbrace rbrace cc date from search subject to othercomponent after before datefield sequence nopublic public nozero zero nolist list help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete prev \ + 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ + 'c,+,$folders,' \ + 'n,-moreproc,c,' \ + 'n,-showproc,c,' \ + 'n,-form,f,' + + complete prompter \ + 'c/-/(erase kill noprepend prepend norapid rapid nodoteof doteof help)/' + + complete refile \ + 'c/-/(draft nolink link nopreserve preserve src file help)/' \ + 'c,+,$folders,' \ + 'n,-file,f,'\ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete rmf \ + 'c/-/(nointeractive interactive help)/' \ + 'c,+,$folders,' + + complete rmm \ + 'c/-/(help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete scan \ + 'c/-/(noclear clear form format noheader header width noreverse reverse file help)/' \ + 'c,+,$folders,' \ + 'n,-form,f,'\ + 'n,-file,f,'\ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete send \ + 'c/-/(alias draft draftfolder draftmessage nodraftfolder filter nofilter noformat format noforward forward nomsgid msgid nopush push noverbose verbose nowatch watch width help)/' \ + 'n,-alias,f,'\ + 'n,-filter,f,' + + complete show \ + 'c/-/(draft form moreproc nomoreproc length width showproc noshowproc header noheader help)/' \ + 'c,+,$folders,' \ + 'n,-moreproc,c,' \ + 'n,-showproc,c,' \ + 'n,-form,f,'\ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete sortm \ + 'c/-/(datefield textfield notextfield limit nolimit noverbose verbose help)/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete vmh \ + 'c/-/(prompt vmhproc novmhproc help)/' \ + 'n,-vmhproc,c,' + + complete whatnow \ + 'c/-/(draftfolder draftmessage nodraftfolder editor noedit prompt help)/' + + complete whom \ + 'c/-/(alias nocheck check draft draftfolder draftmessage nodraftfolder help)/' \ + 'n,-alias,f,' + + complete plum \ + 'c/-/()/' \ + 'c,+,$folders,' \ + 'n,*,`(mark | sed "s/:.*//" ; echo next cur prev first last)|tr " " "\012" | sort -u`,' + + complete mail \ + 'c/-/()/' \ + 'n/*/$mha/' + +endif + +#from Dan Nicolaescu +if ( $?MODULESHOME ) then + alias Compl_module \ + 'find ${MODULEPATH:as/:/ /} -name .version -o -name .modulea\* -prune \ + -o -print | sed `echo "-e s@${MODULEPATH:as%:%/\*@@g -e s@%}/\*@@g"`' + complete module \ + 'p%1%(add load unload switch display avail use unuse update purge list \ + clear help initadd initrm initswitch initlist initclear)%' \ + 'n%{unl*,sw*,inits*}%`echo "$LOADEDMODULES:as/:/ /"`%' \ + 'n%{lo*,di*,he*,inita*,initr*}%`eval Compl_module`%' \ + 'N%{sw*,initsw*}%`eval Compl_module`%' \ + 'C%-%(-append)%' \ + 'n%{use,unu*,av*}%d%' \ + 'n%-append%d%' \ + 'C%[^-]*%`eval Compl_module`%' +endif + +# from George Cox +complete acroread 'p/*/f:*.{pdf,PDF}/' +complete apachectl 'c/*/(start stop restart fullstatus status graceful \ + configtest help)/' +complete appletviewer 'p/*/f:*.class/' +complete bison 'c/--/(debug defines file-prefix= fixed-output-files \ + help name-prefix= no-lines no-parser output= \ + token-table verbose version yacc)/' \ + 'c/-/(b d h k l n o p t v y V)/' \ + 'n/-b/f/' 'n/-o/f/' 'n/-p/f/' +complete bzcat c/--/"(help test quiet verbose license version)"/ \ + c/-/"(h t L V -)"/ n/*/f:*.{bz2,tbz}/ +complete bunzip2 c/--/"(help keep force test stdout quiet verbose \ + license version)"/ \ + c/-/"(h k f t c q v L V -)"/ \ + n/*/f:*.{bz2,tbz}/ +complete bzip2 c/--/"(help decompress compress keep force test \ + stdout quiet verbose license version small)"/ \ + c/-/"(h d z k f t c q v L V s 1 2 3 4 5 6 7 8 9 -)"/ \ + n/{-d,--decompress}/f:*.{bz2,tbz}/ \ + N/{-d,--decompress}/f:*.{bz2,tbz}/ n/*/f:^*.{bz2,tbz}/ +complete c++ 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' +complete co 'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@' +complete crontab 'n/-u/u/' +complete camcontrol 'p/1/(cmd debug defects devlist eject inquiry \ + modepage negotiate periphlist rescan reset \ + start stop tags tur)/' +complete ctlinnd 'p/1/(addhist allow begin cancel changegroup \ + checkfile drop feedinfo flush flushlogs go \ + hangup logmode mode name newgroup param pause \ + readers refile reject reload renumber reserve \ + rmgroup send shutdown kill throttle trace \ + xabort xexec)/' +complete cvs 'c/--/(help help-commands help-synonyms)/' \ + 'p/1/(add admin annotate checkout commit diff edit \ + editors export history import init log login \ + logout rdiff release remove rtag status tag \ + unedit update watch watchers)/' \ + 'n/-a/(edit unedit commit all none)/' \ + 'n/watch/(on off add remove)/' +complete svn 'C@file:///@`'"${HOME}/etc/tcsh/complete.d/svn"'`@@' \ + 'n@ls@(file:/// svn+ssh:// svn://)@@' \ + 'n@help@(add blame cat checkout cleanup commit copy \ + delete export help import info list ls \ + lock log merge mkdir move propdel propedit \ + propget proplist propset resolved revert \ + status switch unlock update)@' \ + 'p@1@(add blame cat checkout cleanup commit copy \ + delete export help import info list ls lock \ + log merge mkdir move propdel propedit propget \ + proplist propset resolved revert status switch \ + unlock update)@' + +complete cxx 'p/*/f:*.{c++,cxx,c,cc,C,cpp}/' +complete detex 'p/*/f:*.tex/' +complete edquota 'n/*/u/' +complete exec 'p/1/c/' +complete ghostview 'p/*/f:*.ps/' +complete gv 'p/*/f:*.ps/' +complete ifconfig 'p@1@`ifconfig -l`@' \ + 'n/*/(range phase link netmask mtu vlandev vlan \ + metric mediaopt down delete broadcast arp debug)/' +complete imake 'c/-I/d/' +complete ipfw 'p/1/(flush add delete list show zero)/' \ + 'n/add/(allow permit accept pass deny drop reject \ + reset count skipto num divert port tee port)/' +complete javac 'p/*/f:*.java/' +complete ldif2ldbm 'n/-i/f:*.ldif/' +complete libtool 'c/--mode=/(compile execute finish install link \ + uninstall)/' \ + 'c/--/(config debug dry-run features finish help \ + quiet silent version mode=)/' +complete libtoolize 'c/--/(automake copy debug dry-run force help ltdl \ + ltdl-tar version)/' +complete links 'c/-/(assume-codepage async-dns download-dir \ + format-cache-size ftp-proxy help http-proxy \ + max-connections max-connections-to-host \ + memory-cache-size receive-timeout retries \ + unrestartable-receive-timeout version)/' +complete natd c/-/'(alias_address config deny_incoming dynamic \ + inport interface log log_denied log_facility \ + outport outport port pptpalias proxy_only \ + proxy_rule redirect_address redirect_port \ + reverse same_ports unregistered_only use_sockets \ + verbose)'/ \ + 'n@-interface@`ifconfig -l`@' +complete netstat 'n@-I@`ifconfig -l`@' +complete objdump 'c/--/(adjust-vma= all-headers architecture= \ + archive-headers debugging demangle disassemble \ + disassemble-all disassemble-zeroes dynamic-reloc \ + dynamic-syms endian= file-headers full-contents \ + headers help info line-numbers no-show-raw-insn \ + prefix-addresses private-headers reloc \ + section-headers section=source stabs \ + start-address= stop-address= syms target= \ + version wide)/' \ + 'c/-/(a h i f C d D p r R t T x s S l w)/' +complete xmodmap 'c/-/(display help grammar verbose quiet n e pm pk \ + pke pp)/' +complete lynx 'c/-/(accept_all_cookies anonymous assume_charset= \ + assume_local_charset= assume_unrec_charset= \ + auth= base book buried_news cache= case cfg= \ + child cookie_file= cookies core crawl \ + debug_partial display= dump editor= emacskeys \ + enable_scrollback error_file= force_html \ + force_secure forms_options from ftp get_data \ + head help hiddenlinks= historical homepage= \ + image_links index= ismap link= localhost \ + mime_header minimal newschunksize= \ + newsmaxchunk= nobrowse nocc nocolor \ + nofilereferer nolist nolog nopause noprint \ + noredir noreferer nostatus number_links \ + partial partial_thres pauth= popup post_data \ + preparsed print pseudo_inlines raw realm \ + reload restrictions= resubmit_posts rlogin \ + selective show_cursor soft_dquotes source \ + stack_dump startfile_ok tagsoup telnet term= \ + tlog trace traversal underscore useragent= \ + validate verbose version vikeys width=)/' \ + 'c/(http|ftp)/$URLS/' +complete gmake 'c/{--directory=,--include-dir=}/d/' \ + 'c/{--assume-new,--assume-old,--makefile,--new-file,--what-if,--file}/f/' \ + 'c/--/(assume-new= assume-old= debug directory= \ + dry-run environment-overrides file= help \ + ignore-errors include-dir= jobs[=N] just-print \ + keep-going load-average[=N] makefile= \ + max-load[=N] new-file= no-builtin-rules \ + no-keep-going no-print-directory old-file= \ + print-data-base print-directory question quiet \ + recon silent stop touch version \ + warn-undefined-variables what-if=)/' \ + 'n@*@`cat -s GNUMakefile Makefile makefile |& sed -n -e "/No such file/d" -e "s/^\([A-Za-z0-9-]*\):.*/\1/p"`@' \ + 'n/=/f/' \ + 'n/-f/f/' +complete mixer p/1/'(vol bass treble synth pcm speaker mic cd mix \ + pcm2 rec igain ogain line1 line2 line3)'/ \ + p@2@'`mixer $:-1 | awk \{\ print\ \$7\ \}`'@ + +complete mpg123 'c/--/(2to1 4to1 8bit aggressive au audiodevice auth \ + buffer cdr check doublespeed equalizer frames \ + gain halfspeed headphones left lineout list \ + mix mono proxy quiet random rate reopen resync \ + right scale shuffle single0 single1 skip \ + speaker stdout stereo test verbose wav)/' +complete mysqladmin 'n/*/(create drop extended-status flush-hosts \ + flush-logs flush-status flush-tables \ + flush-privileges kill password ping \ + processlist reload refresh shutdown status \ + variables version)/' + +complete mutt \ + "c@-f=@F:${HOME}/Mail/@" \ + n/-a/f/ \ + n/-F/f/ \ + n/-H/f/ \ + n/-s/x:''/ \ + n/-e/x:''/ \ + n@-b@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ \ + n@-c@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ \ + n@*@'`cat "${HOME}/.muttrc-alias" | awk '"'"'{print $2 }'"'"\`@ + +complete ndc 'n/*/(status dumpdb reload stats trace notrace \ + querylog start stop restart )/' + +complete nm \ + 'c/--radix=/x:/' \ + 'c/--target=/x:/' \ + 'c/--format=/(bsd sysv posix)/n/' \ + 'c/--/(debugsyms extern-only demangle dynamic print-armap \ + print-file-name numeric-sort no-sort reverse-sort \ + size-sort undefined-only portability target= radix= \ + format= defined-only\ line-numbers no-demangle version \ + help)//' \ + 'n/*/f:^*.{h,c,cc,s,S}/' + +complete nmap 'n@-e@`ifconfig -l`@' 'p/*/$hostnames/' +complete perldoc 'n@*@`\ls -1 /usr/libdata/perl/5.*/pod | sed s%\\.pod.\*\$%%`@' +complete postfix 'n/*/(start stop reload abort flush check)/' +complete postmap 'n/1/(hash: regexp:)/' 'c/hash:/f/' 'c/regexp:/f/' +complete rcsdiff 'p@1@`\ls -1a RCS | sed -e "s/\(.*\),v/\1/"`@' +complete X 'c/-/(I a ac allowMouseOpenFail allowNonLocalModInDev \ + allowNonLocalXvidtune ar1 ar2 audit auth bestRefresh \ + bgamma bpp broadcast bs c cc class co core deferglyphs \ + disableModInDev disableVidMode displayID dpi dpms f fc \ + flipPixels fn fp gamma ggamma help indirect kb keeptty \ + ld lf logo ls nolisten string noloadxkb nolock nopn \ + once p pn port probeonly query quiet r rgamma s \ + showconfig sp su t terminate to tst v verbose version \ + weight wm x xkbdb xkbmap)/' +complete users 'c/--/(help version)/' 'p/1/x:""/' +complete vidcontrol 'p/1/(132x25 132x30 132x43 132x50 132x60 40x25 80x25 \ + 80x30 80x43 80x50 80x60 EGA_80x25 EGA_80x43 \ + VESA_132x25 VESA_132x30 VESA_132x43 VESA_132x50 \ + VESA_132x60 VESA_800x600 VGA_320x200 VGA_40x25 \ + VGA_80x25 VGA_80x30 VGA_80x50 VGA_80x60)/' +complete vim 'n/*/f:^*.[oa]/' +complete where 'n/*/c/' +complete which 'n/*/c/' +complete wmsetbg 'c/-/(display D S a b c d e m p s t u w)/' \ + 'c/--/(back-color center colors dither help match \ + maxscale parse scale smooth tile update-domain \ + update-wmaker version workspace)/' +complete xdb 'p/1/c/' +complete xdvi 'c/-/(allowshell debug display expert gamma hushchars \ + hushchecksums hushspecials install interpreter keep \ + margins nogrey noinstall nomakepk noscan paper safer \ + shrinkbuttonn thorough topmargin underlink version)/' \ + 'n/-paper/(a4 a4r a5 a5r)/' 'p/*/f:*.dvi/' +complete xlock 'c/-/(allowaccess allowroot debug description \ + echokeys enablesaver grabmouse grabserver hide inroot \ + install inwindow mono mousemotion nolock remote \ + resetsaver sound timeelapsed use3d usefirst verbose \ + wireframe background batchcount bg bitmap both3d \ + count cycles delay delta3d display dpmsoff \ + dpmsstandby dpmssuspend endCmd erasedelay erasemode \ + erasetime fg font foreground geometry help \ + icongeometry info invalid left3d lockdelay logoutCmd \ + mailCmd mailIcon message messagefile messagefont \ + messagesfile mode name ncolors nice nomailIcon none3d \ + parent password planfont program resources right3d \ + saturation size startCmd timeout username validate \ + version visual)/' 'n/-mode/(ant atlantis ball bat \ + blot bouboule bounce braid bubble bubble3d bug cage \ + cartoon clock coral crystal daisy dclock decay deco \ + demon dilemma discrete drift eyes fadeplot flag flame \ + flow forest galaxy gears goop grav helix hop hyper \ + ico ifs image invert julia kaleid kumppa lament laser \ + life life1d life3d lightning lisa lissie loop lyapunov \ + mandelbrot marquee matrix maze moebius morph3d \ + mountain munch nose pacman penrose petal pipes puzzle \ + pyro qix roll rotor rubik shape sierpinski slip sphere \ + spiral spline sproingies stairs star starfish strange \ + superquadrics swarm swirl tetris thornbird triangle \ + tube turtle vines voters wator wire world worm xjack \ + blank bomb random)/' +complete xfig 'c/-/(display)/' 'p/*/f:*.fig/' +complete wget c/--/"(accept= append-output= background cache= \ + continue convert-links cut-dirs= debug \ + delete-after directory-prefix= domains= \ + dont-remove-listing dot-style= exclude-directories= \ + exclude-domains= execute= follow-ftp \ + force-directories force-html glob= header= help \ + http-passwd= http-user= ignore-length \ + include-directories= input-file= level= mirror \ + no-clobber no-directories no-host-directories \ + no-host-lookup no-parent non-verbose \ + output-document= output-file= passive-ftp \ + proxy-passwd= proxy-user= proxy= quiet quota= \ + recursive reject= relative retr-symlinks save-headers \ + server-response span-hosts spider timeout= \ + timestamping tries= user-agent= verbose version wait=)"/ + +# these from Tom Warzeka + +# this one works but is slow and doesn't descend into subdirectories +# complete cd C@[./\$~]*@d@ \ +# p@1@'`\ls -1F . $cdpath | grep /\$ | sort -u`'@ n@*@n@ + +if ( -r /etc/shells ) then + complete setenv p@1@e@ n@DISPLAY@\$hosts@: n@SHELL@'`cat /etc/shells`'@ +else + complete setenv p@1@e@ n@DISPLAY@\$hosts@: +endif +complete unsetenv n/*/e/ + +set _maildir = /var/mail +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:''/ \ + n@-u@T:$_maildir@ n/-f/f/ \ + n@*@'`sed -n s/alias//p "$HOME/.mailrc" | \ + tr -s " " " " | cut -f 2`'@ +else + complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \ + "c@+@F:$HOME/Mail@" C@[./\$~]@f@ n/-s/x:''/ \ + n@-u@T:$_maildir@ n/-f/f/ n/*/u/ +endif +unset _maildir + +if (! $?MANPATH) then + if (-r /usr/share/man) then + setenv MANPATH /usr/share/man: + else + setenv MANPATH /usr/man: + endif +endif + +if ($?traditional_complete) then + # use of $MANPATH from Dan Nicolaescu + # use of 'find' adapted from Lubomir Host + complete man \ + 'n@1@`set q = "$MANPATH:as%:%/man1 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.1.\*\$%%`@'\ + 'n@2@`set q = "$MANPATH:as%:%/man2 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.2.\*\$%%`@'\ + 'n@3@`set q = "$MANPATH:as%:%/man3 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.3.\*\$%%`@'\ + 'n@4@`set q = "$MANPATH:as%:%/man4 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.4.\*\$%%`@'\ + 'n@5@`set q = "$MANPATH:as%:%/man5 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.5.\*\$%%`@'\ + 'n@6@`set q = "$MANPATH:as%:%/man6 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.6.\*\$%%`@'\ + 'n@7@`set q = "$MANPATH:as%:%/man7 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.7.\*\$%%`@'\ + 'n@8@`set q = "$MANPATH:as%:%/man8 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.8.\*\$%%`@'\ + 'n@9@`set q = "$MANPATH:as%:%/man9 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.9.\*\$%%`@'\ + 'n@0@`set q = "$MANPATH:as%:%/man0 %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.0.\*\$%%`@'\ + 'n@n@`set q = "$MANPATH:as%:%/mann %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.n.\*\$%%`@'\ + 'n@o@`set q = "$MANPATH:as%:%/mano %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.o.\*\$%%`@'\ + 'n@l@`set q = "$MANPATH:as%:%/manl %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.l.\*\$%%`@'\ + 'n@p@`set q = "$MANPATH:as%:%/manp %" ; \ls -1 $q |& sed -e s%^.\*:.\*\$%% -e s%\\.p.\*\$%%`@'\ + c@-@"(- f k M P s S t)"@ n@-f@c@ n@-k@x:''@ n@-[MP]@d@ \ + 'N@-[MP]@`\ls -1 $:-1/man? |& sed -n s%\\..\\+\$%%p`@' \ + 'n@-[sS]@`\ls -1 $MANPATH:as%:% % |& sed -n s%^man%%p | sort -u`@'\ + 'n@*@`find $MANPATH:as%:% % \( -type f -o -type l \) -printf "%f " |& sed -e "s%find: .*: No such file or directory%%" -e "s%\([^\.]\+\)\.\([^ ]*\) %\1 %g"`@' + #n@*@c@ # old way -- commands only +else + 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 P s t)"/ n/-f/c/ n/-k/x:''/ n/-P/d/ \ + N@-P@'`\ls -1 $:-1/man? | sed s%\\..\*\$%%`'@ n/*/c/ +endif + +complete ps c/-t/x:''/ c/-/"(a c C e g k l S t u v w x)"/ \ + n/-k/x:''/ N/-k/x:''/ n/*/x:''/ +complete compress c/-/"(c f v b)"/ n/-b/x:''/ n/*/f:^*.Z/ +complete uncompress c/-/"(c f v)"/ n/*/f:*.Z/ + +complete uuencode p/1/f/ p/2/x:''/ n/*/n/ +complete uudecode c/-/"(f)"/ n/-f/f:*.{uu,UU}/ p/1/f:*.{uu,UU}/ n/*/n/ + +complete xhost c/[+-]/\$hosts/ n/*/\$hosts/ +complete xpdf c/-/"(z g remote raise quit cmap rgb papercolor \ + eucjp t1lib freetype ps paperw paperh level1 \ + upw fullscreen cmd q v h help)"/ \ + n/-z/x:''/ \ + n/-g/x:''/ n/-remote/x:''/ \ + n/-rgb/x:''/ n/-papercolor/x:''/ \ + n/-{t1lib,freetype}/x:''/ \ + n/-ps/x:''/ n/-paperw/x:''/ \ + n/-paperh/x:''/ n/-upw/x:''/ \ + n/-/f:*.{pdf,PDF}/ \ + N/-{z,g,remote,rgb,papercolor,t1lib,freetype,ps,paperw,paperh,upw}/f:*.{pdf,PDF}/ \ + N/-/x:''/ p/1/f:*.{pdf,PDF}/ p/2/x:''/ + +complete tcsh c/-D*=/'x:'/ c/-D/'x:'/ \ + c/-/"(b c d D e f F i l m n q s t v V x X -version)"/ \ + n/-c/c/ n/{-l,--version}/n/ n/*/'f:*.{,t}csh'/ + +complete rpm c/--/"(query verify nodeps nofiles nomd5 noscripts \ + nogpg nopgp install upgrade freshen erase allmatches \ + notriggers repackage test rebuild recompile initdb \ + rebuilddb addsign resign querytags showrc setperms \ + setugids all file group package querybynumber qf \ + triggeredby whatprovides whatrequires changelog \ + configfiles docfiles dump filesbypkg info last list \ + provides queryformat requires scripts state triggers \ + triggerscripts allfiles badreloc excludepath checksig \ + excludedocs force hash ignoresize ignorearch ignoreos \ + includedocs justdb noorder oldpackage percent prefix \ + relocate replace-files replacepkgs buildroot clean \ + nobuild rmsource rmspec short-circuit sign target \ + help version quiet rcfile pipe dbpath root specfile)"/\ + c/-/"(q V K i U F e ba bb bp bc bi bl bs ta tb tp tc \ + ti tl ts a f g p c d l R s h ? v vv -)"/ \ + n/{-f,--file}/f/ n/{-g,--group}/g/ n/--pipe/c/ n/--dbpath/d/ \ + n/--querybynumber/x:''/ n/--triggeredby/x:''/\ + n/--what{provides,requires}/x:''/ n/--root/d/ \ + n/--{qf,queryformat}/x:''/ n/--buildroot/d/ \ + n/--excludepath/x:''/ n/--prefix/x:''/ \ + n/--relocate/x:''/ n/--target/x:''/\ + n/--rcfile/x:''/ n/--specfile/x:''/ \ + n/{-[iUFep],--{install,upgrade,freshen,erase,package}}/f:*.rpm/ + +# these conform to the latest GNU versions available at press time ... +# updates by John Gotts +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 set "_emacs_ver" to your version. + #set _emacs_ver=`emacs --version | sed -e 's%GNU Emacs %%' -e q | cut -d . -f1-2` + set _emacs_ver=21.3 + 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:''/ \ + n/{-t,--terminal}/x:''/ n/{-d,--display}/x:''/ \ + n/{-u,--user}/u/ n/{-f,--funcall}/x:''/ \ + n@{-l,--load}@F:$_emacs_dir/share/emacs/$_emacs_ver/lisp@ \ + n/--eval/x:''/ 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}/ +complete gzip c/--/"(stdout to-stdout decompress uncompress \ + force help list license no-name quiet recurse \ + suffix test verbose version fast best)"/ \ + c/-/"(c d f h l L n q r S t v V 1 2 3 4 5 6 7 8 9 -)"/\ + n/{-S,--suffix}/x:''/ \ + n/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \ + N/{-d,--{de,un}compress}/f:*.{gz,Z,z,zip,taz,tgz}/ \ + n/*/f:^*.{gz,Z,z,zip,taz,tgz}/ +complete {gunzip,ungzip} c/--/"(stdout to-stdout force help list license \ + no-name quiet recurse suffix test verbose version)"/ \ + c/-/"(c f h l L n q r S t v V -)"/ \ + n/{-S,--suffix}/x:''/ \ + n/*/f:*.{gz,Z,z,zip,taz,tgz}/ +complete zgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\ + c/-/"(A b B c C e f h i l n s v V w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ +complete zegrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\ + c/-/"(A b B c C e f h i l n s v V w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ +complete zfgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\ + c/-/"(A b B c C e f h i l n s v V w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ +complete znew c/-/"(f t v 9 P K)"/ n/*/f:*.Z/ +complete zmore n/*/f:*.{gz,Z,z,zip}/ +complete zfile n/*/f:*.{gz,Z,z,zip,taz,tgz}/ +complete ztouch n/*/f:*.{gz,Z,z,zip,taz,tgz}/ +complete zforce n/*/f:^*.{gz,tgz}/ + +complete dcop 'p/1/`$:0`/ /' \ + 'p/2/`$:0 $:1 | awk \{print\ \$1\}`/ /' \ + 'p/3/`$:0 $:1 $:2 | sed "s%.* \(.*\)(.*%\1%"`/ /' + + +complete grep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\ + c/--/"(extended-regexp fixed-regexp basic-regexp \ + regexp file ignore-case word-regexp line-regexp \ + no-messages revert-match version help byte-offset \ + line-number with-filename no-filename quiet silent \ + text directories recursive files-without-match \ + files-with-matches count before-context after-context \ + context binary unix-byte-offsets)"/ \ + c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \ + v w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ +complete egrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\ + c/--/"(extended-regexp fixed-regexp basic-regexp \ + regexp file ignore-case word-regexp line-regexp \ + no-messages revert-match version help byte-offset \ + line-number with-filename no-filename quiet silent \ + text directories recursive files-without-match \ + files-with-matches count before-context after-context \ + context binary unix-byte-offsets)"/ \ + c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \ + v w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ +complete fgrep c/-*A/x:'<#_lines_after>'/ c/-*B/x:'<#_lines_before>'/\ + c/--/"(extended-regexp fixed-regexp basic-regexp \ + regexp file ignore-case word-regexp line-regexp \ + no-messages revert-match version help byte-offset \ + line-number with-filename no-filename quiet silent \ + text directories recursive files-without-match \ + files-with-matches count before-context after-context \ + context binary unix-byte-offsets)"/ \ + c/-/"(A a B b C c d E e F f G H h i L l n q r s U u V \ + v w x)"/ \ + p/1/x:''/ N/-*e/f/ \ + n/-*e/x:''/ n/-*f/f/ n/*/f/ + +complete sed c/--/"(quiet silent version help expression file)"/ \ + c/-/"(n V e f -)"/ n/{-e,--expression}/x:'