diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 2000-04-20 04:22:36 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 2000-04-20 04:22:36 +0000 |
commit | 8e66bd9ec80d49c2379efad7367474d2d4a4994a (patch) | |
tree | b621d4cee9510d59a22e8ba84f80bd04ed79bd74 | |
parent | c80476e4c3e6730697b9424f88dfa74d1907cabd (diff) | |
download | src-8e66bd9ec80d49c2379efad7367474d2d4a4994a.tar.gz src-8e66bd9ec80d49c2379efad7367474d2d4a4994a.zip |
6.09.01 vendor update.vendor/tcsh/6.09.01
Notes
Notes:
svn path=/vendor/tcsh/dist/; revision=59415
svn path=/vendor/tcsh/6.09.01/; revision=59417; tag=vendor/tcsh/6.09.01
58 files changed, 1388 insertions, 450 deletions
diff --git a/contrib/tcsh/Fixes b/contrib/tcsh/Fixes index bdaf2cc04248..303963ca19d4 100644 --- a/contrib/tcsh/Fixes +++ b/contrib/tcsh/Fixes @@ -1,3 +1,20 @@ + 78. V6.09.01 - 20000114 + 79. Circumvent IRIX4D ESTALE bug by exiting. + 78. IRIS4D de-linting. + 77. Finnish nls catalogs (Jukka A. Ukkonen) + 76. Even more multibyte fixes (Taga Nayuta) + 75. Patches to statically link tcsh under solaris-2.6 (John Hawkinson) + 74. Manual page typos (R. Bernstein) + 73. HP/UX-11 (9000/800) HP/UX-10.20 (9000/820) (Haflidi Sigtryggur Magnusson) + 72. Color-ls fixes (Luis Francisco Gonzalez) + 71. Don't re-use time0 to compare to stat's st_mtime, cause it could be + the value returned from times(2) which is the ticks since system + startup (Frank van der Linden) + 70. Time percentage wrap fix (Simon Burge) + 69. EUCKR support (HyunChul Kim) + 68. Grammar and typo fixes for tcsh.man (Steve Kelem) + 67. More multibyte fixes (Rodney Ruddock) + 66. Change 6.08 -> 6.09 where I missed it; update for utlrix 4.5 (Simon Burge) 65. V6.09.00 - 19990816 64. Add csh emacs mode (Dan Harkless) 63. Make sure the the glob buffer matches the word buffer size (Brian Biswas) diff --git a/contrib/tcsh/Imakefile b/contrib/tcsh/Imakefile index bb79bf5e8722..0af87e91c964 100644 --- a/contrib/tcsh/Imakefile +++ b/contrib/tcsh/Imakefile @@ -1,7 +1,7 @@ XCOMM -XCOMM $Id: Imakefile,v 1.76 1999/06/09 19:26:36 christos Exp $ +XCOMM $Id: Imakefile,v 1.77 2000/01/14 22:57:25 christos Exp $ XCOMM -XCOMM Imakefile for tcsh 6.08 +XCOMM Imakefile for tcsh 6.09 XCOMM Marc Horowitz, MIT SIPB XCOMM @@ -480,7 +480,7 @@ LDLIBS = MyLibs #endif SUF = o -VERSION = 6.08 +VERSION = 6.09 SHSRCS= sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \ sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \ diff --git a/contrib/tcsh/Makefile.in b/contrib/tcsh/Makefile.in index f7527637bc6b..683433ac55fa 100644 --- a/contrib/tcsh/Makefile.in +++ b/contrib/tcsh/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 3.12 1998/11/24 18:17:08 christos Exp $ +# $Id: Makefile.in,v 3.13 2000/01/14 22:57:25 christos Exp $ # Makefile.in 4.3 6/11/83 # # C Shell with process control; VM/UNIX VAX Makefile @@ -8,7 +8,7 @@ # things; Paul Placeway, CIS Dept., Ohio State University # SHELL=/bin/sh -VERSION=6.08 +VERSION=6.09 BUILD=tcsh VPATH=@srcdir@ srcdir=@srcdir@ @@ -155,6 +155,13 @@ LDFLAGS= @LDFLAGS@ ## This is set by autoconf. #LDFLAGS= -s -N ## Impure executable (linux) ################################################################ +## SBINLDFLAGS. Flags to build a tcsh suitable for installation in +## in /sbin under Solaris with gcc. See the "tcsh.sbin" +## target. +################################################################ +SBINLDFLAGS=-Wl,-R/etc/lib,-I/etc/lib/ld.so.1,-ldl,-Bstatic + +################################################################ ## LIBES. Pick one, or roll your own. ################################################################ LIBES= @LIBS@ ## This is set by autoconf. @@ -336,6 +343,10 @@ tcsh:$(P) ${OBJS} rm -f tcsh core ${CC} -o tcsh ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} +tcsh.sbin:$(P) ${OBJS} + rm -f tcsh.sbin core + ${CC} -o tcsh.sbin ${SBINLDFLAGS} ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${OBJS} ${LIBES} ${EXTRALIBS} + # Purify pure:$(P) ${OBJS} rm -f tcsh core diff --git a/contrib/tcsh/Makefile.std b/contrib/tcsh/Makefile.std index 2e676be14ea0..33a6f022cb4b 100644 --- a/contrib/tcsh/Makefile.std +++ b/contrib/tcsh/Makefile.std @@ -1,4 +1,4 @@ -# $Id: Makefile.std,v 1.88 1998/10/02 10:56:47 christos Exp $ +# $Id: Makefile.std,v 1.89 2000/01/14 22:57:25 christos Exp $ # Makefile.std 4.3 6/11/83 # # C Shell with process control; VM/UNIX VAX Makefile @@ -8,7 +8,7 @@ # things; Paul Placeway, CIS Dept., Ohio State University # SHELL=/bin/sh -VERSION=6.08 +VERSION=6.09 BUILD=tcsh srcdir=. diff --git a/contrib/tcsh/Makefile.vms b/contrib/tcsh/Makefile.vms index e225ee8b3b64..791aa1e852d6 100644 --- a/contrib/tcsh/Makefile.vms +++ b/contrib/tcsh/Makefile.vms @@ -1,4 +1,4 @@ -# $Id: Makefile.vms,v 1.32 1998/10/02 10:56:49 christos Exp $ +# $Id: Makefile.vms,v 1.33 2000/01/14 22:57:25 christos Exp $ # Makefile.vms 4.3 6/11/83 # # C Shell with process control; VM/UNIX VAX Makefile @@ -8,7 +8,7 @@ # things; Paul Placeway, CIS Dept., Ohio State University # SHELL=/bin/sh -VERSION=6.08 +VERSION=6.09 BUILD=tcsh ################################################################ diff --git a/contrib/tcsh/Ported b/contrib/tcsh/Ported index 769f4073392f..f5aee5986a32 100644 --- a/contrib/tcsh/Ported +++ b/contrib/tcsh/Ported @@ -155,7 +155,7 @@ MODELS : vax, DECstation COMPILER: cc, gcc CFLAGS : -O -Olimit 2000 (cc), normal (gcc) LIBES : -ltermcap -OS : ultrix 3.0 (vax), 4.0, 4.1, 4.2, 4.3, 4.4 +OS : ultrix 3.0 (vax), 4.0, 4.1, 4.2, 4.3, 4.4, 4.5 CONFIG : ultrix ENVIRON : n/a NOTES : pcc broken: typedef void sigret_t (vax); @@ -163,7 +163,7 @@ NOTES : mips compiler on ultrix 3.5 needs -Dvoid=int NOTES : vax compiler on ultrix 3.0 needs -Dvoid=int NOTES : Does Ultrix 4.x still need YPBUGS? NOTES : Ultrix4.2 may need NAMEI_BUG -VERSION : 6.07.11 +VERSION : 6.09.00 VENDOR : apple MODELS : macII @@ -1014,3 +1014,15 @@ CONFIG : superux8 ENVIRON : n/a NOTES : none VERSION : 6.08.01 + +VENDOR : Unixware 7.1.0 +MODELS : all +COMPILER: gcc +CFLAGS : normal +LIBES : -ltermlib -lsocket -lgen +OS : Unixware 7.1.0 +CONFIG : svr5 +ENVIRON : n/a +NOTES : none +VERSION : 6.09.00 + diff --git a/contrib/tcsh/README b/contrib/tcsh/README index fb17faf67f41..13a2cddebafa 100644 --- a/contrib/tcsh/README +++ b/contrib/tcsh/README @@ -1,4 +1,4 @@ -This is tcsh version 6.08. Tcsh is a version of the Berkeley +This is tcsh version 6.09. Tcsh is a version of the Berkeley C-Shell, with the addition of: a command line editor, command and file name completion, listing, etc. and a bunch of small additions to the shell itself. diff --git a/contrib/tcsh/ed.init.c b/contrib/tcsh/ed.init.c index aa31987cbfa9..e03fef6f1247 100644 --- a/contrib/tcsh/ed.init.c +++ b/contrib/tcsh/ed.init.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/ed.init.c,v 3.41 1999/02/06 15:01:16 christos Exp $ */ +/* $Header: /src/pub/tcsh/ed.init.c,v 3.42 2000/01/14 22:57:26 christos Exp $ */ /* * ed.init.c: Editor initializations */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: ed.init.c,v 3.41 1999/02/06 15:01:16 christos Exp $") +RCSID("$Id: ed.init.c,v 3.42 2000/01/14 22:57:26 christos Exp $") #include "ed.h" #include "ed.term.h" @@ -139,6 +139,7 @@ sigret_t window_change(snum) int snum; { + USE(snum); #ifdef UNRELSIGS /* If we were called as a signal handler, restore it. */ if (snum > 0) diff --git a/contrib/tcsh/glob.c b/contrib/tcsh/glob.c index 01dee4dd08a8..f6a2fd213dff 100644 --- a/contrib/tcsh/glob.c +++ b/contrib/tcsh/glob.c @@ -158,6 +158,12 @@ globcharcoll(c1, c2) if (c1 == c2) return (0); + /* + * From kevin lyda <kevin@suberic.net>: + * strcoll does not guarantee case sorting, so we pre-process now: + */ + if (islower(c1) && isupper(c2)) + return (1); s1[0] = c1; s2[0] = c2; s1[1] = s2[1] = '\0'; @@ -348,6 +354,14 @@ glob(pattern, flags, errfunc, pglob) if (flags & GLOB_QUOTE) { /* Protect the quoted characters */ while (bufnext < bufend && (c = *patnext++) != EOS) +#ifdef DSPMBYTE + if (Ismbyte1(c) && *patnext != EOS) + { + *bufnext++ = (Char) c; + *bufnext++ = (Char) *patnext++; + } + else +#endif /* DSPMBYTE */ if (c == QUOTE) { if ((c = *patnext++) == EOS) { c = QUOTE; @@ -367,6 +381,14 @@ glob(pattern, flags, errfunc, pglob) qpatnext = patbuf; /* we don't need to check for buffer overflow any more */ while ((c = *qpatnext++) != EOS) { +#ifdef DSPMBYTE + if (Ismbyte1(c) && *qpatnext != EOS) + { + *bufnext++ = CHAR(c); + *bufnext++ = CHAR(*qpatnext++); + } + else +#endif /* DSPMBYTE */ switch (c) { case LBRACKET: c = *qpatnext; @@ -452,7 +474,7 @@ glob(pattern, flags, errfunc, pglob) } return (globextend(patbuf, pglob)); } - else if (!(flags & GLOB_NOSORT)) + else if (!(flags & GLOB_NOSORT) && (pglob->gl_pathc != oldpathc)) qsort((char *) (pglob->gl_pathv + pglob->gl_offs + oldpathc), pglob->gl_pathc - oldpathc, sizeof(char *), (int (*) __P((const void *, const void *))) compare); diff --git a/contrib/tcsh/nls/Makefile b/contrib/tcsh/nls/Makefile index 43a23fa37fed..1b4de3aeafec 100644 --- a/contrib/tcsh/nls/Makefile +++ b/contrib/tcsh/nls/Makefile @@ -1,5 +1,5 @@ -SUBDIRS= C german french italian ja greek spanish +SUBDIRS= C finnish french german greek italian ja spanish #GENCAT= gencat -new GENCAT= gencat diff --git a/contrib/tcsh/nls/finnish/set1 b/contrib/tcsh/nls/finnish/set1 new file mode 100644 index 000000000000..3c52d4507049 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set1 @@ -0,0 +1,140 @@ +$ $Id: set1,v 1.1 2000/01/14 22:57:31 christos Exp $ +$ Error messages +$set 1 +1 Kielioppivirhe +2 %s ei ole sallittu +3 Liian pitkä sana +4 $< rivi liian pitkä +5 Puuttuva tiedosto $0 +6 Vajavainen [] muunnos +7 $ -laajennuksen on päätyttävä ennen ']'-merkkiä +8 Virheellinen : -muunnos $ (%c) +9 Indeksivirhe +10 Virheellinen numero +11 Liian vähän sanoja +12 Puuttuva tiedoston nimi +13 Sisäinen laajennusvirhe (glob) +14 Käskyä ei löydy +15 Liian vähän argumentteja +16 Liian monta argumenttia +17 Vaarallinen alias +18 Tyhjä ehto (if) +19 Soveltumaton seuraus (then) +20 Sanat eivät ole suluissa +21 %s ei löydy +22 Soveltumaton maski +23 Rajoite tuntematon +24 Liian suuri argumentti +25 Soveltumaton tai tuntematon muunnoskerroin +26 Määrittelemätön muuttuja +27 Hakemistopino on matalampi +28 Virheellinen signaalin numero +29 Tuntematon signaali; kill -l tulostaa signaalit +30 Muutujan nimi on aloitettava kirjaimella +31 Liian pitkä muuttuja nimi +32 Muuttujan nimi on koostuttava kirjaimista ja numeroista +33 Tässä komentotulkissa ei ole töiden hallintaa +34 Lauseke virheellinen +35 Kotihakemisto puuttuu +36 Siirtyminen kotihakemistoon ei onnistu +37 Tyhjä käsky +38 Sijoituksesta puuttuu lauseke +39 Tuntematon operaattori +40 Tulkinnanvarainen +41 %s: Tiedosto ei ole uusi +42 Parametrin -c argumentti päätty takakenoviivaan (\\) +43 Keskeytetty +44 Indeksi viittaa rajojen ulkopuollelle +45 Rivin ylivuoto +46 Olematon työ +47 Ei onnistu päätteeltä +48 Silmukan (while/foreach) ulkopuolella +49 Lisää prosesseja ei voida luoda +50 Ei vastaavuuksia (match) +51 Puuttuva %c +52 Ylimääräinen/pariton %c +53 Muisti loppu +54 Putkea ei voida luoda +55 %s: %s +56 %s +57 Käyttö: jobs [ -l ] +58 Argumenttien on oltava töiden tai prosessien tunnisteita +59 Ei tämänhetkistä työtä +60 Ei edellistä työtä +61 Mikään työ ei vastaa mallia +62 Sisäkkäinen prosessin luonti (fork) > %d; mahdollisesti `...` silmukka +63 Alemman tason komentotulkeissa ei ole töidenhallintaa +64 Synkronointivirhe: Prosessia %d ei löydy +65 %sTilapäisesti keskeytettyjä töitä +66 %sPysähtyneenä olevia töitä +67 Toinen hakemisto puuttuu +68 Hakemistopino on tyhjä +69 Virheellinen hakemisto +70 Käyttö: %s [-%s]%s +71 Lipulle -h ei ole argumenttia +72 Tämä ei ole ensimmäisen tason komentotulkki (login shell) +73 Jako 0:lla +74 Jakojäännös 0:lla +75 Virheellinen muunnoskerroin; tarkoititko "%s"? +76 Ensimmäisen tason komentotulkkia ei voi keskeyttää (vielä) +77 Tuntematon käyttäjä: %s +78 Muuttujaa $home ei ole asetettu +79 Käyttö: history [-%s] [# tapahtumien/käskyjen lukumäärä] +80 $, ! tai < ei ole sallittu $# eikä $? yhteydessä +81 Muuttujan nimi sisältää rivin vaihdon +82 * ei ole sallittu $# eikä $? yhteydessä +83 $?<numero> tai $#<numero> ei ole sallittu +84 Soveltumaton muuttujan nimi +85 Rivin vaihto muutujan indeksissä +86 Laajennuspuskurin ylivuoto +87 Muuttujassa kielioppivirhe +88 Virheellinen ! -muoto +89 Edellistä korvaavaa merkkijonoa ei ole +90 Virheellinen korvaava merkkijono +91 Edellistä vasemmanpuolista merkkijonoa ei ole +92 Oikeanpuolinen merkkijono on liian pitkä +93 Virheellinen ! -muunnos: %c +94 Muunnos epäonnistui +95 Korvauspuskurin ylivuoto +96 Virheellinen ! argumenttivalitsin +97 Edellistä hakua ei ole +98 %s: Tapahtumaa/käskyä ei löydy +99 Liian paljon loppusulkuja ')' +100 Liian paljon alkusulkuja '(' +101 Virheellisesti sijoitettu alkusulku '(' +102 Uudelleen ohjauksesta puuttuu nimi +103 Tulkinnanvarainen tulostuksen ohjaus +104 Ohjaus << ei onnistu sulkujen '()' sisällä +105 Tulkinnanvarainen syötteen ohjaus +106 Virheelisesti sijoitetut sulut '()' +107 Silmukka alias-määrittelyissä +108 Muuttujaa $watch ei ole asetettu +109 Jonossa ei ole tapahtumia +110 Käyttö: sched -<tapahtumien lukumäärä>.\nKäyttö: sched [+]tt:mm <käsky> +111 Jonotettuja tapahtumia ei ole niin monta +112 Suoritettava käsky puuttuu +113 Virheellinen tapahtuma-aika +114 Suhteellinen ajan määre ei sovellu käytettäväksi am/pm yhteydessä +115 Päätetyypin kuvaukselle (termcap) ei ole tarpeeksi tilaa +116 Käyttö: settc %s [yes|no] +117 Tuntematon toiminne `%s' +118 Tuntematon päätetyypin (termcap) parameteri `%%%c' +119 Liian paljon argumentteja käskylle `%s' (%d) +120 `%s' edellyttää %d argumenttia +121 Käyttö: echotc [-v|-s] [<toiminne> [<argumentit>]] +122 %s: %s. Väärä laitearkkitehtuuri +123 !# Silmukka komentohistoriassa +124 Virheellinen tiedostotesti +125 Valitsimen ylivuoto +126 Tuntematon valitsin: `-%s'\nKäyttö: %s [ -bcdefilmnqstvVxX -Dnimi[=arvo] ] [ argumentti ... ] +127 Tuntematon valitsin: `-%s'\nKäyttö: %s [ -bcdefFilmnqstvVxX ] [ argumentti ... ] +128 Tuntematon valitsin: `-%s'\nKäyttö: %s [ -bcdefilmnqstvVxX ] [ argumentti ... ] +129 \nSoveltumaton täydennys: "%s" +130 \nSoveltumaton %s: '%c' +131 \nErotin '%c' puuttuu %s "%s" jäljestä +132 \nVajaa %s: "%s" +133 Valitsimelle -m ei ole kohdeargumenttia +134 Käyttö: unlimit [-fh] [rajoitteet (limits)] +135 Muuttujalle $%S ei voida asettaa arvoa +136 Viitattua työtä ei ole +137 Tuntematon colorls -muuttuja `%c%c' diff --git a/contrib/tcsh/nls/finnish/set10 b/contrib/tcsh/nls/finnish/set10 new file mode 100644 index 000000000000..5aaae1e44594 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set10 @@ -0,0 +1,8 @@ +$ $Id: set10,v 1.1 2000/01/14 22:57:31 christos Exp $ +$ ma.setp.c +$set 10 +1 setpath: Virheellinen komento '%s'.\n +2 setpath: Argumentit ovat riittämättömiä komennolle '%s'.\n +3 setpath: Arvoa ei löydy hakupolusta '%s'\n +4 setpath: %s ei löydy paikasta %s\n +5 setpath: %d ei ole hyväksyttävä sijainti paikassa %s\n diff --git a/contrib/tcsh/nls/finnish/set11 b/contrib/tcsh/nls/finnish/set11 new file mode 100644 index 000000000000..31e1772f42b0 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set11 @@ -0,0 +1,10 @@ +$ $Id: set11,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.c +$set 11 +1 Varoitus: ei yhteyttä päätteeseen (%s).\n +2 Niinpä tässä komentotulkissa ei ole töiden hallintaa.\n +3 Sinulla on %d sähköpostiviestiä.\n +4 Sinulla on %d viestiä tiedostossa %s.\n +5 Sinulla on %spostia.\n +6 uutta +7 Sinulla on %spostia tiedostossa %s.\n diff --git a/contrib/tcsh/nls/finnish/set12 b/contrib/tcsh/nls/finnish/set12 new file mode 100644 index 000000000000..ca4b5b81d060 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set12 @@ -0,0 +1,4 @@ +$ $Id: set12,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.dir.c +$set 12 +1 %s: Yritetään käynnistää hakemistosta "%s"\n diff --git a/contrib/tcsh/nls/finnish/set13 b/contrib/tcsh/nls/finnish/set13 new file mode 100644 index 000000000000..66a688a7e568 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set13 @@ -0,0 +1,13 @@ +$ $Id: set13,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.exec.c +$set 13 +1 hash=%-4d dir=%-2d prog=%s\n +2 %d hajautusluokkaa, joista jokaisessa %d bittiä\n +3 debug mask = 0x%08x\n +4 %d osumia, %d harhoja, %d%%\n +5 %S: Komentotulkin sisäinen komento.\n +6 %S: Komentoa ei löydy.\n +7 where: / käskyssä on mahdoton ajatus\n +8 %S on alias komennolle +9 %S on komentotulkin sisäinen komento\n +10 hajautusharha: diff --git a/contrib/tcsh/nls/finnish/set14 b/contrib/tcsh/nls/finnish/set14 new file mode 100644 index 000000000000..cd3d6233df3f --- /dev/null +++ b/contrib/tcsh/nls/finnish/set14 @@ -0,0 +1,6 @@ +$ $Id: set14,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.file.c +$set 14 +1 \nAuts!! Liian monta %s!!\n +3 nimeä käyttäjätietokannassa +3 tiedostoa diff --git a/contrib/tcsh/nls/finnish/set15 b/contrib/tcsh/nls/finnish/set15 new file mode 100644 index 000000000000..3312184b9cbe --- /dev/null +++ b/contrib/tcsh/nls/finnish/set15 @@ -0,0 +1,7 @@ +$ $Id: set15,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.func.c +$set 15 +1 %s: %s: rajoitusta ei voida %s %s\n +2 poistaa +3 asettaa +4 ehdottomaksi diff --git a/contrib/tcsh/nls/finnish/set16 b/contrib/tcsh/nls/finnish/set16 new file mode 100644 index 000000000000..e3d2a03d05e0 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set16 @@ -0,0 +1,13 @@ +$ $Id: set16,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.lex.c +$set 16 +1 Päätteen prosessiryhmä vaihdettu arvosta %d %d:ksi.\n +2 \nSano "logout" kirjoittautuaksesi ulos järjestelmästä.\n +3 \nSano "exit" lopettaaksesi %s:n\n +4 seek to eval %x %x\n +5 seek to alias %x %x\n +6 seek to file %x\n +7 Virheellinen seek-tyyppi %d\n +8 tell eval %x %x\n +9 tell alias %x %x\n +10 tell file %x\n diff --git a/contrib/tcsh/nls/finnish/set17 b/contrib/tcsh/nls/finnish/set17 new file mode 100644 index 000000000000..a0be387250c9 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set17 @@ -0,0 +1,16 @@ +$ $Id: set17,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.proc.c +$set 17 +1 VIKA: taustatyötä!\n +2 Paluuarvo %d\n +3 VIKA: prosessi on hävitetty jo kertaalleen +4 Ajossa +5 Signaali +6 Paluuarvo %-25d +7 Valmis +8 VIKA: status=%-9o +9 \040(muistin tila talletettu) +10 \040(hakemisto: +11 hakemisto nyt: +12 %S: On jo keskeytetty\n +13 %S: On jo pysäytetty\n diff --git a/contrib/tcsh/nls/finnish/set18 b/contrib/tcsh/nls/finnish/set18 new file mode 100644 index 000000000000..06a88cb55d2f --- /dev/null +++ b/contrib/tcsh/nls/finnish/set18 @@ -0,0 +1,4 @@ +$ $Id: set18,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ sh.set.c +$set 18 +1 Varoitus: Kohtuuttoman pitkä hakupolku (PATH) katkaistu.\n diff --git a/contrib/tcsh/nls/finnish/set19 b/contrib/tcsh/nls/finnish/set19 new file mode 100644 index 000000000000..ad98544e6355 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set19 @@ -0,0 +1,15 @@ +$ $Id: set19,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ tc.alloc.c +$set 19 +1 nbytes=%d: Muisti loppu\n +2 free(%lx) kutsuttu ennen kuin mitään on varattu. +3 free(%lx) arvo on sallitun muistialueen yläpuolella. +4 free(%lx) arvo on sallitun muistialueen alapuolella. +5 free(%lx) Virheellinen/viallinen lohko. +6 free(%lx) Lohko ei ole dynaamisesti varatulla alueella. +7 free(%lx) Virheellinen lohkon indeksi. +8 %s tämänhetkinen muistin varauksien tila:\nvapaana:\t +9 \nkäytössä:\t +10 \n\tYhteensä käytössä: %d, yhteensä vapaana: %d\n +11 \tVarattu muisti alueella 0x%lx .. 0x%lx. Todellinen huippu 0x%lx\n +12 Varattu muisti alueella 0x%lx .. 0x%lx (%ld).\n diff --git a/contrib/tcsh/nls/finnish/set2 b/contrib/tcsh/nls/finnish/set2 new file mode 100644 index 000000000000..0a306a73a33b --- /dev/null +++ b/contrib/tcsh/nls/finnish/set2 @@ -0,0 +1,94 @@ +$ $Id: set2,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ Signal names +$set 2 +1 Null-signaali +2 Yhteyden katkaisu +3 Keskeytys +4 Lopetus +5 Virheellinen konekäsky +6 Seuranta-ansa (BPT) +7 Hätäkeskeytys +8 Syöttö-/tulostusansa +9 Järjestelmän alasajo odotettavissa +10 Virheellinen päättyminen +11 Jäljittelyansa (EMT) +12 Liukulukupoikkeus +13 Tapettu +14 Käyttäjän signaal1 1 +15 Käyttäjän signaali 2 +16 Väärä muistilohko +17 Väylävirhe +18 Viittaus ohjelma-alueen ulkopuolelle +19 Data sallittujen arvojen ulkopuolella +20 Tuntematon järjestelmäkutsu +21 Murtunut putki +22 Herätyskello +23 Päätetty +24 Poikasen tila muuttunut +25 Poikanen kuollut +26 Apollon laitekohtainen virhe +27 Poikanen pysähtynyt tai poistunut +28 Poikanen poistunut +29 Tehonsyöttö pettänyt +30 Resurssi menetetty +31 Break (Ctrl-Break) +32 Syöte/tulostus mahdollista +33 Epäsynkroninen syöte/tulostus (select) +34 Kiireellinen syöte-/tulostustapahtuma +35 Herätys moniajossa +36 Tappaminen moniajossa +37 Fortranin epäsynkroninen syöte/tulostus valmis +38 Toipuminen +39 Korjauskelvoton muistivirhe +40 Keskusyksikköajan raja ylitetty +41 Järjestelmän sulkeminen odotettavissa +42 Pienoistehtäväryhmän ei-herätystä lippu asetettu +43 Säievirhe - (yksityiskohtaisempia tietoja käskyllä cord -T) +44 rekisterin pariteettivirhe (CRAY Y-MP) +45 Tiedotepyyntö +46 Keskeytetty (signaali) +47 Pysäytetty (signaali) +48 Keskeytetty +49 Pysäytetty +50 Suoritus jatkuu +51 Keskeytetty (päätesyöte) +52 Pysäytetty (päätetulostus) +53 Keskeytetty (päätetulostus) +54 Pysäytetty (päätetulostus) +55 Ikkunan tila muuttunut +56 Ikkunan koko muuttunut +57 Puhelinlinjan tila muuttunut +58 Keskusyksikköajan raja ylitetty +59 Tiedostokoon raja ylitetty +60 Käyttökelpoisen ajan ajastin laukesi +61 Ohjelman ajankäytönseurannan ajastin laukesi +62 DIL-signaali +63 Tutkittava tapahtuma (poll) +64 Prosessin kevytprosessit Process's lwps are blocked +65 Erityinen kevytprossisignaali (LWP) +66 Erityinen CPR-signaali +67 Erityinen CPR-signaali +68 Ensimmäinen tosiaikasignaali +69 Toinen tosiaikasignaali +70 Kolmas tosiaikasignaali +71 Neljäs tosiaikasignaali +72 Neljänneksi viimeinen tosiaikasignaali +73 Kolmanneksi viimeinen tosiaikasignaali +74 Toiseksi viimeinen tosiaikasignaali +75 Viimeinen tosiaikasignaali +76 Paikallisverkko (epäsynkroninen syöte/tulostus) +77 Näennäispääte (syöte/tulostus valmiina) +78 Syöte-/tulostustoimenpidettä edellytetään +79 HFT seurantatila luovutettu +80 HFT seurantatila vapautettava +81 HFT äänenhallinta valmis +82 Uutta dataa HFT-rengaspuskurissa +83 Muuta prosessi +84 Turvallinen huomionäppäin +85 Vuorottelutarve +86 SS$_DEBUG -signaali +87 Etusija muuttunut (priority) +88 Todellinen lukkiintumistila +89 Uusi merkki syötteessä +90 Pinon raja ylitetty +91 Käyttämätön signaali diff --git a/contrib/tcsh/nls/finnish/set20 b/contrib/tcsh/nls/finnish/set20 new file mode 100644 index 000000000000..4fa3a93288b4 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set20 @@ -0,0 +1,41 @@ +$ $Id: set20,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ tc.bind.c +$set 20 +1 Invalid key name `%S'\n +2 Bad key name: %S\n +3 Bad command name: %S\n +4 Bad key spec %S\n +5 Null string specification\n +6 Standard key bindings\n +7 Alternative key bindings\n +8 Multi-character bindings\n +9 Arrow key bindings\n +10 %-15s-> is undefined\n +11 BUG!!! %s isn't bound to anything.\n +12 Usage: bindkey [options] [--] [KEY [COMMAND]]\n +13 -a list or bind KEY in alternative key map\n +14 -b interpret KEY as a C-, M-, F- or X- key name\n +15 -s interpret COMMAND as a literal string to be output\n +16 -c interpret COMMAND as a builtin or external command\n +17 -v bind all keys to vi bindings\n +18 -e bind all keys to emacs bindings\n +19 -d bind all keys to default editor's bindings\n +20 -l list editor commands with descriptions\n +21 -r remove KEY's binding\n +22 -k interpret KEY as a symbolic arrow-key name\n +23 -- force a break from option processing\n +24 -u (or any invalid option) this message\n +25 Without KEY or COMMAND, prints all bindings\n +26 Without COMMAND, prints the binding for KEY.\n +27 bad key specification -- null string\n +28 bad key specification -- empty string\n +29 Bad function-key specification. Null key not allowed\n +30 bad key specification -- malformed hex number\n +31 bad key specification -- malformed octal number\n +32 bad key specification -- malformed decimal number\n +33 Bad function-key specification.\n +34 Null key not allowed\n +35 bad key specification -- unknown name "%S"\n +36 usage: bind [KEY | COMMAND KEY | "emacs" | "vi" | "-a"]\n +37 Invalid function +38 %s\t\tis undefined\n diff --git a/contrib/tcsh/nls/finnish/set21 b/contrib/tcsh/nls/finnish/set21 new file mode 100644 index 000000000000..67fa0c0691a2 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set21 @@ -0,0 +1,5 @@ +$ $Id: set21,v 1.1 2000/01/14 22:57:32 christos Exp $ +$ tc.disc.c +$set 21 +1 Couldn't get local chars.\n +2 Couldn't set local chars.\n diff --git a/contrib/tcsh/nls/finnish/set22 b/contrib/tcsh/nls/finnish/set22 new file mode 100644 index 000000000000..f66ed7be0406 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set22 @@ -0,0 +1,18 @@ +$ $Id: set22,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tc.func.c +$set 22 +1 %S: \t on alias komennolle +2 \nTunnussana ei ole käyttäjän %s\n +3 Virheellinen alias 'precmd' poistettu.\n +4 Virheellinen alias 'cwdcmd' poistettu.\n +5 Virheellinen alias 'beepcmd' poistettu.\n +6 Virheellinen alias 'periodic' poistettu.\n +7 Jäsennetään komentoriviä\n +8 Haluatko todella tuhota kaikki tiedostot? [e/k] +9 Ohitetaan tiedostojen tuhoaminen!\n +10 Komentorivi on nyt:\n +11 Jäsennetään komentoriviä\n +12 on yhdellä listoista\n +13 Komentorivi on nyt:\n +$ 14 YyKk +14 Kk diff --git a/contrib/tcsh/nls/finnish/set23 b/contrib/tcsh/nls/finnish/set23 new file mode 100644 index 000000000000..acf4ac15faa9 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set23 @@ -0,0 +1,34 @@ +$ $Id: set23,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tc.os.c +$set 23 +1 Virheellinen solmun nimi +2 Solmun polku liian pitkä +3 tuntematon +4 solmu: %s\n +5 %d: Solmua ei löydy\n +6 setlocal: %s: %s\n +7 Solmua ei löydy +8 Olet ansassa maailmassa (universe), mitä et itse luonut. +9 Getwarp epäonnistui +10 Virheellinen warp +11 Setwarp epäonnistui +12 Virheellinen maailma (universe) +13 Tuntematon virhe: %d +14 sysname: %s\n +15 nodename: %s\n +16 release: %s\n +17 version: %s\n +18 machine: %s\n +19 getwd: Avaus ei onnistu ".." (%s) +20 getwd: En voi siirtyä hakemistoon ".." (%s) +21 getwd: Virhe luettaessa hakemistoa ".." (%s) +22 getwd: En voi siirtyä takaisin hakemistoon "." (%s) +23 getwd: En voi testata (stat) hakemistoa "/" (%s) +24 getwd: En voi testata (stat) hakemistoa "." (%s) +25 getwd: En voi testata (stat) hakemistoa "%s" (%s) +26 getwd: En voi avata hakemistoa "%s" (%s) +27 getwd: Hakemisto "." ei löydy hakemistosta ".." (%s) +28 Virheellinen järjestelmän tyyppi +29 Järjestelmän tyyppiä ei asetettu +30 Liian monta argumenttia +31 Virheellinen argumentti diff --git a/contrib/tcsh/nls/finnish/set24 b/contrib/tcsh/nls/finnish/set24 new file mode 100644 index 000000000000..2d7904d06971 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set24 @@ -0,0 +1,4 @@ +$ $Id: set24,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tc.sched.c +$set 24 +1 jippo (kludge) diff --git a/contrib/tcsh/nls/finnish/set25 b/contrib/tcsh/nls/finnish/set25 new file mode 100644 index 000000000000..15fecd8a8673 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set25 @@ -0,0 +1,6 @@ +$ $Id: set25,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tc.sig.c +$set 25 +1 our wait %d\n +2 virhe: bsd_signal(%d) signaali on sallitun arvoalueen ulkopuolella\n +3 virhe: bsd_signal(%d) - sigaction epäonnistui, errno %d\n diff --git a/contrib/tcsh/nls/finnish/set26 b/contrib/tcsh/nls/finnish/set26 new file mode 100644 index 000000000000..5db9ffda2f91 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set26 @@ -0,0 +1,15 @@ +$ $Id: set26,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tc.who.c +$set 26 +1 Testaaminen ei onnistu: stat(%s). Ole hyvä ja suorita "unset watch".\n +2 %s ei avaudu. Ole hyvä ja suorita "unset watch".\n +3 VIKA! viimeinen osa ei ole whotail!\n +4 takaperin: +5 VIKA! ensimmäinen osa ei ole whohead!\n +6 uusi: %s/%s\n +7 %n on %a %l koneelta %m. +8 %n on %a %l. +9 kirjoittautunut sisään linjalle +10 kirjoittautunut ulos linjalta +11 korvannut tunnuksen %s linjalla +12 localhost diff --git a/contrib/tcsh/nls/finnish/set27 b/contrib/tcsh/nls/finnish/set27 new file mode 100644 index 000000000000..a99a18aa802b --- /dev/null +++ b/contrib/tcsh/nls/finnish/set27 @@ -0,0 +1,8 @@ +$ $Id: set27,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tw.comp.c +$set 27 +1 komento +2 erotin +3 malli +4 arvojoukko +5 täydennys diff --git a/contrib/tcsh/nls/finnish/set29 b/contrib/tcsh/nls/finnish/set29 new file mode 100644 index 000000000000..65d943dda8ad --- /dev/null +++ b/contrib/tcsh/nls/finnish/set29 @@ -0,0 +1,4 @@ +$ $Id: set29,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tw.help.c +$set 29 +1 Ei löydy aputiedostoa komennolle %S\n diff --git a/contrib/tcsh/nls/finnish/set3 b/contrib/tcsh/nls/finnish/set3 new file mode 100644 index 000000000000..01a99dcf9447 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set3 @@ -0,0 +1,118 @@ +$ $Id: set3,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ Editor function descriptions +$set 3 +1 Siirry taaksepäin yksi merkki +2 Poista kursoria edeltävä merkki +3 Leikkaa sanan alusta kursoriin - talleteta leikkauspuskuriin +4 Leikkaa rivin alusta kursoriin - talleteta leikkauspuskuriin +5 Siirry sanan alkuun +6 Siirry rivin alkuun +7 Vaihda isoiksi kirjaimiksi kursorista sanan loppuun +8 Vi: Vaihda kirjain kursorin alla ison ja pienen välillä, ja etene merkki +9 Vi: muuta rivin loppuun +10 Puhdista kuvaruutu jättäen keskeneräinen rivi ylimmäksi +11 Täydennä sana +12 Etene tiedostojen läpi yksi kerrallaan +13 Peruuta tiedostojen läpi yksi kerrallaan +14 Täydennä sana huomioimatta ohjelmoitavia täydennyksiä +15 Kopioi sana kursoriin saakka +16 Kopioi leikkauspuskuriin alue merkistä kursoriin +17 Laajenna edelliseksi sanaksi, missä on tämä alkuosa +18 Poista merkki kursorin alta +19 Poista merkki kursorin alta ja ilmoita tiedoston loppu tyhjällä rivillä +20 Poista merkki kursorin alta ja näytä täydennykset, mikäli rivin lopussa +21 Poista merkki kursorin alta ja ilmoita täydennykset tai tiedoston loppu +22 Leikkaa kursorista sanan loppuun - talleteta leikkauspuskuriin +23 Lisää argumenttiin, mikäli sekvenssi on aloitettu tai kyseessä on numero +24 Numero, mikä aloittaa argumentin +25 Siirry seuraavalle riville historiassa +26 Muuta pieniksi kirjaimiksi kursorista sanan loppuun +27 Ilmoita tiedoston loppu +28 Siirrä kursori rivin loppuun +29 Vaihda kursorin ja merkin paikkaa +30 Laajenna tiedoston nimen jokerimerkit +31 Laajenna viittaukset komentohistoriaan +32 Laajenna viittaukset komentohistoriaan suoraan paikallaan +33 Laajenna muuttujat +34 Siirry eteenpäin yksi merkki +35 Siirry eteenpäin sanan loppuun +36 Vaihda keskenään kursoria edeltävät kaksi merkkiä +37 Etsi historiasta taaksepäin riviä, mikä alkaa kuten tämä +38 Etsi historiasta eteenpäin riviä, mikä alkaa kuten tämä +39 Lisää viimeisen komennon viimeinen osa +40 Täsmentyvä haku eteenpäin +41 Täsmentyvä haku taaksepäin +42 Tyhjennä rivi +43 Leikkaa kursorista rivin loppuun ja talleta leikkauspuskuriin +44 Leikkaa alue merkistä kursoriin ja talleta leikkauspuskuriin +45 Leikkaa koko rivi ja talleta leikkauspuskuriin +46 Näytä täydennysvaihtoehdot +47 Näytä täydennysvaihtoehdot ohittaen ohjelmoitavat taydennykset +48 Näytä tiedostojen nimien jokerimerkkivastaavuudet +49 Näytä täydennysvaihtoehdot tai ilmoita tiedoston loppu, jos rivi on tyhjä +50 Näytä kuormituskeskiarvot ja tämänhetkisen prosessin tila +51 Laajenna historiaviittaukset ja lisää välilyönti +52 Suorita komento +53 Laajenna hakupolut ja korvaa tai taydennä jokainen '.' ja '..' +54 Laajenna komennot kokonaisiksi hakupoluiksi tai alias-vastineiksi +55 Vaihda toimintatilaa lisäyksen ja päällekirjoituksen välillä +56 Lisää 8. bitti seuraavaan merkkiin (meta) +57 Lisää seuraava merkki riville sellaisenaan ilman tulkintaa +58 Näytä kaikki uudestaan +59 Jatka pysäytettyä tekstinkäsittelyä +60 Etsi aputietoja tästä komennosta +61 Tämä merkki lisätään riville +62 Tämä merkki aloittaa merkkisarjan +63 Aseta merkki kursorin kohdalle +64 Korjaa sanan kirjoitusasu +65 Korjaa koko rivin kirjoitusasu +66 Lähetä merkki päätteelle erikoismerkkien tulkinnan ja muunnoksien jälkeen +67 Vaihda esitystä raa'an ja täydennetyn historiarivin välillä +68 Vaihda kursoria edeltävä merkki ja kursorin alla oleva merkki keskenään +69 Vaihda kursoria edeltävät kaksi merkkiä keskenään +70 Tty viivästetty pysäytysmerkki (TSTP) +71 Tty tulosteen hävittämismerkki +72 Tty keskeytysmerkki (INT) +73 Tty lopetusmerkki (QUIT) +74 Tty pysäytysmerkki (STOP) +75 Tty salli tulostus -merkki +76 Tty estä tulostus -merkki +77 Ilmoitus sitomattomasta merkistä +78 Emacs-tyylin toistettava argumentti (4 kertaa argumentti) +79 Siirry edelliselle historiariville +80 Muuta kirjaimet kursorista sanan loppuun isoiksi +81 Vi: siirry seuraavan sanan alkuun +82 Vi: vaihda lisäystilaan kursorin jälkeen +83 Vi: vaihda lisäystilaan rivin lopussa +84 Vi: vaihda kirjain kursorin alla ison ja pienen välillä, ja etene merkki +85 Vi: vaihda (sanan) alkuliite/-osa +86 Vi: vaihda kursorista rivin loppuun +87 Vaihda vi:n komentotilaan (vaihtoehtoisin näppäinmäärittelyin) +88 Vi: komentotilan täydennä sana +89 Vi: siirry edelliseen merkkiin (backspace, välilyönti taaksepäin) +90 Vi: poista (sanan) alkuliite/-osa +91 Vi: siirry seuraavaan välilyönnin rajoittamaan sanan loppuun +92 Vi: siirry seuraavaan sanan loppuun +93 Vi: siirry edelliseen annetun mallin mukaiseen merkkiin +94 Vi: siirry seuraavaan annetun mallin mukaiseen merkkiin +95 Vi: siirry edelliseen annetun mallin mukaisen merkin jälkeiseen merkkiin +96 Vi: siirry seuraavaan annetun mallin mukaista merkkiä edeltävään merkkiin +97 Vaihda vi-tilaan +98 Vaihda vi:n lisäystilaan rivin alussa +99 Vi: toista viimeinen merkkihaku jatkaen etsintää samaan suuntaan +100 Vi: toista viimeinen merkkihaku jatkaen etsintää päinvastaiseen suuntaan +101 Vi: toista viimeinen haku jatkaen etsintää samaan suuntaan +102 Vi: toista viimeinen haku jatkaen etsintää päinvastaiseen suuntaan +103 Vi: vaihda kursorin alla oleva merkki seuraavaan näppäiltyyn merkkiin +104 Vi: korvaustila +105 Vi: etsi historiasta taaksepäin +106 Vi: etsi historiasta eteenpäin +107 Vi: korvaa kursorin alla oleva merkki ja siirry lisäystilaan +108 Vi: korvaa koko rivi +109 Vi: siirry edelliseen sanaan +110 Vi: siirry seuraavaan sanaan +111 Vi: peruuta muutos +112 Vi: siirry rivin alkuun +113 Suorita 'which' tälle komennolle +114 Liimaa/lisää leikkauspuskurin sisältö kursorin paikalle + diff --git a/contrib/tcsh/nls/finnish/set30 b/contrib/tcsh/nls/finnish/set30 new file mode 100644 index 000000000000..1fed72239966 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set30 @@ -0,0 +1,16 @@ +$ $Id: set30,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ tw.parse.c +$set 30 +1 starting_a_command %d\n +2 complete %d +3 complete %d %S\n +4 %s: Internal match error.\n +5 items +6 rows +7 There are %d %s, list them anyway? [n/y] +8 looking = %d\n +9 \ntcsh internal error: I don't know what I'm looking for!\n +10 not a directory +11 not found +12 unreadable +13 Yy diff --git a/contrib/tcsh/nls/finnish/set31 b/contrib/tcsh/nls/finnish/set31 new file mode 100644 index 000000000000..fa9748774f36 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set31 @@ -0,0 +1,7 @@ +$ $Id: set31,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ vms.termcap.c +$set 31 +1 Can't open TERMCAP: [%s]\n +2 Can't open %s.\n +3 Found %s in %s.\n +4 No match found for %s in file %s\n diff --git a/contrib/tcsh/nls/finnish/set4 b/contrib/tcsh/nls/finnish/set4 new file mode 100644 index 000000000000..518fbb1fe56a --- /dev/null +++ b/contrib/tcsh/nls/finnish/set4 @@ -0,0 +1,45 @@ +$ $Id: set4,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ Termcap strings +$set 4 +1 add new blank line +2 audible bell +3 clear to bottom +4 clear to end of line +5 cursor to horiz pos +6 clear screen +7 delete a character +8 delete a line +9 start delete mode +10 end delete mode +11 end insert mode +12 cursor from status line +13 home cursor +14 insert character +15 start insert mode +16 insert padding +17 sends cursor down +18 sends cursor left +19 sends cursor right +20 sends cursor up +21 begin bold +22 end attributes +23 non destructive space +24 end standout +25 begin standout +26 cursor to status line +27 cursor up one +28 begin underline +29 end underline +30 visible bell +31 delete multiple chars +32 cursor down multiple +33 insert multiple chars +34 cursor left multiple +35 cursor right multiple +36 cursor up multiple +37 Has automatic margins +38 Can use physical tabs +39 Number of lines +40 Number of columns +41 Has meta key +42 Newline ignored at right margin diff --git a/contrib/tcsh/nls/finnish/set5 b/contrib/tcsh/nls/finnish/set5 new file mode 100644 index 000000000000..4aeba2809f54 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set5 @@ -0,0 +1,4 @@ +$ $Id: set5,v 1.1 2000/01/14 22:57:33 christos Exp $ +$ ed.chared.c +$set 5 +1 Kuormituskeskiarvoja ei ole saatavilla\n diff --git a/contrib/tcsh/nls/finnish/set6 b/contrib/tcsh/nls/finnish/set6 new file mode 100644 index 000000000000..83ba9ba3fdae --- /dev/null +++ b/contrib/tcsh/nls/finnish/set6 @@ -0,0 +1,11 @@ +$ $Id: set6,v 1.1 2000/01/14 22:57:34 christos Exp $ +$ ed.inputl.c +$set 6 +1 VIKA: Virheellinen komento näppäimeltä 0%o\r\n +2 kyllä\n +3 muokkaa\n +4 keskeytä\n +5 ei\n +6 Ei malliin sopivaa komentoa\n +7 Tulkinnanvarainen komento\n +8 *** kohtalokas VIKA tekstinkäsittelyssä ***\r\n\n diff --git a/contrib/tcsh/nls/finnish/set7 b/contrib/tcsh/nls/finnish/set7 new file mode 100644 index 000000000000..6ac2a2f852f8 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set7 @@ -0,0 +1,30 @@ +$ $Id: set7,v 1.1 2000/01/14 22:57:34 christos Exp $ +$ ed.screen.c +$set 7 +1 \n\tTcsh:n mielestä päätteelläsi on\n +2 \tseuraavat ominaisuudet:\n\n +3 \tSiinä on %d palstaa ja %d riviä.\n +4 \tMeta-näppäin %s käytettävissä.\n +5 on +6 ei ole +7 \tSe %sosaa hyödyntää tabulaattorimerkkejä.\n +8 not +9 \tSiinä %s luottaa automaattisiin marginaaleihin.\n +10 voi +11 ei voi +12 \tSiinä %s luottaa taikamarginaaleihin. (magic margin)\n +13 (empty) +14 yes +15 no +16 VIRHE: Ei pysty tuhoamaan merkkejä.\r\n +17 DeleteChars: Numeroarvo on naurettava: %d\r\n +18 VIRHE: Ei pysty lisäämään merkkejä keskelle riviä.\r\n +19 StartInsert: Numeroarvo on naurettava: %d\r\n +20 %s: Ei pystytä avaamaan tiedostoa /etc/termcap.\n +21 %s: Päätetyypille "%s" ei löydy määrittely\n +22 %s: Käytän tyhmän (dumb) päätteen asetuksia.\n +23 %s: VAROITUS: Päätteesi ei osaa siirtää kursoria ylöspäin.\n +24 Pitkillä riveillä tekstinkäsittely voi olla lievästi outoa.\n +25 Päätteestäsi puuttuu toiminto "tuhoa rivin loppuun".\n +26 Päätteestäsi puuttuu toiminto "tuhoa merkki".\n +27 Päätteestäsi puuttuu toiminto "lisää merkki aiempien väliin".\n diff --git a/contrib/tcsh/nls/finnish/set8 b/contrib/tcsh/nls/finnish/set8 new file mode 100644 index 000000000000..abff0ad26ab5 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set8 @@ -0,0 +1,5 @@ +$ $Id: set8,v 1.1 2000/01/14 22:57:34 christos Exp $ +$ ed.term.c +$set 8 +1 Tuntematon valitsin +2 Soveltumaton argumentti diff --git a/contrib/tcsh/nls/finnish/set9 b/contrib/tcsh/nls/finnish/set9 new file mode 100644 index 000000000000..857dce9f7450 --- /dev/null +++ b/contrib/tcsh/nls/finnish/set9 @@ -0,0 +1,12 @@ +$ $Id: set9,v 1.1 2000/01/14 22:57:34 christos Exp $ +$ ed.xmap.c +$set 9 +1 AddXkey: Null extended-key not allowed.\n +2 AddXkey: sequence-lead-in command not allowed\n +3 DeleteXkey: Null extended-key not allowed.\n +4 Sitomaton laajennettu näppäin "%S"\n +5 Jotkin laajennetut näppäimet ovat liian pitkiä sisäiseen tulostuspuskurille +6 Enumerate: VIKA!! Välitetty null-osoitin\n! +7 ei syötettä +8 Jotain on seurattava: %c\n +9 Oktaalivakio ei mahdu char-tyypin muuttujaan.\n diff --git a/contrib/tcsh/patchlevel.h b/contrib/tcsh/patchlevel.h index a9874bc515e9..98fba2ba9529 100644 --- a/contrib/tcsh/patchlevel.h +++ b/contrib/tcsh/patchlevel.h @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/patchlevel.h,v 3.121 1999/08/16 20:06:57 christos Exp $ */ +/* $Header: /src/pub/tcsh/patchlevel.h,v 3.122 2000/01/14 22:57:26 christos Exp $ */ /* * patchlevel.h: Our life story. */ @@ -8,7 +8,7 @@ #define ORIGIN "Astron" #define REV 6 #define VERS 9 -#define PATCHLEVEL 0 -#define DATE "1999-08-16" +#define PATCHLEVEL 1 +#define DATE "2000-01-14" #endif /* _h_patchlevel */ diff --git a/contrib/tcsh/sh.c b/contrib/tcsh/sh.c index 8703dc888652..4c034cbf4dc4 100644 --- a/contrib/tcsh/sh.c +++ b/contrib/tcsh/sh.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.c,v 3.89 1999/08/13 16:32:51 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.c,v 3.90 2000/01/14 22:57:27 christos Exp $ */ /* * sh.c: Main shell routines */ @@ -43,7 +43,7 @@ char copyright[] = All rights reserved.\n"; #endif /* not lint */ -RCSID("$Id: sh.c,v 3.89 1999/08/13 16:32:51 christos Exp $") +RCSID("$Id: sh.c,v 3.90 2000/01/14 22:57:27 christos Exp $") #include "tc.h" #include "ed.h" @@ -2188,7 +2188,7 @@ mailchk() #if defined(BSDTIMES) || defined(_SEQUENT_) new = stb.st_mtime > time0.tv_sec; #else - new = stb.st_mtime > time0; + new = stb.st_mtime > seconds0; #endif if (S_ISDIR(stb.st_mode)) { DIR *mailbox; @@ -2207,7 +2207,7 @@ mailchk() #if defined(BSDTIMES) || defined(_SEQUENT_) new = stb.st_mtime > time0.tv_sec; #else - new = stb.st_mtime > time0; + new = stb.st_mtime > seconds0; #endif mboxdir = tempfilename; } diff --git a/contrib/tcsh/sh.dol.c b/contrib/tcsh/sh.dol.c index 9b14b6f305cd..92c3a6bd6bb4 100644 --- a/contrib/tcsh/sh.dol.c +++ b/contrib/tcsh/sh.dol.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.dol.c,v 3.38 1998/10/25 15:10:05 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.dol.c,v 3.39 2000/01/14 22:57:27 christos Exp $ */ /* * sh.dol.c: Variable substitutions */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.dol.c,v 3.38 1998/10/25 15:10:05 christos Exp $") +RCSID("$Id: sh.dol.c,v 3.39 2000/01/14 22:57:27 christos Exp $") /* * C shell @@ -110,6 +110,11 @@ Dfix(t) /* Note that t_dcom isn't trimmed thus !...:q's aren't lost */ for (pp = t->t_dcom; (p = *pp++) != NULL;) { for (; *p; p++) { +#ifdef DSPMBYTE + if (Ismbyte1(*p) && *(p + 1)) + p ++; + else +#endif DSPMBYTE if (cmap(*p, _DOL | QUOTES)) { /* $, \, ', ", ` */ Dfix2(t->t_dcom); /* found one */ blkfree(t->t_dcom); @@ -171,9 +176,28 @@ Dpack(wbuf, wp) { register int c; register int i = MAXWLEN - (int) (wp - wbuf); +#if defined(DSPMBYTE) + int mbytepos = 1; +#endif /* DSPMBYTE */ for (;;) { c = DgetC(DODOL); +#if defined(DSPMBYTE) + if (mbytepos == 1 && Ismbyte1(c)) { + /* An MB1 byte that may be followed by a MB2 byte */ + mbytepos = 2; + } + else { + /* check if MB1 byte followed by an MB2 byte */ + if (mbytepos == 2 && Ismbyte2(c)) { + /* MB1 + MB2 make the character */ + mbytepos = 1; /* reset */ + goto mbyteskip; + } + mbytepos = 1; /* reset */ + /* wasn't followed, so the two bytes make two characters */ + } +#endif /* DSPMBYTE */ if (c == '\\') { c = DgetC(0); if (c == DEOF) { @@ -201,6 +225,7 @@ Dpack(wbuf, wp) Gcat(STRNULL, wbuf); return (NULL); } +mbyteskip: if (--i <= 0) stderror(ERR_WTOOLONG); *wp++ = (Char) c; diff --git a/contrib/tcsh/sh.exec.c b/contrib/tcsh/sh.exec.c index 68c24b67c039..1751cf95fb13 100644 --- a/contrib/tcsh/sh.exec.c +++ b/contrib/tcsh/sh.exec.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.exec.c,v 3.47 1999/04/20 07:48:44 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.exec.c,v 3.48 2000/01/14 22:57:27 christos Exp $ */ /* * sh.exec.c: Search, find, and execute a command! */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.exec.c,v 3.47 1999/04/20 07:48:44 christos Exp $") +RCSID("$Id: sh.exec.c,v 3.48 2000/01/14 22:57:27 christos Exp $") #include "tc.h" #include "tw.h" @@ -827,7 +827,7 @@ static int hashname(cp) register Char *cp; { - register long h; + register unsigned long h; for (h = 0; *cp; cp++) h = hash(h, *cp); diff --git a/contrib/tcsh/sh.func.c b/contrib/tcsh/sh.func.c index d0667f5f470e..2138bce90c7d 100644 --- a/contrib/tcsh/sh.func.c +++ b/contrib/tcsh/sh.func.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.func.c,v 3.85 1999/08/16 20:05:49 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.func.c,v 3.86 2000/01/14 22:57:27 christos Exp $ */ /* * sh.func.c: csh builtin functions */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.func.c,v 3.85 1999/08/16 20:05:49 christos Exp $") +RCSID("$Id: sh.func.c,v 3.86 2000/01/14 22:57:27 christos Exp $") #include "ed.h" #include "tw.h" @@ -1688,7 +1688,7 @@ doumask(v, c) USE(c); if (cp == 0) { - i = umask(0); + i = (int)umask(0); (void) umask(i); xprintf("%o\n", i); return; diff --git a/contrib/tcsh/sh.glob.c b/contrib/tcsh/sh.glob.c index 20faaeecf36c..9bcd9790a335 100644 --- a/contrib/tcsh/sh.glob.c +++ b/contrib/tcsh/sh.glob.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.glob.c,v 3.43 1998/10/25 15:10:14 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.glob.c,v 3.44 2000/01/14 22:57:28 christos Exp $ */ /* * sh.glob.c: Regular expression expansion */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.glob.c,v 3.43 1998/10/25 15:10:14 christos Exp $") +RCSID("$Id: sh.glob.c,v 3.44 2000/01/14 22:57:28 christos Exp $") #include "tc.h" @@ -190,9 +190,19 @@ globbrace(s, p, bl) /* check for balanced braces */ for (i = 0, pe = ++p; *pe; pe++) +#ifdef DSPMBYTE + if (Ismbyte1(*pe) && *(pe + 1) != EOS) + pe ++; + else +#endif /* DSPMBYTE */ if (*pe == LBRK) { /* Ignore everything between [] */ for (++pe; *pe != RBRK && *pe != EOS; pe++) +#ifdef DSPMBYTE + if (Ismbyte1(*pe) && *(pe + 1) != EOS) + pe ++; + else +#endif /* DSPMBYTE */ continue; if (*pe == EOS) { blkfree(nv); @@ -213,9 +223,19 @@ globbrace(s, p, bl) } for (i = 0, pl = pm = p; pm <= pe; pm++) +#ifdef DSPMBYTE + if (Ismbyte1(*pm) && pm + 1 <= pe) + pm ++; + else +#endif /* DSPMBYTE */ switch (*pm) { case LBRK: for (++pm; *pm != RBRK && *pm != EOS; pm++) +#ifdef DSPMBYTE + if (Ismbyte1(*pm) && *(pm + 1) != EOS) + pm ++; + else +#endif /* DSPMBYTE */ continue; if (*pm == EOS) { *vl = NULL; @@ -287,6 +307,12 @@ expbrace(nvp, elp, size) Char **bl; int len; +#if defined (DSPMBYTE) + if (b != s && Ismbyte2(*b) && Ismbyte1(*(b-1))) { + /* The "{" is the 2nd byte of a MB character */ + continue; + } +#endif /* DSPMBYTE */ if ((len = globbrace(s, b, &bl)) < 0) { xfree((ptr_t) nv); stderror(ERR_MISSING, -len); @@ -727,7 +753,15 @@ dobackp(cp, literal) pargc = 0; pnleft = LONGBSIZE - 4; for (;;) { +#if defined(DSPMBYTE) + for (lp = cp;; lp++) { + if (*lp == '`' && + (lp-1 < cp || !Ismbyte2(*lp) || !Ismbyte1(*(lp-1)))) { + break; + } +#else /* DSPMBYTE */ for (lp = cp; *lp != '`'; lp++) { +#endif /* DSPMBYTE */ if (*lp == 0) { if (pargcp != pargs) pword(LONGBSIZE); diff --git a/contrib/tcsh/sh.h b/contrib/tcsh/sh.h index 0192f848cbf7..2305433d758b 100644 --- a/contrib/tcsh/sh.h +++ b/contrib/tcsh/sh.h @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.h,v 3.86 1998/10/25 15:10:16 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.h,v 3.87 2000/01/14 22:57:28 christos Exp $ */ /* * sh.h: Catch it all globals and includes file! */ @@ -324,9 +324,9 @@ typedef int sigret_t; # include <sys/filio.h> #endif /* (!FIOCLEX && SUNOS4) || (SYSVREL == 4 && !_SEQUENT_ && !SCO && !_SX ) */ -#if !defined(_MINIX) && !defined(COHERENT) && !defined(supermax) && !defined(WINNT) +#if !defined(_MINIX) && !defined(COHERENT) && !defined(supermax) && !defined(WINNT) && !defined(IRIS4D) # include <sys/file.h> -#endif /* !_MINIX && !COHERENT && !supermax && !WINNT */ +#endif /* !_MINIX && !COHERENT && !supermax && !WINNT && !defined(IRIS4D) */ #if !defined(O_RDONLY) || !defined(O_NDELAY) # include <fcntl.h> @@ -610,6 +610,7 @@ EXTERN clock_t clk_tck; # endif /* POSIX */ EXTERN struct tms shtimes; /* shell and child times for process timing */ # endif /* _SEQUENT_ */ +EXTERN long seconds0; #endif /* BSDTIMES */ #ifndef HZ diff --git a/contrib/tcsh/sh.lex.c b/contrib/tcsh/sh.lex.c index caf202c0493c..b252eaae344e 100644 --- a/contrib/tcsh/sh.lex.c +++ b/contrib/tcsh/sh.lex.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.lex.c,v 3.49 1998/04/08 13:58:54 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.lex.c,v 3.50 2000/01/14 22:57:28 christos Exp $ */ /* * sh.lex.c: Lexical analysis into tokens */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.lex.c,v 3.49 1998/04/08 13:58:54 christos Exp $") +RCSID("$Id: sh.lex.c,v 3.50 2000/01/14 22:57:28 christos Exp $") #include "ed.h" /* #define DEBUG_INP */ @@ -295,6 +295,9 @@ word() int h; bool dolflg; int i; +#if defined(DSPMBYTE) + int mbytepos = 1; +#endif /* DSPMBYTE */ wp = wbuf; i = BUFSIZE - 4; @@ -355,6 +358,13 @@ loop: c1 = 0; dolflg = DOALL; for (;;) { +#if defined(DSPMBYTE) + if (mbytepos == 2) + mbytepos = 1; + else if (mbytepos == 1 && Ismbyte1(c) && 2 <= i) + mbytepos = 2; + else +#endif /* DSPMBYTE */ if (c1) { if (c == c1) { c1 = 0; diff --git a/contrib/tcsh/sh.print.c b/contrib/tcsh/sh.print.c index 047ab5d73542..f2b304c23c03 100644 --- a/contrib/tcsh/sh.print.c +++ b/contrib/tcsh/sh.print.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.print.c,v 3.18 1999/05/11 13:07:51 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.print.c,v 3.19 2000/01/14 22:57:28 christos Exp $ */ /* * sh.print.c: Primitive Output routines. */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.print.c,v 3.18 1999/05/11 13:07:51 christos Exp $") +RCSID("$Id: sh.print.c,v 3.19 2000/01/14 22:57:28 christos Exp $") #include "ed.h" @@ -259,6 +259,12 @@ flush() #ifdef EBADF case EBADF: #endif +#ifdef ESTALE + /* + * Lost our file descriptor, exit (IRIS4D) + */ + case ESTALE: +#endif /* * Over our quota, writing the history file */ diff --git a/contrib/tcsh/sh.set.c b/contrib/tcsh/sh.set.c index 76fe77fbb676..f772d644db4c 100644 --- a/contrib/tcsh/sh.set.c +++ b/contrib/tcsh/sh.set.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.set.c,v 3.35 1998/10/25 15:10:26 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.set.c,v 3.36 2000/01/14 22:57:28 christos Exp $ */ /* * sh.set.c: Setting and Clearing of variables */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.set.c,v 3.35 1998/10/25 15:10:26 christos Exp $") +RCSID("$Id: sh.set.c,v 3.36 2000/01/14 22:57:28 christos Exp $") #include "ed.h" #include "tw.h" @@ -1188,8 +1188,10 @@ autoset_dspmbyte(pcp) Char *n; Char *v; } dspmt[] = { - { STRLANGEUC, STRKEUC }, - { STRLANGEUCB, STRKEUC }, + { STRLANGEUCJP, STRKEUC }, + { STRLANGEUCKR, STRKEUC }, + { STRLANGEUCJPB, STRKEUC }, + { STRLANGEUCKRB, STRKEUC }, { STRLANGSJIS, STRKSJIS }, { STRLANGSJISB, STRKSJIS }, { NULL, NULL } diff --git a/contrib/tcsh/sh.time.c b/contrib/tcsh/sh.time.c index f670fdc08a46..f411fb5a1f96 100644 --- a/contrib/tcsh/sh.time.c +++ b/contrib/tcsh/sh.time.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.time.c,v 3.20 1998/11/24 18:17:38 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.time.c,v 3.21 2000/01/14 22:57:29 christos Exp $ */ /* * sh.time.c: Shell time keeping and printing. */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: sh.time.c,v 3.20 1998/11/24 18:17:38 christos Exp $") +RCSID("$Id: sh.time.c,v 3.21 2000/01/14 22:57:29 christos Exp $") #ifdef SUNOS4 # include <machine/param.h> @@ -86,10 +86,11 @@ settimes() (void) get_process_stats(&time0, PS_SELF, &ru0, &ruch); ruadd(&ru0, &ruch); # else /* _SEQUENT_ */ + seconds0 = time(NULL); # ifndef COHERENT time0 = times(×0); # else /* !COHERENT */ - time0 = HZ * time(NULL); + time0 = HZ * seconds0; times(×0); # endif /* !COHERENT */ times0.tms_stime += times0.tms_cstime; @@ -454,9 +455,9 @@ prusage(bs, es, e, b) if ((sysinfo.cpu_count == 0) && (getsysinfo(SYSINFO_SIZE, &sysinfo) < 0)) sysinfo.cpu_count = 1; - i = (ms == 0) ? 0 : (t * 1000 / (ms * sysinfo.cpu_count)); + i = (ms == 0) ? 0 : (t * 1000.0 / (ms * sysinfo.cpu_count)); #else /* convex */ - i = (ms == 0) ? 0 : (t * 1000 / ms); + i = (ms == 0) ? 0 : (t * 1000.0 / ms); #endif /* convex */ xprintf("%ld.%01ld%%", i / 10, i % 10); /* nn.n% */ break; diff --git a/contrib/tcsh/sh.types.h b/contrib/tcsh/sh.types.h index 2a9d8bf406bc..fe1fbe5c824e 100644 --- a/contrib/tcsh/sh.types.h +++ b/contrib/tcsh/sh.types.h @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/sh.types.h,v 3.36 1998/04/21 16:08:51 christos Exp $ */ +/* $Header: /src/pub/tcsh/sh.types.h,v 3.37 2000/01/14 22:57:29 christos Exp $ */ /* sh.types.h: Do the necessary typedefs for each system. * Up till now I avoided making this into a separate file * But I just wanted to eliminate the whole mess from sh.h @@ -312,6 +312,10 @@ typedef char * caddr_t; # ifndef _PID_T # define _PID_T # endif /* _PID_T */ +# ifndef _PTR_T +# define _PTR_T + typedef void * ptr_t; +# endif /* _PTR_T */ #endif /* ultrix || __ultrix */ diff --git a/contrib/tcsh/tc.const.c b/contrib/tcsh/tc.const.c index 3fa5bbd872a8..afcfae712e40 100644 --- a/contrib/tcsh/tc.const.c +++ b/contrib/tcsh/tc.const.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/tc.const.c,v 3.52 1999/05/11 13:07:52 christos Exp $ */ +/* $Header: /src/pub/tcsh/tc.const.c,v 3.53 2000/01/14 22:57:29 christos Exp $ */ /* * sh.const.c: String constants for tcsh. */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: tc.const.c,v 3.52 1999/05/11 13:07:52 christos Exp $") +RCSID("$Id: tc.const.c,v 3.53 2000/01/14 22:57:29 christos Exp $") Char STRlogout[] = { 'l', 'o', 'g', 'o', 'u', 't', '\0' }; Char STRautologout[] = { 'a', 'u', 't', 'o', 'l', 'o', 'g', 'o', 'u', 't', @@ -127,41 +127,55 @@ Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' }; # endif /* MBYTEMAP */ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ /* dspmbyte autoset trap */ -/* STRLANGEUC,STRLANGEUCB = EUC Trap */ +/* STRLANGEUCJP,STRLANGEUCJPB = EUCJP Trap */ +/* STRLANGEUCKR,STRLANGEUCKRB = EUCKR Trap */ /* STRLANGSJIS,STRLANGSJISB = SJIS Trap */ # if defined(__FreeBSD__) || defined(__uxps__) || defined(linux) || defined(sgi) || defined(aix) /* linux? */ -Char STRLANGEUC[] = { 'j', 'a', '_', 'J', 'P', '.', 'E', 'U', 'C', '\0' }; +Char STRLANGEUCJP[] = { 'j', 'a', '_', 'J', 'P', '.', 'E', 'U', 'C', '\0' }; +Char STRLANGEUCKR[] = { 'k', 'o', '_', 'K', 'R', '.', 'E', 'U', 'C', '\0' }; # if defined(__uxps__) -Char STRLANGEUCB[] = { 'j', 'a', 'p', 'a', 'n', '\0' }; +Char STRLANGEUCJPB[] = { 'j', 'a', 'p', 'a', 'n', '\0' }; +Char STRLANGEUCKRB[] = { 'k', 'o', 'r', 'e', 'a', '\0' }; # elif defined(linux) -Char STRLANGEUCB[] = { 'j', 'a', '_', 'J', 'P', '.', 'u', 'j', 'i', 's', +Char STRLANGEUCJPB[] = { 'j', 'a', '_', 'J', 'P', '.', 'u', 'j', 'i', 's', '\0' }; +Char STRLANGEUCKRB[] = { 'k', 'o', '_', 'K', 'R', '.', 'e', 'u', 'c', '\0' }; # elif defined(aix) -Char STRLANGEUCB[] = { 'j', 'a', '_', 'J', 'P', '\0' }; +Char STRLANGEUCJPB[] = { 'j', 'a', '_', 'J', 'P', '\0' }; +Char STRLANGEUCKRB[] = { 'k', 'o', '_', 'K', 'R', '\0' }; # else -Char STRLANGEUCB[] = { '\0' }; +Char STRLANGEUCJPB[] = { '\0' }; +Char STRLANGEUCKRB[] = { '\0' }; # endif Char STRLANGSJIS[] = { 'j', 'a', '_', 'J', 'P', '.', 'S', 'J', 'I', 'S', '\0' }; Char STRLANGSJISB[] = { '\0' }; # elif defined(__uxpm__) -Char STRLANGEUC[] = { 'j', 'a', 'p', 'a', 'n', '\0' }; -Char STRLANGEUCB[] = { '\0' }; +Char STRLANGEUCJP[] = { 'j', 'a', 'p', 'a', 'n', '\0' }; +Char STRLANGEUCKR[] = { 'k', 'o', 'r', 'e', 'a', '\0' }; +Char STRLANGEUCJPB[] = { '\0' }; +Char STRLANGEUCKRB[] = { '\0' }; Char STRLANGSJIS[] = { '\0' }; Char STRLANGSJISB[] = { '\0' }; # elif defined(SOLARIS2) -Char STRLANGEUC[] = { 'j', 'a', '\0' }; -Char STRLANGEUCB[] = { 'j', 'a', 'p', 'a', 'n', 'e', 's', 'e', '\0' }; +Char STRLANGEUCJP[] = { 'j', 'a', '\0' }; +Char STRLANGEUCKR[] = { 'k', 'o', '\0' }; +Char STRLANGEUCJPB[] = { 'j', 'a', 'p', 'a', 'n', 'e', 's', 'e', '\0' }; +Char STRLANGEUCKRB[] = { 'k', 'o', 'r', 'e', 'a', 'n', '\0' }; Char STRLANGSJIS[] = { '\0' }; Char STRLANGSJISB[] = { '\0' }; # elif defined(hpux) -Char STRLANGEUC[] = { 'j', 'a', '_', 'J', 'P', '.', 'e', 'u', 'c', 'J', 'P' }; -Char STRLANGEUCB[] = { '\0' }; +Char STRLANGEUCJP[] = { 'j', 'a', '_', 'J', 'P', '.', 'e', 'u', 'c', 'J', 'P' }; +Char STRLANGEUCKR[] = { 'k', 'o', '_', 'K', 'R', '.', 'e', 'u', 'c', 'K', 'R' }; +Char STRLANGEUCJPB[] = { '\0' }; +Char STRLANGEUCKRB[] = { '\0' }; Char STRLANGSJIS[] = { '\0' }; Char STRLANGSJISB[] = { '\0' }; # else -Char STRLANGEUC[] = { '\0' }; -Char STRLANGEUCB[] = { '\0' }; +Char STRLANGEUCJP[] = { '\0' }; +Char STRLANGEUCKR[] = { '\0' }; +Char STRLANGEUCJPB[] = { '\0' }; +Char STRLANGEUCKRB[] = { '\0' }; Char STRLANGSJIS[] = { '\0' }; Char STRLANGSJISB[] = { '\0' }; # endif diff --git a/contrib/tcsh/tc.prompt.c b/contrib/tcsh/tc.prompt.c index 204630e90a84..59daa64987bd 100644 --- a/contrib/tcsh/tc.prompt.c +++ b/contrib/tcsh/tc.prompt.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/tc.prompt.c,v 3.36 1999/02/06 15:19:04 christos Exp $ */ +/* $Header: /src/pub/tcsh/tc.prompt.c,v 3.37 2000/01/14 22:57:29 christos Exp $ */ /* * tc.prompt.c: Prompt printing stuff */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: tc.prompt.c,v 3.36 1999/02/06 15:19:04 christos Exp $") +RCSID("$Id: tc.prompt.c,v 3.37 2000/01/14 22:57:29 christos Exp $") #include "ed.h" #include "tw.h" @@ -205,6 +205,14 @@ tprintf(what, buf, fmt, siz, str, tim, info) for (; *cp; cp++) { if (p >= ep) break; +#ifdef DSPMBYTE + if (Ismbyte1(*cp) && ! (cp[1] == '\0')) + { + *p++ = attributes | *cp++; /* normal character */ + *p++ = attributes | *cp; /* normal character */ + } + else +#endif /* DSPMBYTE */ if ((*cp == '%') && ! (cp[1] == '\0')) { cp++; switch (*cp) { diff --git a/contrib/tcsh/tcsh.man b/contrib/tcsh/tcsh.man index 8bca9b389ca0..ad7f0fb85343 100644 --- a/contrib/tcsh/tcsh.man +++ b/contrib/tcsh/tcsh.man @@ -10,7 +10,7 @@ .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: +.\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" Style notes for the tcsh manpage: +.\" Style notes for the tcsh man page: .\" .\" - Tags in lists are bold, except in the FILES section where they are .\" italic. @@ -38,9 +38,9 @@ .\" variables and italic for commands (externals, builtins, aliases, and .\" editor commands) and arguments to commands. .\" -.\" - Be careful with the .B and .I macros: they only handle a limited number +.\" - Be careful with the .B and .I macros: they handle only a limited number .\" of words. Work around this with \fB and \fI, but only if absolutely -.\" necessary, since tcsh.man2html uses .B/.I to find name anchors. +.\" necessary, because tcsh.man2html uses .B/.I to find name anchors. .\" .\" - Indent in multiples of 4, usually 8. .\" @@ -49,10 +49,10 @@ .\" .\" - Use \-, not -. .\" -.\" - Include the tilde when naming dotfiles. `~/.login', not `.login'. +.\" - Include the tilde when naming dot files. `~/.login', not `.login'. .\" -.\" - Refer to external commands in manpage format, e.g. `csh(1)'. However, -.\" tcsh is `tcsh', not `tcsh(1)', because this is the tcsh manpage (and +.\" - Refer to external commands in man page format, e.g., `csh(1)'. However, +.\" tcsh is `tcsh', not `tcsh(1)', because this is the tcsh man page (and .\" see the next note anyway). .\" .\" - Say `the shell', not `tcsh', unless distinguishing between tcsh and csh. @@ -72,11 +72,11 @@ .\" ALSO. .\" .\" - tcsh.man2html depends heavily on the specific nroff commands used in the -.\" manpage when the script was written. Please stick closely to the style +.\" man page when the script was written. Please stick closely to the style .\" used here if you can. In particular, please don't use nroff commands .\" which aren't already used herein. .\" -.TH TCSH 1 "16 August 1999" "Astron 6.09.00" +.TH TCSH 1 "14 January 2000" "Astron 6.09.01" .SH NAME tcsh \- C shell with file name completion and command line editing .SH SYNOPSIS @@ -95,7 +95,7 @@ a history mechanism (see \fBHistory substitution\fR), job control (see \fBJobs\fR) and a C-like syntax. The \fBNEW FEATURES\fR section describes major enhancements of \fItcsh\fR -over \fIcsh\fR(1). +over \fIcsh\fR(1). Throughout this manual, features of \fItcsh\fR not found in most \fIcsh\fR(1) implementations (specifically, the 4.4BSD \fIcsh\fR) @@ -144,20 +144,20 @@ it appears to not be a terminal. Shells are interactive without this option if their inputs and outputs are terminals. .TP 4 .B \-l -The shell is a login shell. Only applicable if \fB\-l\fR is the only +The shell is a login shell. Applicable only if \fB\-l\fR is the only flag specified. .TP 4 .B \-m The shell loads \fI~/.tcshrc\fR even if it does not belong to the effective -user. Newer versions of \fIsu\fR(1) can pass \fB\-m\fR to the shell. (+) +user. Newer versions of \fIsu\fR(1) can pass \fB\-m\fR to the shell. (+) .TP 4 .B \-n The shell parses commands but does not execute them. This aids in debugging shell scripts. .TP 4 -.B \-q +.B \-q The shell accepts SIGQUIT (see \fBSignal handling\fR) and behaves when -it is used under a debugger. Job control is disabled. (u) +it is used under a debugger. Job control is disabled. (u) .TP 4 .B \-s Command input is taken from the standard input. @@ -184,10 +184,10 @@ After processing of flag arguments, if arguments remain but none of the \fB\-c\fR, \fB\-i\fR, \fB\-s\fR, or \fB\-t\fR options were given, the first argument is taken as the name of a file of commands, or ``script'', to be executed. The shell opens this file and saves its name for possible -resubstitution by `$0'. Since many systems use either the standard +resubstitution by `$0'. Because many systems use either the standard version 6 or version 7 shells whose shell scripts are not compatible with this shell, the shell uses such a `standard' shell to execute a script -whose first character is not a `#', i.e. which does not start with a +whose first character is not a `#', i.e., that does not start with a comment. .PP Remaining arguments are placed in the \fBargv\fR shell variable. @@ -230,7 +230,7 @@ via the shell's autologout mechanism (see the \fBautologout\fR shell variable). When a login shell terminates it sets the \fBlogout\fR shell variable to `normal' or `automatic' as appropriate, then executes commands from the files -\fI/etc/csh.logout\fR and \fI~/.logout\fR. The shell may drop DTR on logout +\fI/etc/csh.logout\fR and \fI~/.logout\fR. The shell may drop DTR on logout if so compiled; see the \fBversion\fR shell variable. .PP The names of the system login and logout files vary from system to system for @@ -238,7 +238,7 @@ compatibility with different \fIcsh\fR(1) variants; see \fBFILES\fR. .SS Editing We first describe \fBThe command-line editor\fR. The \fBCompletion and listing\fR and \fBSpelling correction\fR sections -describe two sets of functionality which are implemented as editor commands +describe two sets of functionality that are implemented as editor commands but which deserve their own treatment. Finally, \fBEditor commands\fR lists and describes the editor commands specific to the shell and their default bindings. @@ -279,11 +279,11 @@ The ANSI/VT100 sequences for arrow keys are always bound. .PP Other key bindings are, for the most part, what Emacs and \fIvi\fR(1) users would expect and can easily be displayed by \fIbindkey\fR, so there -is no need to list them here. Likewise, \fIbindkey\fR can list the editor +is no need to list them here. Likewise, \fIbindkey\fR can list the editor commands with a short description of each. .PP Note that editor commands do not have the same notion of a ``word'' as does the -shell. The editor delimits words with any non-alphanumeric characters not in +shell. The editor delimits words with any non-alphanumeric characters not in the shell variable \fBwordchars\fR, while the shell recognizes only whitespace and some of the characters with special meanings to it, listed under \fBLexical structure\fR. @@ -303,9 +303,9 @@ If the word is already complete (perhaps there is a `/usr/lost' on your system, or perhaps you were thinking too far ahead and typed the whole thing) a `/' or space is added to the end if it isn't already there. .PP -Completion works anywhere in the line, not just at the end; completed -text pushes the rest of the line to the right. Completion in the middle of a word -often results in leftover characters to the right of the cursor which need +Completion works anywhere in the line, not at just the end; completed +text pushes the rest of the line to the right. Completion in the middle of a word +often results in leftover characters to the right of the cursor that need to be deleted. .PP Commands and variables can be completed in much the same way. @@ -321,7 +321,7 @@ complete should be completed as a filename, command or variable. The first word in the buffer and the first word following `;', `|', `|&', `&&' or `||' is considered to be a command. A word beginning with `$' is considered to be a variable. -Anything else is a filename. An empty line is `completed' as a filename. +Anything else is a filename. An empty line is `completed' as a filename. .PP You can list the possible completions of a word at any time by typing `^D' to run the \fIdelete-char-or-list-or-eof\fR editor command. @@ -351,7 +351,7 @@ completion fails and adds no new characters to the word being completed. A filename to be completed can contain variables, your own or others' home directories abbreviated with `~' (see \fBFilename substitution\fR) and directory stack entries abbreviated with `=' -(see \fBDirectory stack substitution\fR). For example, +(see \fBDirectory stack substitution\fR). For example, .IP "" 4 > ls ~k[^D] .br @@ -369,19 +369,19 @@ or .br > ls $local/[^D] .br -bin/ etc/ lib/ man/ src/ +bin/ etc/ lib/ man/ src/ .br > ls $local/ .PP Note that variables can also be expanded explicitly with the \fIexpand-variables\fR editor command. .PP -\fIdelete-char-or-list-or-eof\fR only lists at the end of the line; +\fIdelete-char-or-list-or-eof\fR lists at only the end of the line; in the middle of a line it deletes the character under the cursor and on an empty line it logs one out or, if \fBignoreeof\fR is set, does nothing. `M-^D', bound to the editor command \fIlist-choices\fR, lists completion possibilities anywhere on a line, and \fIlist-choices\fR (or any one of the -related editor commands which do or don't delete, list and/or log out, +related editor commands that do or don't delete, list and/or log out, listed under \fIdelete-char-or-list-or-eof\fR) can be bound to `^D' with the \fIbindkey\fR builtin command if so desired. .PP @@ -391,7 +391,7 @@ the list of possible completions, replacing the current word with the next or previous word in the list. .PP The shell variable \fBfignore\fR can be set to a list of suffixes to be -ignored by completion. Consider the following: +ignored by completion. Consider the following: .IP "" 4 > ls .br @@ -420,7 +420,7 @@ expanded to \fBhome\fR as described under \fBFilename substitution\fR. If the \fBcomplete\fR shell variable is set to `enhance', completion 1) ignores case and 2) considers periods, hyphens and underscores (`.', `\-' and `_') to be word separators and hyphens and underscores to -be equivalent. If you had the following files +be equivalent. If you had the following files .IP "" 4 comp.lang.c comp.lang.perl comp.std.c++ .br @@ -428,13 +428,13 @@ comp.lang.c++ comp.std.c .PP and typed `mail \-f c.l.c[tab]', it would be completed to `mail \-f comp.lang.c', and ^D would list `comp.lang.c' and `comp.lang.c++'. -`mail \-f c..c++[^D]' would list `comp.lang.c++' and `comp.std.c++'. Typing +`mail \-f c..c++[^D]' would list `comp.lang.c++' and `comp.std.c++'. Typing `rm a\-\-file[^D]' in the following directory .IP "" 4 A_silly_file a-hyphenated-file another_silly_file .PP would list all three files, because case is ignored and hyphens and -underscores are equivalent. Periods, however, are not equivalent to +underscores are equivalent. Periods, however, are not equivalent to hyphens or underscores. .PP Completion and listing are affected by several other shell variables: @@ -465,7 +465,7 @@ before each completion attempt and \fBcorrect\fR can be set to complete commands automatically after one hits `return'. \fBmatchbeep\fR can be set to make completion beep or not beep in a variety of situations, and \fBnobeep\fR can be set to never beep at all. -\fBnostat\fR can be set to a list of directories and/or patterns which +\fBnostat\fR can be set to a list of directories and/or patterns that match directories to prevent the completion mechanism from \fIstat\fR(2)ing those directories. \fBlistmax\fR and \fBlistmaxrows\fR can be set to limit the number of items @@ -506,10 +506,10 @@ One can answer `y' or space to execute the corrected line, anything else to execute the original line unchanged. .PP Spelling correction recognizes user-defined completions (see the -\fIcomplete\fR builtin command). If an input word in a position for +\fIcomplete\fR builtin command). If an input word in a position for which a completion is defined resembles a word in the completion list, spelling correction registers a misspelling and suggests the latter -word as a correction. However, if the input word does not match any of +word as a correction. However, if the input word does not match any of the possible completions for that position, spelling correction does not register a misspelling. .PP @@ -518,7 +518,7 @@ pushing the rest of the line to the right and possibly leaving extra characters to the right of the cursor. .PP Beware: spelling correction is not guaranteed to work the way one intends, -and is provided mostly as an experimental feature. +and is provided mostly as an experimental feature. Suggestions and improvements are welcome. .SS "Editor commands (+)" `bindkey' lists key bindings and `bindkey \-l' lists and briefly describes @@ -528,9 +528,9 @@ See \fIemacs\fR(1) and \fIvi\fR(1) for descriptions of each editor's key bindings. .PP The character or characters to which each command is bound by default is -given in parentheses. `^\fIcharacter\fR' means a control character and +given in parentheses. `^\fIcharacter\fR' means a control character and `M-\fIcharacter\fR' a meta character, typed as escape-\fIcharacter\fR -on terminals without a meta key. Case counts, but commands which are bound +on terminals without a meta key. Case counts, but commands that are bound to letters by default are bound to both lower- and uppercase letters for convenience. .TP 8 @@ -542,7 +542,7 @@ Like \fIcomplete-word-fwd\fR, but steps up from the end of the list. .TP 8 .B complete-word-fwd \fR(not bound) Replaces the current word with the first word in the list of possible -completions. May be repeated to step down through the list. +completions. May be repeated to step down through the list. At the end of the list, beeps and reverts to the incomplete word. .TP 8 .B complete-word-raw \fR(^X-tab) @@ -578,7 +578,7 @@ See also \fIdelete-char-or-list-or-eof\fR. Does \fIdelete-char\fR if there is a character under the cursor, \fIlist-choices\fR at the end of the line or \fIend-of-file\fR on an empty line. -See also those three commands, each of which only does a single action, and +See also those three commands, each of which does only a single action, and \fIdelete-char-or-eof\fR, \fIdelete-char-or-list\fR and \fIlist-or-eof\fR, each of which does a different two out of the three. .TP 8 @@ -625,7 +625,7 @@ Like \fIhistory-search-backward\fR, but searches forward. .B i-search-back \fR(not bound) Searches backward like \fIhistory-search-backward\fR, copies the first match into the input buffer with the cursor positioned at the end of the pattern, -and prompts with `bck: ' and the first match. Additional characters may be +and prompts with `bck: ' and the first match. Additional characters may be typed to extend the search, \fIi-search-back\fR may be typed to continue searching with the same pattern, wrapping around the history list if necessary, (\fIi-search-back\fR must be bound to a @@ -654,7 +654,7 @@ Ends the search, leaving the current line in the input buffer. .PP Any other character not bound to \fIself-insert-command\fR terminates the search, leaving the current line in the input buffer, and -is then interpreted as normal input. In particular, a carriage return +is then interpreted as normal input. In particular, a carriage return causes the current line to be executed. Emacs mode only. See also \fIi-search-fwd\fR and \fIhistory-search-backward\fR. @@ -686,14 +686,14 @@ See also \fIdelete-char-or-list-or-eof\fR. .B magic-space \fR(not bound) Expands history substitutions in the current line, like \fIexpand-history\fR, and appends a space. -\fImagic-space\fR is designed to be bound to the spacebar, +\fImagic-space\fR is designed to be bound to the space bar, but is not bound by default. .TP 8 .B normalize-command \fR(^X-?) Searches for the current word in PATH and, if it is found, replaces it with -the full path to the executable. Special characters are quoted. Aliases are -expanded and quoted but commands within aliases are not. This command is -useful with commands which take commands as arguments, e.g. `dbx' and `sh \-x'. +the full path to the executable. Special characters are quoted. Aliases are +expanded and quoted but commands within aliases are not. This command is +useful with commands that take commands as arguments, e.g., `dbx' and `sh \-x'. .TP 8 .B normalize-path \fR(^X-n, ^X-N) Expands the current word as described under the `expand' setting @@ -714,10 +714,10 @@ can do this even more easily. .TP .B run-help \fR(M-h, M-H) Searches for documentation on the current command, using the same notion of -`current command' as the completion routines, and prints it. There is no way +`current command' as the completion routines, and prints it. There is no way to use a pager; \fIrun-help\fR is designed for short help files. If the special alias \fBhelpcommand\fR is defined, it is run with the -command name as a sole argument. Else, +command name as a sole argument. Else, documentation should be in a file named \fIcommand\fR.help, \fIcommand\fR.1, \fIcommand\fR.6, \fIcommand\fR.8 or \fIcommand\fR, which should be in one of the directories listed in the \fBHPATH\fR environment variable. @@ -733,9 +733,9 @@ See also \fIoverwrite-mode\fR. .TP 8 .B sequence-lead-in \fR(arrow prefix, meta prefix, ^X) Indicates that the following characters are part of a -multi-key sequence. Binding a command to a multi-key sequence really creates +multi-key sequence. Binding a command to a multi-key sequence really creates two bindings: the first character to \fIsequence-lead-in\fR and the -whole sequence to the command. All sequences beginning with a character +whole sequence to the command. All sequences beginning with a character bound to \fIsequence-lead-in\fR are effectively bound to \fIundefined-key\fR unless bound to another command. .TP 8 @@ -766,7 +766,7 @@ May be repeated to step up through the history list, stopping at the top. .B vi-search-back \fR(?) Prompts with `?' for a search string (which may be a glob-pattern, as with \fIhistory-search-backward\fR), searches for it and copies it into the -input buffer. The bell rings if no match is found. +input buffer. The bell rings if no match is found. Hitting return ends the search and leaves the last match in the input buffer. Hitting escape ends the search and executes the match. @@ -785,23 +785,23 @@ characters `&', `|', `;', `<', `>', `(', and `)' and the doubled characters surrounded by whitespace. .PP When the shell's input is not a terminal, the character `#' is taken to begin a -comment. Each `#' and the rest of the input line on which it appears is +comment. Each `#' and the rest of the input line on which it appears is discarded before further parsing. .PP A special character (including a blank or tab) may be prevented from having its special meaning, and possibly made part of another word, by preceding it with a backslash (`\\') or enclosing it in single (`''), double (`"') or -backward (``') quotes. When not otherwise quoted a newline preceded by a `\\' +backward (``') quotes. When not otherwise quoted a newline preceded by a `\\' is equivalent to a blank, but inside quotes this sequence results in a newline. .PP Furthermore, all \fBSubstitutions\fR (see below) except \fBHistory substitution\fR can be prevented by enclosing the strings (or parts of strings) in which they appear with single quotes or by quoting the crucial character(s) -(e.g. `$' or ``' for \fBVariable substitution\fR or \fBCommand substitution\fR respectively) -with `\\'. (\fBAlias substitution\fR is no exception: quoting in any way any +(e.g., `$' or ``' for \fBVariable substitution\fR or \fBCommand substitution\fR respectively) +with `\\'. (\fBAlias substitution\fR is no exception: quoting in any way any character of a word for which an \fIalias\fR has been defined prevents -substitution of the alias. The usual way of quoting an alias is to precede it +substitution of the alias. The usual way of quoting an alias is to precede it with a backslash.) \fBHistory substitution\fR is prevented by backslashes but not by single quotes. Strings quoted with double or backward quotes undergo \fBVariable substitution\fR and \fBCommand substitution\fR, but other @@ -811,27 +811,27 @@ Text inside single or double quotes becomes a single word (or part of one). Metacharacters in these strings, including blanks and tabs, do not form separate words. Only in one special case (see \fBCommand substitution\fR below) can a double-quoted string yield parts of more than one word; -single-quoted strings never do. Backward quotes are special: they signal +single-quoted strings never do. Backward quotes are special: they signal \fBCommand substitution\fR (q.v.), which may result in more than one word. .PP Quoting complex strings, particularly strings which themselves contain quoting -characters, can be confusing. Remember that quotes need not be used as they are -in human writing! It may be easier to quote not an entire string, but only +characters, can be confusing. Remember that quotes need not be used as they are +in human writing! It may be easier to quote not an entire string, but only those parts of the string which need quoting, using different types of quoting to do so if appropriate. .PP The \fBbackslash_quote\fR shell variable (q.v.) can be set to make backslashes -always quote `\\', `'', and `"'. (+) This may make complex quoting tasks +always quote `\\', `'', and `"'. (+) This may make complex quoting tasks easier, but it can cause syntax errors in \fIcsh\fR(1) scripts. .SS Substitutions We now describe the various transformations the shell performs on the input in -the order in which they occur. We note in passing the data structures involved -and the commands and variables which affect them. Remember that substitutions +the order in which they occur. We note in passing the data structures involved +and the commands and variables which affect them. Remember that substitutions can be prevented by quoting as described under \fBLexical structure\fR. .SS "History substitution" Each command, or ``event'', input from the terminal is saved in the history list. The previous command is always saved, and the \fBhistory\fR shell -variable can be set to a number to save that many commands. The \fBhistdup\fR +variable can be set to a number to save that many commands. The \fBhistdup\fR shell variable can be set to not save duplicate events or consecutive duplicate events. .PP @@ -853,13 +853,13 @@ stream, making it easy to repeat commands, repeat arguments of a previous command in the current command, or fix spelling mistakes in the previous command with little typing and a high degree of confidence. .PP -History substitutions begin with the character `!'. They may begin anywhere in +History substitutions begin with the character `!'. They may begin anywhere in the input stream, but they do not nest. The `!' may be preceded by a `\\' to prevent its special meaning; for convenience, a `!' is passed unchanged when it is followed by a blank, tab, newline, `=' or `('. History substitutions also occur when an input line begins with `^'. This special abbreviation will be -described later. The characters used to signal history substitution (`!' and -`^') can be changed by setting the \fBhistchars\fR shell variable. Any input +described later. The characters used to signal history substitution (`!' and +`^') can be changed by setting the \fBhistchars\fR shell variable. Any input line which contains a history substitution is printed before it is executed. .PP A history substitution may have an ``event specification'', which indicates @@ -881,7 +881,7 @@ An offset, referring to the event \fIn\fR before the current event # The current event. This should be used carefully in \fIcsh\fR(1), where there is no check for -recursion. \fItcsh\fR allows 10 levels of recursion. (+) +recursion. \fItcsh\fR allows 10 levels of recursion. (+) .TP 8 ! The previous event (equivalent to `\-1') @@ -908,7 +908,7 @@ For example, consider this bit of someone's history list: The commands are shown with their event numbers and time stamps. The current event, which we haven't typed in yet, is event 13. `!11' and `!\-2' refer to event 11. -`!!' refers to the previous event, 12. `!!' can be abbreviated `!' if it is +`!!' refers to the previous event, 12. `!!' can be abbreviated `!' if it is followed by `:' (`:' is described below). `!n' refers to event 9, which begins with `n'. `!?old?' also refers to event 12, which contains `old'. @@ -931,7 +931,7 @@ To expand `!3d' as in \fIcsh\fR(1) say `!\\3d'. To select words from an event we can follow the event specification by a `:' and a designator for the desired words. The words of an input line are numbered from 0, the first (usually command) word being 0, the second word -(first argument) being 1, etc. The basic word designators are: +(first argument) being 1, etc. The basic word designators are: .PP .PD 0 .RS +4 @@ -972,7 +972,7 @@ Selected words are inserted into the command line separated by single blanks. For example, the `diff' command in the previous example might have been typed as `diff !!:1.old !!:1' (using `:1' to select the first argument from the previous event) or `diff !\-2:2 !\-2:1' to select and swap the -arguments from the `cp' command. If we didn't care about the order of the +arguments from the `cp' command. If we didn't care about the order of the `diff' we might have said `diff !\-2:1\-2' or simply `diff !\-2:*'. The `cp' command might have been written `cp wumpus.man !#:1.old', using `#' to refer to the current event. @@ -982,7 +982,7 @@ to say `nroff \-man hurkle.man'. The `:' separating the event specification from the word designator can be omitted if the argument selector begins with a `^', `$', `*', `%' or `\-'. For example, our `diff' command might have been `diff !!^.old !!^' or, -equivalently, `diff !!$.old !!$'. However, if `!!' is abbreviated `!', +equivalently, `diff !!$.old !!$'. However, if `!!' is abbreviated `!', an argument selector beginning with `\-' will be interpreted as an event specification. .PP @@ -1042,7 +1042,7 @@ a (+) Apply the following modifier as many times as possible to a single word. `a' and `g' can be used together to apply a modifier globally. In the current implementation, using the `a' and `s' modifiers together can -lead to an infinite loop. For example, `:as/f/ff/' will never terminate. +lead to an infinite loop. For example, `:as/f/ff/' will never terminate. This behavior might change in the future. .TP 8 p @@ -1056,12 +1056,12 @@ Like q, but break into words at blanks, tabs and newlines. .PD .RE .PP -Modifiers are applied only to the first modifiable word (unless `g' is used). +Modifiers are applied to only the first modifiable word (unless `g' is used). It is an error for no word to be modifiable. .PP For example, the `diff' command might have been written as `diff wumpus.man.old !#^:r', using `:r' to remove `.old' from the first argument on the same line -(`!#^'). We could say `echo hello out there', then `echo !*:u' to capitalize +(`!#^'). We could say `echo hello out there', then `echo !*:u' to capitalize `hello', `echo !*:au' to say it out loud, or `echo !*:agu' to really shout. We might follow `mail \-s "I forgot my password" rot' with `!:s/rot/root' to correct the spelling of `root' (but see \fBSpelling correction\fR for a @@ -1074,7 +1074,7 @@ previous example. This is the only history substitution which does not explicitly begin with `!'. .PP (+) In \fIcsh\fR as such, only one modifier may be applied to each history -or variable expansion. In \fItcsh\fR, more than one may be used, for example +or variable expansion. In \fItcsh\fR, more than one may be used, for example .IP "" 4 % mv wumpus.man /usr/man/man1/wumpus.1 .br @@ -1082,7 +1082,7 @@ or variable expansion. In \fItcsh\fR, more than one may be used, for example .br man wumpus .PP -In \fIcsh\fR, the result would be `wumpus.1:r'. A substitution followed by a +In \fIcsh\fR, the result would be `wumpus.1:r'. A substitution followed by a colon may need to be insulated from it with braces: .IP "" 4 > mv a.out /usr/games/wumpus @@ -1115,9 +1115,9 @@ The shell maintains a list of aliases which can be set, unset and printed by the \fIalias\fR and \fIunalias\fR commands. After a command line is parsed into simple commands (see \fBCommands\fR) the first word of each command, left-to-right, is checked to see if it has an alias. If so, the first word is -replaced by the alias. If the alias contains a history reference, it undergoes +replaced by the alias. If the alias contains a history reference, it undergoes \fBHistory substitution\fR (q.v.) as though the original command were the -previous input line. If the alias does not contain a history reference, the +previous input line. If the alias does not contain a history reference, the argument list is left untouched. .PP Thus if the alias for `ls' were `ls \-l' the command `ls /usr' would become `ls @@ -1128,8 +1128,8 @@ example, `alias print 'pr \e!* | lpr'' defines a ``command'' (`print') which \fIpr\fR(1)s its arguments to the line printer. .PP Alias substitution is repeated until the first word of the command has no -alias. If an alias substitution does not change the first word (as in the -previous example) it is flagged to prevent a loop. Other loops are detected and +alias. If an alias substitution does not change the first word (as in the +previous example) it is flagged to prevent a loop. Other loops are detected and cause an error. .PP Some aliases are referred to by the shell; see \fBSpecial aliases\fR. @@ -1162,7 +1162,7 @@ Other operations treat variables numerically. The `@' command permits numeric calculations to be performed and the result assigned to a variable. Variable values are, however, always represented as (zero or more) strings. For the purposes of numeric operations, the null string is considered to be zero, and -the second and subsequent words of multiword values are ignored. +the second and subsequent words of multi-word values are ignored. .PP After the input line is aliased and parsed, and before each command is executed, variable substitution is performed keyed by `$' characters. This @@ -1230,7 +1230,7 @@ Equivalent to `$argv', which is equivalent to `$argv[*]'. .PD .PP The `:' modifiers described under \fBHistory substitution\fR, except for `:p', -can be applied to the substitutions above. More than one may be used. (+) +can be applied to the substitutions above. More than one may be used. (+) Braces may be needed to insulate a variable substitution from a literal colon just as with \fBHistory substitution\fR (q.v.); any modifiers must appear within the braces. @@ -1253,36 +1253,36 @@ ${#\fIname\fR} Substitutes the number of words in \fIname\fR. .TP 8 $# -Equivalent to `$#argv'. (+) +Equivalent to `$#argv'. (+) .PP $%\fIname\fR .TP 8 ${%\fIname\fR} -Substitutes the number of characters in \fIname\fR. (+) +Substitutes the number of characters in \fIname\fR. (+) .PP $%\fInumber\fR .TP 8 ${%\fInumber\fR} -Substitutes the number of characters in $argv[\fInumber\fR]. (+) +Substitutes the number of characters in $argv[\fInumber\fR]. (+) .TP 8 $? -Equivalent to `$status'. (+) +Equivalent to `$status'. (+) .TP 8 $$ Substitutes the (decimal) process number of the (parent) shell. .TP 8 $! Substitutes the (decimal) process number of the last -background process started by this shell. (+) +background process started by this shell. (+) .TP 8 $_ -Substitures the command line of the last command executed. (+) +Substitutes the command line of the last command executed. (+) .TP 8 $< Substitutes a line from the standard input, with no further interpretation thereafter. It can be used to read from the keyboard in a shell script. (+) While \fIcsh\fR always quotes $<, as if it were equivalent to `$<:q', -\fItcsh\fR does not. Furthermore, when \fItcsh\fR is waiting for a line to be +\fItcsh\fR does not. Furthermore, when \fItcsh\fR is waiting for a line to be typed the user may type an interrupt to interrupt the sequence into which the line is to be substituted, but \fIcsh\fR does not allow this. .PD @@ -1299,7 +1299,7 @@ of the main shell. .SS "Command substitution" Command substitution is indicated by a command enclosed in ``'. The output from such a command is broken into separate words at blanks, tabs and newlines, -and null words are discarded. The output is variable and command substituted +and null words are discarded. The output is variable and command substituted and put in place of the original string. .PP Command substitutions inside double @@ -1310,7 +1310,7 @@ a complete line. .SS "Filename substitution" If a word contains any of the characters `*', `?', `[' or `{' or begins with the character `~' it is a candidate for filename substitution, also known as -``globbing''. This word is then regarded as a pattern (``glob-pattern''), and +``globbing''. This word is then regarded as a pattern (``glob-pattern''), and replaced with an alphabetically sorted list of file names which match the pattern. .PP @@ -1340,7 +1340,7 @@ Glob-patterns which do not use `?', `*', or `[]' or which use `{}' or `~' .PP The metanotation `a{b,c,d}e' is a shorthand for `abe ace ade'. Left-to-right order is preserved: `/usr/source/s1/{oldls,ls}.c' expands -to `/usr/source/s1/oldls.c /usr/source/s1/ls.c'. The results of matches are +to `/usr/source/s1/oldls.c /usr/source/s1/ls.c'. The results of matches are sorted separately at a low level to preserve this order: `../{memo,*box}' might expand to `../memo ../box ../mbox'. (Note that `memo' was not sorted with the results of matching `*box'.) @@ -1351,8 +1351,8 @@ This construct may be nested. As a special case the words `{', `}' and `{}' are passed undisturbed. .PP The character `~' at the beginning of a filename refers to home directories. -Standing alone, i.e. `~', it expands to the invoker's home directory as -reflected in the value of the \fBhome\fR shell variable. When followed by a +Standing alone, i.e., `~', it expands to the invoker's home directory as +reflected in the value of the \fBhome\fR shell variable. When followed by a name consisting of letters, digits and `\-' characters the shell searches for a user with that name and substitutes their home directory; thus `~ken' might expand to `/usr/ken' and `~ken/chmach' to `/usr/ken/chmach'. If the character @@ -1362,7 +1362,7 @@ A command like `setenv MANPATH /usr/man:/usr/local/man:~/lib/man' does not, therefore, do home directory substitution as one might hope. .PP It is an error for a glob-pattern containing `*', `?', `[' or `~', with or -without `^', not to match any files. However, only one pattern in a list of +without `^', not to match any files. However, only one pattern in a list of glob-patterns must match a file (so that, e.g., `rm *.a *.c *.o' would fail only if there were no files in the current directory ending in `.a', `.c', or `.o'), and if the \fBnonomatch\fR shell variable is set a pattern (or list @@ -1382,14 +1382,14 @@ The \fBdirstack\fR shell variable can be examined to see the directory stack and set to put arbitrary directories into the directory stack. .PP The character `=' followed by one or more digits expands to an entry in -the directory stack. The special case `=\-' expands to the last directory in -the stack. For example, +the directory stack. The special case `=\-' expands to the last directory in +the stack. For example, .IP "" 4 > dirs \-v .br -0 /usr/bin +0 /usr/bin .br -1 /usr/spool/uucp +1 /usr/spool/uucp .br 2 /usr/accts/sys .br @@ -1418,8 +1418,8 @@ The \fInormalize-command\fR editor command expands commands in PATH into full paths on demand. Finally, \fIcd\fR and \fIpushd\fR interpret `\-' as the old working directory (equivalent to the shell variable \fBowd\fR). -This is not a substitution at all, but an abbreviation recognized only by -those commands. Nonetheless, it too can be prevented by quoting. +This is not a substitution at all, but an abbreviation recognized by only +those commands. Nonetheless, it too can be prevented by quoting. .SS Commands The next three sections describe how the shell executes commands and deals with their input and output. @@ -1436,7 +1436,7 @@ is to be executed only if the first fails or succeeds respectively. .PP A simple command, pipeline or sequence may be placed in parentheses, `()', to form a simple command, which may in turn be a component of a pipeline or -sequence. A command, pipeline or sequence can be executed +sequence. A command, pipeline or sequence can be executed without waiting for it to terminate by following it with an `&'. .SS "Builtin and non-builtin command execution" Builtin commands are executed within the shell. If any component of a @@ -1460,7 +1460,7 @@ attempts to execute the command via \fIexecve\fR(2). Each word in the variable \fBpath\fR names a directory in which the shell will look for the command. If it is given neither a \fB\-c\fR nor a \fB\-t\fR option, the shell hashes the names in these directories into an internal table so that it will -only try an \fIexecve\fR(2) in a directory if there is a possibility that the +try an \fIexecve\fR(2) in only a directory where there is a possibility that the command resides there. This greatly speeds command location when a large number of directories are present in the search path. If this mechanism has been turned off (via \fIunhash\fR), if the shell was given a \fB\-c\fR or @@ -1470,15 +1470,15 @@ directory with the given command name to form a path name of a file which it then attempts to execute. .PP If the file has execute permissions but is not an executable to the system -(i.e. it is neither an executable binary nor a script which specifies its +(i.e., it is neither an executable binary nor a script that specifies its interpreter), then it is assumed to be a file containing shell commands and -a new shell is spawned to read it. The \fIshell\fR special alias may be set +a new shell is spawned to read it. The \fIshell\fR special alias may be set to specify an interpreter other than the shell itself. .PP On systems which do not understand the `#!' script interpreter convention the shell may be compiled to emulate it; see the \fBversion\fR shell -variable\fR. If so, the shell checks the first line of the file to -see if it is of the form `#!\fIinterpreter\fR \fIarg\fR ...'. If it is, +variable\fR. If so, the shell checks the first line of the file to +see if it is of the form `#!\fIinterpreter\fR \fIarg\fR ...'. If it is, the shell starts \fIinterpreter\fR with the given \fIarg\fRs and feeds the file to it on standard input. .SS Input/output @@ -1492,7 +1492,7 @@ Open file \fIname\fR (which is first variable, command and filename expanded) as the standard input. .TP 8 << \fIword -Read the shell input up to a line which is identical to \fIword\fR. \fIword\fR +Read the shell input up to a line which is identical to \fIword\fR. \fIword\fR is not subjected to variable, filename or command substitution, and each input line is compared to \fIword\fR before any substitutions are done on this input line. Unless a quoting `\e', `"', `' or ``' appears in \fIword\fR variable and @@ -1510,13 +1510,13 @@ command as standard input. .TP 8 >&! \fIname The file \fIname\fR is used as standard output. If the file does not exist -then it is created; if the file exists, its is truncated, its previous contents +then it is created; if the file exists, it is truncated, its previous contents being lost. .RS +8 .PD .PP If the shell variable \fBnoclobber\fR is set, then the file must not exist or be a -character special file (e.g. a terminal or `/dev/null') or an error results. +character special file (e.g., a terminal or `/dev/null') or an error results. This helps prevent accidental destruction of files. In this case the `!' forms can be used to suppress this check. .PP @@ -1577,8 +1577,8 @@ accomplish the rereading implied by the loop. (To the extent that this allows, backward \fIgoto\fRs will succeed on non-seekable inputs.) .SS Expressions The \fIif\fR, \fIwhile\fR and \fIexit\fR builtin commands -use expressions with a common syntax. The expressions can include any -of the operators described in the next three sections. Note that the \fI@\fR +use expressions with a common syntax. The expressions can include any +of the operators described in the next three sections. Note that the \fI@\fR builtin command (q.v.) has its own separate syntax. .SS "Logical, arithmetical and comparison operators" These operators are similar to those of C and have the same precedence. @@ -1607,15 +1607,15 @@ significant to the parser (`&' `|' `<' `>' `(' `)') they should be surrounded by spaces. .SS "Command exit status" Commands can be executed in expressions and their exit status -returned by enclosing them in braces (`{}'). Remember that the braces should -be separated from the words of the command by spaces. Command executions -succeed, returning true, i.e. `1', if the command exits with status 0, -otherwise they fail, returning false, i.e. `0'. If more detailed status +returned by enclosing them in braces (`{}'). Remember that the braces should +be separated from the words of the command by spaces. Command executions +succeed, returning true, i.e., `1', if the command exits with status 0, +otherwise they fail, returning false, i.e., `0'. If more detailed status information is required then the command should be executed outside of an expression and the \fBstatus\fR shell variable examined. .SS "File inquiry operators" Some of these operators perform true/false tests on files and related -objects. They are of the form \fB\-\fIop file\fR, where \fIop\fR is one of +objects. They are of the form \fB\-\fIop file\fR, where \fIop\fR is one of .PP .PD 0 .RS +4 @@ -1630,7 +1630,7 @@ Write access Execute access .TP 4 .B X -Executable in the path or shell builtin, e.g. `\-X ls' and `\-X ls\-F' are +Executable in the path or shell builtin, e.g., `\-X ls' and `\-X ls\-F' are generally true, but `\-X /bin/ls' is not (+) .TP 4 .B e @@ -1655,7 +1655,7 @@ Directory Symbolic link (+) * .TP 4 .B b -Block special file (+) +Block special file (+) .TP 4 .B c Character special file (+) @@ -1667,10 +1667,10 @@ Named pipe (fifo) (+) * Socket special file (+) * .TP 4 .B u -Set-user-ID bit is set (+) +Set-user-ID bit is set (+) .TP 4 .B g -Set-group-ID bit is set (+) +Set-group-ID bit is set (+) .TP 4 .B k Sticky bit is set (+) @@ -1692,25 +1692,25 @@ rather than to the file to which the link points (+) * see if it has the specified relationship to the real user. If \fIfile\fR does not exist or is inaccessible or, for the operators indicated by `*', if the specified file type does not exist on the current system, -then all enquiries return false, i.e. `0'. +then all enquiries return false, i.e., `0'. .PP These operators may be combined for conciseness: `\-\fIxy file\fR' is -equivalent to `\-\fIx file\fR && \-\fIy file\fR'. (+) For example, `\-fx' is true +equivalent to `\-\fIx file\fR && \-\fIy file\fR'. (+) For example, `\-fx' is true (returns `1') for plain executable files, but not for directories. .PP \fBL\fR may be used in a multiple-operator test to apply subsequent operators to a symbolic link rather than to the file to which the link points. For example, `\-lLo' is true for links owned by the invoking user. \fBLr\fR, \fBLw\fR and \fBLx\fR are always true for links and false for -non-links. \fBL\fR has a different meaning when it is the last operator +non-links. \fBL\fR has a different meaning when it is the last operator in a multiple-operator test; see below. .PP It is possible but not useful, and sometimes misleading, to combine operators which expect \fIfile\fR to be a file with operators which do not, -(e.g. \fBX\fR and \fBt\fR). Following \fBL\fR with a non-file operator +(e.g., \fBX\fR and \fBt\fR). Following \fBL\fR with a non-file operator can lead to particularly strange results. .PP -Other operators return other information, i.e. not just `0' or `1'. (+) +Other operators return other information, i.e., not just `0' or `1'. (+) They have the same format as before; \fIop\fR may be one of .PP .PD 0 @@ -1720,7 +1720,7 @@ They have the same format as before; \fIop\fR may be one of Last file access time, as the number of seconds since the epoch .TP 8 .B A: -Like \fBA\fR, but in timestamp format, e.g. `Fri May 14 16:36:10 1993' +Like \fBA\fR, but in timestamp format, e.g., `Fri May 14 16:36:10 1993' .TP 8 .B M Last file modification time @@ -1756,7 +1756,7 @@ Permissions, in octal, without leading zero Like \fBP\fR, with leading zero .TP 8 .B P\fImode -Equivalent to `\-P \fIfile\fR & \fImode\fR', e.g. `\-P22 \fIfile\fR' returns +Equivalent to `\-P \fIfile\fR & \fImode\fR', e.g., `\-P22 \fIfile\fR' returns `22' if \fIfile\fR is writable by group and other, `20' if by group only, and `0' if by neither .TP 8 @@ -1781,8 +1781,8 @@ Size, in bytes .PD .PP Only one of these operators may appear in a multiple-operator test, and it -must be the last. Note that \fBL\fR has a different meaning at the end of and -elsewhere in a multiple-operator test. Because `0' is a valid return value +must be the last. Note that \fBL\fR has a different meaning at the end of and +elsewhere in a multiple-operator test. Because `0' is a valid return value for many of these operators, they do not return `0' when they fail: most return `\-1', and \fBF\fR returns `:'. .PP @@ -1828,7 +1828,7 @@ signal until a program attempts to \fIread\fR(2) it, to the current job. This can usefully be typed ahead when you have prepared some commands for a job which you wish to stop after it has read them. The `^Y' key performs this function in \fIcsh\fR(1); in \fItcsh\fR, -`^Y' is an editing command. (+) +`^Y' is an editing command. (+) .PP A job being run in the background stops if it tries to read from the terminal. Background jobs are normally allowed to produce output, but this can @@ -1840,7 +1840,7 @@ There are several ways to refer to jobs in the shell. The character `%' introduces a job name. If you wish to refer to job number 1, you can name it as `%1'. Just naming a job brings it to the foreground; thus `%1' is a synonym for `fg %1', bringing job 1 back into the foreground. Similarly, saying `%1 &' -resumes job 1 in the background, just like `bg %1'. A job can also be named +resumes job 1 in the background, just like `bg %1'. A job can also be named by an unambiguous prefix of the string typed in to start it: `%ex' would normally restart a suspended \fIex\fR(1) job, if there were only one suspended job whose name began with the string `ex'. It is also possible to say @@ -1861,7 +1861,7 @@ details on setting options in the new tty driver. .SS "Status reporting" The shell learns immediately whenever a process changes state. It normally informs you whenever a job becomes blocked so that no further progress is -possible, but only just before it prints a prompt. This is done so that it +possible, but only right before it prints a prompt. This is done so that it does not otherwise disturb your work. If, however, you set the shell variable \fBnotify\fR, the shell will notify you immediately of changes of status in background jobs. There is also a shell command \fInotify\fR which marks a @@ -1875,7 +1875,7 @@ what they are. If you do this or immediately try to exit again, the shell will not warn you a second time, and the suspended jobs will be terminated. .SS "Automatic, periodic and timed events (+)" There are various ways to run commands and take other actions automatically -at various times in the ``life cycle'' of the shell. They are summarized here, +at various times in the ``life cycle'' of the shell. They are summarized here, and described in detail under the appropriate \fBBuiltin commands\fR, \fBSpecial shell variables\fR and \fBSpecial aliases\fR. .PP @@ -1912,7 +1912,7 @@ and thus supports character sets needing this capability. NLS support differs depending on whether or not the shell was compiled to use the system's NLS (again, see \fBversion\fR). In either case, 7-bit ASCII is the default for character classification -(e.g. which characters are printable) and sorting, +(e.g., which characters are printable) and sorting, and changing the \fBLANG\fR or \fBLC_CTYPE\fR environment variables causes a check for possible changes in these respects. .PP @@ -1923,38 +1923,38 @@ environment variables; refer to the system documentation for further details. When not using the system's NLS, the shell simulates it by assuming that the ISO 8859-1 character set is used whenever either of the \fBLANG\fR and \fBLC_CTYPE\fR variables are set, regardless of -their values. Sorting is not affected for the simulated NLS. +their values. Sorting is not affected for the simulated NLS. .PP In addition, with both real and simulated NLS, all printable -characters in the range \e200\-\e377, i.e. those that have +characters in the range \e200\-\e377, i.e., those that have M-\fIchar\fR bindings, are automatically rebound to \fIself-insert-command\fR. The corresponding binding for the escape-\fIchar\fR sequence, if any, is left alone. These characters are not rebound if the \fBNOREBIND\fR environment variable -is set. This may be useful for the simulated NLS or a primitive real NLS -which assumes full ISO 8859-1. Otherwise, all M-\fIchar\fR bindings in the +is set. This may be useful for the simulated NLS or a primitive real NLS +which assumes full ISO 8859-1. Otherwise, all M-\fIchar\fR bindings in the range \e240\-\e377 are effectively undone. Explicitly rebinding the relevant keys with \fIbindkey\fR is of course still possible. .PP -Unknown characters (i.e. those that are neither printable nor control +Unknown characters (i.e., those that are neither printable nor control characters) are printed in the format \ennn. If the tty is not in 8 bit mode, other 8 bit characters are printed by -converting them to ASCII and using standout mode. The shell +converting them to ASCII and using standout mode. The shell never changes the 7/8 bit mode of the tty and tracks user-initiated -changes of 7/8 bit mode. NLS users (or, for that matter, those who want to +changes of 7/8 bit mode. NLS users (or, for that matter, those who want to use a meta key) may need to explicitly set the tty in 8 bit mode through the appropriate \fIstty\fR(1) command in, e.g., the \fI~/.login\fR file. .SS "OS variant support (+)" A number of new builtin commands are provided to support features in -particular operating systems. All are described in detail in the +particular operating systems. All are described in detail in the \fBBuiltin commands\fR section. .PP -On systems that support TCF (aix-ibm370, aix-ps2), +On systems that support TCF (aix-ibm370, aix-ps2), \fIgetspath\fR and \fIsetspath\fR get and set the system execution path, \fIgetxvers\fR and \fIsetxvers\fR get and set the experimental version prefix -and \fImigrate\fR migrates processes between sites. The \fIjobs\fR builtin +and \fImigrate\fR migrates processes between sites. The \fIjobs\fR builtin prints the site on which each job is executing. .PP Under Domain/OS, \fIinlib\fR adds shared libraries to the current environment, @@ -2019,7 +2019,7 @@ manipulate and debug terminal capabilities from the command line. .PP On systems that support SIGWINCH or SIGWINDOW, the shell adapts to window resizing automatically and adjusts the environment -variables \fBLINES\fR and \fBCOLUMNS\fR if set. If the environment +variables \fBLINES\fR and \fBCOLUMNS\fR if set. If the environment variable \fBTERMCAP\fR contains li# and co# fields, the shell adjusts them to reflect the new window size. .SH REFERENCE @@ -2056,7 +2056,7 @@ The third form assigns the value of \fIexpr\fR to the \fIindex\fR'th component of \fIname\fR; both \fIname\fR and its \fIindex\fR'th component must already exist. .PP -\fIexpr\fR may contain the operators `*', `+', etc. as in C. +\fIexpr\fR may contain the operators `*', `+', etc., as in C. If \fIexpr\fR contains `<', `>', `&' or `' then at least that part of \fIexpr\fR must be placed within `()'. Note that the syntax of \fIexpr\fR has nothing to do with that described @@ -2084,14 +2084,14 @@ See also the \fIunalias\fR builtin command. .B aliases \fR[\fIfile\fR] (+) Without arguments, prints all aliases. With \fIfile\fR, loads a list of aliases from \fIfile\fR, one per line. -Retained only for downward compatibility. +Retained for only downward compatibility. .. .TP 8 .B alloc Shows the amount of dynamic memory acquired, broken down into used and free memory. With an argument shows the number of free and used blocks in each size category. The categories start at size 8 and double at each step. This -command's output may vary across system types, since systems other than the VAX +command's output may vary across system types, because systems other than the VAX may use a different memory allocator. .TP 8 .B bg \fR[\fB%\fIjob\fR ...] @@ -2102,7 +2102,7 @@ under \fBJobs\fR. .ig \" Obsolete tcsh command .TP 8 .B bind \fR[\fBdefaults\fR|\fBemacs\fR|\fBvi\fR|\fIkey\fR|\fIkey command\fR] (+) -An older version of \fIbindkey\fR, retained only for downward compatibility. +An older version of \fIbindkey\fR, retained for only downward compatibility. Without arguments, lists all bound keys and the editor command to which each is bound. `bind defaults', `bind emacs' and `bind vi' are equivalent to `bindkey \-d', `bindkey \-e' and `bindkey \-v'. @@ -2110,9 +2110,9 @@ With \fIkey\fR, lists the editor command to which \fIkey\fR is bound. With \fIkey\fR and \fIcommand\fR, binds the editor command \fIcommand\fR to \fIkey\fR. .IP "" 8 \fIkey\fR may be a literal character, -a control character written ^\fIcharacter\fR (e.g. `^A'), -a meta character written M-\fIcharacter\fR (e.g. `M-A') -or a function key written F-\fIstring\fR (e.g. `F-foo'). +a control character written ^\fIcharacter\fR (e.g., `^A'), +a meta character written M-\fIcharacter\fR (e.g., `M-A') +or a function key written F-\fIstring\fR (e.g., `F-foo'). For the function key form to work, the function key prefix must be bound to \fIsequence-lead-in\fR and \fIstring\fR must not contain that prefix. .. @@ -2150,12 +2150,12 @@ Lists or changes key-bindings in the alternative key map. This is the key map used in \fIvi\fR command mode. .TP 4 .B \-b -\fIkey\fR is interpreted as -a control character written ^\fIcharacter\fR (e.g. `^A') or -C-\fIcharacter\fR (e.g. `C-A'), -a meta character written M-\fIcharacter\fR (e.g. `M-A'), -a function key written F-\fIstring\fR (e.g. `F-string'), -or an extended prefix key written X-\fIcharacter\fR (e.g. `X-A'). +\fIkey\fR is interpreted as +a control character written ^\fIcharacter\fR (e.g., `^A') or +C-\fIcharacter\fR (e.g., `C-A'), +a meta character written M-\fIcharacter\fR (e.g., `M-A'), +a function key written F-\fIstring\fR (e.g., `F-string'), +or an extended prefix key written X-\fIcharacter\fR (e.g., `X-A'). .TP 4 .B \-k \fIkey\fR is interpreted as a symbolic arrow key name, which may be one of @@ -2172,7 +2172,7 @@ editor command. .TP 4 .B \-s \fIcommand\fR is taken as a literal string and treated as terminal input -when \fIkey\fR is typed. Bound keys in \fIcommand\fR are themselves +when \fIkey\fR is typed. Bound keys in \fIcommand\fR are themselves reinterpreted, and this continues for ten levels of interpretation. .TP 4 .B \-\- @@ -2189,7 +2189,7 @@ If a command is bound to a string, the first character of the string is bound to .PP Control characters in \fIkey\fR can be literal (they can be typed by preceding them with the editor command \fIquoted-insert\fR, normally bound to `^V') or -written caret-character style, e.g. `^A'. Delete is written `^?' +written caret-character style, e.g., `^A'. Delete is written `^?' (caret-question mark). \fIkey\fR and \fIcommand\fR can contain backslashed escape sequences (in the style of System V \fIecho\fR(1)) as follows: .RS +4 @@ -2230,7 +2230,7 @@ any, notably `\\' and `^'. .TP 8 .B break Causes execution to resume after the \fIend\fR of the nearest -enclosing \fIforeach\fR or \fIwhile\fR. The remaining commands on the +enclosing \fIforeach\fR or \fIwhile\fR. The remaining commands on the current line are executed. Multi-level breaks are thus possible by writing them all on one line. .TP 8 @@ -2250,19 +2250,19 @@ A label in a \fIswitch\fR statement as discussed below. .TP 8 .B cd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\fIname\fR] If a directory \fIname\fR is given, changes the shell's working directory -to \fIname\fR. If not, changes to \fBhome\fR. +to \fIname\fR. If not, changes to \fBhome\fR. If \fIname\fR is `\-' it is interpreted as the previous working directory -(see \fBOther substitutions\fR). (+) +(see \fBOther substitutions\fR). (+) If \fIname\fR is not a subdirectory of the current directory (and does not begin with `/', `./' or `../'), each component of the variable -\fBcdpath\fR is checked to see if it has a subdirectory \fIname\fR. Finally, if +\fBcdpath\fR is checked to see if it has a subdirectory \fIname\fR. Finally, if all else fails but \fIname\fR is a shell variable whose value begins with `/', then this is tried to see if it is a directory. .RS +8 .PP With \fB\-p\fR, prints the final directory stack, just like \fIdirs\fR. The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIcd\fR -as on \fIdirs\fR, and they imply \fB\-p\fR. (+) +as on \fIdirs\fR, and they imply \fB\-p\fR. (+) .PP See also the \fBimplicitcd\fR shell variable. .RE @@ -2277,7 +2277,7 @@ With \fIcommand\fR and \fIword\fR etc., defines completions. .RS +8 .PP \fIcommand\fR may be a full command name or a glob-pattern -(see \fBFilename substitution\fR). It can begin with `\-' to indicate that +(see \fBFilename substitution\fR). It can begin with `\-' to indicate that completion should be used only when \fIcommand\fR is ambiguous. .PP \fIword\fR specifies which word relative to the current word @@ -2289,7 +2289,7 @@ is to be completed, and may be one of the following: .B c Current-word completion. \fIpattern\fR is a glob-pattern which must match the beginning of the current word on -the command line. \fIpattern\fR is ignored when completing the current word. +the command line. \fIpattern\fR is ignored when completing the current word. .TP 4 .B C Like \fBc\fR, but includes \fIpattern\fR when completing the current word. @@ -2395,18 +2395,18 @@ Words from the output of command .RE .PP \fIselect\fR is an optional glob-pattern. -If given, only words from \fIlist\fR which match \fIselect\fR are considered +If given, words from only \fIlist\fR that match \fIselect\fR are considered and the \fBfignore\fR shell variable is ignored. The last three types of completion may not have a \fIselect\fR pattern, and \fBx\fR uses \fIselect\fR as an explanatory message when the \fIlist-choices\fR editor command is used. .PP \fIsuffix\fR is a single character to be appended to a successful -completion. If null, no character is appended. If omitted (in which +completion. If null, no character is appended. If omitted (in which case the fourth delimiter can also be omitted), a slash is appended to directories and a space to other words. .PP -Now for some examples. Some commands take only directories as arguments, +Now for some examples. Some commands take only directories as arguments, so there's no point completing plain files. .IP "" 4 > complete cd 'p/1/d/' @@ -2427,18 +2427,18 @@ complete compress This completion completes commands (words in position 0, `p/0') which begin with `co' (thus matching `co*') to `compress' (the only word in the list). -The leading `\-' indicates that this completion is to be used only with +The leading `\-' indicates that this completion is to be used with only ambiguous commands. .IP "" 4 > complete find 'n/\-user/u/' .PP -is an example of \fBn\fR-type completion. Any word following `find' and +is an example of \fBn\fR-type completion. Any word following `find' and immediately following `\-user' is completed from the list of users. .IP "" 4 > complete cc 'c/\-I/d/' .PP -demonstrates \fBc\fR-type completion. Any word following `cc' and beginning -with `\-I' is completed as a directory. `\-I' is not taken as part of the +demonstrates \fBc\fR-type completion. Any word following `cc' and beginning +with `\-I' is completed as a directory. `\-I' is not taken as part of the directory because we used lowercase \fBc\fR. .PP Different \fIlist\fRs are useful with different commands. @@ -2498,40 +2498,40 @@ One command can have multiple completions: > complete dbx 'p/2/(core)/' 'p/*/c/' .PP completes the second argument to `dbx' with the word `core' and all other -arguments with commands. Note that the positional completion is specified +arguments with commands. Note that the positional completion is specified before the next-word completion. -Since completions are evaluated from left to right, if +Because completions are evaluated from left to right, if the next-word completion were specified first it would always match -and the positional completion would never be executed. This is a +and the positional completion would never be executed. This is a common mistake when defining a completion. .PP -The \fIselect\fR pattern is useful when a command takes only files with -particular forms as arguments. For example, +The \fIselect\fR pattern is useful when a command takes files with only +particular forms as arguments. For example, .IP "" 4 > complete cc 'p/*/f:*.[cao]/' .PP -completes `cc' arguments only to files ending in `.c', `.a', or `.o'. +completes `cc' arguments to files ending in only `.c', `.a', or `.o'. \fIselect\fR can also exclude files, using negation of a glob-pattern as -described under \fBFilename substitution\fR. One might use +described under \fBFilename substitution\fR. One might use .IP "" 4 > complete rm 'p/*/f:^*.{c,h,cc,C,tex,1,man,l,y}/' .PP -to exclude precious source code from `rm' completion. Of course, one +to exclude precious source code from `rm' completion. Of course, one could still type excluded names manually or override the completion mechanism using the \fIcomplete-word-raw\fR or \fIlist-choices-raw\fR editor commands (q.v.). .PP The `C', `D', `F' and `T' \fIlist\fRs are like `c', `d', `f' and `t' respectively, but they use the \fIselect\fR argument in a different way: to -restrict completion to files beginning with a particular path prefix. For +restrict completion to files beginning with a particular path prefix. For example, the Elm mail program uses `=' as an abbreviation for one's mail -directory. One might use +directory. One might use .IP "" 4 > complete elm c@=@F:$HOME/Mail/@ .PP -to complete `elm \-f =' as if it were `elm \-f ~/Mail/'. Note that we used `@' +to complete `elm \-f =' as if it were `elm \-f ~/Mail/'. Note that we used `@' instead of `/' to avoid confusion with the \fIselect\fR argument, and we used -`$HOME' instead of `~' because home directory substitution only works at the +`$HOME' instead of `~' because home directory substitution works at only the beginning of a word. .PP \fIsuffix\fR is used to add a nonstandard suffix @@ -2540,7 +2540,7 @@ beginning of a word. > complete finger 'c/*@/$hostnames/' 'p/1/u/@' .PP completes arguments to `finger' from the list of users, appends an `@', -and then completes after the `@' from the `hostnames' variable. Note +and then completes after the `@' from the `hostnames' variable. Note again the order in which the completions are specified. .PP Finally, here's a complex example for inspiration: @@ -2570,9 +2570,9 @@ This completes words following `\-name', `\-newer', `\-cpio' or `ncpio' words following `\-exec' or `\-ok' to commands, words following `user' and `group' to users and groups respectively and words following `\-fstype' or `\-type' to members of the -given lists. It also completes the switches themselves from the given list +given lists. It also completes the switches themselves from the given list (note the use of \fBc\fR-type completion) -and completes anything not otherwise completed to a directory. Whew. +and completes anything not otherwise completed to a directory. Whew. .PP Remember that programmed completions are ignored if the word being completed is a tilde substitution (beginning with `~') or a variable (beginning with `$'). @@ -2595,12 +2595,12 @@ It should come after all \fIcase\fR labels. .PD 0 .TP 8 .B dirs \-c \fR(+) -The first form prints the directory stack. The top of the stack is at the +The first form prints the directory stack. The top of the stack is at the left and the first directory in the stack is the current directory. With \fB\-l\fR, `~' or `~\fIname\fP' in the output is expanded explicitly -to \fBhome\fR or the pathname of the home directory for user \fIname\fP. (+) -With \fB\-n\fR, entries are wrapped before they reach the edge of the screen. (+) -With \fB\-v\fR, entries are printed one per line, preceded by their stack positions. (+) +to \fBhome\fR or the pathname of the home directory for user \fIname\fP. (+) +With \fB\-n\fR, entries are wrapped before they reach the edge of the screen. (+) +With \fB\-v\fR, entries are printed one per line, preceded by their stack positions. (+) If more than one of \fB\-n\fR or \fB\-v\fR is given, \fB\-v\fR takes precedence. \fB\-p\fR is accepted but does nothing. .PD @@ -2638,7 +2638,7 @@ in the status line. .PP If \fIarg\fR is 'baud', 'cols', 'lines', 'meta' or 'tabs', prints the value of that capability ("yes" or "no" indicating that the terminal does -or does not have that capability). One might use this to make the output +or does not have that capability). One might use this to make the output from a shell script less verbose on slow terminals, or limit command output to the number of lines on the screen: .IP "" 4 @@ -2677,9 +2677,9 @@ See the description of the \fIforeach\fR, \fIif\fR, \fIswitch\fR, and .B eval \fIarg\fR ... Treats the arguments as input to the shell and executes the resulting command(s) in the context -of the current shell. This is usually used to execute commands +of the current shell. This is usually used to execute commands generated as the result of command or variable substitution, -since parsing occurs before these substitutions. +because parsing occurs before these substitutions. See \fItset\fR(1) for a sample use of \fIeval\fR. .TP 8 .B exec \fIcommand\fR @@ -2721,10 +2721,10 @@ loop at the terminal you can rub it out. .PD .TP 8 .B getspath \fR(+) -Prints the system execution path. (TCF only) +Prints the system execution path. (TCF only) .TP 8 .B getxvers \fR(+) -Prints the experimental version prefix. (TCF only) +Prints the experimental version prefix. (TCF only) .TP 8 .B glob \fIwordlist Like \fIecho\fR, but no `\\' escapes are recognized and words are @@ -2741,7 +2741,7 @@ continues execution after that line. .B hashstat Prints a statistics line indicating how effective the internal hash table has been at locating commands (and avoiding -\fIexec\fR's). An \fIexec\fR is attempted for each component of the +\fIexec\fR's). An \fIexec\fR is attempted for each component of the \fBpath\fR where the hash function indicates a possible hit, and in each component which does not begin with a `/'. .IP @@ -2756,7 +2756,7 @@ hash buckets. .B history \-c \fR(+) The first form prints the history event list. If \fIn\fR is given only the \fIn\fR most recent events are printed or saved. -With \fB\-h\fR, the history list is printed without leading numbers. If +With \fB\-h\fR, the history list is printed without leading numbers. If \fB-T\fR is specified, timestamps are printed also in comment form. (This can be used to produce files suitable for loading with 'history \-L' or 'source \-h'.) @@ -2770,10 +2770,10 @@ If the first word of the \fBsavehist\fR shell variable is set to a number, at most that many lines are saved. If the second word of \fBsavehist\fR is set to `merge', the history list is merged with the existing history file instead of replacing it (if there is one) and -sorted by time stamp. (+) Merging is intended for an environment like +sorted by time stamp. (+) Merging is intended for an environment like the X Window System -with several shells in simultaneous use. Currently it only -succeeds when the shells quit nicely one after another. +with several shells in simultaneous use. Currently it succeeds +only when the shells quit nicely one after another. .PP With \fB\-L\fR, the shell appends \fIfilename\fR, which is presumably a history list saved by the \fB\-S\fR option or the \fBsavehist\fR mechanism, @@ -2801,7 +2801,7 @@ With \fIcommand\fR, runs \fIcommand\fR such that it will exit on a hangup signal and arranges for the shell to send it a hangup signal when the shell exits. Note that commands may set their own response to hangups, overriding \fIhup\fR. -Without an argument (allowed only in a shell script), causes the shell to +Without an argument (allowed in only a shell script), causes the shell to exit on a hangup for the remainder of the script. See also \fBSignal handling\fR and the \fInohup\fR builtin command. .TP 8 @@ -2840,12 +2840,12 @@ the \fIif\fR must appear alone on its input line or after an .PD .TP 8 .B inlib \fIshared-library\fR ... (+) -Adds each \fIshared-library\fR to the current environment. There is no way -to remove a shared library. (Domain/OS only) +Adds each \fIshared-library\fR to the current environment. There is no way +to remove a shared library. (Domain/OS only) .TP 8 .B jobs \fR[\fB\-l\fR] -Lists the active jobs. With \fB\-l\fR, lists process -IDs in addition to the normal information. On TCF systems, prints +Lists the active jobs. With \fB\-l\fR, lists process +IDs in addition to the normal information. On TCF systems, prints the site on which each job is executing. .PP .B kill \fR[\fB\-\fIsignal\fR] \fB%\fIjob\fR|\fIpid\fR ... @@ -2873,7 +2873,7 @@ A synonym for the \fIecho\fR builtin command. .B limit \fR[\fB\-h\fR] [\fIresource\fR [\fImaximum-use\fR]] Limits the consumption by the current process and each process it creates to not individually exceed \fImaximum-use\fR on -the specified \fIresource\fR. If no \fImaximum-use\fR is given, then +the specified \fIresource\fR. If no \fImaximum-use\fR is given, then the current limit is printed; if no \fIresource\fR is given, then all limitations are given. If the \fB\-h\fR flag is given, the hard limits are used instead of the current limits. The @@ -2918,7 +2918,7 @@ compatibility with \fIsh\fR(1). Terminates a login shell. Especially useful if \fBignoreeof\fR is set. .TP 8 .B ls\-F \fR[\-\fIswitch\fR ...] [\fIfile\fR ...] (+) -Lists files like `ls \-F', but much faster. It identifies each type of +Lists files like `ls \-F', but much faster. It identifies each type of special file in the listing with a special character: .PP .RS +8 @@ -2953,7 +2953,7 @@ Network special (HP/UX only) .PD .PP If the \fBlistlinks\fR shell variable is set, symbolic links are identified -in more detail (only, of course, on systems which have them): +in more detail (on only systems that have them, of course): .PP .PD 0 .TP 4 @@ -2961,7 +2961,7 @@ in more detail (only, of course, on systems which have them): Symbolic link to a non-directory .TP 4 > -Symbolic link to a directory +Symbolic link to a directory .TP 4 & Symbolic link to nowhere @@ -2971,16 +2971,16 @@ Symbolic link to nowhere files pointed to by symbolic links to be mounted. .PP If the \fBlistflags\fR shell variable is set to `x', `a' or `A', or any -combination thereof (e.g. `xA'), they are used as flags to \fIls\-F\fR, +combination thereof (e.g., `xA'), they are used as flags to \fIls\-F\fR, making it act like `ls \-xF', `ls \-Fa', `ls \-FA' or a combination -(e.g. `ls \-FxA'). +(e.g., `ls \-FxA'). On machines where `ls \-C' is not the default, \fIls\-F\fR acts like `ls \-CF', unless \fBlistflags\fR contains an `x', in which case it acts like `ls \-xF'. \fIls\-F\fR passes its arguments to \fIls\fR(1) if it is given any switches, so `alias ls ls\-F' generally does the right thing. .PP The \fBls\-F\fR builtin can list files using different colors depending on the -filetype or extension. See the \fBcolor\fR \fItcsh\fR variable and the +filetype or extension. See the \fBcolor\fR \fItcsh\fR variable and the \fBLS_COLORS\fR environment variable. .RE .PP @@ -2991,9 +2991,9 @@ filetype or extension. See the \fBcolor\fR \fItcsh\fR variable and the The first form migrates the process or job to the site specified or the default site determined by the system path. The second form is equivalent to `migrate \-\fIsite\fR $$': it migrates the -current process to the specified site. Migrating the shell -itself can cause unexpected behavior, since the shell -does not like to lose its tty. (TCF only) +current process to the specified site. Migrating the shell +itself can cause unexpected behavior, because the shell +does not like to lose its tty. (TCF only) .PD .TP 8 .B newgrp \fR[\fB\-\fR] \fIgroup\fR (+) @@ -3003,7 +3003,7 @@ see the \fBversion\fR shell variable. .TP 8 .B nice \fR[\fB+\fInumber\fR] [\fIcommand\fR] Sets the scheduling priority for the shell to \fInumber\fR, or, without -\fInumber\fR, to 4. With \fIcommand\fR, runs \fIcommand\fR at the appropriate +\fInumber\fR, to 4. With \fIcommand\fR, runs \fIcommand\fR at the appropriate priority. The greater the \fInumber\fR, the less cpu the process gets. The super-user may specify negative @@ -3014,7 +3014,7 @@ commands in simple \fIif\fR statements apply. .B nohup \fR[\fIcommand\fR] With \fIcommand\fR, runs \fIcommand\fR such that it will ignore hangup signals. Note that commands may set their own response to hangups, overriding \fInohup\fR. -Without an argument (allowed only in a shell script), causes the shell to +Without an argument (allowed in only a shell script), causes the shell to ignore hangups for the remainder of the script. See also \fBSignal handling\fR and the \fIhup\fR builtin command. .TP 8 @@ -3044,10 +3044,10 @@ Without arguments, pops the directory stack and returns to the new top directory With a number `+\fIn\fR', discards the \fIn\fR'th entry in the stack. .IP "" 8 Finally, all forms of \fIpopd\fR print the final directory stack, -just like \fIdirs\fR. The \fBpushdsilent\fR shell variable can be set to +just like \fIdirs\fR. The \fBpushdsilent\fR shell variable can be set to prevent this and the \fB\-p\fR flag can be given to override \fBpushdsilent\fR. The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIpopd\fR -as on \fIdirs\fR. (+) +as on \fIdirs\fR. (+) .TP 8 .B printenv \fR[\fIname\fR] (+) Prints the names and values of all environment variables or, @@ -3056,32 +3056,32 @@ with \fIname\fR, the value of the environment variable \fIname\fR. .B pushd \fR[\fB\-p\fR] [\fB\-l\fR] [\fB\-n\fR|\fB\-v\fR] [\fIname\fR|\fB+\fIn\fR] Without arguments, exchanges the top two elements of the directory stack. If \fBpushdtohome\fR is set, \fIpushd\fR without arguments does `pushd ~', -like \fIcd\fR. (+) +like \fIcd\fR. (+) With \fIname\fR, pushes the current working directory onto the directory stack and changes to \fIname\fR. If \fIname\fR is `\-' it is interpreted as the previous working directory -(see \fBFilename substitution\fR). (+) +(see \fBFilename substitution\fR). (+) If \fBdunique\fR is set, \fIpushd\fR removes any instances of \fIname\fR -from the stack before pushing it onto the stack. (+) +from the stack before pushing it onto the stack. (+) With a number `+\fIn\fR', rotates the \fIn\fRth element of the directory stack around to be the top element and changes to it. If \fBdextract\fR is set, however, `pushd +\fIn\fR' extracts the \fIn\fRth -directory, pushes it onto the top of the stack and changes to it. (+) +directory, pushes it onto the top of the stack and changes to it. (+) .IP "" 8 Finally, all forms of \fIpushd\fR print the final directory stack, -just like \fIdirs\fR. The \fBpushdsilent\fR shell variable can be set to +just like \fIdirs\fR. The \fBpushdsilent\fR shell variable can be set to prevent this and the \fB\-p\fR flag can be given to override \fBpushdsilent\fR. The \fB\-l\fR, \fB\-n\fR and \fB\-v\fR flags have the same effect on \fIpushd\fR -as on \fIdirs\fR. (+) +as on \fIdirs\fR. (+) .TP 8 .B rehash Causes the internal hash table of the contents of the directories in the \fBpath\fR variable to be recomputed. This is needed if new commands are added to directories in \fBpath\fR -while you are logged in. This should only be necessary if +while you are logged in. This should be necessary only if you add commands to one of your own directories, or if a systems programmer changes the contents of one of the -system directories. Also flushes the cache of home directories +system directories. Also flushes the cache of home directories built by tilde expansion. .TP 8 .B repeat \fIcount command @@ -3092,7 +3092,7 @@ I/O redirections occur exactly once, even if \fIcount\fR is 0. .TP 8 .B rootnode //\fInodename \fR(+) Changes the rootnode to //\fInodename\fR, so that `/' will be interpreted -as `//\fInodename\fR'. (Domain/OS only) +as `//\fInodename\fR'. (Domain/OS only) .PP .B sched \fR(+) .br @@ -3136,7 +3136,7 @@ The third form removes item \fIn\fR from the event list: .PP A command in the scheduled-event list is executed just before the first prompt is printed after the time when the command is scheduled. -It is possible to miss the exact time when the command is to be run, but +It is possible to miss the exact time when the command is to be run, but an overdue command will execute at the next prompt. A command which comes due while the shell is waiting for user input is executed immediately. @@ -3147,7 +3147,7 @@ This mechanism is similar to, but not the same as, the \fIat\fR(1) command on some Unix systems. Its major disadvantage is that it may not run a command at exactly the specified time. -Its major advantage is that because \fIsched\fR runs directly from +Its major advantage is that because \fIsched\fR runs directly from the shell, it has access to shell variables and other structures. This provides a mechanism for changing one's working environment based on the time of day. @@ -3155,7 +3155,7 @@ based on the time of day. .PP .B set .br -.B set \fIname\fR ... +.B set \fIname\fR ... .br .B set \fIname\fR\fB=\fIword\fR ... .br @@ -3173,15 +3173,15 @@ The first form of the command prints the value of all shell variables. Variables which contain more than a single word print as a parenthesized word list. The second form sets \fIname\fR to the null string. -The third form sets \fIname\fR to the single \fIword\fR. +The third form sets \fIname\fR to the single \fIword\fR. The fourth form sets \fIname\fR to the list of words in -\fIwordlist\fR. In all cases the value is command and filename expanded. -If \-r is specified, the value is set read-only. If \-f or \-l are +\fIwordlist\fR. In all cases the value is command and filename expanded. +If \-r is specified, the value is set read-only. If \-f or \-l are specified, set only unique words keeping their order. \-f prefers the first occurrence of a word, and \-l the last. The fifth form sets the \fIindex\fR'th component of name to \fIword\fR; this component must already exist. -The sixth form lists the names (only) of all shell variables which are read-only. +The sixth form lists only the names of all shell variables that are read-only. The seventh form makes \fIname\fR read-only, whether or not it has a value. The second form sets \fIname\fR to the null string. The eighth form is the same as the third form, but @@ -3190,7 +3190,7 @@ make \fIname\fR read-only at the same time. .IP "" 8 These arguments can be repeated to set and/or make read-only multiple variables in a single set command. Note, however, that variable expansion -happens for all arguments before any setting occurs. Note also that `=' can +happens for all arguments before any setting occurs. Note also that `=' can be adjacent to both \fIname\fR and \fIword\fR or separated from both by whitespace, but cannot be adjacent to only one or the other. See also the \fIunset\fR builtin command. @@ -3201,10 +3201,10 @@ Given \fIname\fR, sets the environment variable \fIname\fR to \fIvalue\fR or, without \fIvalue\fR, to the null string. .TP 8 .B setpath \fIpath \fR(+) -Equivalent to \fIsetpath\fR(1). (Mach only) +Equivalent to \fIsetpath\fR(1). (Mach only) .TP 8 -.B setspath\fR LOCAL|\fIsite\fR|\fIcpu\fR ... (+) -Sets the system execution path. (TCF only) +.B setspath\fR LOCAL|\fIsite\fR|\fIcpu\fR ... (+) +Sets the system execution path. (TCF only) .TP 8 .B settc \fIcap value \fR(+) Tells the shell to believe that the terminal capability \fIcap\fR @@ -3232,18 +3232,18 @@ to turn `echoe' mode on or off, both when the shell is executing commands. .TP 8 .B setxvers\fR [\fIstring\fR] (+) Set the experimental version prefix to \fIstring\fR, or removes it -if \fIstring\fR is omitted. (TCF only) +if \fIstring\fR is omitted. (TCF only) .TP 8 .B shift \fR[\fIvariable\fR] Without arguments, discards \fBargv\fR[1] and shifts the members of -\fBargv\fR to the left. It is an error for \fBargv\fR not to be set or to have -less than one word as value. With \fIvariable\fR, performs the +\fBargv\fR to the left. It is an error for \fBargv\fR not to be set or to have +less than one word as value. With \fIvariable\fR, performs the same function on \fIvariable\fR. .TP 8 .B source \fR[\fB\-h\fR] \fIname\fR [\fIargs\fR ...] The shell reads and executes commands from \fIname\fR. The commands are not placed on the history list. -If any \fIargs\fR are given, they are placed in \fBargv\fR. (+) +If any \fIargs\fR are given, they are placed in \fBargv\fR. (+) \fIsource\fR commands may be nested; if they are nested too deeply the shell may run out of file descriptors. An error in a \fIsource\fR at any level terminates all nested @@ -3260,7 +3260,7 @@ the current job. .TP 8 .B suspend Causes the shell to stop in its tracks, much as if it had -been sent a stop signal with \fB^Z\fR. This is most often used to +been sent a stop signal with \fB^Z\fR. This is most often used to stop shells started by \fIsu\fR(1). .PP .B switch (\fIstring\fB) @@ -3289,7 +3289,7 @@ of the labels match before a `default' label is found, then the execution begins after the default label. Each case label and the default label must appear at the beginning of a line. The command \fIbreaksw\fR causes execution to continue -after the \fIendsw\fR. Otherwise control may fall through case +after the \fIendsw\fR. Otherwise control may fall through case labels and default labels as in C. If no label matches and there is no default, execution continues after the \fIendsw\fR. .PD @@ -3329,7 +3329,7 @@ Disables use of the internal hash table to speed location of executed programs. .TP 8 .B universe \fIuniverse\fR (+) -Sets the universe to \fIuniverse\fR. (Masscomp/RTU only) +Sets the universe to \fIuniverse\fR. (Masscomp/RTU only) .TP 8 .B unlimit \fR[\fB\-h\fR] [\fIresource\fR] Removes the limitation on \fIresource\fR or, if no \fIresource\fR is @@ -3350,9 +3350,9 @@ this is a bad idea. It is not an error for nothing to be \fIunsetenv\fRed. .TP 8 .B ver \fR[\fIsystype\fR [\fIcommand\fR]] (+) -Without arguments, prints \fBSYSTYPE\fR. With \fIsystype\fR, sets \fBSYSTYPE\fR -to \fIsystype\fR. With \fIsystype\fR and \fIcommand\fR, executes \fIcommand\fR -under \fIsystype\fR. \fIsystype\fR may be `bsd4.3' or `sys5.3'. +Without arguments, prints \fBSYSTYPE\fR. With \fIsystype\fR, sets \fBSYSTYPE\fR +to \fIsystype\fR. With \fIsystype\fR and \fIcommand\fR, executes \fIcommand\fR +under \fIsystype\fR. \fIsystype\fR may be `bsd4.3' or `sys5.3'. (Domain/OS only) .TP 8 .B wait @@ -3361,7 +3361,7 @@ interrupt will disrupt the wait and cause the shell to print the names and job numbers of all outstanding jobs. .TP 8 .B warp \fIuniverse\fR (+) -Sets the universe to \fIuniverse\fR. (Convex/OS only) +Sets the universe to \fIuniverse\fR. (Convex/OS only) .TP 8 .B watchlog \fR(+) An alternate name for the \fIlog\fR builtin command (q.v.). @@ -3399,10 +3399,10 @@ If set, each of these aliases executes automatically at the indicated time. They are all initially undefined. .TP 8 .B beepcmd -Runs when the shell wants to ring the terminal bell. +Runs when the shell wants to ring the terminal bell. .TP 8 -.B cwdcmd -Runs after every change of working directory. For example, if the user is +.B cwdcmd +Runs after every change of working directory. For example, if the user is working on an X window system using \fIxterm\fR(1) and a re-parenting window manager that supports title bars such as \fItwm\fR(1) and does .RS +8 @@ -3410,7 +3410,7 @@ manager that supports title bars such as \fItwm\fR(1) and does > alias cwdcmd 'echo \-n "^[]2;${HOST}:$cwd ^G"' .PP then the shell will change the title of the running \fIxterm\fR(1) -to be the name of the host, a colon, and the full current working directory. +to be the name of the host, a colon, and the full current working directory. A fancier way to do that is .IP "" 4 > alias cwdcmd 'echo \-n "^[]2;${HOST}:$cwd^G^[]1;${HOST}^G"' @@ -3419,13 +3419,13 @@ This will put the hostname and working directory on the title bar but only the hostname in the icon manager menu. .PP Note that putting a \fIcd\fR, \fIpushd\fR or \fIpopd\fR in \fIcwdcmd\fR -may cause an infinite loop. It is the author's opinion that anyone doing +may cause an infinite loop. It is the author's opinion that anyone doing so will get what they deserve. .RE .TP 8 .B helpcommand -Invoked by the \fBrun-help\fR editor command. The command name for which help -is sought is passed as sole argument. +Invoked by the \fBrun-help\fR editor command. The command name for which help +is sought is passed as sole argument. For example, if one does .RS +8 .IP "" 4 @@ -3433,13 +3433,13 @@ For example, if one does .PP then the help display of the command itself will be invoked, using the GNU help calling convention. -Currently there is no easy way to account for various calling conventions (eg +Currently there is no easy way to account for various calling conventions (e.g., the customary Unix `-h'), except by using a table of many commands. .RE .TP 8 -.B periodic -Runs every \fBtperiod\fR minutes. This provides a convenient means for -checking on common but infrequent changes such as new mail. For example, +.B periodic +Runs every \fBtperiod\fR minutes. This provides a convenient means for +checking on common but infrequent changes such as new mail. For example, if one does .RS +8 .IP "" 4 @@ -3452,8 +3452,8 @@ If \fIperiodic\fR is set but \fBtperiod\fR is unset or set to 0, \fIperiodic\fR behaves like \fIprecmd\fR. .RE .TP 8 -.B precmd -Runs just before each prompt is printed. For example, if one does +.B precmd +Runs just before each prompt is printed. For example, if one does .RS +8 .IP "" 4 > alias precmd date @@ -3474,8 +3474,8 @@ then executing \fIvi foo.c\fR will put the command string in the xterm title bar .TP 8 .B shell Specifies the interpreter for executable scripts which do not themselves -specify an interpreter. The first word should be a full path name to the -desired interpreter (e.g. `/bin/csh' or `/usr/local/bin/tcsh'). +specify an interpreter. The first word should be a full path name to the +desired interpreter (e.g., `/bin/csh' or `/usr/local/bin/tcsh'). .SS "Special shell variables" The variables described in this section have special meaning to the shell. .PP @@ -3483,7 +3483,7 @@ The shell sets \fBaddsuffix\fR, \fBargv\fR, \fBautologout\fR, \fBcommand\fR, \fB \fBedit\fR, \fBgid\fR, \fBgroup\fR, \fBhome\fR, \fBloginsh\fR, \fBoid\fR, \fBpath\fR, \fBprompt\fR, \fBprompt2\fR, \fBprompt3\fR, \fBshell\fR, \fBshlvl\fR, \fBtcsh\fR, \fBterm\fR, \fBtty\fR, \fBuid\fR, \fBuser\fR and \fBversion\fR at -startup; they do not change thereafter unless changed by the user. The shell +startup; they do not change thereafter unless changed by the user. The shell updates \fBcwd\fR, \fBdirstack\fR, \fBowd\fR and \fBstatus\fR when necessary, and sets \fBlogout\fR on logout. .PP @@ -3491,7 +3491,7 @@ The shell synchronizes \fBafsuser\fR, \fBgroup\fR, \fBhome\fR, \fBpath\fR, \fBsh \fBterm\fR and \fBuser\fR with the environment variables of the same names: whenever the environment variable changes the shell changes the corresponding shell variable to match (unless the shell variable is read-only) and vice -versa. Note that although \fBcwd\fR and \fBPWD\fR have identical meanings, they +versa. Note that although \fBcwd\fR and \fBPWD\fR have identical meanings, they are not synchronized in this manner, and that the shell automatically interconverts the different formats of \fBpath\fR and \fBPATH\fR. .TP 8 @@ -3508,8 +3508,8 @@ the local username for kerberos authentication. If set, all times are shown in 12-hour AM/PM format. .TP 8 .B argv -The arguments to the shell. Positional parameters are taken from \fBargv\fR, -i.e. `$1' is replaced by `$argv[1]', etc. +The arguments to the shell. Positional parameters are taken from \fBargv\fR, +i.e., `$1' is replaced by `$argv[1]', etc. Set by default, but usually empty in interactive shells. .TP 8 .B autocorrect \fR(+) @@ -3527,21 +3527,21 @@ characters are added by completion. .TP 8 .B autologout \fR(+) The first word is the number of minutes of inactivity before automatic -logout. The optional second word is the number of minutes of inactivity +logout. The optional second word is the number of minutes of inactivity before automatic locking. When the shell automatically logs out, it prints `auto-logout', sets the variable logout to `automatic' and exits. When the shell automatically locks, the user is required to enter his password -to continue working. Five incorrect attempts result in automatic logout. +to continue working. Five incorrect attempts result in automatic logout. Set to `60' (automatic logout after 60 minutes, and no locking) by default in login and superuser shells, but not if the shell thinks it is running -under a window system (i.e. the \fBDISPLAY\fR environment variable is set), +under a window system (i.e., the \fBDISPLAY\fR environment variable is set), the tty is a pseudo-tty (pty) or the shell was not so compiled (see the \fBversion\fR shell variable). See also the \fBafsuser\fR and \fBlogout\fR shell variables. .TP 8 .B backslash_quote \fR(+) -If set, backslashes (`\\') always quote `\\', `'', and `"'. This may make +If set, backslashes (`\\') always quote `\\', `'', and `"'. This may make complex quoting tasks easier, but it can cause syntax errors in \fIcsh\fR(1) scripts. .TP 8 @@ -3551,8 +3551,8 @@ subdirectories if they aren't found in the current directory. .TP 8 .B color If set, it enables color display for the builtin \fBls\-F\fR and it passes -\fB\-\-color=auto\fR to \fBls\fR. Alternatively, it can be set to only -\fBls\-F\fR or only \fBls\fR to enable color only to one command. Setting +\fB\-\-color=auto\fR to \fBls\fR. Alternatively, it can be set to only +\fBls\-F\fR or only \fBls\fR to enable color to only one command. Setting it to nothing is equivalent to setting it to \fB(ls\-F ls)\fR. .TP 8 .B colorcat @@ -3594,7 +3594,7 @@ stack rather than rotating it to the top. .TP 8 .B dirsfile \fR(+) The default location in which `dirs \-S' and `dirs \-L' look for -a history file. If unset, \fI~/.cshdirs\fR is used. +a history file. If unset, \fI~/.cshdirs\fR is used. Because only \fI~/.tcshrc\fR is normally sourced before \fI~/.cshdirs\fR, \fBdirsfile\fR should be set in \fI~/.tcshrc\fR rather than \fI~/.login\fR. .TP 8 @@ -3609,24 +3609,50 @@ but the first element (the current working directory) is always correct. See also the \fBcwd\fR and \fBowd\fR shell variables. .TP 8 .B dspmbyte \fR(+) -If set to `euc', it enables display and editing EUC-kanji(japanese) code. -If set to `sjis', it enables display and editing Shift-JIS(japanese) code. -If set to following format, it enables display and editing original multi-byte code format: +If set to `euc', it enables display and editing EUC-kanji(Japanese) code. +If set to `sjis', it enables display and editing Shift-JIS(Japanese) code. +If set to the following format, it enables display and editing of original +multi-byte code format: .RS +8 .IP "" 4 > set dspmbyte = 0000....(256 bytes)....0000 .PP -table length require \fBjust\fR 256 byte. Each character of 256 characters corresponds from the left from 0x00,0x01... to 0xff of ASCII code. Each character is set to number 0,1,2 and 3. Each number has the following meanings: - 0 ... not use for multi-byte character. - 1 ... use for first byte of multi-byte charcter. - 2 ... use for second byte of multi-byte character. - 3 ... use for both of first byte and second byte of multi-byte character. - Example: - if set `001322', first character(means 0x00 of ASCII code) and second character(means 0x01 of ASCII code) is set to `0'. then, it is not use for multi-byte character.3rd character(0x02) is set '2'. it is use for first byte of multi-byte charcter. 4th character(0x03) is set '3'. it is use for both of first byte and second byte of multi-byte character. 5th and 6th character(0x04,0x05) is set '2'. it is use for second byte of multi-byte charcter. +The table requires \fBjust\fR 256 bytes. Each character of 256 characters +corresponds (from left to right) to the ASCII codes 0x00, 0x01, ... 0xff. Each +character +.\" (position in this table?) +is set to number 0,1,2 and 3. Each number has the following meaning: +.br + 0 ... not used for multi-byte characters. +.br + 1 ... used for the first byte of a multi-byte character. +.br + 2 ... used for the second byte of a multi-byte character. +.br + 3 ... used for both the first byte and second byte of a multi-byte character. +.\" SHK: I tried my best to get the following to be gramatically correct. +.\" However, I still don't understand what's going on here. In the + \" following example, there are three bytes, but the text seems to refer to + \" each nybble as a character. What's going on here? It this 3-byte code + \" in the table? The text above seems to imply that there are 256 + \" characters/bytes in the table. If I get some more info on this (perhaps + \" a complete example), I could fix the text to be grammatically correct. + \" (steve.kelem@xilinx.com 1999/09/13) .PP -Because, the ls of GNU fileutils cannot display multi-byte -filenames without -N ( --literal ) option, if you are using -it, set the second word of dspmbyte to "ls". If not, for + Example: +.br +If set to `001322', the first character (means 0x00 of the ASCII code) and +second character (means 0x01 of ASCII code) are set to `0'. Then, it is not +used for multi-byte characters. The 3rd character (0x02) is set to '2', +indicating that it is used for the first byte of a multi-byte character. +The 4th character(0x03) is set '3'. It is used for both the first byte and +the second byte of a multi-byte character. The 5th and 6th characters +(0x04,0x05) are set to '2', indicating that they are used for the second +byte of a multi-byte character. +.PP +The GNU fileutils version of ls cannot display multi-byte +filenames without the -N ( --literal ) option. If you are using +this version, set the second word of dspmbyte to "ls". If not, for example, "ls-F -l" cannot display multi-byte filenames. .RE .TP 8 @@ -3638,11 +3664,11 @@ from the stack before pushing it onto the stack. If set, each command with its arguments is echoed just before it is executed. For non-builtin commands all expansions occur before echoing. Builtin commands are echoed before command and filename -substitution, since these substitutions are then done selectively. +substitution, because these substitutions are then done selectively. Set by the \fB\-x\fR command line option. .TP 8 .B echo_style \fR(+) -The style of the \fIecho\fR builtin. May be set to +The style of the \fIecho\fR builtin. May be set to .PP .RS +8 .PD 0 @@ -3660,8 +3686,8 @@ none Recognize neither. .PD .PP -Set by default to the local system default. The BSD and System V -options are described in the \fIecho\fR(1) manpages on the appropriate +Set by default to the local system default. The BSD and System V +options are described in the \fIecho\fR(1) man pages on the appropriate systems. .RE .TP 8 @@ -3696,16 +3722,16 @@ quick substitutions. .TP 8 .B histdup \fR(+) Controls handling of duplicate entries in the history list. If set to -`all' only unique history events are entered in the history list. If +`all' only unique history events are entered in the history list. If set to `prev' and the last history event is the same as the current command, then the current command is not entered in the history. If set to `erase' and the same event is found in the history list, that -old event gets erased and the current one gets inserted. Note that the +old event gets erased and the current one gets inserted. Note that the `prev' and `all' options renumber history events so there are no gaps. .TP 8 .B histfile \fR(+) The default location in which `history \-S' and `history \-L' look for -a history file. If unset, \fI~/.history\fR is used. \fBhistfile\fR is +a history file. If unset, \fI~/.history\fR is used. \fBhistfile\fR is useful when sharing the same home directory between different machines, or when saving separate histories on different terminals. Because only \fI~/.tcshrc\fR is normally sourced before \fI~/.history\fR, @@ -3734,32 +3760,32 @@ the \fIend-of-file\fR command (usually generated by the user by typing `^D' on an empty line) causes the shell to print `Use "exit" to leave tcsh.' instead of exiting. This prevents the shell from accidentally being killed. If set to a number \fIn\fR, the shell ignores \fIn\fR - -1 consecutive \fIend-of-file\fRs and exits on the \fIn\fRth. (+) If -unset, `1' is used, i.e. the shell exits on a single `^D'. +1 consecutive \fIend-of-file\fRs and exits on the \fIn\fRth. (+) If +unset, `1' is used, i.e., the shell exits on a single `^D'. .TP 8 .B implicitcd \fR(+) If set, the shell treats a directory name typed as a command as though -it were a request to change to that directory. If set to \fIverbose\fR, -the change of directory is echoed to the standard output. This behavior +it were a request to change to that directory. If set to \fIverbose\fR, +the change of directory is echoed to the standard output. This behavior is inhibited in non-interactive shell scripts, or for command strings -with more than one word. Changing directory takes precedence over +with more than one word. Changing directory takes precedence over executing a like-named command, but it is done after alias -substitutions. Tilde and variable expansions work as expected. +substitutions. Tilde and variable expansions work as expected. .TP 8 .B inputmode \fR(+) If set to `insert' or `overwrite', puts the editor into that input mode at the beginning of each line. .TP 8 .B listflags \fR(+) -If set to `x', `a' or `A', or any combination thereof (e.g. `xA'), they +If set to `x', `a' or `A', or any combination thereof (e.g., `xA'), they are used as flags to \fIls\-F\fR, making it act like `ls \-xF', `ls -\-Fa', `ls \-FA' or a combination (e.g. `ls \-FxA'): `a' shows all +\-Fa', `ls \-FA' or a combination (e.g., `ls \-FxA'): `a' shows all files (even if they start with a `.'), `A' shows all files but `.' and `..', and `x' sorts across instead of down. If the second word of \fBlistflags\fR is set, it is used as the path to `ls(1)'. .TP 8 .B listjobs \fR(+) -If set, all jobs are listed when a job is suspended. If set to `long', +If set, all jobs are listed when a job is suspended. If set to `long', the listing is in long format. .TP 8 .B listlinks \fR(+) @@ -3797,7 +3823,7 @@ greater than its access time. .PD .PP If you are in a login shell, then no mail file is reported unless it has -been modified after the time the shell has started up, in order to prevent +been modified after the time the shell has started up, to prevent redundant notifications. Most login programs will tell you whether or not you have mail when you log in. .PP @@ -3845,12 +3871,12 @@ If set, a \fBFilename substitution\fR or \fBDirectory stack substitution\fR (q.v.) which does not match any existing files is left untouched rather than causing an error. It is still an error for the substitution to be -malformed, e.g. `echo [' still gives an error. +malformed, e.g., `echo [' still gives an error. .TP 8 .B nostat \fR(+) A list of directories (or glob-patterns which match directories; see \fBFilename substitution\fR) that should not be \fIstat\fR(2)ed during a -completion operation. This is usually used to exclude directories which +completion operation. This is usually used to exclude directories which take too much time to \fIstat\fR(2), for example \fI/afs\fR. .TP 8 .B notify @@ -3858,7 +3884,7 @@ If set, the shell announces job completions asynchronously. The default is to present job completions just before printing a prompt. .TP 8 .B oid \fR(+) -The user's real organization ID. (Domain/OS only) +The user's real organization ID. (Domain/OS only) .TP 8 .B owd \fR(+) The old working directory, equivalent to the `\-' used by \fIcd\fR and \fIpushd\fR. @@ -3897,7 +3923,7 @@ The current working directory. %~ The current working directory, but with one's home directory represented by `~' and other users' home directories represented by -`~user' as per \fBFilename substitution\fR. `~user' substitution +`~user' as per \fBFilename substitution\fR. `~user' substitution happens only if the shell has already used `~\fIuser\fR' in a pathname in the current session. .TP 4 @@ -3991,7 +4017,7 @@ for the superuser. %{\fIstring\fR%} Includes \fIstring\fR as a literal escape sequence. It should be used only to change terminal attributes and -should not move the cursor location. This +should not move the cursor location. This cannot be the last sequence in \fBprompt\fR. .TP 4 %? @@ -4003,11 +4029,11 @@ In \fBprompt3\fR, the corrected string. In \fBhistory\fR, the history string. .PD .PP -`%B', `%S', `%U' and `%{\fIstring\fR%}' are available only in +`%B', `%S', `%U' and `%{\fIstring\fR%}' are available in only eight-bit-clean shells; see the \fBversion\fR shell variable. .PP The bold, standout and underline sequences are often used to distinguish a -superuser shell. For example, +superuser shell. For example, .IP "" 4 > set prompt = "%m [%h] %B[%@]%b [%/] you rang? " .br @@ -4046,7 +4072,7 @@ possible. .TP 8 .B recognize_only_executables \fR(+) If set, command listing displays only files in the path that are -executable. Slow. +executable. Slow. .TP 8 .B rmstar \fR(+) If set, the user is prompted before `rm *' is executed. @@ -4056,7 +4082,7 @@ The string to print on the right-hand side of the screen (after the command input) when the prompt is being displayed on the left. It recognizes the same formatting characters as \fBprompt\fR. It will automatically disappear and reappear as necessary, to ensure that -command input isn't obscured, and will only appear if the prompt, +command input isn't obscured, and will appear only if the prompt, command input, and itself will fit together on the first line. If \fBedit\fR isn't set, then \fBrprompt\fR will be printed after the prompt and before the command input. @@ -4072,7 +4098,7 @@ If the first word is set to a number, at most that many lines are saved. (The number must be less than or equal to \fBhistory\fR.) If the second word is set to `merge', the history list is merged with the existing history file instead of replacing it (if there is one) and -sorted by time stamp and the most recent events are retained. (+) +sorted by time stamp and the most recent events are retained. (+) .TP 8 .B sched \fR(+) The format in which the \fIsched\fR builtin command prints scheduled events; @@ -4105,25 +4131,25 @@ resolution: .PP If set to `chase', whenever the current directory changes to a directory containing a symbolic link, it is expanded to the real name of the directory -to which the link points. This does not work for the user's home directory; +to which the link points. This does not work for the user's home directory; this is a bug. .PP If set to `ignore', the shell tries to construct a current directory relative to the current directory before the link was crossed. This means that \fIcd\fRing through a symbolic link and then `cd ..'ing -returns one to the original directory. This only affects builtin commands +returns one to the original directory. This affects only builtin commands and filename completion. .PP If set to `expand', the shell tries to fix symbolic links by actually expanding -arguments which look like path names. This affects any command, not just -builtins. Unfortunately, this does not work for hard-to-recognize filenames, -such as those embedded in command options. Expansion may be prevented by -quoting. While this setting is usually the most convenient, it is sometimes +arguments which look like path names. This affects any command, not just +builtins. Unfortunately, this does not work for hard-to-recognize filenames, +such as those embedded in command options. Expansion may be prevented by +quoting. While this setting is usually the most convenient, it is sometimes misleading and sometimes confusing when it fails to recognize an argument -which should be expanded. A compromise is to use `ignore' and use the +which should be expanded. A compromise is to use `ignore' and use the editor command \fInormalize-path\fR (bound by default to ^X-n) when necessary. .PP -Some examples are in order. First, let's set up some play directories: +Some examples are in order. First, let's set up some play directories: .IP "" 4 > cd /tmp .br @@ -4133,7 +4159,7 @@ Some examples are in order. First, let's set up some play directories: .PP Here's the behavior with \fBsymlinks\fR unset, .IP "" 4 -> cd /tmp/to/dist; echo $cwd +> cd /tmp/to/dist; echo $cwd .br /tmp/to/dist .br @@ -4197,15 +4223,15 @@ The version number of the shell in the format `R.VV.PP', where `R' is the major release number, `VV' the current version and `PP' the patchlevel. .TP 8 -.B term -The terminal type. Usually set in \fI~/.login\fR as described under +.B term +The terminal type. Usually set in \fI~/.login\fR as described under \fBStartup and shutdown\fR. .TP 8 .B time If set to a number, then the \fItime\fR builtin (q.v.) executes automatically after each command which takes more than that many CPU seconds. If there is a second word, it is used as a format string for the output -of the \fItime\fR builtin. (u) The following sequences may be used in the +of the \fItime\fR builtin. (u) The following sequences may be used in the format string: .PP .RS +8 @@ -4324,8 +4350,8 @@ command to be printed, after history substitution (if any). Set by the \fB\-v\fR command line option. .TP 8 .B version \fR(+) -The version ID stamp. It contains the shell's version number (see \fBtcsh\fR), -origin, release date, vendor, operating system and machine (see \fBVENDOR\fR, +The version ID stamp. It contains the shell's version number (see \fBtcsh\fR), +origin, release date, vendor, operating system and machine (see \fBVENDOR\fR, \fBOSTYPE\fR and \fBMACHTYPE\fR) and a comma-separated list of options which were set at compile time. Options which are set by default in the distribution are noted. @@ -4384,7 +4410,7 @@ The shell attempts to set the \fBREMOTEHOST\fR environment variable .TP 4 afs The shell verifies your password with the kerberos server if local -authentication fails. The \fBafsuser\fR shell variable or the +authentication fails. The \fBafsuser\fR shell variable or the \fBAFSUSER\fR environment variable override your local username if set. .PD .PP @@ -4415,15 +4441,15 @@ For example, .IP "" 4 set watch = (1 any any) .PP -reports any login/logout once every minute. For the impatient, the \fIlog\fR -builtin command triggers a \fBwatch\fR report at any time. All current logins +reports any login/logout once every minute. For the impatient, the \fIlog\fR +builtin command triggers a \fBwatch\fR report at any time. All current logins are reported (as with the \fIlog\fR builtin) when \fBwatch\fR is first set. .PP The \fBwho\fR shell variable controls the format of \fBwatch\fR reports. .RE .TP 8 .B who \fR(+) -The format string for \fBwatch\fR messages. The following sequences +The format string for \fBwatch\fR messages. The following sequences are replaced by the given information: .PP .RS +8 @@ -4433,7 +4459,7 @@ are replaced by the given information: The name of the user who logged in/out. .TP 4 %a -The observed action, i.e. `logged on', `logged off' or `replaced \fIolduser\fR on'. +The observed action, i.e., `logged on', `logged off' or `replaced \fIolduser\fR on'. .TP 4 %l The terminal (tty) on which the user logged in/out. @@ -4447,7 +4473,7 @@ The hostname of the remote host up to the first `.'. The full name is printed if it is an IP address or an X Window System display. .PD .PP -%M and %m are available only on systems which store the remote hostname in +%M and %m are available on only systems that store the remote hostname in \fI/etc/utmp\fR. If unset, `%n has %a %l from %m.' is used, or `%n has %a %l.' on systems which don't store the remote hostname. @@ -4455,7 +4481,7 @@ which don't store the remote hostname. .TP 8 .B wordchars \fR(+) A list of non-alphanumeric characters to be considered part of a word by the -\fIforward-word\fR, \fIbackward-word\fR etc. editor commands. +\fIforward-word\fR, \fIbackward-word\fR etc., editor commands. If unset, `*?_\-.[]~=' is used. .SH ENVIRONMENT .TP 8 @@ -4463,7 +4489,7 @@ If unset, `*?_\-.[]~=' is used. Equivalent to the \fBafsuser\fR shell variable. .TP 8 .B COLUMNS -The number of columns in the terminal. See \fBTerminal management\fR. +The number of columns in the terminal. See \fBTerminal management\fR. .TP 8 .B DISPLAY Used by X Window System (see \fIX\fR(1)). @@ -4486,7 +4512,7 @@ is running, as determined by the \fIgethostname\fR(2) system call. .TP 8 .B HOSTTYPE \fR(+) Initialized to the type of machine on which the shell -is running, as determined at compile time. This variable is obsolete and +is running, as determined at compile time. This variable is obsolete and will be removed in a future version. .TP 8 .B HPATH \fR(+) @@ -4502,7 +4528,7 @@ If set, only ctype character handling is changed. See \fBNative Language System support\fR. .TP 8 .B LINES -The number of lines in the terminal. See \fBTerminal management\fR. +The number of lines in the terminal. See \fBTerminal management\fR. .TP 8 .B LS_COLORS The format of this variable is reminiscent of the \fBtermcap(5)\fR @@ -4528,7 +4554,7 @@ rc m Right code ec (none) End code (replaces lc+no+rc) .fi .PP -You only need to include the variables you want to change from +You need to include only the variables you want to change from the default. .PP File names can also be colorized based on filename extension. @@ -4539,13 +4565,13 @@ This would color all files ending in \fB.c\fR in blue (34) color. .PP Control characters can be written either in C\-style\-escaped notation, or in stty\-like ^\-notation. The C\-style notation -adds \fB^[\fR for Escape, \fB\_\fR for a normal space characer, +adds \fB^[\fR for Escape, \fB\_\fR for a normal space character, and \fB?\fR for Delete. In addition, the \fB^[\fR escape character can be used to override the default interpretation of \fB^[\fR, \fB^\fR, \fB:\fR and \fB=\fR. .PP Each file will be written as \fB<lc>\fR \fB<color-code>\fR -\fB<rc>\fR \fB<filename>\fR \fB<ec>\fR. If the \fB<ec>\fR +\fB<rc>\fR \fB<filename>\fR \fB<ec>\fR. If the \fB<ec>\fR code is undefined, the sequence \fB<lc>\fR \fB<no> \fB<rc>\fR will be used instead. This is generally more convenient to use, but less general. The left, right and end codes are @@ -4555,7 +4581,7 @@ need to change them at all unless your terminal does not use ISO 6429 color sequences but a different system. .PP If your terminal does use ISO 6429 color codes, you can -compose the type codes (i.e. all except the \fBlc\fR, \fBrc\fR, +compose the type codes (i.e., all except the \fBlc\fR, \fBrc\fR, and \fBec\fR codes) from numerical commands separated by semicolons. The most common commands are: .PP @@ -4651,20 +4677,20 @@ updated only after an actual directory change. .TP 8 .B REMOTEHOST \fR(+) The host from which the user has logged in remotely, if this is the case and -the shell is able to determine it. Set only if the shell was so compiled; +the shell is able to determine it. Set only if the shell was so compiled; see the \fBversion\fR shell variable. .TP 8 .B SHLVL \fR(+) Equivalent to the \fBshlvl\fR shell variable. .TP 8 .B SYSTYPE \fR(+) -The current system type. (Domain/OS only) +The current system type. (Domain/OS only) .TP 8 .B TERM Equivalent to the \fBterm\fR shell variable. .TP 8 .B TERMCAP -The terminal capability string. See \fBTerminal management\fR. +The terminal capability string. See \fBTerminal management\fR. .TP 8 .B USER Equivalent to the \fBuser\fR shell variable. @@ -4685,7 +4711,7 @@ ConvexOS, Stellix and Intel use \fI/etc/cshrc\fR and NeXTs use \fI/etc/cshrc.std\fR. A/UX, AMIX, Cray and IRIX have no equivalent in \fIcsh\fR(1), but read this file in \fItcsh\fR anyway. -Solaris 2.x does not have it either, but \fItcsh\fR reads \fI/etc/.cshrc\fR. (+) +Solaris 2.x does not have it either, but \fItcsh\fR reads \fI/etc/.cshrc\fR. (+) .TP 16 .I /etc/csh.login Read by login shells after \fI/etc/csh.cshrc\fR. @@ -4721,7 +4747,7 @@ ConvexOS, Stellix and Intel use \fI/etc/logout\fR and NeXTs use \fI/etc/logout.std\fR. A/UX, AMIX, Cray and IRIX have no equivalent in \fIcsh\fR(1), but read this file in \fItcsh\fR anyway. -Solaris 2.x does not have it either, but \fItcsh\fR reads \fI/etc/.cshrc\fR. (+) +Solaris 2.x does not have it either, but \fItcsh\fR reads \fI/etc/.cshrc\fR. (+) .TP 16 .I ~/.logout Read by login shells at logout after \fI/etc/csh.logout\fR or its equivalent. @@ -4744,7 +4770,7 @@ but experienced \fIcsh\fR(1) users will want to pay special attention to \fItcsh\fR's new features. .PP A command-line editor, which supports GNU Emacs or \fIvi\fR(1)-style -key bindings. See \fBThe command-line editor\fR and \fBEditor commands\fR. +key bindings. See \fBThe command-line editor\fR and \fBEditor commands\fR. .PP Programmable, interactive word completion and listing. See \fBCompletion and listing\fR and the \fIcomplete\fR and \fIuncomplete\fR @@ -4757,7 +4783,7 @@ typed commands, including documentation lookup (\fIrun-help\fR), quick editor restarting (\fIrun-fg-editor\fR) and command resolution (\fIwhich-command\fR). .PP -An enhanced history mechanism. Events in the history list are time-stamped. +An enhanced history mechanism. Events in the history list are time-stamped. See also the \fIhistory\fR command and its associated shell variables, the previously undocumented `#' event specifier and new modifiers under \fBHistory substitution\fR, @@ -4771,7 +4797,7 @@ shell variables, the description of \fBDirectory stack substitution\fR, the \fBdirstack\fR, \fBowd\fR and \fBsymlinks\fR shell variables and the \fInormalize-command\fR and \fInormalize-path\fR editor commands. .PP -Negation in glob-patterns. See \fBFilename substitution\fR. +Negation in glob-patterns. See \fBFilename substitution\fR. .PP New \fBFile inquiry operators\fR (q.v.) and a \fIfiletest\fR builtin which uses them. @@ -4786,7 +4812,7 @@ OS variant features (see \fBOS variant support\fR and the \fBecho_style\fR shell variable) and system-dependent file locations (see \fBFILES\fR). .PP -Extensive terminal-management capabilities. See \fBTerminal management\fR. +Extensive terminal-management capabilities. See \fBTerminal management\fR. .PP New builtin commands including \fIbuiltins\fR, \fIhup\fR, \fIls\-F\fR, \fInewgrp\fR, \fIprintenv\fR, \fIwhich\fR and \fIwhere\fR (q.v.). @@ -4802,18 +4828,18 @@ A new syntax for including useful information in the prompt string and special prompts for loops and spelling correction (see \fBprompt2\fR and \fBprompt3\fR). .PP -Read-only variables. See \fBVariable substitution\fR. +Read-only variables. See \fBVariable substitution\fR. .SH BUGS When a suspended command is restarted, the shell prints the directory -it started in if this is different from the current directory. This can -be misleading (i.e. wrong) as the job may have changed directories internally. +it started in if this is different from the current directory. This can +be misleading (i.e., wrong) as the job may have changed directories internally. .PP Shell builtin functions are not stoppable/restartable. Command sequences of the form `a ; b ; c' are also not handled gracefully when stopping is attempted. If you suspend `b', the shell will then immediately execute `c'. This is especially noticeable if this expansion results from an -\fIalias\fR. It suffices to place the sequence of commands in ()'s to force it -to a subshell, i.e. `( a ; b ; c )'. +\fIalias\fR. It suffices to place the sequence of commands in ()'s to force it +to a subshell, i.e., `( a ; b ; c )'. .PP Control over tty output after processes are started is primitive; perhaps this will inspire someone to work on a good virtual terminal interface. @@ -4834,7 +4860,7 @@ It should be possible to use the `:' modifiers on the output of command substitutions. .PP The screen update for lines longer than the screen width is very poor -if the terminal cannot move the cursor up (i.e. terminal type `dumb'). +if the terminal cannot move the cursor up (i.e., terminal type `dumb'). .PP \fBHPATH\fR and \fBNOREBIND\fR don't need to be environment variables. .PP @@ -4845,34 +4871,35 @@ The single-command form of \fIif\fR does output redirection even if the expression is false and the command is not executed. .PP \fIls\-F\fR includes file identification characters when sorting filenames -and does not handle control characters in filenames well. It cannot be +and does not handle control characters in filenames well. It cannot be interrupted. .PP -Report bugs to tcsh-bugs@mx.gw.com, preferably with fixes. If you want to +Report bugs to tcsh-bugs@mx.gw.com, preferably with fixes. If you want to help maintain and test tcsh, send mail to listserv@mx.gw.com with the text -`subscribe tcsh <your name>' on a line by itself in the body. You can +`subscribe tcsh <your name>' on a line by itself in the body. You can also `subscribe tcsh-bugs <your name>' to get all bug reports, or `subscribe tcsh-diffs <your name>' to get the development list plus diffs for each patchlevel. .SH THE T IN TCSH -In 1964, DEC produced the PDP-6. The PDP-10 was a later re-implementation. It +In 1964, DEC produced the PDP-6. The PDP-10 was a later re-implementation. It was re-christened the DECsystem-10 in 1970 or so when DEC brought out the second model, the KI10. .PP -TENEX was created at Bolt, Beranek & Newman (a Cambridge, Mass. think tank) in -1972 as an experiment in demand-paged virtual memory operating systems. They -built a new pager for the DEC PDP-10 and created the OS to go with it. It was +TENEX was created at Bolt, Beranek & Newman (a Cambridge, Massachusetts +think tank) in +1972 as an experiment in demand-paged virtual memory operating systems. They +built a new pager for the DEC PDP-10 and created the OS to go with it. It was extremely successful in academia. .PP In 1975, DEC brought out a new model of the PDP-10, the KL10; they intended to have only a version of TENEX, which they had licensed from BBN, for the new -box. They called their version TOPS-20 (their capitalization is trademarked). +box. They called their version TOPS-20 (their capitalization is trademarked). A lot of TOPS-10 users (`The OPerating System for PDP-10') objected; thus DEC found themselves supporting two incompatible systems on the same hardware--but then there were 6 on the PDP-11! .PP TENEX, and TOPS-20 to version 3, had command completion -via a user-code-level subroutine library called ULTCMD. With version 3, DEC +via a user-code-level subroutine library called ULTCMD. With version 3, DEC moved all that capability and more into the monitor (`kernel' for you Unix types), accessed by the COMND% JSYS (`Jump to SYStem' instruction, the supervisor call mechanism [are my IBM roots also showing?]). @@ -4899,7 +4926,7 @@ pipe(2), setrlimit(2), sigvec(2), stat(2), umask(2), vfork(2), wait(2), malloc(3), setlocale(3), tty(4), a.out(5), termcap(5), environ(7), termio(7), Introduction to the C Shell .SH VERSION -This manual documents tcsh 6.09.00 (Astron) 1999-08-16. +This manual documents tcsh 6.09.01 (Astron) 2000-01-14. .SH AUTHORS .PD 0 .TP 2 @@ -4956,7 +4983,7 @@ Matt Landau, BBN, 1989 \fI~/.tcshrc\fR .TP 2 Ray Moody, Purdue Physics, 1989 -Magic spacebar history expansion +Magic space bar history expansion .TP 2 Mordechai ????, Intel, 1989 printprompt() fixes and additions @@ -5032,7 +5059,7 @@ Scott Bolte, Cray Computer Corp., 1992 CSOS port .TP 2 Kaveh R. Ghazi, Rutgers University, 1992 -Tek, m88k, Titan and Masscomp ports and fixes. Added autoconf support. +Tek, m88k, Titan and Masscomp ports and fixes. Added autoconf support. .TP 2 Mark Linderman, Cornell University, 1992 OS/2 port @@ -5044,7 +5071,7 @@ Tim P. Starrin, NASA Langley Research Center Operations, 1993 Read-only variables .TP 2 Dave Schweisguth, Yale University, 1993-4 -New manpage and tcsh.man2html +New man page and tcsh.man2html .TP 2 Larry Schwimmer, Stanford University, 1993 AFS and HESIOD patches diff --git a/contrib/tcsh/tw.color.c b/contrib/tcsh/tw.color.c index a252a8d8df3e..dd34e6f2e5ef 100644 --- a/contrib/tcsh/tw.color.c +++ b/contrib/tcsh/tw.color.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/tw.color.c,v 1.5 1998/10/25 15:10:48 christos Exp $ */ +/* $Header: /src/pub/tcsh/tw.color.c,v 1.6 2000/01/14 22:57:30 christos Exp $ */ /* * tw.color.c: builtin color ls-F */ @@ -36,7 +36,7 @@ */ #include "sh.h" -RCSID("$Id: tw.color.c,v 1.5 1998/10/25 15:10:48 christos Exp $") +RCSID("$Id: tw.color.c,v 1.6 2000/01/14 22:57:30 christos Exp $") #include "tw.h" #include "ed.h" @@ -181,6 +181,7 @@ parseLS_COLORS(value) const Char *v; /* pointer in value */ char *c; /* pointer in colors */ Extension *e; /* pointer in extensions */ + jmp_buf_t osetexit; /* init */ if (extensions) @@ -209,6 +210,12 @@ parseLS_COLORS(value) c = colors; e = &extensions[0]; + /* Prevent from crashing if unknown parameters are given. */ + + getexit(osetexit); + + if (setexit() == 0) { + /* parse */ while (*v) { switch (*v & CHAR) { @@ -246,6 +253,9 @@ parseLS_COLORS(value) while (*v && (*v & CHAR) != ':') v++; } + } + + resexit(osetexit); nextensions = (int) (e - extensions); } diff --git a/contrib/tcsh/tw.help.c b/contrib/tcsh/tw.help.c index 87c691d38643..972a0fe368c3 100644 --- a/contrib/tcsh/tw.help.c +++ b/contrib/tcsh/tw.help.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/tw.help.c,v 3.16 1999/05/11 13:08:03 christos Exp $ */ +/* $Header: /src/pub/tcsh/tw.help.c,v 3.17 2000/01/14 22:57:30 christos Exp $ */ /* tw.help.c: actually look up and print documentation on a file. * Look down the path for an appropriate file, then print it. * Note that the printing is NOT PAGED. This is because the @@ -39,7 +39,7 @@ */ #include "sh.h" -RCSID("$Id: tw.help.c,v 3.16 1999/05/11 13:08:03 christos Exp $") +RCSID("$Id: tw.help.c,v 3.17 2000/01/14 22:57:30 christos Exp $") #include "tw.h" #include "tc.h" @@ -152,6 +152,7 @@ static sigret_t cleanf(snum) int snum; { + USE(snum); #ifdef UNRELSIGS if (snum) (void) sigset(SIGINT, cleanf); diff --git a/contrib/tcsh/tw.parse.c b/contrib/tcsh/tw.parse.c index 90b4ae8be34d..af3f1338df64 100644 --- a/contrib/tcsh/tw.parse.c +++ b/contrib/tcsh/tw.parse.c @@ -1,4 +1,4 @@ -/* $Header: /src/pub/tcsh/tw.parse.c,v 3.86 1998/10/25 15:10:52 christos Exp $ */ +/* $Header: /src/pub/tcsh/tw.parse.c,v 3.87 2000/01/14 22:57:30 christos Exp $ */ /* * tw.parse.c: Everyone has taken a shot in this futile effort to * lexically analyze a csh line... Well we cannot good @@ -39,7 +39,7 @@ */ #include "sh.h" -RCSID("$Id: tw.parse.c,v 3.86 1998/10/25 15:10:52 christos Exp $") +RCSID("$Id: tw.parse.c,v 3.87 2000/01/14 22:57:30 christos Exp $") #include "tw.h" #include "ed.h" @@ -529,6 +529,9 @@ insert_meta(cp, cpend, word, closequotes) int qu = 0; int ndel = (int) (cp ? cpend - cp : 0); Char w, wq; +#ifdef DSPMBYTE + int mbytepos = 1; +#endif /* DSPMBYTE */ for (bptr = buffer, wptr = word;;) { if (bptr > buffer + 2 * FILSIZ - 5) @@ -536,6 +539,9 @@ insert_meta(cp, cpend, word, closequotes) if (cp >= cpend) in_sync = 0; +#ifdef DSPMBYTE + if (mbytepos == 1) +#endif /* DSPMBYTE */ if (in_sync && !cmap(qu, _ESC) && cmap(*cp, _QF|_ESC)) if (qu == 0 || qu == *cp) { qu ^= *cp; @@ -549,6 +555,10 @@ insert_meta(cp, cpend, word, closequotes) wq = w & QUOTE; w &= ~QUOTE; +#ifdef DSPMBYTE + if (mbytepos == 2) + goto mbyteskip; +#endif /* DSPMBYTE */ if (cmap(w, _ESC | _QF)) wq = QUOTE; /* quotes are always quoted */ @@ -590,9 +600,18 @@ insert_meta(cp, cpend, word, closequotes) *bptr++ = '\\'; *bptr++ = w; } else { +#ifdef DSPMBYTE + mbyteskip: +#endif /* DSPMBYTE */ if (in_sync && *cp++ != w) in_sync = 0; *bptr++ = w; +#ifdef DSPMBYTE + if (mbytepos == 1 && Ismbyte1(w)) + mbytepos = 2; + else + mbytepos = 1; +#endif /* DSPMBYTE */ } wptr++; if (cmap(qu, _ESC)) |