From owner-p4-projects@FreeBSD.ORG Sun Jul 11 03:38:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7469C16A4D0; Sun, 11 Jul 2004 03:38:39 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 38CB616A4CE for ; Sun, 11 Jul 2004 03:38:39 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2EE5D43D3F for ; Sun, 11 Jul 2004 03:38:39 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i6B3cdt2055343 for ; Sun, 11 Jul 2004 03:38:39 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i6B3cc2Q055340 for perforce@freebsd.org; Sun, 11 Jul 2004 03:38:38 GMT (envelope-from marcel@freebsd.org) Date: Sun, 11 Jul 2004 03:38:38 GMT Message-Id: <200407110338.i6B3cc2Q055340@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 57036 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jul 2004 03:38:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=57036 Change 57036 by marcel@marcel_nfs on 2004/07/11 03:38:16 IFC @57035 Affected files ... .. //depot/projects/gdb/bin/csh/config.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/FAQ#2 integrate .. //depot/projects/gdb/contrib/tcsh/FREEBSD-Xlist#2 integrate .. //depot/projects/gdb/contrib/tcsh/Fixes#2 integrate .. //depot/projects/gdb/contrib/tcsh/Imakefile#2 integrate .. //depot/projects/gdb/contrib/tcsh/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/tcsh/README#2 integrate .. //depot/projects/gdb/contrib/tcsh/WishList#2 integrate .. //depot/projects/gdb/contrib/tcsh/complete.tcsh#2 integrate .. //depot/projects/gdb/contrib/tcsh/config/bsd4.4#2 integrate .. //depot/projects/gdb/contrib/tcsh/config_f.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/configure#2 integrate .. //depot/projects/gdb/contrib/tcsh/configure.in#2 integrate .. //depot/projects/gdb/contrib/tcsh/csh-mode.el#2 integrate .. //depot/projects/gdb/contrib/tcsh/ed.refresh.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/ed.screen.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/ed.term.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/gethost.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/glob.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/glob.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/host.defs#2 integrate .. //depot/projects/gdb/contrib/tcsh/ma.setp.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/C/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/Makefile#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/et/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/finnish/set14#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/finnish/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/french/set11#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/french/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/german/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/greek/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/italian/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/ja/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/pl/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/russian/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/russian/set30#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/spanish/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/nls/ukrainian/set17#2 integrate .. //depot/projects/gdb/contrib/tcsh/patchlevel.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.decls.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.dir.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.dol.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.exec.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.file.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.func.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.glob.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.init.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.lex.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.misc.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.proc.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.sem.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.set.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/sh.types.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.const.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.decls.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.func.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.os.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.os.h#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.printf.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.prompt.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.str.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tc.who.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tcsh.man#2 integrate .. //depot/projects/gdb/contrib/tcsh/tw.color.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tw.comp.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tw.help.c#2 integrate .. //depot/projects/gdb/contrib/tcsh/tw.parse.c#2 integrate .. //depot/projects/gdb/sys/alpha/conf/GENERIC#4 integrate .. //depot/projects/gdb/sys/alpha/conf/GENERIC.hints#2 integrate .. //depot/projects/gdb/sys/amd64/conf/GENERIC#9 integrate .. //depot/projects/gdb/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/gdb/sys/ia64/conf/GENERIC#4 integrate .. //depot/projects/gdb/sys/ia64/conf/SKI#3 integrate .. //depot/projects/gdb/sys/sparc64/conf/GENERIC#7 integrate .. //depot/projects/gdb/sys/sparc64/conf/NOTES#5 integrate Differences ... ==== //depot/projects/gdb/bin/csh/config.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* config.h. Generated automatically by configure. */ +/* config.h. Generated by configure. */ /* * config.h -- configure various defines for tcsh * @@ -7,7 +7,7 @@ * Edit this to match your system type. */ -/* $FreeBSD: src/bin/csh/config.h,v 1.7 2001/09/05 22:56:58 mp Exp $ */ +/* $FreeBSD: src/bin/csh/config.h,v 1.8 2004/07/11 02:23:38 mp Exp $ */ #ifndef _h_config #define _h_config @@ -29,14 +29,14 @@ /* #undef POSIXSIGS */ /* - * VFORK This machine has a vfork(). + * VFORK This machine has a vfork(). * It used to be that for job control to work, this define * was mandatory. This is not the case any more. - * If you think you still need it, but you don't have vfork, - * define this anyway and then do #define vfork fork. + * If you think you still need it, but you don't have vfork, + * define this anyway and then do #define vfork fork. * I do this anyway on a Sun because of yellow pages brain damage, * [should not be needed under 4.1] - * and on the iris4d cause SGI's fork is sufficiently "virtual" + * and on the iris4d cause SGI's fork is sufficiently "virtual" * that vfork isn't necessary. (Besides, SGI's vfork is weird). * Note that some machines eg. rs6000 have a vfork, but not * with the berkeley semantics, so we cannot use it there either. @@ -101,7 +101,7 @@ * SIGVOID Define this if your signal handlers return void. On older * systems, signal returns int, but on newer ones, it returns void. */ -#define SIGVOID +#define SIGVOID /* * HAVEDUP2 Define this if your system supports dup2(). @@ -132,11 +132,19 @@ #define BSD_STYLE_COLORLS #endif +#if defined(__NetBSD__) +#include +#if __NetBSD_Version__ >= 106030000 /* NetBSD 1.6C */ +#define HAVEUTMPX +#endif +#endif + #if defined(__bsdi__) /* * _PATH_TCSHELL if you've change the installation location (vix) */ -# if _BSDI_VERSION >= 199701 +#include +# ifdef _BSDI_VERSION >= 199701 # define _PATH_TCSHELL "/bin/tcsh" /* # undef SYSMALLOC */ # define SYSMALLOC @@ -144,8 +152,8 @@ # define _PATH_TCSHELL "/usr/contrib/bin/tcsh" # endif -# undef NLS -# undef NLS_CATALOGS +/* # undef NLS */ +/* # undef NLS_CATALOGS */ #elif defined(__APPLE__) # define SYSMALLOC @@ -154,8 +162,5 @@ # define NLS_CATALOGS #endif -#define KANJI -#define DSPMBYTE - #endif /* _h_config */ /* config.h.in. Generated automatically from configure.in by autoheader. */ ==== //depot/projects/gdb/contrib/tcsh/FAQ#2 (text+ko) ==== @@ -11,7 +11,12 @@ be able to get ftp it... :-) _________________________________________________________________ - 1. Why is the meta key broken in tcsh-5.20 and up? + 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 @@ -40,7 +45,7 @@ printable meta characters for commands) setenv NOREBIND. _________________________________________________________________ - 2. I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in + 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 @@ -56,19 +61,19 @@ in your .dbxinit _________________________________________________________________ - 3. I tried to compile tcsh and it cannot find ? + 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. _________________________________________________________________ - 4. Where can I get csh sources? + 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. _________________________________________________________________ - 5. I just made tcsh my login shell, and I cannot ftp any more? + 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 @@ -81,7 +86,7 @@ shells for your system, so that other people can ftp too :-) _________________________________________________________________ - 6. I am using SunView? or OpenWindows? and editing is screwed up. In + 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? @@ -93,32 +98,36 @@ 1. Don't use suntools 2. Use shelltool instead of cmdtool. 3. Unset edit in tcsh. + _________________________________________________________________ - 6b. On a SPARCstation running Solaris 2.x and OpenWindows? 3.1, inside - a cmdtool, the short-cut key sequence to clear log (i.e. Meta-e or - Diamond-e) doesn't work: it just echos 'e' + 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. + _________________________________________________________________ - 6c. On a SPARCstation running Solaris 2.x and OpenWindows? 3.1, - maketool (within SPARCworks) doesn't work: it just does a `cd' to the - working directory then stops. + 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. - The workaround for 6b and 6c is doing "unset edit." Using shelltool - instead of cmdtool doesn't fix 6c. + Unset edit in tcsh. Using shelltool instead of cmdtool does not fix + this. _________________________________________________________________ - 7. I rlogin to another machine, and then no matter what I tell 'stty' + 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. _________________________________________________________________ - 8. Where do I get the public domain directory library? + 11. Where do I get the public domain directory library? Anonymous ftp to prep.ai.mit.edu:/pub/gnu/dirent.tar.Z _________________________________________________________________ - 9. I compiled tcsh using gcc, and when I start up it says: tcsh: + 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 @@ -130,13 +139,13 @@ 3. Compile with cc. _________________________________________________________________ - 10. I compiled tcsh with the SunOS? unbundled compiler and now things + 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. _________________________________________________________________ - 11. How can I use the arrow keys with hpterm? + 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 @@ -151,7 +160,7 @@ if you are using termcap, replace "smkx" with "ks"... _________________________________________________________________ - 12. On POSIX machines ^C and ^Z will do not work when tcsh is a login + 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 @@ -159,7 +168,7 @@ ^C susp ^Z' will set them to ^C and ^Z respectively. _________________________________________________________________ - 13. I am trying to compile tcsh and I am getting compile errors that + 16. I am trying to compile tcsh and I am getting compile errors that look like: >sh.c:???: `STR???' undeclared, outside of functions [gcc] @@ -169,7 +178,7 @@ headers. Type 'make clean; make' _________________________________________________________________ - 14. On the cray, sometimes the CR/LF mapping gets screwed up. + 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 @@ -181,21 +190,21 @@ character'. _________________________________________________________________ - 15. On AU/X, I made tcsh my startup shell, but the mac desktop is not + 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. _________________________________________________________________ - 16. On machines that use YP (NIS) tilde expansion might end up in + 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 _________________________________________________________________ - 17. Script on SGI 4.0.5 does not give us a tty, so we cannot have job + 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: @@ -204,18 +213,21 @@ % cat > /dev/tty _________________________________________________________________ - 18. I start tcsh and it takes a couple of minutes to get the prompt. + 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. _________________________________________________________________ - 19. If you need help generating your .cshrc file, check out: + 22. If you need help generating your .cshrc file, check out: + + http://www.imada.sdu.dk/~blackie/dotfile/ - http://www.imada.ou.dk/~blackie/dotfile/ + or + http://www.dotfiles.com _________________________________________________________________ - 20. On POSIX systems the kernel will send hup signals to all the + 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 @@ -230,27 +242,57 @@ avoid that you can set stty -hupcl, but it is not recommended. _________________________________________________________________ - 21. When I rsh the meta key stops working on the remote machine. + 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. _________________________________________________________________ - 22. Tcsh compiled under hp/ux-10.x does not pass resource limits + 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. _________________________________________________________________ - 23. Refreshing in command line editing can appear broken on some OS's + 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 @@ -258,5 +300,5 @@ Home | RecentChanges | Preferences Edit text of this page | View other revisions - Last edited April 27, 2001 13:43 (diff) + Last edited April 29, 2004 15:02 (diff) Search: ____________________ ==== //depot/projects/gdb/contrib/tcsh/FREEBSD-Xlist#2 (text+ko) ==== @@ -1,8 +1,9 @@ -$FreeBSD: src/contrib/tcsh/FREEBSD-Xlist,v 1.1 2002/07/24 16:42:58 mp Exp $ +$FreeBSD: src/contrib/tcsh/FREEBSD-Xlist,v 1.2 2004/07/11 02:20:52 mp Exp $ */BUGS */config/a* */config/bs2000 */config/bsd */config/bsdreno */config/[c-z]* +*/nls/*/charset */win32 ==== //depot/projects/gdb/contrib/tcsh/Fixes#2 (text+ko) ==== @@ -1,3 +1,46 @@ + 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. ==== //depot/projects/gdb/contrib/tcsh/Imakefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ XCOMM -XCOMM $Id: Imakefile,v 1.81 2002/07/23 16:18:31 christos Exp $ +XCOMM $Id: Imakefile,v 1.83 2003/02/08 20:03:25 christos Exp $ XCOMM XCOMM Imakefile for tcsh 6.12 XCOMM Marc Horowitz, MIT SIPB @@ -482,16 +482,18 @@ 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 sh.char.h sh.dir.h sh.proc.h sh.h \ - sh.decls.h glob.c glob.h ${SYSSRCS} +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.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} + 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 ==== //depot/projects/gdb/contrib/tcsh/Makefile.in#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 3.19 2002/07/23 16:13:21 christos Exp $ +# $Id: Makefile.in,v 3.20 2003/03/12 19:14:50 christos Exp $ # Makefile.in 4.3 6/11/83 # # C Shell with process control; VM/UNIX VAX Makefile @@ -9,7 +9,7 @@ # SHELL=/bin/sh VERSION=6.12 -BUILD=tcsh +BUILD=tcsh$(EXEEXT) VPATH=@srcdir@ srcdir=@srcdir@ @@ -136,7 +136,7 @@ #DFLAGS= #DFLAGS=-D_PATH_TCSHELL='"${DESTBIN}/tcsh"' ## The following is set by autoconf. -DFLAGS = -D_PATH_TCSHELL='"${DESTBIN}/tcsh"' @DFLAGS@ @CPPFLAGS@ +DFLAGS = -D_PATH_TCSHELL='"${bindir}/tcsh"' @DFLAGS@ @CPPFLAGS@ ################################################################ @@ -284,6 +284,7 @@ # DESTMAN=${DESTDIR}/catman/man${MANSECT} # A/UX # DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} # Stardent Vistra (SysVR4) # DESTMAN=/usr/catman/1l # Amiga unix (SysVR4) +EXEEXT=@EXEEXT@ FTPAREA=/usr/spool/ftp ASSRCS= sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \ @@ -340,9 +341,9 @@ all: ${BUILD} -tcsh:$(P) ${OBJS} - rm -f tcsh core - ${CC} -o tcsh ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} +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 @@ -350,11 +351,11 @@ # Purify pure:$(P) ${OBJS} - rm -f tcsh core - purify `echo ${CC} | sed -e s,-B/bin/,,` -o tcsh ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} + 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 +#tcsh.exe: tcsh +# emxbind tcsh gethost: gethost.c sh.err.h tc.const.h sh.h rm -f gethost @@ -474,12 +475,12 @@ install-strip: install -install: tcsh +install: tcsh$(EXEEXT) -mkdir -p ${DESTBIN} - -mv -f ${DESTBIN}/tcsh ${DESTBIN}/tcsh.old - cp tcsh ${DESTBIN}/tcsh - -strip ${DESTBIN}/tcsh - chmod 555 ${DESTBIN}/tcsh + -mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old + cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT) + -strip ${DESTBIN}/tcsh$(EXEEXT) + chmod 755 ${DESTBIN}/tcsh$(EXEEXT) install.man: tcsh.man -mkdir -p ${DESTMAN} @@ -487,6 +488,19 @@ cp $(srcdir)/tcsh.man ${DESTMAN}/tcsh.${MANSECT} chmod 444 ${DESTMAN}/tcsh.${MANSECT} +install.cygwin: install install.man + -mkdir -p ${DESTDIR}${prefix}/doc/tcsh + cp ${srcdir}/FAQ ${srcdir}/Fixes ${DESTDIR}${prefix}/doc/tcsh + cp ${srcdir}/NewThings ${srcdir}/README ${DESTDIR}${prefix}/doc/tcsh + cp ${srcdir}/WishList ${srcdir}/Y2K ${DESTDIR}${prefix}/doc/tcsh + perl ${srcdir}/tcsh.man2html ${srcdir}/tcsh.man + cp -rp tcsh.html ${DESTDIR}${prefix}/doc/tcsh + -mkdir -p ${DESTDIR}/etc/profile.d + -mkdir -p ${DESTDIR}/etc/postinstall + cp -p ${srcdir}/cygwin/etc/csh.* ${DESTDIR}/etc + cp -p ${srcdir}/cygwin/etc/profile.d/*.tcsh ${DESTDIR}/etc/profile.d + cp -p ${srcdir}/cygwin/etc/postinstall/tcsh.sh ${DESTDIR}/etc/postinstall + # Amiga Unix #install.man: tcsh.man # compress tcsh.man @@ -500,7 +514,7 @@ # 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 a.out strings x.c xs.c tcsh$(EXEEXT) 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 ==== //depot/projects/gdb/contrib/tcsh/README#2 (text+ko) ==== @@ -96,8 +96,8 @@ 12) PLEASE send any bug reports (and fixes), code for new features, comments, questions, etc. (even flames) to: - The tcsh mailing list - tcsh@mx.gw.com + The tcsh bugs mailing list + tcsh-bugs@mx.gw.com Various: ==== //depot/projects/gdb/contrib/tcsh/WishList#2 (text+ko) ==== @@ -4,15 +4,128 @@ 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 + _________________________________________________________________ + + I'm a long-time faithful user of tcsh, and one thing has always bugged + me -- the need to type "rehash" at a prompt when adding a new command. + My suggestions is to change tcsh so before printing "Command not + found.", it first searches its entire path and rebuilds its hash + table. Only after doing this, and if the command is still not in the + path, then print "Command not found.". I realize there are some + extreme cases in which this is suboptimal, but in most cases with + normal users this would be a big win, and simplify the manual and + perhaps even the code. + _________________________________________________________________ + + 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. @@ -21,45 +134,187 @@ 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. - _________________________________________________________________ +> 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 _________________________________________________________________ - Add instructions for using configure in the README file. + 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 >>> TRUNCATED FOR MAIL (1000 lines) <<<