From e709e1c92265c0b09e5f2df0202ae1683ecad9e71ecef900bf45fe18ea0da1b3 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 18 Dec 2006 23:18:00 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/tcsh?expand=0&rev=1 --- .gitattributes | 23 + .gitignore | 1 + nls-iconv | 25 + ready | 0 tcsh-6.14.00-bsdsignals.dif | 34 + tcsh-6.14.00-pipe.dif | 11 + tcsh-6.14.00-spelling.dif | 24 + tcsh-6.14.00-tabexpand.dif | 11 + tcsh-6.14.00-utf8.dif | 13 + tcsh-6.14.00.dif | 2101 +++++++++++++++++++++++++++++++++++ tcsh-6.14.00.tar.bz2 | 3 + tcsh.changes | 342 ++++++ tcsh.spec | 300 +++++ 13 files changed, 2888 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 nls-iconv create mode 100644 ready create mode 100644 tcsh-6.14.00-bsdsignals.dif create mode 100644 tcsh-6.14.00-pipe.dif create mode 100644 tcsh-6.14.00-spelling.dif create mode 100644 tcsh-6.14.00-tabexpand.dif create mode 100644 tcsh-6.14.00-utf8.dif create mode 100644 tcsh-6.14.00.dif create mode 100644 tcsh-6.14.00.tar.bz2 create mode 100644 tcsh.changes create mode 100644 tcsh.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/nls-iconv b/nls-iconv new file mode 100644 index 0000000..fb4dbd4 --- /dev/null +++ b/nls-iconv @@ -0,0 +1,25 @@ +#!/bin/sh + +iconv_files () { + FROM=$1 + shift + for i in $* + do + iconv --from $FROM --to UTF-8 < $i > $i.tmp + mv $i.tmp $i + perl -pi -e 's/codeset *= *[^[:space:]]*/codeset=UTF-8/' $i + done +} + +iconv_files ISO-8859-1 nls/C/set* +iconv_files ISO-8859-1 nls/et/set* +iconv_files ISO-8859-1 nls/finnish/set* +iconv_files ISO-8859-1 nls/french/set* +iconv_files ISO-8859-1 nls/german/set* +iconv_files ISO-8859-7 nls/greek/set* +iconv_files ISO-8859-1 nls/italian/set* +iconv_files EUC-JP nls/ja/set* +iconv_files ISO-8859-2 nls/pl/set* +iconv_files KOI8-R nls/russian/set* +iconv_files ISO-8859-1 nls/spanish/set* +iconv_files KOI8-U nls/ukrainian/set* diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/tcsh-6.14.00-bsdsignals.dif b/tcsh-6.14.00-bsdsignals.dif new file mode 100644 index 0000000..0dc51ef --- /dev/null +++ b/tcsh-6.14.00-bsdsignals.dif @@ -0,0 +1,34 @@ +--- tc.sig.c ++++ tc.sig.c 2005-08-17 14:10:52.000000000 +0200 +@@ -266,7 +266,7 @@ + * Set a new signal mask. Return old mask. + */ + sigmask_t +-sigsetmask(mask) ++bsd_sigsetmask(mask) + sigmask_t mask; + { + sigset_t set, oset; +@@ -302,7 +302,7 @@ + * Return old mask. + */ + sigmask_t +-sigblock(mask) ++bsd_sigblock(mask) + sigmask_t mask; + { + sigset_t set, oset; +--- tc.sig.h ++++ tc.sig.h 2005-08-17 14:10:34.000000000 +0200 +@@ -154,6 +154,11 @@ + # undef signal + # endif /* WINNT_NATIVE */ + # define signal(a, b) bsd_signal(a, b) ++# define sigblock(a) bsd_sigblock(a) ++# define sigsetmask(a) bsd_sigsetmask(a) ++extern sigmask_t bsd_sigsetmask(sigmask_t mask); ++extern sigmask_t bsd_sigblock (sigmask_t mask); ++extern void bsd_sigpause (sigmask_t mask); + # endif /* POSIXSIGS */ + # ifndef _SEQUENT_ + # define sighold(s) sigblock(sigmask(s)) diff --git a/tcsh-6.14.00-pipe.dif b/tcsh-6.14.00-pipe.dif new file mode 100644 index 0000000..e9ae5a3 --- /dev/null +++ b/tcsh-6.14.00-pipe.dif @@ -0,0 +1,11 @@ +--- sh.dol.c.xxx 2006-02-06 18:37:44.000000000 +0000 ++++ sh.dol.c 2006-02-06 18:41:05.000000000 +0000 +@@ -486,6 +486,8 @@ + char cbuf[MB_LEN_MAX]; + size_t cbp = 0; + ++ memset(&cbuf[0], 0, sizeof(cbuf)); ++ + #ifdef BSDSIGS + sigmask_t omask = sigsetmask(sigblock(0) & ~sigmask(SIGINT)); + #else /* !BSDSIGS */ diff --git a/tcsh-6.14.00-spelling.dif b/tcsh-6.14.00-spelling.dif new file mode 100644 index 0000000..06d9ce5 --- /dev/null +++ b/tcsh-6.14.00-spelling.dif @@ -0,0 +1,24 @@ +--- nls/Makefile ++++ nls/Makefile 2005-08-17 14:13:49.000000000 +0200 +@@ -3,7 +3,7 @@ + spanish ukrainian + #GENCAT= gencat --new + #CHARSET= charset +-GENCAT= gencat ++GENCAT= gencat --new + + catalogs: + @for i in ${SUBDIRS} ; \ +--- nls/german/set6 ++++ nls/german/set6 2005-08-17 14:12:36.000000000 +0200 +@@ -3,8 +3,8 @@ + $set 6 + 1 FEHLER: Illegaler Befehl von Taste 0%o\r\n + 2 ja\n +-3 ediere\n +-4 brich ab\n ++3 editieren\n ++4 abbrechen\n + 5 nein\n + 6 Kein entsprechender Befehl\n + 7 Mehrdeutiger Befehl\n diff --git a/tcsh-6.14.00-tabexpand.dif b/tcsh-6.14.00-tabexpand.dif new file mode 100644 index 0000000..26114b2 --- /dev/null +++ b/tcsh-6.14.00-tabexpand.dif @@ -0,0 +1,11 @@ +--- tw.parse.c ++++ tw.parse.c 2006-06-21 09:59:35.000000000 +0000 +@@ -1438,6 +1438,8 @@ + *target; /* Target to expand/correct/list */ + DIR *dir_fd = NULL; + ++ exp_name[0] = '\0'; /* Do not core dump by overwriting memory */ ++ + USE(wp); + + /* diff --git a/tcsh-6.14.00-utf8.dif b/tcsh-6.14.00-utf8.dif new file mode 100644 index 0000000..7068d47 --- /dev/null +++ b/tcsh-6.14.00-utf8.dif @@ -0,0 +1,13 @@ +--- sh.func.c ++++ sh.func.c 2005-08-18 14:15:31.000000000 +0200 +@@ -2515,9 +2515,7 @@ + short2str(varval(STRcatalog))); + catd = catopen(catalog, MCLoadBySet); + #ifdef HAVE_ICONV +- /* catgets (), not CGETS, the charset name should be in ASCII anyway. */ +- catgets_iconv = iconv_open (nl_langinfo (CODESET), +- catgets(catd, 255, 1, "ASCII")); ++ catgets_iconv = iconv_open(nl_langinfo(CODESET), "UTF-8"); + #endif /* HAVE_ICONV */ + #endif /* NLS_CATALOGS */ + #ifdef WINNT_NATIVE diff --git a/tcsh-6.14.00.dif b/tcsh-6.14.00.dif new file mode 100644 index 0000000..d4625dc --- /dev/null +++ b/tcsh-6.14.00.dif @@ -0,0 +1,2101 @@ +--- .pkgextract ++++ .pkgextract 2006-04-25 14:58:31.000000000 +0200 +@@ -0,0 +1,4 @@ ++patch -p0 -s --suffix=.spell < ../tcsh-6.14.00-spelling.dif ++patch -p0 -s --suffix=.bsdsig < ../tcsh-6.14.00-bsdsignals.dif ++patch -p0 -s --suffix=.utf8 < ../tcsh-6.14.00-utf8.dif ++patch -p0 -s --suffix=.pipe < ../tcsh-6.14.00-pipe.dif +--- Makefile.in ++++ Makefile.in 2006-04-25 14:58:31.000000000 +0200 +@@ -8,7 +8,7 @@ + # things; Paul Placeway, CIS Dept., Ohio State University + # + SHELL=/bin/sh +-VERSION=6.12 ++VERSION=6.14 + BUILD=tcsh$(EXEEXT) + VPATH=@srcdir@ + srcdir=@srcdir@ +@@ -474,12 +474,12 @@ + @vgrind -t -x -h Index index >/crp/bill/csh/index.t + + install-strip: install ++ -strip ${DESTBIN}/tcsh$(EXEEXT) + + install: tcsh$(EXEEXT) + -mkdir -p ${DESTBIN} + -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 +--- config_f.h ++++ config_f.h 2006-04-25 14:58:31.000000000 +0200 +@@ -69,12 +69,17 @@ + * if you don't have , you don't want + * to define this. + */ +-#undef NLS_CATALOGS ++#define NLS_CATALOGS + + /* +- * LOGINFIRST Source ~/.login before ~/.cshrc ++ * LOGINFIRST Source /etc/csh.login before /etc/csh.cshrc + */ +-#undef LOGINFIRST ++#define LOGINFIRST ++ ++/* ++ * USERLOGINFIRST Source ~/.login before ~/.cshrc ++ */ ++#undef USERLOGINFIRST + + /* + * VIDEFAULT Make the VI mode editor the default +@@ -149,7 +154,7 @@ + * This can be much slower and no memory statistics will be + * provided. + */ +-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) ++#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined(linux) + # define SYSMALLOC + #else + # undef SYSMALLOC +@@ -168,7 +173,7 @@ + * successful, set $REMOTEHOST to the name or address of the + * host + */ +-#define REMOTEHOST ++#undef REMOTEHOST + + /* + * COLOR_LS_F Do you want to use builtin color ls-F ? +@@ -191,7 +196,7 @@ + * RCSID This defines if we want rcs strings in the binary or not + * + */ +-#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) ++#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) && !defined(__linux__) + # ifndef __GNUC__ + # define RCSID(id) static char *rcsid = (id); + # else +--- glob.h ++++ glob.h 2006-04-25 14:58:31.000000000 +0200 +@@ -72,6 +72,7 @@ + #define GLOB_NOSYS (-4) /* Implementation does not support function. */ + + /* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */ ++#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE || defined _GNU_SOURCE) + #define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */ + #define GLOB_BRACE 0x0080 /* Expand braces ala csh. */ + #define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */ +@@ -82,7 +83,7 @@ + #define GLOB_QUOTE 0x2000 /* XXX: source compatibility */ + + #define GLOB_ABEND GLOB_ABORTED /* source compatibility */ +-/* #endif */ ++#endif + + #include "tc.nls.h" + +--- host.defs ++++ host.defs 2006-04-25 14:58:31.000000000 +0200 +@@ -111,7 +111,7 @@ + /* + * On convex, find the current machine type via the getsysinfo() syscall + */ +-#include ++# include + + /* From: fox@convex.com (David DeSimone) */ + static char * +@@ -169,6 +169,32 @@ + endcode : + enddef : + ++newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__) ++comment : Linus Torvalds's linux ++newcode : ++# include ++static char * gethost() __attribute__ ((unused)); ++static char * getmach() __attribute__ ((unused)); ++static char * getmach() ++{ ++ static char* mach = "unknown"; ++ struct utsname uts; ++ if (uname(&uts) == 0) ++ mach = uts.machine; ++ return mach; ++} ++static char * gethost() ++{ ++ static char host[256]; ++ struct utsname uts; ++ if (uname(&uts) == 0) ++ xsnprintf(host, sizeof(host), "%s-linux", uts.machine); ++ else ++ xsnprintf(host, sizeof(host), "unknown-linux"); ++ return host; ++} ++endcode : ++enddef : + + newcode : + void +@@ -435,17 +461,18 @@ + enddef : + + +-newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__) +-comment : Linus Torvalds's linux ++vendor : defined(SuSE) : "suse" + vendor : defined(M_intel) : "intel" + hosttype: defined(__ia64__) : "ia64-linux" + hosttype: defined(__powerpc64__) : "powerpc64-linux" + hosttype: defined(__s390x__) : "s390x-linux" + hosttype: defined(__s390__) : "s390-linux" + hosttype: defined(__x86_64__) : "x86_64-linux" ++hosttype: defined(M_i686) : "i686-linux" + hosttype: defined(M_i586) : "i586-linux" + hosttype: defined(M_i486) : "i486-linux" + hosttype: defined(M_i386) : "i386-linux" ++hosttype: : gethost() + ostype : !defined(PPC) : "linux" + ostype : defined(PPC) : "mklinux" + machtype: defined(__ia64__) : "ia64" +@@ -453,9 +480,11 @@ + machtype: defined(__s390x__) : "s390x" + machtype: defined(__s390__) : "s390" + machtype: defined(__x86_64__) : "x86_64" ++machtype: defined(M_i686) : "i686" + machtype: defined(M_i586) : "i586" + machtype: defined(M_i486) : "i486" + machtype: defined(M_i386) : "i386" ++machtype: : getmach() + vendor : defined(__alpha) : "dec" + vendor : defined(PPC) : "apple" + hosttype: defined(__alpha) : "alpha" +@@ -466,6 +495,7 @@ + machtype: defined(M_mipseb) : "mipseb" + machtype: defined(M_mips64el) : "mips64el" + machtype: defined(M_mips64eb) : "mips64eb" ++machtype: : getmach() + enddef : + + +--- pathnames.h ++++ pathnames.h 2006-04-25 14:58:31.000000000 +0200 +@@ -33,7 +33,7 @@ + #ifndef _h_pathnames + #define _h_pathnames + +-#ifdef BSD4_4 ++#if defined(BSD4_4) || defined(linux) + # include + #endif + +@@ -84,7 +84,7 @@ + # endif /* !_PATH_DOTLOGIN */ + #endif /* sgi || OREO || cray || AMIX || CDC */ + +-#if (defined(_CRAYCOM) || defined(Lynx)) && !defined(_PATH_TCSHELL) ++#if (defined(_CRAYCOM) || defined(Lynx) || defined(linux)) && !defined(_PATH_TCSHELL) + # define _PATH_TCSHELL "/bin/tcsh" /* 1st class shell */ + #endif /* _CRAYCOM && !_PATH_TCSHELL */ + +--- sh.c ++++ sh.c 2006-04-25 14:58:31.000000000 +0200 +@@ -475,7 +475,8 @@ + if (loginsh || (uid == 0)) { + if (*cp) { + /* only for login shells or root and we must have a tty */ +- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) { ++ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) && ++ (Strncmp(cp, STRpts, 3) != 0)) { + cp = cp2 + 1; + } + else +@@ -737,7 +738,16 @@ + shtemp = Strspl(SAVE(strtmp2), doldol); /* For << */ + } + #else /* !WINNT_NATIVE */ ++#if defined(__GLIBC__) && __GLIBC__ >= 2 ++ { ++ char *tmpdir = getenv ("TMPDIR"); ++ if (!tmpdir) ++ tmpdir = "/tmp"; ++ shtemp = Strspl(SAVE(tmpdir), SAVE("/sh.XXXXXX")); /* For << */ ++ } ++#else + shtemp = Strspl(STRtmpsh, doldol); /* For << */ ++#endif /* __GLIBC__ */ + #endif /* WINNT_NATIVE */ + + /* +@@ -786,9 +796,9 @@ + /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ + #if defined(DSPMBYTE) + #if defined(NLS) && defined(LC_CTYPE) +- if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL) && !adrof(CHECK_MBYTEVAR)) { ++ if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL)) { + #else +- if ((tcp = getenv("LANG")) != NULL && !adrof(CHECK_MBYTEVAR)) { ++ if ((tcp = getenv("LANG")) != NULL) { + #endif + autoset_dspmbyte(str2short(tcp)); + } +@@ -1311,6 +1321,9 @@ + setintr = osetintr; + parintr = oparintr; + } ++#ifndef USERLOGINFIRST ++# undef LOGINFIRST ++#endif + #ifdef LOGINFIRST + if (loginsh) + (void) srccat(varval(STRhome), STRsldotlogin); +@@ -1667,6 +1680,7 @@ + Char **av; + { + struct saved_state st; ++ st.mask = (sigmask_t)0; + st.SHIN = -1; /* st_restore checks this */ + + if (unit < 0) +--- sh.dol.c ++++ sh.dol.c 2006-04-25 14:58:31.000000000 +0200 +@@ -30,6 +30,7 @@ + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ ++#include + #include "sh.h" + + RCSID("$Id: sh.dol.c,v 3.55 2004/12/25 21:15:06 christos Exp $") +@@ -1029,6 +1030,29 @@ + Char *lbp, *obp, *mbp; + Char **vp; + int quoted; ++#if defined(__GLIBC__) && __GLIBC__ >= 2 ++ char *tmp = short2str(shtemp); ++ char *dot = strrchr(tmp, '.'); ++ int fd; ++ ++ if (!dot) ++ stderror(ERR_NAME | ERR_NOMATCH); ++ strcpy(dot, ".XXXXXX"); ++ ++ if ((fd = mkstemp(tmp)) < 0) ++ stderror(ERR_SYSTEM, tmp, strerror(errno)); ++ ++# ifndef O_TEMPORARY ++# define O_TEMPORARY 0 ++# endif ++ (void) close(0); ++ if (open(tmp, O_RDWR|O_TEMPORARY) == -1) { ++ int oerrno = errno; ++ (void) unlink(tmp); ++ errno = oerrno; ++ stderror(ERR_SYSTEM, tmp, strerror(errno)); ++ } ++#else /* !__GLIBC__ */ + char *tmp; + #ifndef WINNT_NATIVE + struct timeval tv; +@@ -1064,6 +1088,7 @@ + errno = oerrno; + stderror(ERR_SYSTEM, tmp, strerror(errno)); + } ++#endif /* !__GLIBC__ */ + (void) unlink(tmp); /* 0 0 inode! */ + Dv[0] = term; + Dv[1] = NULL; +@@ -1207,4 +1232,7 @@ + if (pargv) + blkfree(pargv), pargv = 0; + } ++#if defined(__GLIBC__) && __GLIBC__ >= 2 ++ close(fd); ++#endif + } +--- sh.exec.c ++++ sh.exec.c 2006-04-25 14:58:31.000000000 +0200 +@@ -308,8 +308,9 @@ + #endif /* COHERENT */ + + texec(*av, av); +-} +- else { ++ ++ } else { ++ + dp = Strspl(*pv, sav); + #ifdef VFORK + Vdp = dp; +--- sh.func.c ++++ sh.func.c 2006-04-25 14:58:31.000000000 +0200 +@@ -1365,14 +1365,6 @@ + } + #endif /* apollo */ + +- /* dspkanji/dspmbyte autosetting */ +- /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ +-#if defined(DSPMBYTE) +- if(eq(vp, STRLANG) && !adrof(CHECK_MBYTEVAR)) { +- autoset_dspmbyte(lp); +- } +-#endif +- + if (islocale_var(vp)) { + #ifdef NLS + int k; +@@ -1394,6 +1386,13 @@ + nlsclose(); + nlsinit(); + # endif /* NLS_CATALOGS */ ++# if defined(DSPMBYTE) ++ /* dspkanji/dspmbyte autosetting */ ++ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ ++ if (eq(vp, STRLANG)) { ++ autoset_dspmbyte(lp); ++ } ++# endif + # ifdef SETLOCALEBUG + dont_free = 0; + # endif /* SETLOCALEBUG */ +--- sh.glob.c ++++ sh.glob.c 2006-04-25 14:58:31.000000000 +0200 +@@ -280,7 +280,7 @@ + if (s[0] == '{' && (s[1] == '\0' || (s[1] == '}' && s[2] == '\0'))) + continue; + if ((b = Strchr(s, '{')) != NULL) { +- Char **bl; ++ Char **bl = NULL; + int len; + + if ((len = globbrace(s, b, &bl)) < 0) { +--- sh.h ++++ sh.h 2006-04-25 14:58:31.000000000 +0200 +@@ -276,7 +276,7 @@ + # else + # include + # endif /* _UWIN */ +-# if SYSVREL > 3 ++# if SYSVREL > 3 || defined(linux) + # undef TIOCGLTC /* we don't need those, since POSIX has them */ + # undef TIOCSLTC + # undef CSWTCH +@@ -330,6 +330,12 @@ + #if !((defined(SUNOS4) || defined(_MINIX) /* || defined(DECOSF1) */) && defined(TERMIO)) + # if !defined(COHERENT) && !defined(_VMS_POSIX) && !defined(WINNT_NATIVE) + # include ++# if SYSVREL > 3 || defined(linux) ++# undef TIOCGLTC /* we don't need those, since POSIX has them */ ++# undef TIOCSLTC ++# undef CSWTCH ++# define CSWTCH _POSIX_VDISABLE /* So job control works */ ++# endif /* SYSVREL > 3 */ + # endif + #endif + +@@ -542,8 +548,14 @@ + * April, 1980 + */ + +-#if !defined(MAXNAMLEN) && defined(_D_NAME_MAX) +-# define MAXNAMLEN _D_NAME_MAX ++#if !defined(MAXNAMLEN) ++# if defined(_D_NAME_MAX) ++# define MAXNAMLEN _D_NAME_MAX ++# elif defined(PATH_MAX) ++# define MAXNAMLEN PATH_MAX ++# else ++# error Unknown MAXNAMLEN ++# endif + #endif /* MAXNAMLEN */ + + #ifdef HESIOD +@@ -1255,9 +1267,7 @@ + # ifdef NLS_CATALOGS + # if defined(linux) || defined(__GNU__) || defined(__GLIBC__) + # include +-# ifdef notdef +-# include /* Has this changed ? */ +-# endif ++# include + # include + # endif + # ifdef SUNOS4 +--- sh.lex.c ++++ sh.lex.c 2006-04-25 14:58:31.000000000 +0200 +@@ -1596,7 +1596,7 @@ + int ctpgrp; + #endif /* BSDJOBS */ + +- if (numeof != 0 && ++sincereal >= numeof) /* Too many EOFs? Bye! */ ++ if (++sincereal >= numeof) /* Too many EOFs? Bye! */ + goto oops; + #ifdef BSDJOBS + if (tpgrp != -1 && +--- sh.sem.c ++++ sh.sem.c 2006-04-25 14:58:31.000000000 +0200 +@@ -647,10 +647,19 @@ + * possible stopping + */ + if (bifunc) { +- func(t, bifunc); +- if (forked) ++ if (forked) { ++ func(t, bifunc); + exitstat(); +- else { ++ } else { ++ jmp_buf_t oldexit; ++ int ohaderr = haderr; ++ ++ getexit(oldexit); ++ if (setexit() == 0) ++ func(t, bifunc); ++ resexit(oldexit); ++ haderr = ohaderr; ++ + if (adrof(STRprintexitvalue)) { + int rv = getn(varval(STRstatus)); + if (rv != 0) +--- sh.set.c ++++ sh.set.c 2006-04-25 14:58:31.000000000 +0200 +@@ -1131,11 +1131,11 @@ + dstr1 = vp->vec[0]; + if(eq (dstr1, STRsjis)) + iskcode = 1; +- else if (eq(dstr1, STReuc)) ++ else if (eq(dstr1, STReuc) || eq(dstr1, STReucjp) || eq(dstr1, STRGB2312)) + iskcode = 2; + else if (eq(dstr1, STRbig5)) + iskcode = 3; +- else if (eq(dstr1, STRutf8)) ++ else if (eq(dstr1, STRutf8) || eq(dstr1, STRutfx8)) + iskcode = 4; + else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) { + iskcode = 0; +@@ -1219,7 +1219,7 @@ + _enable_mbdisp = 0; + dspmbyte_ls = 0; + } +-#ifdef MBYTEDEBUG /* Sorry, use for beta testing */ ++# ifdef MBYTEDEBUG /* Sorry, use for beta testing */ + { + Char mbmapstr[300]; + for (lp = 0; lp < 256; lp++) { +@@ -1228,7 +1228,7 @@ + } + set(STRmbytemap, Strsave(mbmapstr), VAR_READWRITE); + } +-#endif /* MBYTEMAP */ ++# endif /* MBYTEMAP */ + } + + /* dspkanji/dspmbyte autosetting */ +@@ -1238,6 +1238,7 @@ + Char *pcp; + { + int i; ++ struct varent *vp; + struct dspm_autoset_Table { + Char *n; + Char *v; +@@ -1260,13 +1261,18 @@ + #ifdef HAVE_NL_LANGINFO + struct dspm_autoset_Table dspmc[] = { + { STRstarutfstar8, STRutf8 }, ++ { STRutfx8, STRutf8 }, + { STReuc, STReuc }, ++ { STReucjp, STReuc }, + { STRGB2312, STReuc }, + { STRLANGBIG5, STRbig5 }, + { NULL, NULL } + }; + Char *codeset; + ++ if ((vp = adrof(CHECK_MBYTEVAR))) ++ unsetv1(vp); ++ + codeset = str2short(nl_langinfo(CODESET)); + if (*codeset != '\0') { + for (i = 0; dspmc[i].n; i++) { +--- tc.alloc.c ++++ tc.alloc.c 2006-04-25 14:58:31.000000000 +0200 +@@ -488,7 +488,7 @@ + { + ptr_t ptr; + +- n = n ? n : 1; ++ n = n ? n+1 : 1; + + #ifdef HAVE_SBRK + if (membot == NULL) +@@ -515,7 +515,7 @@ + { + ptr_t ptr; + +- n = n ? n : 1; ++ n = n ? n+1 : 1; + + #ifdef HAVE_SBRK + if (membot == NULL) +@@ -543,7 +543,7 @@ + ptr_t ptr; + + n *= s; +- n = n ? n : 1; ++ n = n ? n+1 : 1; + + #ifdef HAVE_SBRK + if (membot == NULL) +@@ -575,8 +575,10 @@ + sfree(p) + ptr_t p; + { +- if (p && !dont_free) ++ if (p && !dont_free) { + free(p); ++ p = (ptr_t)NULL; ++ } + } + + #endif /* SYSMALLOC */ +--- tc.const.c ++++ tc.const.c 2006-04-25 14:58:31.000000000 +0200 +@@ -127,10 +127,12 @@ + Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' }; + # endif + Char STReuc[] = { 'e', 'u', 'c', '\0' }; ++Char STReucjp[] = { 'e', 'u', 'c', '-', 'j', 'p', '\0' }; + Char STRsjis[] = { 's', 'j', 'i', 's', '\0' }; + Char STRbig5[] = { 'b', 'i', 'g', '5', '\0' }; + Char STRutf8[] = { 'u', 't', 'f', '8', '\0' }; + Char STRstarutfstar8[] = { '*', 'u', 't', 'f', '*', '8', '\0' }; ++Char STRutfx8[] = { 'u', 't', 'f', '-', '8', '\0' }; + Char STRGB2312[] = { 'g', 'b', '2', '3', '1', '2', '\0' }; + # ifdef MBYTEDEBUG /* Sorry, use for beta testing */ + Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' }; +@@ -427,7 +429,7 @@ + Char STRshlvl[] = { 's', 'h', 'l', 'v', 'l', '\0' }; + Char STRKSHLVL[] = { 'S', 'H', 'L', 'V', 'L', '\0' }; + Char STRLANG[] = { 'L', 'A', 'N', 'G', '\0' }; +-Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' }; ++Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' }; + Char STRLC_CTYPE[] = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' }; + Char STRLC_NUMERIC[] = { 'L', 'C', '_', 'N', 'U', 'M', 'E', 'R', 'I', + 'C', '\0' }; +--- tc.decls.h ++++ tc.decls.h 2006-04-25 14:58:31.000000000 +0200 +@@ -77,7 +77,7 @@ + extern Char *expand_lex __P((Char *, size_t, struct wordent *, + int, int)); + extern Char *sprlex __P((Char *, size_t, struct wordent *)); +-extern Char *Itoa __P((int, Char *, int, int)); ++extern Char *Itoa __P((int, Char *, size_t, int)); + extern void dolist __P((Char **, struct command *)); + extern void dotermname __P((Char **, struct command *)); + extern void dotelltc __P((Char **, struct command *)); +--- tc.func.c ++++ tc.func.c 2006-04-25 14:58:31.000000000 +0200 +@@ -197,7 +197,8 @@ + Itoa(n, s, min_digits, attributes) + int n; + Char *s; +- int min_digits, attributes; ++ size_t min_digits; ++ int attributes; + { + /* + * The array size here is derived from +@@ -756,9 +757,14 @@ + + # define XCRYPT(a, b) crypt(a, b) + +- if ((pw = getpwuid(euid)) != NULL && /* effective user passwd */ +- (spw = getspnam(pw->pw_name)) != NULL) /* shadowed passwd */ +- srpp = spw->sp_pwdp; ++ if ( (pw = getpwuid(euid)) != NULL ) { /* effective user passwd */ ++ if ( (spw = getspnam(pw->pw_name)) != NULL ) /* shadowed passwd */ ++ srpp = spw->sp_pwdp; ++ else ++ srpp = pw->pw_passwd; /* nis extended passwd? */ ++ } ++ endspent(); ++ endpwent(); + + #else + +@@ -2168,7 +2174,7 @@ + * have not caught up yet. + */ + addr.s_addr = inet_addr(name); +- if (addr.s_addr != (unsigned int)~0) ++ if (addr.s_addr != ~0U) + host = name; + else { + if (sptr != name) { +--- tc.str.c ++++ tc.str.c 2006-04-25 14:58:31.000000000 +0200 +@@ -314,7 +314,7 @@ + { + size_t n; + +- for (n = 0; *str++; n++) ++ for (n = 0; str && *str; n++, str++) + continue; + return (n); + } +--- tc.who.c ++++ tc.who.c 2006-04-25 14:58:31.000000000 +0200 +@@ -282,6 +282,9 @@ + } + stlast = sta.st_mtime; + #ifdef HAVE_GETUTENT ++# ifndef HAVE_UTMPX_H ++ utmpname( _PATH_UTMP ); ++# endif + setutent(); + #else + if ((utmpfd = open(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) { +--- tcsh.man ++++ tcsh.man 2006-04-25 14:58:31.000000000 +0200 +@@ -566,7 +566,7 @@ + changes to the next previous word etc., skipping identical matches + much like \fIhistory-search-backward\fR does. + .TP 8 +-.B delete-char \fR(not bound) ++.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR) + Deletes the character under the cursor. + See also \fIdelete-char-or-list-or-eof\fR. + .TP 8 +--- tw.color.c ++++ tw.color.c 2006-04-25 14:59:08.000000000 +0200 +@@ -80,6 +80,11 @@ + #endif + VAR(NOS, "rc", "m"), /* Right code */ + VAR(NOS, "ec", ""), /* End code (replaces lc+no+rc) */ ++ VAR(NOS, "st", ""), /* Ignore */ ++ VAR(NOS, "su", ""), /* Ignore */ ++ VAR(NOS, "sg", ""), /* Ignore */ ++ VAR(NOS, "tw", ""), /* Ignore */ ++ VAR(NOS, "ow", ""), /* Ignore */ + }; + + enum FileType { +@@ -173,7 +178,7 @@ + size_t i, len; + const Char *v; /* pointer in value */ + char *c; /* pointer in colors */ +- Extension *volatile e; /* pointer in extensions */ ++ static Extension *volatile e; /* pointer in extensions */ + jmp_buf_t osetexit; + + (void) &e; +@@ -303,11 +308,12 @@ + break; + } + if (i == nvariables) { +- for (i = 0; i < nextensions; i++) +- if (strncmp(last - extensions[i].extension.len, +- extensions[i].extension.s, +- extensions[i].extension.len) == 0) { +- color = &extensions[i].color; ++ int j; ++ for (j = 0; j < nextensions; j++) ++ if (strncmp(last - extensions[j].extension.len, ++ extensions[j].extension.s, ++ extensions[j].extension.len) == 0) { ++ color = &extensions[j].color; + break; + } + } +--- tw.h ++++ tw.h 2006-04-25 14:58:31.000000000 +0200 +@@ -33,6 +33,10 @@ + #ifndef _h_tw + #define _h_tw + ++#ifndef _h_sh ++# include "sh.h" ++#endif ++ + #define TW_PATH 0x1000 + #define TW_ZERO 0x0fff + +--- tw.parse.c ++++ tw.parse.c 2006-04-25 14:58:31.000000000 +0200 +@@ -1055,7 +1055,7 @@ + else { + /* maximum length 1 (NULL) + 1 (~ or $) + 1 (filetype) */ + ptr = tw_item_add(len + 3); +- copyn(ptr, buf, MAXPATHLEN); ++ copyn(ptr, buf, len + 2); + if (command == LIST) + numitems++; + } +--- SuSE/bindkey.tcsh ++++ SuSE/bindkey.tcsh 2006-04-25 14:58:31.000000000 +0200 +@@ -0,0 +1,243 @@ ++# ++# bindkey.tcsh Bind keys on escape sequences of xterm ++# and linux console ++# ++# Copyright: 1993-2002 Werner Fink, 1996-2002 SuSE Linux AG, Germany ++# ++# Author: Werner Fink ++ ++# ++# Default values ++# ++if ( ! ${?TERM} ) setenv TERM linux ++if ( ! ${?CSHEDIT} ) setenv CSHEDIT emacs ++ ++# ++# VI line editing ++# ++if ( "$CSHEDIT" == "vi" ) then ++ bindkey -v ++else ++ bindkey "^[ " magic-space ++ bindkey "^[!" expand-history ++endif ++# ++# Common standard keypad and cursor ++# ++bindkey "^[[2~" yank ++bindkey "^[[3~" delete-char ++bindkey "^[[5~" history-search-backward ++bindkey "^[[6~" history-search-forward ++if ( "$TERM" == "xterm" ) then ++ bindkey "\e[2;2~" yank ++ bindkey "\e[3;2~" delete-char ++ bindkey "\e[5;2~" history-search-backward ++ bindkey "\e[6;2~" history-search-forward ++ bindkey "\e[2;5~" yank ++ bindkey "\e[3;5~" delete-char ++ bindkey "\e[5;5~" history-search-backward ++ bindkey "\e[6;5~" history-search-forward ++endif ++bindkey "^[[C" forward-char ++bindkey "^[[D" backward-char ++bindkey "^[[A" up-history ++bindkey "^[[B" down-history ++if ( "$TERM" == "xterm" ) then ++ bindkey -c "^[[E" "source /etc/csh.cshrc" ++ bindkey "^[[2C" forward-word ++ bindkey "^[[2D" backward-word ++ bindkey "^[[2A" history-search-backward ++ bindkey "^[[2B" history-search-forward ++ bindkey "^[[5C" forward-word ++ bindkey "^[[5D" backward-word ++ bindkey "^[[5A" history-search-backward ++ bindkey "^[[5B" history-search-forward ++else ++ bindkey -c "^[[G" "source /etc/csh.cshrc" ++endif ++# ++# Avoid network problems ++# ... \177 (ASCII-DEL) and \010 (ASCII-BS) ++# do `backward-delete-char' ++# Note: `delete-char' is maped to \033[3~ ++# Therefore xterm's responce on pressing ++# key Delete or KP-Delete should be ++# \033[3~ ... NOT \177 ++# ++bindkey "^?" backward-delete-char ++bindkey "^H" backward-delete-char ++# ++# Home and End ++# ++if ( "$TERM" == "xterm" ) then ++ # ++ # Normal keypad and cursor of xterm ++ # ++ bindkey "^[[1~" history-search-backward ++ bindkey "^[[4~" set-mark-command ++ bindkey "^[[H" beginning-of-line ++ bindkey "^[[F" end-of-line ++ bindkey "^[[2H" beginning-of-line ++ bindkey "^[[2F" end-of-line ++ bindkey "^[[5H" beginning-of-line ++ bindkey "^[[5F" end-of-line ++ # Home and End of application keypad and cursor of xterm ++ bindkey "^[OH" beginning-of-line ++ bindkey "^[OF" end-of-line ++ bindkey "^[O2H" beginning-of-line ++ bindkey "^[O2F" end-of-line ++ bindkey "^[O5H" beginning-of-line ++ bindkey "^[O5F" end-of-line ++else ++if ( "$TERM" == "kvt" ) then ++ bindkey "^[[1~" history-search-backward ++ bindkey "^[[4~" set-mark-command ++ bindkey "^[OH" beginning-of-line ++ bindkey "^[OF" end-of-line ++endif ++ # ++ # TERM=linux or console ++ # ++ bindkey "^[[1~" beginning-of-line ++ bindkey "^[[4~" end-of-line ++endif ++# ++# Application keypad and cursor of xterm ++# ++if ( "$TERM" == "xterm" ) then ++ bindkey "^[OD" backward-char ++ bindkey "^[OC" forward-char ++ bindkey "^[OA" up-history ++ bindkey "^[OB" down-history ++ bindkey "^[O2D" backward-word ++ bindkey "^[O2C" forward-word ++ bindkey "^[O2A" history-search-backward ++ bindkey "^[O2B" history-search-forward ++ bindkey "^[O5D" backward-word ++ bindkey "^[O5C" forward-word ++ bindkey "^[O5A" history-search-backward ++ bindkey "^[O5B" history-search-forward ++ bindkey -c "^[OE" "source /etc/csh.cshrc" ++ # DEC keyboard KP_F1 - KP_F4 or ++ # XTerm of XFree86 in VT220 mode F1 - F4 ++ bindkey -s "^[OP" "^[" ++ bindkey "^[OQ" vi-undo ++ bindkey "^[OR" undefined-key ++ bindkey "^[OS" kill-line ++endif ++if ( "$TERM" == "gnome" ) then ++ # or gnome terminal F1 - F4 ++ bindkey -s "^[OP" "^[" ++ bindkey "^[OQ" vi-undo ++ bindkey "^[OR" undefined-key ++ bindkey "^[OS" kill-line ++endif ++# ++# Function keys F1 - F12 ++# ++if ( "$TERM" == "linux" ) then ++ # ++ # On console the first five function keys ++ # ++ bindkey -s "^[[[A" "^[" ++ bindkey "^[[[B" vi-undo ++ bindkey "^[[[C" undefined-key ++ bindkey "^[[[D" kill-line ++ bindkey "^[[[E" undefined-key ++else ++ # ++ # The first five standard function keys ++ # ++ bindkey -s "^[[11~" "^[" ++ bindkey "^[[12~" vi-undo ++ bindkey "^[[13~" undefined-key ++ bindkey "^[[14~" kill-line ++ bindkey "^[[15~" undefined-key ++endif ++bindkey "^[[17~" undefined-key ++bindkey "^[[18~" undefined-key ++bindkey "^[[19~" undefined-key ++bindkey "^[[20~" undefined-key ++bindkey "^[[21~" undefined-key ++# Note: F11, F12 are identical with Shift_F1 and Shift_F2 ++bindkey "^[[23~" undefined-key ++bindkey "^[[24~" undefined-key ++# ++# Shift Function keys F1 - F12 ++# identical with F11 - F22 ++# ++# bindkey "^[[23~" undefined-key ++# bindkey "^[[24~" undefined-key ++bindkey "^[[25~" undefined-key ++bindkey "^[[26~" undefined-key ++# DEC keyboard: F15=^[[28~ is Help ++bindkey "^[[28~" undefined-key ++# DEC keyboard: F16=^[[29~ is Menu ++bindkey "^[[29~" undefined-key ++bindkey "^[[31~" undefined-key ++bindkey "^[[32~" undefined-key ++bindkey "^[[33~" undefined-key ++bindkey "^[[34~" undefined-key ++if ( "$TERM" == "xterm" ) then ++ # Not common ++ bindkey "^[[35~" undefined-key ++ bindkey "^[[36~" undefined-key ++endif ++# ++if ( "$TERM" == "xterm" ) then ++ # ++ # Application keypad and cursor of xterm ++ # with NumLock ON ++ # ++ # Operators ++ bindkey -s "^[Oo" "/" ++ bindkey -s "^[Oj" "*" ++ bindkey -s "^[Om" "-" ++ bindkey -s "^[Ok" "+" ++ bindkey -s "^[Ol" "," ++ bindkey "^[OM" newline ++ bindkey -s "^[On" "." ++ # Numbers ++ bindkey -s "^[Op" "0" ++ bindkey -s "^[Oq" "1" ++ bindkey -s "^[Or" "2" ++ bindkey -s "^[Os" "3" ++ bindkey -s "^[Ot" "4" ++ bindkey -s "^[Ou" "5" ++ bindkey -s "^[Ov" "6" ++ bindkey -s "^[Ow" "7" ++ bindkey -s "^[Ox" "8" ++ bindkey -s "^[Oy" "9" ++endif ++# ++# EMACS line editing ++# ++if ( "$CSHEDIT" == "emacs" ) then ++ # ++ # ... xterm application cursor ++ # ++ if ( "$TERM" == "xterm" ) then ++ bindkey "^[^[OD" backward-word ++ bindkey "^[^[OC" forward-word ++ bindkey "^[^[OA" up-history ++ bindkey "^[^[OB" down-history ++ bindkey "^^[OD" backward-char ++ bindkey "^^[OC" forward-char ++ bindkey "^^[OA" up-history ++ bindkey "^^[OB" down-history ++ endif ++ # ++ # Standard cursor ++ # ++ bindkey "^[^[[D" backward-word ++ bindkey "^[^[[C" forward-word ++ bindkey "^[^[[A" up-history ++ bindkey "^[^[[B" down-history ++ bindkey "^^[[D" backward-char ++ bindkey "^^[[C" forward-char ++ bindkey "^^[[A" up-history ++ bindkey "^^[[B" down-history ++endif ++# ++# end bindkey.tcsh ++# +--- SuSE/complete.tcsh ++++ SuSE/complete.tcsh 2006-04-25 14:58:31.000000000 +0200 +@@ -0,0 +1,910 @@ ++# ++# complete.tcsh Define some intelligent command completions ++# ++# Modified version of complete.tcsh (1993) found in the source code ++# the tcsh-6.03. Complemented with the following versions and extend ++# with other features. This was a part of csh.cshrc until 1999/06/25. ++# ++# Author: 1993-99 Werner Fink ++# ++# 1999/06/28: resort to the order to fit complete.tcsh ++# found in tcsh-6.08.05, add the mh completes. ++# ++ set autolist=ambiguous ++ set noglob ++# ++ set hosts ++ foreach _f ($HOME/.hosts /etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv) ++ if ( -r $_f ) then ++ set hosts=($hosts `grep -E -shv '^#|\+' $_f |awk '{ print $1 }'`) ++ endif ++ end ++ if ( -r $HOME/.netrc ) then ++ set _f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null ++ set hosts=($hosts $_f) ++ endif ++ set hosts=(`echo $hosts localhost $HOSTNAME|tr ' ' '\n'|sort -u -t '.'`) ++ unset _f ++ set _maildir = /var/spool/mail ++ set _ypdir = /var/yp ++ set _domain = "`domainname`" ++ if ($?MANPATH) then ++ set _manpath="{${MANPATH:as/:/,/}}/{man,cat}" ++ else ++ set _manpath="/usr{{/X11/man,/openwin/man}/{man,cat},{/man/{man,cat}}}" ++ endif ++ ++ complete ispell c/-/"(a A b B C d D e ee f L m M p s S T v vv w W)"/ \ ++ n/-d/"(english deutsch)"/ \ ++ n/-T/"(tex plaintex nroff latin1 ascii atari)"/ \ ++ n@-p@'`ls -1 $HOME/.ispell_*`'@ \ ++ n/-W/"(1 2 3 4 5)"/ \ ++ n/-L/x:'ispell -L '/ \ ++ n/-f/t/ n/*/f:^*.{dvi,ps,a,o,gz,z,Z}/ ++ complete ywho n/*/\$hosts/ # argument from list in $hosts ++ complete {r,s}sh 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 {r,s}login p/1/\$hosts/ c/-/"(l 8 e)"/ n/-l/u/ ++ complete xlogin n/*/\$hosts/ ++ complete telnet p/1/\$hosts/ p/2/x:''/ n/*/n/ ++ complete xtelnet n/*/\$hosts/ ++ 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/ # Only files that match *.dvi ++ complete laser n/*/f:*.dvi/ ++ complete dvips n/*/f:*.dvi/ ++ complete tex n/*/f:*.{tex,TEX}/ # Only files that match *.tex ++ complete latex n/*/f:*.{tex,TEX,texi,latex,ltx}/ ++ complete slitex n/*/f:*.{tex,TEX,latex,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,cpp,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,more} n/*/f:^*.{o,a,dvi,gz,z,Z}/ ++ complete less n/*/f:^*.{o,a,dvi}/ ++ 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/-/"(follow 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 ++ complete nm n/*/f:^*.{h,C,c,cc}/ ++ ++ complete finger c/*@/\$hosts/ n/*/u/@ ++ complete ping p/1/\$hosts/ ++ complete traceroute p/1/\$hosts/ ++ ++ complete {talk,ntalk,phone,otalk,ytalk} 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/ ++ complete ncftp c/-/"(a I N)"/ 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 scp 'c%*@*:%`set q=$:-0;set q="$q:s/@/ /";set q="$q:s/:/ /";set q=($q " ");ssh $q[2] -l $q[1] ls -dp $q[3]\*`%' 'c%*:%`set q=$:-0;set q="$q:s/:/ /";set q=($q " ");ssh $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 {sprev,snext} \ ++ 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 xh | cut -d " " -f 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)/' ++ ++ # these from E. Jay Berkenbilt ++ # = isn't always followed by a filename or a path anymore - jgotts ++ complete ./configure 'c/--*=/f/' 'c/--{cache-file,prefix,exec-prefix,\ ++ bindir,sbindir,libexecdir,datadir,\ ++ sysconfdir,sharedstatedir,localstatedir,\ ++ libdir,includedir,oldincludedir,infodir,\ ++ mandir,srcdir}/(=)//' \ ++ 'c/--/(cache-file verbose prefix exec-prefix bindir \ ++ sbindir libexecdir datadir sysconfdir \ ++ sharedstatedir localstatedir libdir \ ++ includedir oldincludedir infodir mandir \ ++ srcdir)//' ++ 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 printenv 'n/*/e/' ++ 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 for MH tools already skipped ++ if ( $?SKIP_MH ) goto skip_mh ++ ++ # Do not be fooled by asking MH tools ++ if ( ! -r $HOME/.mh_profile ) goto skip_mh ++ ++ # Do not be fooled by broken MH profile ++ if ( ! `grep -cE '^Path:' $HOME/.mh_profile` ) goto skip_mh ++ ++ if ( ! $?FOLDERS ) then ++ which folders >& /dev/null ++ if ( $status != 0 ) goto skip_mh ++ ++ set folders="`/bin/sh -c 'exec folders -fast -recurse < /dev/null 2> /dev/null'`" ++ if ( $status != 0 ) then ++ unset folders ++ setenv SKIP_MH ++ goto skip_mh ++ endif ++ setenv FOLDERS "$folders" ++ endif ++ ++ if ( ! $?MHA ) then ++ which ali >& /dev/null ++ if ( $status != 0 ) goto skip_mh ++ ++ set mha="`/bin/sh -c 'exec ali < /dev/null 2> /dev/null'`" ++ if ( $status != 0 ) then ++ unset mha ++ setenv SKIP_MH ++ goto skip_mh ++ endif ++ setenv MHA "$mha" ++ endif ++ ++ # these and method of setting hosts from Kimmo Suominen ++ 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | 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 " " "\n" | sort -u`,' ++ ++ complete mail \ ++ 'c/-/()/' \ ++ 'n/*/$mha/' ++ ++skip_mh: ++ ++ # 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 bunzip2 'p/*/f:*.bz2/' ++ complete bzip2 'n/-9/f:^*.bz2/' 'n/-d/f:*.bz2/' ++ 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 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:*.{eps,EPS,ps,PS,pdf,PDF,ps.gz}/' ++ complete gv 'p/*/f:*.{eps,EPS,ps,PS,pdf,PDF,ps.gz}/' ++ 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,make} \ ++ 'c/{--directory,--include-dir}=/d/' 'c/{-C,-I}/d/' \ ++ 'c/{--assume-new,--assume-old,--makefile,--new-file,--what-if,--file}=/f/' \ ++ 'c/{-W,-o,-f}/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=)//' \ ++ 'c/-/(- C d e f h i I k n p q r R s S t v w)/' \ ++ 'n@*@`cat -s {GNUm,M,m}akefile |& sed -n -e "/cat:/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)/' ++ set _muttalias=/dev/null ++ foreach _f ($HOME/.muttrc-alias $HOME/.muttalias) ++ if ( -r $_f ) then ++ set _muttalias=$_f ++ break ++ endif ++ end ++ unset _f ++ complete mutt c@-f=@F:${HOME}/Mail/@ \ ++ n/-a/f/ \ ++ n/-F/f/ n/-H/f/ \ ++ n/-s/x:''/ \ ++ n/-e/x:''/ \ ++ n@-b@'`awk '"'"'{print $2 }'"'"' $_muttalias`'@ \ ++ n@-c@'`awk '"'"'{print $2 }'"'"' $_muttalias`'@ \ ++ n@*@'` awk '"'"'{print $2 }'"'"' $_muttalias`'@ ++ complete ndc 'n/*/(status dumpdb reload stats trace notrace \ ++ querylog start stop restart )/' ++ complete nm 'c/--/(debug-syms defined-only demangle dynamic \ ++ extern-only format= help line-numbers no-demangle \ ++ no-sort numeric-sort portability print-armap \ ++ print-file-name reverse-sort size-sort undefined-only \ ++ version)/' 'p/*/f:^*.{h,C,c,cc}/' ++ complete nmap 'n@-e@`ifconfig -l`@' 'p/*/$hostnames/' ++ complete perldoc 'n@*@`\ls -1 /usr/lib/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 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=)"/ ++ ++ # More completions from waz@quahog.nl.nuwc.navy.mil (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`'@ 'c/*:/f/' ++ else ++ complete setenv p@1@e@ n@DISPLAY@\$hosts@: 'c/*:/f/' ++ endif ++ complete unsetenv n/*/e/ ++ ++ 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 " " "\t" | 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 ++ ++ ++ complete man n@[0-9n]@'`\ls -1fUA ${_manpath}$:-1/|&\sed \\%.\*:%d\;s%\\.$:-1.\*\$%%|\sort -u`'@ \ ++ c/-/"(- f k s t l)"/ n/-f/c/ n/-k/x:''/ n/-l/f/ n/*/c/ ++ ++ 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 psompress c/-/"(d c f)"/ 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 emacs c/-/"(batch d f funcall i insert kill l load \ ++ no-init-file nw q t u user)"/ c/+/x:''/ \ ++ n/-d/x:''/ n/-f/x:''/ n/-i/f/ \ ++ n@-l@F:/usr/share/emacs/@ \ ++ n/-t/x:''/ \ ++ n/-u/u/ n/*/f:^*{[\#~],.dvi,.o,.gz,.Z,.z,.zip}/ ++ ++ complete zcat 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,tar.gz}/ ++ 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,bz2}/ ++ 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,taz,tgz}/ ++ ++ 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 users c/--/"(help version)"/ p/1/x:''/ ++ complete who c/--/"(heading mesg idle count help message version \ ++ writable)"/ c/-/"(H T w i u m q s -)"/ \ ++ p/1/x:''/ n/am/"(i)"/ n/are/"(you)"/ ++ ++ complete chown c/--/"(changes dereference no-dereference silent \ ++ quiet reference recursive verbose help version)"/ \ ++ c/-/"(c f h R v -)"/ C@[./\$~]@f@ c/*[.:]/g/ \ ++ n/-/u/: p/1/u/. n/*/f/ ++ complete chgrp c/--/"(changes no-dereference silent quiet reference \ ++ recursive verbose help version)"/ \ ++ c/-/"(c f h R v -)"/ n/-/g/ p/1/g/ n/*/f/ ++ complete chmod c/--/"(changes silent quiet verbose reference \ ++ recursive help version)"/ c/-/"(c f R v)"/ ++ complete df c/--/"(all block-size human-readable si inodes \ ++ kilobytes local megabytes no-sync portability sync \ ++ type print-type exclude-type help version)"/ \ ++ c/-/"(a H h i k l m P T t v x)"/ ++ complete du c/--/"(all block-size bytes total dereference-args \ ++ human-readable si kilobytes count-links dereference \ ++ megabytes separate-dirs summarize one-file-system \ ++ exclude-from exclude max-depth help version"/ \ ++ c/-/"(a b c D H h k L l m S s X x)"/ ++ ++ complete cat c/--/"(number-nonblank number squeeze-blank show-all \ ++ show-nonprinting show-ends show-tabs help version)"/ \ ++ c/-/"(b e n s t u v A E T -)"/ n/*/f/ ++ complete mv c/--/"(backup force interactive update verbose suffix \ ++ version-control help version)"/ \ ++ c/-/"(b f i u v S V -)"/ \ ++ n/{-S,--suffix}/x:''/ \ ++ n/{-V,--version-control}/"(t numbered nil existing \ ++ never simple)"/ n/-/f/ N/-/d/ p/3-/d/ n/*/f/ ++ complete cp c/--/"(archive backup no-dereference force \ ++ interactive link preserve parents sparse recursive \ ++ symbolic-link suffix update verbose version-control \ ++ one-file-system help version)"/ \ ++ c/-/"(a b d f i l P p R r S s u V v x -)"/ \ ++ n/-*r/d/ n/{-S,--suffix}/x:''/ \ ++ n/{-V,--version-control}/"(t numbered nil existing \ ++ never simple)"/ n/-/f/ N/-/d/ p/3-/d/ n/*/f/ ++ complete ln c/--/"(backup directory force no-dereference \ ++ interactive symbolic suffix verbose version-control \ ++ help version)"/ \ ++ c/-/"(b d F f i n S s V v -)"/ \ ++ n/{-S,--suffix}/x:''/ \ ++ n/{-V,--version-control}/"(t numbered nil existing \ ++ never simple)"/ n/-/f/ N/-/x:''/ \ ++ p/1/f/ p/2/x:''/ ++ complete touch c/--/"(date reference time help version)"/ \ ++ c/-/"(a c d f m r t -)"/ \ ++ n/{-d,--date}/x:''/ \ ++ c/--time/"(access atime mtime modify use)"/ \ ++ n/{-r,--file}/f/ n/-t/x:''/ n/*/f/ ++ complete mkdir c/--/"(mode parents verbose help version)"/ \ ++ c/-/"(p m -)"/ \ ++ n/{-m,--mode}/x:''/ n/*/d/ ++ complete rmdir c/--/"(ignore-fail-on-non-empty parents verbose help \ ++ version)"/ c/-/"(p -)"/ n/*/d/ ++ ++ complete tar c/-[Acru]*/"(b B C f F g G h i l L M N o P \ ++ R S T v V w W X z Z j I)"/ \ ++ c/-[dtx]*/"( B C f F g G i k K m M O p P \ ++ R s S T v w x X z Z j I)"/ \ ++ p/1/"(A c d r t u x -A -c -d -r -t -u -x \ ++ --catenate --concatenate --create --diff --compare \ ++ --delete --append --list --update --extract --get \ ++ --help --version)"/ \ ++ c/--/"(catenate concatenate create diff compare \ ++ delete append list update extract get atime-preserve \ ++ block-size read-full-blocks directory checkpoint file \ ++ force-local info-script new-volume-script incremental \ ++ listed-incremental dereference ignore-zeros \ ++ ignore-failed-read keep-old-files starting-file \ ++ one-file-system tape-length modification-time \ ++ multi-volume after-date newer old-archive portability \ ++ to-stdout same-permissions preserve-permissions \ ++ absolute-paths preserve record-number remove-files \ ++ same-order preserve-order same-owner sparse \ ++ files-from null totals verbose label version \ ++ interactive confirmation verify exclude exclude-from \ ++ compress uncompress gzip ungzip use-compress-program \ ++ block-compress help version)"/ \ ++ c/-/"(b B C f F g G h i k K l L m M N o O p P R s S \ ++ T v V w W X z Z 0 1 2 3 4 5 6 7 -)"/ \ ++ C@[/dev]@f@ \ ++ n/-c*{zf,fz}/x:''/ \ ++ n/-c*{jf,fj}/x:''/ \ ++ n/-c*f/x:''/ \ ++ n/-[Adrtuxv]*{zf,fz}/f:*.{tar.gz,tgz}/ n/-[Adrtuxv]*{jf,fj}/f:*.tar.bz2/ \ ++ n/{-[Adrtuxv]*f,--file}/f:*.tar/ \ ++ N/-x*{zf,fz}/'`tar -tzf $:-1`'/ N/-x*{jf,fj}/'`tar -tjf $:-1`'/ \ ++ N/{-x*f,--file}/'`tar -tf $:-1`'/ \ ++ n/--use-compress-program/c/ \ ++ n/{-b,--block-size}/x:''/ \ ++ n/{-V,--label}/x:''/ \ ++ n/{-N,--{after-date,newer}}/x:''/ \ ++ n/{-L,--tape-length}/x:''/ \ ++ n/{-C,--directory}/d/ \ ++ N/{-C,--directory}/'`\ls $:-1`'/ \ ++ n/-[0-7]/"(l m h)"/ ++ ++ complete mount c/-/"(a n v t r w)"/ n/-t/"(minix iso9660 msdos vfat ext2 nfs proc)"/ \ ++ 'C@/de@F@' 'C@/*@F@@' 'n@*@`grep -E -v \(^#\|^\$\) /etc/fstab|awk \{\ print\ \$2\ \}`@' ++ complete umount c/-/"(a n t)"/ n/-t/"(minix iso9660 msdos ext2 nfs proc)"/ \ ++ n/*/'`mount | cut -d " " -f 3`'/ ++ ++ # these deal with NIS (formerly YP); if it's not running you don't need 'em ++ complete domainname p@1@D:$_ypdir@" " n@*@n@ ++ complete ypcat c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ ++ N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\&\ sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ ++ p/1/"(aliases ethers passwd group hosts netid.byname networks protocols \ ++ rpc.byname services)"/ ++ complete ypmatch c@-@"(d k t x)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ ++ N@-d@\`\\ls\ -1\ $_ypdir/\$:-1\ \|\&\ sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ ++ n@-@x:''@ p@1@x:''@ \ ++ p/1/"(aliases ethers passwd group hosts netid.byname networks protocols \ ++ rpc.byname services)"/ ++ complete ypwhich c@-@"(d m t x V1 V2)"@ n@-x@n@ n@-d@D:$_ypdir@" " \ ++ n@-m@\`\\ls\ -1\ $_ypdir/$_domain\ \|\&\sed\ -n\ s%\\\\.by\\[a-z\\]\\\*\\\$%%p\`@ \ ++ N@-m@n@ n@*@\$hosts@ ++ ++ # there's no need to clutter the user's shell with these ++ unset _maildir _ypdir _domain ++ ++ if ( -r /etc/printcap ) then ++ set printers=(`sed -n -e '/^[^ #][^:]*:/{s/|.*:.*//p;}' /etc/printcap | sort -u`) ++ ++ complete lpr 'c/-P/$printers/' ++ complete lpq 'c/-P/$printers/' ++ complete lprm 'c/-P/$printers/' ++ complete lpquota 'p/1/(-Qprlogger)/' 'c/-P/$printers/' ++ complete dvips 'c/-P/$printers/' 'n/-o/f:*.{ps,PS}/' 'n/*/f:*.dvi/' ++ complete dvilj 'p/*/f:*.dvi/' ++ endif ++ ++ unset noglob ++# ++# complete.tcsh ends here ++# +--- config/linux ++++ config/linux 2006-04-25 14:58:31.000000000 +0200 +@@ -23,7 +23,7 @@ + /* + * POSIXSIGS Use the POSIX signal facilities to emulate BSD signals. + */ +-#undef POSIXSIGS ++#define POSIXSIGS + + /* + * VFORK This machine has a vfork(). +@@ -82,7 +82,7 @@ + * + * Note: Linux should work with any SYSVREL < 3. + */ +-#define SYSVREL 0 ++#define SYSVREL 2 + + /* + * YPBUGS Work around Sun YP bugs that cause expansion of ~username +@@ -98,26 +98,65 @@ + */ + + #define __STRICT_ANSI__ +-#define _BSD_SOURCE +-#define _SVID_SOURCE +-#define _POSIX_SOURCE +-#define _XOPEN_SOURCE 500 +-#define _GNU_SOURCE ++#ifndef _BSD_SOURCE ++# define _BSD_SOURCE ++#endif ++#ifndef _SVID_SOURCE ++# define _SVID_SOURCE ++#endif ++#ifndef _POSIX_SOURCE ++# define _POSIX_SOURCE ++#endif ++#ifndef _XOPEN_SOURCE ++# define _XOPEN_SOURCE 500 ++#endif ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE ++#endif + + /* + * Large file support from + */ + +-#define _LARGEFILE_SOURCE +-#define _LARGEFILE64_SOURCE +-#define _FILE_OFFSET_BITS 64 ++#ifndef _LARGEFILE_SOURCE ++# define _LARGEFILE_SOURCE ++#endif ++#ifndef _LARGEFILE64_SOURCE ++# define _LARGEFILE64_SOURCE ++#endif ++#ifndef _FILE_OFFSET_BITS ++# define _FILE_OFFSET_BITS 64 ++#endif + + /****************** local defines *********************/ ++#if !defined(PW_SHADOW) ++# define PW_SHADOW ++#endif + #ifndef _PATH_TCSHELL + #define _PATH_TCSHELL "/bin/tcsh" + #endif + #define ECHO_STYLE BOTH_ECHO ++#ifdef POSIXSIGS ++# define BSDSIGS ++#endif ++#if defined(BSDSIGS) && !defined(__USE_BSD) ++# define __USE_BSD ++#endif ++ + + #define NLS_CATALOGS + ++#if !defined(SYSMALLOC) ++# define SYSMALLOC ++#endif ++#if !defined(NISPLUS) ++# define NISPLUS ++#endif ++#if !defined(POSIX) ++# define POSIX ++#endif ++ ++#define SuSE ++#define MCLoadBySet NL_CAT_LOCALE ++ + #endif /* _h_config */ +--- nls/C/set1 ++++ nls/C/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.5 1998/06/27 12:27:55 christos Exp $ + $ Error messages ++$ codeset=ANSI_X3.4-1968 + $set 1 + 1 Syntax Error + 2 %s is not allowed +--- nls/et/set1 ++++ nls/et/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.2 2001/01/11 13:25:24 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Süntaksi viga + 2 %s ei ole lubatud +--- nls/finnish/set1 ++++ nls/finnish/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.2 2001/09/03 02:13:26 kim Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Kielioppivirhe + 2 %s ei ole sallittu +--- nls/french/set1 ++++ nls/french/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.3 1998/06/27 12:27:57 christos Exp $ + $ Messages d 'erreur ++$ codeset=ISO-8859-1 + $set 1 + 1 Erreur de syntaxe + 2 %s n'est pas autorisé +--- nls/german/set1 ++++ nls/german/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.5 1998/06/27 12:27:59 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Syntaxfehler + 2 %s nicht erlaubt +--- nls/greek/set1 ++++ nls/greek/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.3 1998/09/18 15:31:57 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-7 + $set 1 + 1 ËÜèïò óýíôáîç + 2 Tï %s äåí åðéôñÝðåôáé +--- nls/italian/set1 ++++ nls/italian/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.1 1998/09/03 22:03:13 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-1 + $set 1 + 1 Errore di Sintassi + 2 %s non è permesso +--- nls/ja/set1 ++++ nls/ja/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.4 2004/12/25 22:24:58 christos Exp $ + $ Error messages ++$ codeset=EUC-JP + $set 1 + 1 ʸˡ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹ + 2 %s ¤Ï³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó +--- nls/pl/set1 ++++ nls/pl/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.5 1998/06/27 12:27:55 christos Exp $ + $ Error messages ++$ codeset=ISO-8859-2 + $set 1 + 1 B³±d sk³adni + 2 %s jest niedozwolone +--- nls/russian/set1 ++++ nls/russian/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.3 2002/03/08 17:46:50 christos Exp $ + $ Error messages ++$ codeset=KOI8-R + $set 1 + 1 óÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ + 2 %s ÎÅÄÏÐÕÓÔÉÍÏ +--- nls/spanish/set1 ++++ nls/spanish/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.2 1998/06/27 12:28:02 christos Exp $ + $ Mensajes de Error ++$ codeset=ISO-8859-1 + $set 1 + 1 Error de sintaxis + 2 %s no está permitido +--- nls/ukrainian/set1 ++++ nls/ukrainian/set1 2006-04-25 14:58:31.000000000 +0200 +@@ -1,5 +1,6 @@ + $ $Id: set1,v 1.2 2002/07/01 20:50:22 christos Exp $ + $ Error messages ++$ codeset=KOI8-U + $set 1 + 1 óÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ + 2 %s ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ diff --git a/tcsh-6.14.00.tar.bz2 b/tcsh-6.14.00.tar.bz2 new file mode 100644 index 0000000..473bdd1 --- /dev/null +++ b/tcsh-6.14.00.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc7f3574610a78345020060520886827e2cfe8e5fde25ee1457f935fe593b821 +size 715227 diff --git a/tcsh.changes b/tcsh.changes new file mode 100644 index 0000000..5d29667 --- /dev/null +++ b/tcsh.changes @@ -0,0 +1,342 @@ +------------------------------------------------------------------- +Wed Aug 16 20:29:28 CEST 2006 - aj@suse.de + +- Remove unneeded BuildRequires. + +------------------------------------------------------------------- +Wed Jun 21 12:24:13 CEST 2006 - werner@suse.de + +- Do not overwrite memory by not initialized Char array (#186669) + +------------------------------------------------------------------- +Wed Apr 26 13:43:13 CEST 2006 - werner@suse.de + +- Fix typo in compelete macro for the command man + +------------------------------------------------------------------- +Tue Apr 25 14:55:43 CEST 2006 - werner@suse.de + +- Add new LS_COLORS variables to avoid error message (bug #168601) + +------------------------------------------------------------------- +Mon Apr 10 14:59:51 CEST 2006 - werner@suse.de + +- Tcsh completion: expand also for sections of posix manual pages + and include section 0 into search scheme (bug #160782) + +------------------------------------------------------------------- +Thu Mar 23 16:18:31 CET 2006 - werner@suse.de + +- Source the users ~/.cshrc and ~/.login in the traditional order, + nevertheless the system wide /etc/csh.cshrc and /etc/csh.login + will be sourced in the natual order (bug #160278) + +------------------------------------------------------------------- +Mon Feb 6 19:46:00 CET 2006 - werner@suse.de + +- Make $< operator work even when fed by pipe (bug #147724) + +------------------------------------------------------------------- +Wed Jan 25 21:31:01 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Oct 25 14:15:10 CEST 2005 - werner@suse.de + +- Switch order of sourcing csh.login csh.cshrc, now csh.login + comes first to provide all exported environment variables. + +------------------------------------------------------------------- +Thu Aug 18 14:22:17 CEST 2005 - werner@suse.de + +- Update to tcsh 6.14.00, the wide character version (bug #104108). + +------------------------------------------------------------------- +Mon May 23 17:18:18 CEST 2005 - werner@suse.de + +- Make mh handling more smarter + +------------------------------------------------------------------- +Fri Apr 1 16:22:25 CEST 2005 - werner@suse.de + +- Gcc4 does not allow function prototype declaration within other + function prototype declaration even if the internals are static. + +------------------------------------------------------------------- +Fri Oct 8 12:17:35 CEST 2004 - werner@suse.de + +- Make fcntl call with O_LARGEFILE portable (bug #46977) + +------------------------------------------------------------------- +Thu May 27 19:01:13 CEST 2004 - ro@suse.de + +- fix sigpause call (force use of sysv flavour) + +------------------------------------------------------------------- +Fri Apr 2 12:01:49 CEST 2004 - mls@suse.de + +- fix utf-8 expansion, ls-F, prompt handling + +------------------------------------------------------------------- +Mon Mar 29 23:06:42 CEST 2004 - mls@suse.de + +- fix utf-8 handling (really fixes #29983, #35486) + +------------------------------------------------------------------- +Tue Mar 16 19:14:09 CET 2004 - werner@suse.de + +- Do not forget the patch for bug #29983 even if not used +- Accept chinese in dspmbyte and map this on euc + +------------------------------------------------------------------- +Wed Mar 10 18:20:30 CET 2004 - werner@suse.de + +- Disable multibyte ix due problems on long lines (bug #35486) +- Simplify mv/cp complete + +------------------------------------------------------------------- +Thu Mar 4 17:58:34 CET 2004 - werner@suse.de + +- Fix mv/cp complete bug (#35339) + +------------------------------------------------------------------- +Fri Feb 20 18:08:39 CET 2004 - werner@suse.de + +- Add simple workaround for multibyte command lines (bug #29983) + +------------------------------------------------------------------- +Wed Jan 28 13:48:49 CET 2004 - werner@suse.de + +- Fix bug #34126: add runtime detection as fallback + +------------------------------------------------------------------- +Sat Jan 10 18:14:08 CET 2004 - adrian@suse.de + +- add %defattr + +------------------------------------------------------------------- +Fri Sep 19 13:37:38 CEST 2003 - werner@suse.de + +- Fix the fix for bug #29956: use a ringbuffer to avoid trouble + with recursive calls of UTF-8 convertes messges (bug #31335) + +------------------------------------------------------------------- +Thu Sep 4 15:56:43 UTC 2003 - werner@suse.de + +- Corruption of cursor position is currently not fixable. + fix some other bugs. + +------------------------------------------------------------------- +Wed Sep 3 23:32:44 CEST 2003 - mfabian@suse.de + +- Bugzilla #29956: convert all message catalogs to UTF-8 and + convert the strings returned by catgets from UTF-8 into the + encoding of the current locale. +- move Ukrainian message catalog into uk_UA subdirectory + instead of ru_UA.koi8u. + +------------------------------------------------------------------- +Fri Jul 18 14:18:20 CEST 2003 - werner@suse.de + +- Fix multi byte initialization (bug #27793) +- Enable multi byte unset on LANG change +- Fix signess/unsigness mixtures + +------------------------------------------------------------------- +Fri May 23 10:34:12 CEST 2003 - coolo@suse.de + +- use BuildRoot + +------------------------------------------------------------------- +Wed May 14 14:42:37 CEST 2003 - werner@suse.de + +- Move pointer adress handling from int to intptr_t + +------------------------------------------------------------------- +Thu Apr 17 16:03:01 CEST 2003 - werner@suse.de + +- Fix multibyte initialization + +------------------------------------------------------------------- +Mon Feb 17 16:07:31 CET 2003 - werner@suse.de + +- Fix bug #23681: don't reset full command line if an error occurs + +------------------------------------------------------------------- +Mon Nov 11 14:14:55 CET 2002 - ro@suse.de + +- use x-devel-packages in neededforbuild + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Wed Aug 7 16:33:49 CEST 2002 - werner@suse.de + +- Fix bindkey.tcsh for xterm and add some more keys (bug #15002) + +------------------------------------------------------------------- +Tue Jul 30 17:15:31 CEST 2002 - werner@suse.de + +- Update to 6.12.00 +- Fix codesets of message cats + +------------------------------------------------------------------- +Fri Jul 19 17:21:57 MEST 2002 - mls@suse.de + +- fix bindkey.tcsh to make it work with an unset $TERM variable + +------------------------------------------------------------------- +Wed Mar 20 11:25:43 CET 2002 - werner@suse.de + +- Fix bug # 15143: Unreadable /etc/printcap due paranoid SysAdmins + should not stop tcsh. + +------------------------------------------------------------------- +Wed Dec 12 16:49:39 CET 2001 - werner@suse.de + +- Revisit some complete expansion (mainly for mv, cp, make, and + man), sed error scanners should work for all languages. + +------------------------------------------------------------------- +Thu Sep 6 19:04:12 CEST 2001 - werner@suse.de + +- Update to 6.11.00 due + * correct large file support + * Avoid core-dumping on very long $HOME variable + * Don't call qsort(3) with 0 items + * Fix redrawing in the recognize case + * MAXHOSTNAMELEN needs to be 256 (instead of 255) + * Big5 multibyte support + * Fix rmstar not to corrupt memory on off + +------------------------------------------------------------------- +Wed May 16 17:11:39 CEST 2001 - werner@suse.de + +- Force large file support + +------------------------------------------------------------------- +Wed May 9 16:32:00 CEST 2001 - cstein@suse.de + +- Corrected German spellings in nls/german/set6 + +------------------------------------------------------------------- +Wed Mar 7 12:42:17 CET 2001 - werner@suse.de + +- We use xmkmf therefore we need a full X environment at build + +------------------------------------------------------------------- +Fri Feb 9 14:17:24 CET 2001 - werner@suse.de + +- Don't use the authors (endless looping) security temp file + change but the mkstemp() function. + +------------------------------------------------------------------- +Fri Feb 2 01:18:57 CET 2001 - mfabian@suse.de + +- update to version 6.10.00 + (because the new version has support for display and editing of + multibyte characters) +- add patch to enable multibyte character editing +- patch to glob.c removed (included upstream) +- patch to sh.dir.c removed (included upstream) +- patch to tw.color.c removed (incuded upstream) +- last hunk of patch to tw.h removed (included upstream) +- bzip2 sources + +------------------------------------------------------------------- +Fri Dec 15 12:27:39 CET 2000 - werner@suse.de + +- Add missed hash for a comment. + +------------------------------------------------------------------- +Wed Nov 22 18:43:38 CET 2000 - werner@suse.de + +- Make /etc/profile.d/bindkey.tcsh knowing about TERM kvt and gnome + +------------------------------------------------------------------- +Fri Nov 17 12:39:34 CET 2000 - kukuk@suse.de + +- fix neededforbuild: textutil -> textutils + +------------------------------------------------------------------- +Thu Nov 2 14:06:08 CET 2000 - werner@suse.de + + - Use mkstemp for opening tmp files for `<<' redirects + - Use TMPDIR variable for location of tmp files + - Set group tag in spec + +------------------------------------------------------------------- +Wed May 24 20:00:34 CEST 2000 - uli@suse.de + +- moved docs to %{_docdir} + +------------------------------------------------------------------- +Wed Jan 26 21:20:26 CET 2000 - werner@suse.de + + - New version 6.09.00 + - /usr/man -> /usr/share/man + - Fix usage of catopen (MCLoadBySet isn't that what is used + internally within glibc, set it to MCLoadBySet) + - Avoid crahs due coloured ls-F + - Correct setpath NLS message + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +---------------------------------------------------------------- +Mon Jun 28 23:26:12 CEST 1999 - werner@suse.de + + - Source key binding and completion code from + /etc/csh.cshrc out into /etc/profile.d/bindkey.tcsh and + /etc/profile.d/complete.tcsh + - No newgrp builtin because its equivalent to exec newgrp + +---------------------------------------------------------------- +Wed Jun 16 00:05:15 MEST 1999 - ro@suse.de + +- create localedirs before make install + +---------------------------------------------------------------- +Fri Jun 11 23:38:17 CEST 1999 - werner@suse.de + - New version +---------------------------------------------------------------- +Fri Mar 12 14:21:46 MET 1999 + - Fix SIGSEGV caused different sizes of FILSIZ and BUFSIZE + - New version + - Restore missed MAXNAMLEN + - Make it alpha compile +---------------------------------------------------------------- +Thu Dec 3 15:41:07 MET 1998 - werner@suse.de + - Fix SIGSEGV with SYSMALOC + * alloc n+1 not n chunks + * set freed pointer to (ptr_t)NULL +---------------------------------------------------------------- +Wed Sep 16 16:32:13 MET DST 1998 - werner@suse.de + - Stupid error fixed + +---------------------------------------------------------------- +Tue Sep 15 17:34:46 MET DST 1998 - werner@suse.de + - Security fix + - Avoid I/O trouble, use POSIX + +---------------------------------------------------------------- +Wed Oct 22 18:07:30 MET DST 1997 - werner@suse.de + - Updatet FAQ.tcsh + - Better installation: remove old files before linking + +---------------------------------------------------------------- +Sat Nov 16 10:29:43 CET 1996 - bs@suse.de + +added FAQ.tcsh + + +---------------------------------------------------------------- +Thu Nov 14 15:16:00 CET 1996 - werner@suse.de + + - Neue Version 6.07.02 mit einigen Fixes diff --git a/tcsh.spec b/tcsh.spec new file mode 100644 index 0000000..480b9c9 --- /dev/null +++ b/tcsh.spec @@ -0,0 +1,300 @@ +# +# spec file for package tcsh (Version 6.14.00) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: tcsh +URL: http://www.tcsh.org/ +License: BSD +Group: System/Shells +Requires: gawk textutils +Autoreqprov: on +Version: 6.14.00 +Release: 24 +Summary: The C SHell +Source: ftp.astron.com:/pub/tcsh/tcsh-6.14.00.tar.bz2 +Source1: nls-iconv +Patch: tcsh-6.14.00.dif +Patch1: tcsh-6.14.00-spelling.dif +Patch2: tcsh-6.14.00-bsdsignals.dif +Patch3: tcsh-6.14.00-utf8.dif +Patch4: tcsh-6.14.00-pipe.dif +Patch5: tcsh-6.14.00-tabexpand.dif +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Tcsh is an enhanced, but completely compatible, version of the Berkeley +UNIX C shell, csh(1). It is a command language interpreter usable as an +interactive login shell and a shell script command processor. It +includes a command-line editor, programmable word completion, spelling +correction, a history mechanism, job control, and a C-like syntax. + + + +Authors: +-------- + Christos Zoulas + Scott Krotz + +%prep +%setup +%patch1 -p0 -b .spell +%patch2 -p0 -b .bsdsig +%patch3 -p0 -b .utf8 +%patch4 -p0 -b .pipe +%patch5 -p0 -b .tabexpand +%patch + sh $RPM_SOURCE_DIR/nls-iconv + +%build + CC=gcc + CFLAGS="$RPM_OPT_FLAGS -pipe" + export CC CFLAGS +%ifarch %ix86 + CPU=i586 +%else + CPU=${RPM_ARCH} +%endif + ./configure --build=${CPU}-suse-linux \ + --prefix=/usr \ + --bindir=/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --sharedstatedir=/usr/share \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + --libexecdir=/usr/%{_lib}/tcsh + make + make catalogs + +%install + rm -rf $RPM_BUILD_ROOT + for nls in et fi fr de el it ja pl ru es uk_UA ; do + dir=$RPM_BUILD_ROOT/usr/share/locale/${nls}/LC_MESSAGES + msg=$nls + mkdir -p -m 0755 $dir + case "$nls" in + fi) msg=finnish ;; + fr) msg=french ;; + de) msg=german ;; + el) msg=greek ;; + it) msg=italian ;; + ru) msg=russian ;; + es) msg=spanish ;; + uk_UA) msg=ukrainian ;; + esac + install -m 0444 tcsh.${msg}.cat ${dir}/tcsh + done + make DESTDIR=$RPM_BUILD_ROOT install + make DESTDIR=$RPM_BUILD_ROOT install.man + mkdir -p $RPM_BUILD_ROOT%{_docdir}/tcsh + install -m 0444 FAQ $RPM_BUILD_ROOT%{_docdir}/tcsh/FAQ.tcsh + mkdir -p $RPM_BUILD_ROOT/etc/profile.d/ + mkdir -p $RPM_BUILD_ROOT/usr/bin + install -m 644 SuSE/bindkey.tcsh $RPM_BUILD_ROOT/etc/profile.d/ + install -m 644 SuSE/complete.tcsh $RPM_BUILD_ROOT/etc/profile.d/ + rm -f $RPM_BUILD_ROOT/bin/csh + rm -f $RPM_BUILD_ROOT/usr/bin/csh + rm -f $RPM_BUILD_ROOT/usr/bin/tcsh + rm -f $RPM_BUILD_ROOT/usr/share/man/man1/csh.* + ln -sf tcsh $RPM_BUILD_ROOT/bin/csh + ln -sf tcsh.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/csh.1.gz + ln -sf ../../bin/tcsh $RPM_BUILD_ROOT/usr/bin/csh + ln -sf ../../bin/tcsh $RPM_BUILD_ROOT/usr/bin/tcsh + +%clean + rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%dir %{_docdir}/tcsh +/bin/csh +/bin/tcsh +%config /etc/profile.d/bindkey.tcsh +%config /etc/profile.d/complete.tcsh +/usr/bin/csh +/usr/bin/tcsh +%doc %{_docdir}/tcsh/FAQ.tcsh +%doc /usr/share/man/man1/csh.1.gz +%doc /usr/share/man/man1/tcsh.1.gz +/usr/share/locale/*/LC_MESSAGES/tcsh + +%changelog -n tcsh +* Wed Aug 16 2006 - aj@suse.de +- Remove unneeded BuildRequires. +* Wed Jun 21 2006 - werner@suse.de +- Do not overwrite memory by not initialized Char array (#186669) +* Wed Apr 26 2006 - werner@suse.de +- Fix typo in compelete macro for the command man +* Tue Apr 25 2006 - werner@suse.de +- Add new LS_COLORS variables to avoid error message (bug #168601) +* Mon Apr 10 2006 - werner@suse.de +- Tcsh completion: expand also for sections of posix manual pages + and include section 0 into search scheme (bug #160782) +* Thu Mar 23 2006 - werner@suse.de +- Source the users ~/.cshrc and ~/.login in the traditional order, + nevertheless the system wide /etc/csh.cshrc and /etc/csh.login + will be sourced in the natual order (bug #160278) +* Mon Feb 06 2006 - werner@suse.de +- Make $< operator work even when fed by pipe (bug #147724) +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Tue Oct 25 2005 - werner@suse.de +- Switch order of sourcing csh.login csh.cshrc, now csh.login + comes first to provide all exported environment variables. +* Thu Aug 18 2005 - werner@suse.de +- Update to tcsh 6.14.00, the wide character version (bug #104108). +* Mon May 23 2005 - werner@suse.de +- Make mh handling more smarter +* Fri Apr 01 2005 - werner@suse.de +- Gcc4 does not allow function prototype declaration within other + function prototype declaration even if the internals are static. +* Fri Oct 08 2004 - werner@suse.de +- Make fcntl call with O_LARGEFILE portable (bug #46977) +* Thu May 27 2004 - ro@suse.de +- fix sigpause call (force use of sysv flavour) +* Fri Apr 02 2004 - mls@suse.de +- fix utf-8 expansion, ls-F, prompt handling +* Mon Mar 29 2004 - mls@suse.de +- fix utf-8 handling (really fixes #29983, #35486) +* Tue Mar 16 2004 - werner@suse.de +- Do not forget the patch for bug #29983 even if not used +- Accept chinese in dspmbyte and map this on euc +* Wed Mar 10 2004 - werner@suse.de +- Disable multibyte ix due problems on long lines (bug #35486) +- Simplify mv/cp complete +* Thu Mar 04 2004 - werner@suse.de +- Fix mv/cp complete bug (#35339) +* Fri Feb 20 2004 - werner@suse.de +- Add simple workaround for multibyte command lines (bug #29983) +* Wed Jan 28 2004 - werner@suse.de +- Fix bug #34126: add runtime detection as fallback +* Sat Jan 10 2004 - adrian@suse.de +- add %%defattr +* Fri Sep 19 2003 - werner@suse.de +- Fix the fix for bug #29956: use a ringbuffer to avoid trouble + with recursive calls of UTF-8 convertes messges (bug #31335) +* Thu Sep 04 2003 - werner@suse.de +- Corruption of cursor position is currently not fixable. + fix some other bugs. +* Wed Sep 03 2003 - mfabian@suse.de +- Bugzilla #29956: convert all message catalogs to UTF-8 and + convert the strings returned by catgets from UTF-8 into the + encoding of the current locale. +- move Ukrainian message catalog into uk_UA subdirectory + instead of ru_UA.koi8u. +* Fri Jul 18 2003 - werner@suse.de +- Fix multi byte initialization (bug #27793) +- Enable multi byte unset on LANG change +- Fix signess/unsigness mixtures +* Fri May 23 2003 - coolo@suse.de +- use BuildRoot +* Wed May 14 2003 - werner@suse.de +- Move pointer adress handling from int to intptr_t +* Thu Apr 17 2003 - werner@suse.de +- Fix multibyte initialization +* Mon Feb 17 2003 - werner@suse.de +- Fix bug #23681: don't reset full command line if an error occurs +* Mon Nov 11 2002 - ro@suse.de +- use x-devel-packages in neededforbuild +* Tue Sep 17 2002 - ro@suse.de +- removed bogus self-provides +* Wed Aug 07 2002 - werner@suse.de +- Fix bindkey.tcsh for xterm and add some more keys (bug #15002) +* Tue Jul 30 2002 - werner@suse.de +- Update to 6.12.00 +- Fix codesets of message cats +* Fri Jul 19 2002 - mls@suse.de +- fix bindkey.tcsh to make it work with an unset $TERM variable +* Wed Mar 20 2002 - werner@suse.de +- Fix bug # 15143: Unreadable /etc/printcap due paranoid SysAdmins + should not stop tcsh. +* Wed Dec 12 2001 - werner@suse.de +- Revisit some complete expansion (mainly for mv, cp, make, and + man), sed error scanners should work for all languages. +* Thu Sep 06 2001 - werner@suse.de +- Update to 6.11.00 due + * correct large file support + * Avoid core-dumping on very long $HOME variable + * Don't call qsort(3) with 0 items + * Fix redrawing in the recognize case + * MAXHOSTNAMELEN needs to be 256 (instead of 255) + * Big5 multibyte support + * Fix rmstar not to corrupt memory on off +* Wed May 16 2001 - werner@suse.de +- Force large file support +* Wed May 09 2001 - cstein@suse.de +- Corrected German spellings in nls/german/set6 +* Wed Mar 07 2001 - werner@suse.de +- We use xmkmf therefore we need a full X environment at build +* Fri Feb 09 2001 - werner@suse.de +- Don't use the authors (endless looping) security temp file + change but the mkstemp() function. +* Fri Feb 02 2001 - mfabian@suse.de +- update to version 6.10.00 + (because the new version has support for display and editing of + multibyte characters) +- add patch to enable multibyte character editing +- patch to glob.c removed (included upstream) +- patch to sh.dir.c removed (included upstream) +- patch to tw.color.c removed (incuded upstream) +- last hunk of patch to tw.h removed (included upstream) +- bzip2 sources +* Fri Dec 15 2000 - werner@suse.de +- Add missed hash for a comment. +* Wed Nov 22 2000 - werner@suse.de +- Make /etc/profile.d/bindkey.tcsh knowing about TERM kvt and gnome +* Fri Nov 17 2000 - kukuk@suse.de +- fix neededforbuild: textutil -> textutils +* Thu Nov 02 2000 - werner@suse.de +- Use mkstemp for opening tmp files for `<<' redirects +- Use TMPDIR variable for location of tmp files +- Set group tag in spec +* Wed May 24 2000 - uli@suse.de +- moved docs to %%{_docdir} +* Wed Jan 26 2000 - werner@suse.de +- New version 6.09.00 +- /usr/man -> /usr/share/man +- Fix usage of catopen (MCLoadBySet isn't that what is used + internally within glibc, set it to MCLoadBySet) +- Avoid crahs due coloured ls-F +- Correct setpath NLS message +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Mon Jun 28 1999 - werner@suse.de +- Source key binding and completion code from + /etc/csh.cshrc out into /etc/profile.d/bindkey.tcsh and + /etc/profile.d/complete.tcsh +- No newgrp builtin because its equivalent to exec newgrp +* Wed Jun 16 1999 - ro@suse.de +- create localedirs before make install +* Fri Jun 11 1999 - werner@suse.de +- New version + Fri Mar 12 14:21:46 MET 1999 +- Fix SIGSEGV caused different sizes of FILSIZ and BUFSIZE +- New version +- Restore missed MAXNAMLEN +- Make it alpha compile +* Thu Dec 03 1998 - werner@suse.de +- Fix SIGSEGV with SYSMALOC + * alloc n+1 not n chunks + * set freed pointer to (ptr_t)NULL +* Wed Sep 16 1998 - werner@suse.de +- Stupid error fixed +* Tue Sep 15 1998 - werner@suse.de +- Security fix +- Avoid I/O trouble, use POSIX +* Wed Oct 22 1997 - werner@suse.de +- Updatet FAQ.tcsh +- Better installation: remove old files before linking +* Thu Jan 02 1997 - bs@suse.de + added FAQ.tcsh +* Thu Jan 02 1997 - werner@suse.de +- Neue Version 6.07.02 mit einigen Fixes