Quizzer

 view release on metacpan or  search on metacpan

exercises/compile-tcsh/tcsh-6.10.00/FAQ  view on Meta::CPAN

    If you don't have pass8, maybe something like

	stty -parity -evenp -oddp cs8 -istrip   (rs6000)
    or
	stty -parenb -istrip cs8 
    
    would work..

    Finally, tcsh will bind all printable meta characters to the self
    insert command. If you don't want that to happen (i.e. use the printable
    meta characters for commands) setenv NOREBIND.

2.  I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in cbreak 
    and no echo mode?

    These programs are broken. Background jobs should not try to look at the
    tty. What happens is that dbxtool looks in stderr to inherit the tty
    setups, but tcsh sets up the tty in cbreak and -echo modes, so that it
    can do line editing. This cannot be fixed because tcsh cannot give away
    the tty. A work-around is:

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

 52. nonstopux configure and makefile fixes (Tom Bates)
 51. V6.09.04 - 20001111
 50. Order of initialization for multibyte display was wrong 
     (HyunChul Kim)
 49. Follow the guideline for linux for japanese locale:
     http://www.linux.or.jp/JF/JFdocs/Japanese-Locale-Policy.txt
     (Tomohiro KUBOTA)
 48. Ukrainian nls map (Olexander Kunytsa)
 47. exit immeditiately if we get an error while we are setting up
     (Michael Shalayeff)
 46. (unset path; unsetenv PATH; rehash) -> crash (Kent Vander Velden)
 45. change winnt to winnt_native (Randolph Fritz)
 44. Support home/end in the editor (Andrey A. Chernov)
 43. Typo s/gycwin/cygwin/ in tc.os.h (Andreas Schott)
 42. Alpha ev6 addition (Karen R. McArthur)
 41. DSPMBYTE patch from (Issei Suzuki)
 40. Security fix for here-doc tmp files (proton@ENERGYMECH.NET)
 39. Fix resource limit rounding *again* (Johannes Gross)
 38. Fix $ expansion in prompt (Takashi Sumiyoshi)
 37. V6.09.03 - 20000715
 36. cygwin port fixes (Arihiro Yoshida)

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

 46. typos in ja/set1 and ja/set29 (Yoshiyuki Sakakibara)
 45. "dspmbyte autoset trap" support to HP-UX 10.20. (Yoshiyuki Sakakibara)
 44. misnumbered NLS message in tw.help.c (Yoshiyuki Sakakibara)
 43. colorcat variable for NLS color messages (Yoshiyuki Sakakibara)
 42. autoconf fixes from Kaveh (and if it broke, me)
 41. SGI irix fixes from Glenn Coombs.
 40. Don't spin writing the history file when quota is exceeded (Rob McMahon)
 39. V6.08.04 - 19990419
 38. complete additions (John Gotts)
 37. Port to amiga with geek gadgets (Arto Huusko)
 36. Ignore case in setenv for windows (amol)
 35. Bug fixes for NT unc stuff (amol)
 34. Hash spell check (amol)
 33. V6.08.03 - 19990211
 32. Helpcommand documentation (Vladimir Alexiev)
 31. small Y2K fix [%y in prompt would be formatted as 10 not 00 at year 2000],
     and new Itoa() code (Chris Torek)
 30. OpenBSD m68k patches (Paul DuBois)
 29. Avoid redefinition of getpeername on Solaris-2.7
 28. fix problems with savedups=erase, savehist=merge (Randy Gobbel)
 27. Don't set $shell to csh, if we were invoked as tcsh (Tomas Persson)

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

 93. V6.07.12 - 19980918
 92. add cray in configure script (Tom)
 91. nls fixes
 90. Avoid buffer overflows in directory code (kim)
 89. Add multibyte character display support (Yoshiyuki Sakakibara)
 88. Make tcsh use getcwd instead of getwd and supply a getcwd.
 87. Fix remotehost again (kim)
 86. V6.07.11 - 19980913
 85. Leave remotehost ip addresses alone (don't try to resolve them) (Kim)
 84. Read vs. force_read fixes (Amol)
 83. Make colorls if color is set before the first LS_COLORS setenv
     (Taga Nayuta)
 82. Use _PATH_DEFPATH on BSD4_4 systems. (Jim Bernard)
 81. Cursor bounds checks (Michael Schroeder)
 80. Syntax error nits (Michael Schroeder)
 79. configure fixes (Michael Schroeder)
 78. V6.07.10 - 19980904
 77. Off by one error in NO_ERRORS...
 76. Japanese NLS messages (Yoshiyuki Sakakibara)
 75. Add ENXIO and EBADF in the test for write failures for Irix Zombies
     (Ralf W. Grosse-Kunstleve)

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

     were not properly parsed.
 43. SNI fixes from Martin Kraemer.
 42. SGI fixes from Ralf W. Grosse-Kunstleve.
 41. BSDI2.1 fixes from Paul Vixie.
 40. 6.06.03 - 09/24/96
 39. undef TIOCGLTC for HP/UX 10.0 from Michael Shroeder
 38. Sinix fixes
 37. 6.06.02 - 06/22/96
 36. Added implicitcd
 35. Added configure.in and Makefile.in from Kaveh.
 34. unset path, unsetenv PATH, ./foo did not work.
 33. Add VAR_NOGLOB, and use it to avoid globbing directory names when
     cd'ing into them.
 32. Fix bug introduced in the new tty parsing code.
 31. Avoid pushing string back to the parsing string in ${ errors.
 30. Patches for the manual page from Dave.
 29. 6.06.01 - 05/24/96
 28. Use sysconf to get NCARGS if available Robert Daniel Kennedy
     <kennedy@b0ru01.fnal.gov>
 27. Grab the program name and use that instead of tcsh in error messages.
 26. Fix histdup, so that it does not leave gaps in the event sequence.

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

     message in the catalogs. Someone will need to retranslate #30 and #31
     in set23.
  3. Bug setting listflags... Workaround: set listflags=(A /bin/ls)
  2. Typo in Imakefile (# comment instead of c comment)
  1. Typo in ma.setp.c (missing parenthesis)


V6.06.00, 05/13/95
 88. Cleanup off-by-one error ed.defns.c.
 87. 6.05.09 - 05/06/95
 86. Small memory leak in dosetenv()
 85. Make sure that the number of editing functions defined is correct
     and abort otherwise.
 84. Completion Fixes from Tom
 83. Don't add yp stuff in the tilde cache [names that start with + or -]
 82. Don't let children catclose() in xexit(), because the parent will lose
     access to the nls catalogs. From Michael.
 81. 6.05.08 - 04/29/95
 80. Update to the newest csh sh.file.c
 79. More completions from Tom.
 78. Fix the Imakefile to use XCOMM

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

 79. Fix rounding in limits so that 0 is a true 0. 
     (From Ken Lalonde <ken@cs.berkeley.edu>)
 78. 6.04.09 03/12/94
 77. Alarm race with remotehost.
 76. If you have in your .cshrc 
	set savehist=(100 merge)
	and execute
	#!./tcsh
	exec ps
     you get no output; [fixed]
 75. setenv SHLVL -1; tcsh = Segmentation fault [fixed]
 74. 6.04.08 02/10/94
 73. new machtype, ostype, vendor
 72. execute .logout on hangup.
 71. more man page fixes.
 70. 6.04.07 02/04/94
 69. Dynamic hash changes, globbing for which command from Michael.
 68. INBUFSIZE fixes for history.
 67. printenv returns 1 when a variable is not found, like the non builtin one
 66. Add quotes to the mismatch array so that:
     > touch foo

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

 37. Default watch inteval was 10 hours not 10 minutes as advertized in the
     manual!
 36. Fixed clobbered veriable warning from gcc-1.39 in tw.parse.c
 35. Fixed typo with INVPTR in sh.lex.c
 34. 6.03.03 03/04/93
 33. Eliminate 'Reset tty pgrp error message'. It is normal for the
     walking process group stuff. Check about the killpg() above?
 32. More portability for 64 bit machines.
 31. Improved completion error messages.
 30. Fix bug with double globbing expansion on mirrored variables:
	> setenv TERM '?vt100'
 29. Avoid hanging when writing to pipes etc. (From Paul Close)
 28. Typo in the $HOME->$home mirroring.
 27. %p %P 'p'recise time formats that include seconds for prompt strings.
 26. Signal list fixes from Paul Close. nsig is now a variable.
 25. 6.03.02 02/12/93
 24. NEC SX3 "entry" is a reserved word!, changed entry to item...
     [this is as bad as cray typedefining "word" to int. Next thing I know,
      I'll have to prefix all the variables with tcsh_!]
 23. xxx
 22. Protected all include files to avoid warnings from lcc.
 21. Finally resolved the job control problems with linux and ISC (from Beto)
 20. More HUP,XFSZ,XCPU fixes. (with Beto)
 19. Dcanon would not canonicalize correctly in case where dnormalize()
     failed to find a directory, but the directory existed when not 
     crossing the symbolic link.
 18. sh.init.c fixes; give 65 signals for all POSIX machines.
 17. AMS mail fixes and cmu wm handling.
 16. Setenv would not ignore trim quoted names...
     > alias foo 'setenv "\!:1" bar'
     > setenv FOO 123
     > foo FOO
     > printenv
     ...
     FOO=123
     FOO=bar
     ...
 15. 6.03.01 08/01/93
 14. #undef SHORT_STRINGS gcc warning fixes...
 13. csh bug fix in foreach [quoteing problem]
     > foreach i ("*")

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

     Should print *
 12. ls-F obeys showdots...
 11. After scheduled commands get executed, the editor could stay disabled
     until the first enter.
 10. sigset() bug in ed.init.c; ^C could get disabled sometimes.
  9. Don't glob in dowhich(); otherwise \pat does not work if pat is aliased.
  8. When completion patterns are used $ and ~ expansion did not work right.
  7. Printenv builtin and long backquote expansion fix from Harald.
  6. $:-1, $:-0 enhancement from Paul and Michael.
  5. Lynx/OS patches
  4. Apollo bugs [Setenv -> tsetenv, typedef in pid_t]
  3. ^@ did not work correctly in bindkey.
  2. Fix vms/posix ifdefs in tc.alloc.c
  1. Elide gcc-2.3.1 warnings


V6.03.00, 11/20/92
102. Solaris2 patches, renamed sunosX to sosX to fit in 14 character filenames.
101. 6.02.12 11/12/92
100. Decreased BUFSIZE to 1K...
99. Don't use sbrk() in tc.alloc.c on VMS

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

    ^Z,^C # Nothing happens
56. history > 1000 fix (beto)
55. 6.02.07 9/18/92
54. Added e_stuff_char() to put back a character in cooked mode in
    the input stream... Useful for status (^T)
53. $? == $status and $# == $#argv like in the bourne shell.
52. Added $dirstack. Problems: off by one since =0 == $cwd, but 
    $dirstack[1] == $cwd... Suggestions welcome.
51. Leading spaces would confuse the run-help function.
50. Don't expand imported environment variables:
    > setenv HOME \*
    > tcsh
    > echo "$home"
    > echo "$HOME"
49. %C0n displays the number of directories omitted as /usr/local/bin /<2>bin/
48. Added POSIXSIGS as a configuration option.
47. Per's fixes for history format and arrow key binding.
46. Expand-variables expands array variables too
45. 6.02.06 8/14/92 
44. Separated limit stuff from BSDTIMES and added BSDLIMIT
43. History searching inconsistent with HistLit:

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

48. 6.01.07 (3/9/92)
47. New completion style. [[<pattern>[ ]],=<completion action>]
46. 6.01.06 (3/7/92)
45. complete styles are ignored after shell metachars eg.
    > complete mail =u
    > mail christos < [tab]
    completes filenames.
44. $echo_style is initialized to the default style of the machine.
43. SGI 4.0 CTRL() macro is busted. So we ignore it.
42. Fixed bug with the new margin code (thanks justin)
41. Fixed mirroring of variables. Now set and setenv affect
    HOME, TERM, PATH, SHLVL, USER and their csh counterparts. Unset affects
    affects only the csh copies of the variables, and unsetenv only the
    environment variables.
40. Fixed gcc-2.0 warnings in sh.sem.c (needed for vfork() -O2 optimization)
39. 6.01.05 (2/21/92)
38. signal masking for BSD machines was still wrong in tw.init.c
37. Added $margin_bug, and now the editor outputs on the rightmost 
    column by default. This should fix the xterm cut-n-paste problem.
36. AU/X 2.0 and SGI compiles with POSIX as a default now.
35. sysv_echo is gone too. Now we have a variable called echo_style
    which can be set to "none", "bsd", "sysv", "both" that defines
    the builtin echo_style. The default is "bsd" for systems with

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

22. Restore the original prompt in automatic correction when the user
    asks to re-edit the command.
21. Better error for unreadable files in tw.parse.c
20. Sequent patches.
19. (V6.00.08 beta 12/14/91)
18. Filenames containing # were spelled/expanded incorrectly.
17. Stellar/stellix port.
16. Hpux 8.0 has SIGWINDOW but we cannot get the window size. Protect
    against window changes updating $LINES and $COLUMNS.
15. Mach setpath did not work right.
14. Mach does not need setenv in lib; in fact that does not work right.
13. shell level gets decremented when we exec.
12. restart_fg_editor picked the wrong editor if arg contained a slash.
    e.g vi ~/.cshrc
11. (V6.00.07 beta 12/08/91)
10. Allow use of vfork() on systems that do not have job control.
9.  Avoid NUMCC from being defined twice.
8.  (V6.00.06 beta 12/05/91)
7.  SunOS3's FIOCLEX dups...
6.  Yet another globbing bug fix from Michael (echo .[^.])
5.  Ultrix now wants __ before cpp symbols.

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

    <abort>
38. Incorrect error when changing to directory:
    e.g.
    mkdir not-in-cd-path; chmod -x not-in-cd-path; cd not-in-cd-path;
    echoed:
       not-in-cd-path: No such file or directory.
    it should have said
       not-in-cd-path: Permission denied.
37. if ( \! =~ [\!] ) echo ok, did not echo ok. Quoting inside [] pattern.
36. More than 127 jobs caused job # to go negative
35. unsetenv <pattern> ... Added support for more than one pattern.
34. More background process status report fixes.
33. Apollo builtin support.
32. Glob fix. echo '*' * was not handled properly.
31. Glob fix. setenv FOO `sleep 1` would either cause a segmentation fault.
    or print ambiguous.
30. Glob fix. Quoted characters inside [] were not handled properly.
29. Removed TELL and VMUNIX defines. I think we cannot compile on V6 anyway
28. Overflow check for expansions.
27. Added matchbeep, shell pattern history searching.
26. Added code to handle /dev/std{in,out,err}
25. Fixed POSIX speed handling in raw mode.
24. Fixed a flushing bug in the filec code in sh.file.c
23. Compiled and added hp9000s700 to the list of hosts.
22. Fixed horrible bug in gmatch() 

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

13. A/UX fixes.
12. History events that start with a number are not necessarily numeric:
    > !3d
    3d: Event not fount
11. History loop detection added.
    > alias a \!#
    > b; a
10. Alias loop detection code was ineffective on eager optimizers.
 9. All errors should now go through our table. Next step we should
    add nls error messages.
 8. Unsetenv now globs its arguments! Before it did not...
 7. Added tilde cache and -l flag.
 6. Added autocorrect
 5. Fixed for so that background jobs in scripts get process groups
 4. Fixed amazing memory leak in setenv()...
 3. Added short2qstr() so that we can form quoted strings to be used with glob()
 2. str2short and short2str allocate space dynamically.
 1. Fixed bug related to the is*() routines called with shorts.
    [only if NLS and SHORT_STRINGS are defined].
    (The _ctype_ was getting indexed with shorts...)
 0. Complete overhaul. Brought in the 4.4 csh stuff. Separated most
    tcsh and csh code except where I would have to add more global
    variables. Compiled correctly with both lint and gcc -Wall on
    a sparc running 4.1

exercises/compile-tcsh/tcsh-6.10.00/Fixes  view on Meta::CPAN

    <stuck>
14. Exec when you have suspended jobs asks for verification.
13. Variable length fixes:
    >set abcdefghijklmnopqrstuvwxyz=1
    >echo $abcdefghijklmnopqrstuvwxyz
    abcdefghijklmnopqrs: Undefined variable
    Now we have better messages too...
12. Icon fixes...
11. Quote expanded glob and history chars too.
10. If someone sets SHIN to O_NDELAY we died... Now we set it back...
 9. unset path; unsetenv PATH; ls-F; (poof) fixed...
 8. Patches for masscomp, and ${var123} lexical analysis fix...
 7. Patch for sunview bug: A partially covered suntool sends SIGWINCH every
    time the text is scrolled, causing annoying redraw effects. Now tcsh
    checks if the size really changed before doing anything.
 6. Interrupt in the middle of cwdcmd, and periodic does not remove the
    aliases.
 5. prompt2 and prompt3 fixes:
    Prompt2 now prints the status of the parser by default.
    Prompt3 can now have the standard prompt escape sequences.
 4. eval file descriptor re-direction fix.

exercises/compile-tcsh/tcsh-6.10.00/complete.tcsh  view on Meta::CPAN

			      dfaxhigh dfaxlow laserjet ljet4 sparc pbm \
			      pbmraw pgm pgmraw ppm ppmraw bit)/' \
		'c/-sOutputFile=/f/' 'c/-s/(DEVICE OutputFile)/=' \
		'c/-d/(NODISPLAY NOPLATFONTS NOPAUSE)/' 'n/*/f/'
    complete perl	'n/-S/c/'
    complete printenv	'n/*/e/'
    complete sccs	p/1/"(admin cdc check clean comb deledit delget \
			delta diffs edit enter fix get help info \
			print prs prt rmdel sccsdiff tell unedit \
			unget val what)"/
    complete setenv	'p/1/e/' 'c/*:/f/'

    # these and method of setting hosts from Kimmo Suominen <kim@tac.nyc.ny.us>
    if ( -f $HOME/.mh_profile && -x "`which folders`" ) then 

    if ( ! $?FOLDERS ) setenv FOLDERS "`folders -fast -recurse`"
    if ( ! $?MHA )     setenv MHA     "`ali | sed -e '/^ /d' -e 's/:.*//'`"

    set folders = ( $FOLDERS )
    set mha = ( $MHA )

    complete ali \
        'c/-/(alias nolist list nonormalize normalize nouser user help)/' \
        'n,-alias,f,'

    complete anno \
        'c/-/(component noinplace inplace nodate date text help)/' \

exercises/compile-tcsh/tcsh-6.10.00/complete.tcsh  view on Meta::CPAN

    set _elispdir = /usr/local/share/emacs/20.7/lisp # GNU Emacs lisp directory
    set _maildir = /var/spool/mail  # Post Office: /var/spool/mail or /usr/mail
    set _ypdir  = /var/yp	# directory where NIS (YP) maps are kept
    set _domain = "`domainname`"

    # this one works but is slow and doesn't descend into subdirectories
    # complete	cd	C@[./\$~]*@d@ \
    #			p@1@'`\ls -1F . $cdpath | grep /\$ | sort -u`'@ n@*@n@

    if ( -r /etc/shells ) then
        complete setenv	p@1@e@ n@DISPLAY@\$hosts@: n@SHELL@'`cat /etc/shells`'@
    else
	complete setenv	p@1@e@ n@DISPLAY@\$hosts@:
    endif
    complete unsetenv	n/*/e/

    if (-r $HOME/.mailrc) then
        complete mail	c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
			c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
			n@-u@T:$_maildir@ n/-f/f/ \
			n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " "	" | cut -f 2`'@
    else
        complete mail	c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
			c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
			n@-u@T:$_maildir@ n/-f/f/ n/*/u/

exercises/compile-tcsh/tcsh-6.10.00/config/mach  view on Meta::CPAN

 */
#undef DIRENT
/****************** local defines *********************/
#ifdef NeXT
# define environ _environ
/* strcoll() on the NeXT appears to have 3 args, but only 2 args in tcsh src */
#define NOSTRCOLL
#else
# ifdef notdef
#  define SETENV_IN_LIB		/* read comment in sh.func.c */
#  define setenv(x,y) Setenv(x,y)
# endif
#endif

/* this define is necessary for NeXT users running 3.1 without  */
/* POSIX to avoid undefined symbols during final link */
/* You'll need to define __NeXT31__ */
#if defined(__NeXT31__) && !defined(POSIX)
# define _TERMIOS_H_
#endif /* __NeXT31__  && !POSIX */

exercises/compile-tcsh/tcsh-6.10.00/csh-mode.el  view on Meta::CPAN



;;
;; ----------------------------------------> Variables controlling fontification
;;
(defvar csh-keywords '("@" "alias" "bg" "break" "breaksw" "case" "cd" "chdir" 
		       "continue" "default" "dirs" "echo" "else" "end" "endif"
		       "endsw" "eval" "exec" "exit" "fg" "foreach" "glob" "goto"
		       "hashstat" "history" "if" "jobs" "kill" "limit" "login"
		       "logout" "limit" "notify" "onintr" "popd" "printenv"
		       "pushd" "rehash" "repeat" "set" "setenv" "shift" "source"
		       "stop" "suspend" "switch" "then" "time" "umask" "unalias"
		       "unhash" "unlimit" "unset" "unsetenv" "wait" "while"
		       ;; tcsh-keywords
		       "alloc" "bindkey" "builtins" "complete" "echotc"
		       "filetest" "hup" "log" "ls-F" "nice" "nohup" "sched"
		       "settc" "setty" "telltc" "uncomplete" "where" "which"))

(require 'font-lock)  ; need to do this before referring to font-lock-* below

(defconst csh-font-lock-keywords
  ;; NOTE:  The order of some of the items in this list is significant.  Do not
  ;;        alphabetize or otherwise blindly rearrange.

exercises/compile-tcsh/tcsh-6.10.00/csh-mode.el  view on Meta::CPAN

   '("^#.*" 0 font-lock-comment-face)

   ;; Label definitions (1 means first parenthesized exp in regexp).
   '("^\\s *\\([^!#$\n ]+\\):" 1 font-lock-function-name-face)
  
   ;; Label references.
   '("\\b\\(goto\\|onintr\\)\\b\\s +\\([^!#$ \n\t]+\\)"
     2 font-lock-function-name-face)
  
   ;; Variable settings.
   '("\\(@\\|set\\|setenv\\)\\s +\\([0-9A-Za-z_]+\\b\\)"
     2 font-lock-variable-name-face)
   
   ;; Variable references not inside of strings.
   '("\\$[][0-9A-Za-z_#:?]+" 0 font-lock-variable-name-face)

   ;; Backquoted strings.  'keep' means to just fontify non-fontified text.
   '("`\\(.*\\)`" 1 font-lock-reference-face keep)

   ;; NOTE:  The following variables need to be anchored to the beginning of
   ;;        line to prevent re-fontifying text in comments.  Due to this, we

exercises/compile-tcsh/tcsh-6.10.00/ed.screen.c  view on Meta::CPAN

     * the kernel's notion of the terminal size might be wrong we arrive
     * here with lines = columns = 0. If we reset the environment we lose
     * our only chance to get the window size right.
     */
    if (Val(T_co) == cols && Val(T_li) == lins) {
	Char    buf[10];
	char   *tptr;

	if (getenv("COLUMNS")) {
	    (void) Itoa(Val(T_co), buf, 0, 0);
	    tsetenv(STRCOLUMNS, buf);
	}

	if (getenv("LINES")) {
	    (void) Itoa(Val(T_li), buf, 0, 0);
	    tsetenv(STRLINES, buf);
	}

	if ((tptr = getenv("TERMCAP")) != NULL) {
	    /* Leave 64 characters slop in case we enlarge the termcap string */
	    Char    termcap[1024+64], backup[1024+64], *ptr;
	    int     i;

	    ptr = str2short(tptr);
	    (void) Strncpy(termcap, ptr, 1024);
	    termcap[1023] = '\0';

exercises/compile-tcsh/tcsh-6.10.00/ed.screen.c  view on Meta::CPAN

		(void) Itoa(Val(T_li), buf, 0, 0);
		(void) Strcat(termcap, buf);
		ptr = Strchr(ptr, ':');
		(void) Strcat(termcap, ptr);
	    }
	    /*
	     * Chop the termcap string at 1024 characters to avoid core-dumps
	     * in the termcap routines
	     */
	    termcap[1023] = '\0';
	    tsetenv(STRTERMCAP, termcap);
	}
    }
#endif /* KNOWsize */

    ReBufferDisplay();		/* re-make display buffers */
    ClearDisp();
}

exercises/compile-tcsh/tcsh-6.10.00/eight-bit.me  view on Meta::CPAN

.pp
(Disclaimer: This is really a sketch of an approach rather
than a "how-to" document.
Also, it is mostly relevant to Swedish X Window users...)

.pp
The way I use this facility at present is to add lines such as the following
to my .cshrc:

.nf 
setenv NOREBIND
setenv LC_CTYPE iso_8859_1
foreach key ( \\\\304 \\\\305 \\\\326 \\\\344 \\\\345 \\\\366 )
   bindkey $key self-insert-command
end
.fi

.pp
Note that if I used a system with a reasonably complete NLS
(and a tcsh compiled to use it),
all of the above could be replaced with simply setting the LANG environment
variable to an appropriate value - the NLS would then indicate exactly which

exercises/compile-tcsh/tcsh-6.10.00/host.defs  view on Meta::CPAN

#endif
#ifndef _ostype_
    ostype = "unknown";
#endif
#ifndef _vendor_
    vendor = "unknown";
#endif
#ifndef _machtype_
    machtype = "unknown";
#endif
    tsetenv(STRHOSTTYPE, str2short(hosttype));
    tsetenv(STRVENDOR,   str2short(vendor));
    tsetenv(STROSTYPE,   str2short(ostype));
    tsetenv(STRMACHTYPE, str2short(machtype));
} /* end setmachine */
endcode	:

exercises/compile-tcsh/tcsh-6.10.00/sh.c  view on Meta::CPAN

	cus = getenv("USER");
	if (cus != NULL)
	    set(STRuser, quote(SAVE(cus)), VAR_READWRITE);
	else if (cln != NULL)
	    set(STRuser, quote(SAVE(cln)), VAR_READWRITE);
	else if ((pw = getpwuid(uid)) == NULL)
	    set(STRuser, SAVE("unknown"), VAR_READWRITE);
	else
	    set(STRuser, SAVE(pw->pw_name), VAR_READWRITE);
	if (cln == NULL)
	    tsetenv(STRLOGNAME, varval(STRuser));
	if (cus == NULL)
	    tsetenv(STRKUSER, varval(STRuser));
	
	cgr = getenv("GROUP");
	if (cgr != NULL)
	    set(STRgroup, quote(SAVE(cgr)), VAR_READWRITE);
	else if ((gr = getgrgid(gid)) == NULL)
	    set(STRgroup, SAVE("unknown"), VAR_READWRITE);
	else
	    set(STRgroup, SAVE(gr->gr_name), VAR_READWRITE);
	if (cgr == NULL)
	    tsetenv(STRKGROUP, varval(STRgroup));
    }

    /*
     * HOST may be wrong, since rexd transports the entire environment on sun
     * 3.x Just set it again
     */
    {
	char    cbuff[MAXHOSTNAMELEN];

	if (gethostname(cbuff, sizeof(cbuff)) >= 0) {
	    cbuff[sizeof(cbuff) - 1] = '\0';	/* just in case */
	    tsetenv(STRHOST, str2short(cbuff));
	}
	else
	    tsetenv(STRHOST, str2short("unknown"));
    }


#ifdef REMOTEHOST
    /*
     * Try to determine the remote host we were logged in from.
     */
    remotehost();
#endif /* REMOTEHOST */
 
#ifdef apollo
    if ((tcp = getenv("SYSTYPE")) == NULL)
	tcp = "bsd4.3";
    tsetenv(STRSYSTYPE, quote(str2short(tcp)));
#endif /* apollo */

    /*
     * set editing on by default, unless running under Emacs as an inferior
     * shell.
     * We try to do this intelligently. If $TERM is available, then it
     * should determine if we should edit or not. $TERM is preserved
     * across rlogin sessions, so we will not get confused if we rlogin
     * under an emacs shell. Another advantage is that if we run an
     * xterm under an emacs shell, then the $TERM will be set to 

exercises/compile-tcsh/tcsh-6.10.00/sh.c  view on Meta::CPAN

		break;

#ifdef apollo
	    case 'D':		/* -D	Define environment variable */
		{
		    register Char *dp;

		    cp = str2short(tcp);
		    if (dp = Strchr(cp, '=')) {
			*dp++ = '\0';
			tsetenv(cp, dp);
		    }
		    else
			tsetenv(cp, STRNULL);
		}
		*tcp = '\0'; 	/* done with this argument */
		break;
#endif /* apollo */

	    case 'e':		/* -e	Exit on any error */
		exiterr = 1;
		break;

	    case 'f':		/* -f	Fast start */

exercises/compile-tcsh/tcsh-6.10.00/sh.decls.h  view on Meta::CPAN

/*
 * sh.file.c
 */
#ifdef FILEC
extern	int		  tenex		__P((Char *, int));
#endif

/*
 * sh.func.c
 */
extern	void		  tsetenv	__P((Char *, Char *));
extern	void		  Unsetenv	__P((Char *));
extern	void		  doalias	__P((Char **, struct command *));
extern	void		  dobreak	__P((Char **, struct command *));
extern	void		  docontin	__P((Char **, struct command *));
extern	void		  doecho	__P((Char **, struct command *));
extern	void		  doelse	__P((Char **, struct command *));
extern	void		  doend		__P((Char **, struct command *));
extern	void		  doeval	__P((Char **, struct command *));
extern	void		  doexit	__P((Char **, struct command *));
extern	void		  doforeach	__P((Char **, struct command *));
extern	void		  doglob	__P((Char **, struct command *));

exercises/compile-tcsh/tcsh-6.10.00/sh.decls.h  view on Meta::CPAN

extern	void		  dologout	__P((Char **, struct command *));
#ifdef NEWGRP
extern	void		  donewgrp	__P((Char **, struct command *));
#endif
extern	void		  donohup	__P((Char **, struct command *));
extern	void		  dohup		__P((Char **, struct command *));
extern	void		  doonintr	__P((Char **, struct command *));
extern	void		  doprintenv	__P((Char **, struct command *));
extern	void		  dorepeat	__P((Char **, struct command *));
extern	void		  dofiletest	__P((Char **, struct command *));
extern	void		  dosetenv	__P((Char **, struct command *));
extern	void		  dosuspend	__P((Char **, struct command *));
extern	void		  doswbrk	__P((Char **, struct command *));
extern	void		  doswitch	__P((Char **, struct command *));
extern	void		  doumask	__P((Char **, struct command *));
extern	void		  dounlimit	__P((Char **, struct command *));
extern	void		  dounsetenv	__P((Char **, struct command *));
extern	void		  dowhile	__P((Char **, struct command *));
extern	void		  dozip		__P((Char **, struct command *));
extern	void		  func		__P((struct command *, 
					     struct biltins *));
extern	void		  gotolab	__P((Char *));
extern struct biltins 	 *isbfunc	__P((struct command *));
extern	void		  prvars	__P((void));
extern	int		  srchx		__P((Char *));
extern	void		  unalias	__P((Char **, struct command *));
extern	void		  wfree		__P((void));

exercises/compile-tcsh/tcsh-6.10.00/sh.dir.c  view on Meta::CPAN

dset(dp)
Char *dp;
{
    /*
     * Don't call set() directly cause if the directory contains ` or
     * other junk characters glob will fail. 
     */
    set(STRowd, Strsave(varval(STRcwd)), VAR_READWRITE|VAR_NOGLOB);
    set(STRcwd, Strsave(dp), VAR_READWRITE|VAR_NOGLOB);

    tsetenv(STRPWD, dp);
}

#define DIR_PRINT	0x01	/* -p */
#define DIR_LONG  	0x02	/* -l */
#define DIR_VERT  	0x04	/* -v */
#define DIR_LINE  	0x08	/* -n */
#define DIR_SAVE 	0x10	/* -S */
#define DIR_LOAD	0x20	/* -L */
#define DIR_CLEAR	0x40	/* -c */
#define DIR_OLD	  	0x80	/* - */

exercises/compile-tcsh/tcsh-6.10.00/sh.func.c  view on Meta::CPAN

    }
    else
	set(STRstatus, Strsave(STR1), VAR_READWRITE);
}

/* from "Karl Berry." <karl%mote.umb.edu@relay.cs.net> -- for NeXT things
   (and anything else with a modern compiler) */

/*ARGSUSED*/
void
dosetenv(v, c)
    register Char **v;
    struct command *c;
{
    Char   *vp, *lp;

    USE(c);
    if (*++v == 0) {
	doprintenv(--v, 0);
	return;
    }

    vp = *v++;

    if ((lp = *v++) == 0)
	lp = STRNULL;

    tsetenv(vp, lp = globone(lp, G_APPEND));
    if (eq(vp, STRKPATH)) {
	importpath(lp);
	dohash(NULL, NULL);
	xfree((ptr_t) lp);
	return;
    }

#ifdef apollo
    if (eq(vp, STRSYSTYPE)) {
	dohash(NULL, NULL);

exercises/compile-tcsh/tcsh-6.10.00/sh.func.c  view on Meta::CPAN

	xfree((ptr_t) lp);
	ed_Init();
	return;
    }
#endif /* SIG_WINDOW */
    xfree((ptr_t) lp);
}

/*ARGSUSED*/
void
dounsetenv(v, c)
    register Char **v;
    struct command *c;
{
    Char  **ep, *p, *n;
    int     i, maxi;
    static Char *name = NULL;

    USE(c);
    if (name)
	xfree((ptr_t) name);

exercises/compile-tcsh/tcsh-6.10.00/sh.func.c  view on Meta::CPAN

		if (!Gmatch(name, *v))
		    continue;
		maxi = 1;

		/* Unset the name. This wasn't being done until
		 * later but most of the stuff following won't
		 * work (particularly the setlocale() and getenv()
		 * stuff) as intended until the name is actually
		 * removed. (sg)
		 */
		Unsetenv(name);

		if (eq(name, STRNOREBIND)) {
		    NoNLSRebind = 0;
		    MapsAreInited = 0;
		    NLSMapsAreInited = 0;
		    ed_InitMaps();
		}
#ifdef apollo
		else if (eq(name, STRSYSTYPE))
		    dohash(NULL, NULL);

exercises/compile-tcsh/tcsh-6.10.00/sh.func.c  view on Meta::CPAN

#endif /* COLOR_LS_F */
		/*
		 * start again cause the environment changes
		 */
		break;
	    }
    xfree((ptr_t) name); name = NULL;
}

void
tsetenv(name, val)
    Char   *name, *val;
{
#ifdef SETENV_IN_LIB
/*
 * XXX: This does not work right, since tcsh cannot track changes to
 * the environment this way. (the builtin setenv without arguments does
 * not print the right stuff neither does unsetenv). This was for Mach,
 * it is not needed anymore.
 */
#undef setenv
    char    nameBuf[BUFSIZE];
    char   *cname = short2str(name);

    if (cname == NULL)
	return;
    (void) strcpy(nameBuf, cname);
    setenv(nameBuf, short2str(val), 1);
#else /* !SETENV_IN_LIB */
    register Char **ep = STR_environ;
    register Char *cp, *dp;
    Char   *blk[2];
    Char  **oep = ep;

#ifdef WINNT_NATIVE
	nt_set_env(name,val);
#endif /* WINNT_NATIVE */
    for (; *ep; ep++) {

exercises/compile-tcsh/tcsh-6.10.00/sh.func.c  view on Meta::CPAN

    xfree((ptr_t) cp);
    blk[1] = 0;
    STR_environ = blkspl(STR_environ, blk);
    blkfree((Char **) environ);
    environ = short2blk(STR_environ);
    xfree((ptr_t) oep);
#endif /* SETENV_IN_LIB */
}

void
Unsetenv(name)
    Char   *name;
{
    register Char **ep = STR_environ;
    register Char *cp, *dp;
    Char **oep = ep;

#ifdef WINNT_NATIVE
	nt_set_env(name,NULL);
#endif /*WINNT_NATIVE */
    for (; *ep; ep++) {

exercises/compile-tcsh/tcsh-6.10.00/sh.init.c  view on Meta::CPAN

    { "popd",		dopopd,		0,	INF	},
    { "printenv",	doprintenv,	0,	1	},
    { "pushd",		dopushd,	0,	INF	},
    { "rehash",		dohash,		0,	3	},
    { "repeat",		dorepeat,	2,	INF	},
#ifdef apollo
    { "rootnode",	dorootnode,	1,	1	},
#endif /* apollo */
    { "sched",		dosched,	0,	INF	},
    { "set",		doset,		0,	INF	},
    { "setenv",		dosetenv,	0,	2	},
#ifdef MACH
    { "setpath",	dosetpath,	0,	INF	},
#endif	/* MACH */
#ifdef TCF
    { "setspath",	dosetspath,	1,	INF	},
#endif /* TCF */
    { "settc",		dosettc,	2,	2	},
    { "setty", 		dosetty,	0,      INF	},
#ifdef TCF
    { "setxvers",	dosetxvers,	0,	1	},

exercises/compile-tcsh/tcsh-6.10.00/sh.init.c  view on Meta::CPAN

    { "unalias",	unalias,	1,	INF	},
    { "uncomplete",	douncomplete,	1,	INF	},
    { "unhash",		dounhash,	0,	0	},
#if defined(masscomp) || defined(_CX_UX)
    { "universe",	douniverse,	0,	INF	},
#endif /* masscomp || _CX_UX */
#ifndef HAVENOLIMIT
    { "unlimit",	dounlimit,	0,	INF	},
#endif /* !HAVENOLIMIT */
    { "unset",		unset,		1,	INF	},
    { "unsetenv",	dounsetenv,	1,	INF	},
#ifdef apollo
    { "ver",		dover,		0,	INF	},
#endif /* apollo */
    { "wait",		dowait,		0,	0	},
#ifdef WARP
    { "warp",		dowarp,		0,	2	},
#endif /* WARP */
#if !defined(HAVENOUTMP) && defined(KAI)
    { "watchlog",	dolog,		0,	0	},
#endif /* !HAVENOUTMP && KAI */

exercises/compile-tcsh/tcsh-6.10.00/sh.proc.c  view on Meta::CPAN

	if (t->t_dflg & F_NICE) {
	    int nval = SIGN_EXTEND_CHAR(t->t_nice);
#ifdef BSDNICE
	    (void) setpriority(PRIO_PROCESS, 0, nval);
#else /* !BSDNICE */
	    (void) nice(nval);
#endif /* !BSDNICE */
	}
#ifdef F_VER
        if (t->t_dflg & F_VER) {
	    tsetenv(STRSYSTYPE, t->t_systype ? STRbsd43 : STRsys53);
	    dohash(NULL, NULL);
	}
#endif /* F_VER */
#ifdef SIGSYNCH
	/* rfw 8/89 now parent can continue */
	if (kill(getppid(), SIGSYNCH))
	    stderror(ERR_SYSTEM, "pfork child: kill", strerror(errno));
#endif /* SIGSYNCH */

    }

exercises/compile-tcsh/tcsh-6.10.00/sh.sem.c  view on Meta::CPAN

		    if (t->t_dflg & F_NICE) {
			int nval = SIGN_EXTEND_CHAR(t->t_nice);
# ifdef BSDNICE
			(void) setpriority(PRIO_PROCESS, 0, nval);
# else /* !BSDNICE */
			(void) nice(nval);
# endif /* BSDNICE */
		    }
# ifdef F_VER
		    if (t->t_dflg & F_VER) {
			tsetenv(STRSYSTYPE, t->t_systype ? STRbsd43 : STRsys53);
			dohash(NULL, NULL);
		    }
# endif /* F_VER */
		}

	    }
#endif /* VFORK */
	}
	if (pid != 0) {
	    /*

exercises/compile-tcsh/tcsh-6.10.00/sh.set.c  view on Meta::CPAN

    else if (eq(vp, STRpromptchars)) {
	register Char *pn = varval(vp);

	PRCH = *pn++;
	PRCHROOT = *pn;
    }
    else if (eq(vp, STRhistlit)) {
	HistLit = 1;
    }
    else if (eq(vp, STRuser)) {
	tsetenv(STRKUSER, varval(vp));
	tsetenv(STRLOGNAME, varval(vp));
    }
    else if (eq(vp, STRgroup)) {
	tsetenv(STRKGROUP, varval(vp));
    }
    else if (eq(vp, STRwordchars)) {
	word_chars = varval(vp);
    }
    else if (eq(vp, STRloginsh)) {
	loginsh = 1;
    }
    else if (eq(vp, STRsymlinks)) {
	register Char *pn = varval(vp);

exercises/compile-tcsh/tcsh-6.10.00/sh.set.c  view on Meta::CPAN

	    symlinks = SYM_IGNORE;
	else if (eq(pn, STRexpand))
	    symlinks = SYM_EXPAND;
	else if (eq(pn, STRchase))
	    symlinks = SYM_CHASE;
	else
	    symlinks = 0;
    }
    else if (eq(vp, STRterm)) {
	Char *cp = varval(vp);
	tsetenv(STRKTERM, cp);
#ifdef DOESNT_WORK_RIGHT
	cp = getenv("TERMCAP");
	if (cp && (*cp != '/'))	/* if TERMCAP and not a path */
	    Unsetenv(STRTERMCAP);
#endif /* DOESNT_WORK_RIGHT */
	GotTermCaps = 0;
	if (noediting && Strcmp(cp, STRnetwork) != 0 &&
	    Strcmp(cp, STRunknown) != 0 && Strcmp(cp, STRdumb) != 0) {
	    editing = 1;
	    noediting = 0;
	    set(STRedit, Strsave(STRNULL), VAR_READWRITE);
	}
	ed_Init();		/* reset the editor */
    }

exercises/compile-tcsh/tcsh-6.10.00/sh.set.c  view on Meta::CPAN

	cp = Strsave(varval(vp));	/* get the old value back */

	/*
	 * convert to cononical pathname (possibly resolving symlinks)
	 */
	cp = dcanon(cp, cp);

	set(vp, Strsave(cp), VAR_READWRITE);	/* have to save the new val */

	/* and now mirror home with HOME */
	tsetenv(STRKHOME, cp);
	/* fix directory stack for new tilde home */
	dtilde();
	xfree((ptr_t) cp);
    }
    else if (eq(vp, STRedit)) {
	editing = 1;
	noediting = 0;
	/* PWP: add more stuff in here later */
    }
    else if (eq(vp, STRshlvl)) {
	tsetenv(STRKSHLVL, varval(vp));
    }
    else if (eq(vp, STRbackslash_quote)) {
	bslash_quote = 1;
    }
    else if (eq(vp, STRdirstack)) {
	dsetstack();
    }
    else if (eq(vp, STRrecognize_only_executables)) {
	tw_cmd_free();
    }

exercises/compile-tcsh/tcsh-6.10.00/sh.set.c  view on Meta::CPAN

		xprintf(CGETS(18, 1,
			      "Warning: ridiculously long PATH truncated\n"));
		break;
	      }
	    }
	    (void) Strcat(exppath, *val++);
	    if (*val == 0 || eq(*val, STRRparen))
	      break;
	    (void) Strcat(exppath, STRsep);
	  }
  tsetenv(STRKPATH, exppath);
  free(exppath);
}

#ifndef lint
 /*
  * Lint thinks these have null effect
  */
 /* macros to do single rotations on node p */
# define rright(p) (\
	t = (p)->v_left,\

exercises/compile-tcsh/tcsh-6.10.00/tc.func.c  view on Meta::CPAN

    if ((cp = getenv("SHLVL")) != NULL) {

	if (loginsh)
	    val = 1;
	else
	    val += atoi(cp);

	if (val <= 0) {
	    if (adrof(STRshlvl) != NULL)
		unsetv(STRshlvl);
	    Unsetenv(STRKSHLVL);
	}
	else {
	    Char    buff[BUFSIZE];

	    (void) Itoa(val, buff, 0, 0);
	    set(STRshlvl, Strsave(buff), VAR_READWRITE);
	    tsetenv(STRKSHLVL, buff);
	}
    }
    else {
	set(STRshlvl, SAVE("1"), VAR_READWRITE);
	tsetenv(STRKSHLVL, str2short("1"));
    }
}


/* fixio():
 *	Try to recover from a read error
 */
int
fixio(fd, e)
    int fd, e;

exercises/compile-tcsh/tcsh-6.10.00/tc.func.c  view on Meta::CPAN

		    else
			host = hp->h_name;
#endif
		}
	    }
	}
    }
#endif

    if (host)
	tsetenv(STRREMOTEHOST, str2short(host));

#if defined(UTHOST) && !defined(HAVENOUTMP)
    if (sptr)
	*sptr = ':';
#endif
}


/*
 * From: <lesv@ppvku.ericsson.se> (Lennart Svensson)

exercises/compile-tcsh/tcsh-6.10.00/tc.os.c  view on Meta::CPAN

    }

    for (i = 0; i < npaths; i++) {
	Char	*val, *name;

	name = str2short(cpaths[i]);
	for (val = str2short(cpaths[i]); val && *val && *val != '='; val++);
	if (val && *val == '=') {
	    *val++ = '\0';

	    tsetenv(name, val);
	    if (Strcmp(name, STRKPATH) == 0) {
		importpath(val);
		if (havhash)
		    dohash(NULL, NULL);
	    }
	    *--val = '=';
	}
    }
    (void) sigsetmask(omask);
    donefds();

exercises/compile-tcsh/tcsh-6.10.00/tc.os.c  view on Meta::CPAN

{
#if defined(NLS) && !defined(NOSTRCOLL)
    /*
     * SunOS4 checks the file descriptor from openlocale() for <= 0
     * instead of == -1. Someone should tell sun that file descriptor 0
     * is valid! Our portable hack: open one so we call it with 0 used...
     * We have to call this routine every time the locale changes...
     *
     * Of course it also tries to free the constant locale "C" it initially
     * had allocated, with the sequence 
     * > setenv LANG "fr"
     * > ls^D
     * > unsetenv LANG
     * But we are smarter than that and just print a warning message.
     */
    int fd = -1;
    static char *root = "/";

    if (!didfds)
	fd = open(root, O_RDONLY);

    (void) strcoll(root, root);

exercises/compile-tcsh/tcsh-6.10.00/tc.os.c  view on Meta::CPAN

    Char *p;

    setname(short2str(*v++));
    if (!*v) {
	if (!(p = tgetenv(STRSYSTYPE)))
	    stderror(ERR_NAME | ERR_STRING,
		     CGETS(23, 29, "System type is not set"));
	xprintf("%S\n", p);
    }
    else {
	tsetenv(STRSYSTYPE, getv(*v) ? STRbsd43 : STRsys53);
	dohash(NULL, NULL);
    }
}

/*
 * Many thanks to rees@citi.umich.edu (Jim Rees) and
 *                mathys@ssdt-tempe.sps.mot.com (Yves Mathys)
 * For figuring out how to do this... I could have never done
 * it without their help.
 */

exercises/compile-tcsh/tcsh-6.10.00/tcsh.man  view on Meta::CPAN

.br
% man !$:t:r
.br
man wumpus
.PP
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
.br
> setenv PATH !$:h:$PATH
.br
Bad ! modifier: $.
.br
> setenv PATH !{\-2$:h}:$PATH
.br
setenv PATH /usr/games:/bin:/usr/bin:.
.PP
The first attempt would succeed in \fIcsh\fR but fails in \fItcsh\fR,
because \fItcsh\fR expects another modifier after the second colon
rather than `$'.
.PP
Finally, history can be accessed through the editor as well as through
the substitutions just described.
The \fIup-\fR and \fIdown-history\fR, \fIhistory-search-backward\fR and
\fI-forward\fR, \fIi-search-back\fR and \fI-fwd\fR,
\fIvi-search-back\fR and \fI-fwd\fR, \fIcopy-prev-word\fR

exercises/compile-tcsh/tcsh-6.10.00/tcsh.man  view on Meta::CPAN

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.
.SS "Variable substitution"
The shell maintains a list of variables, each of which has as value a list of
zero or more words.
The values of shell variables can be displayed and changed with the
\fIset\fR and \fIunset\fR commands.
The system maintains its own list of ``environment'' variables.
These can be displayed and changed with \fIprintenv\fR, \fIsetenv\fR and
\fIunsetenv\fR.
.PP
(+) Variables may be made read-only with `set \-r' (q.v.)
Read-only variables may not be modified or unset;
attempting to do so will cause an error.
Once made read-only, a variable cannot be made writable,
so `set \-r' should be used with caution.
Environment variables cannot be made read-only.
.PP
Some variables are set by the shell or referred to by it.
For instance, the \fBargv\fR variable is an image of the shell's argument

exercises/compile-tcsh/tcsh-6.10.00/tcsh.man  view on Meta::CPAN

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
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
`~' is followed by a character other than a letter or `/' or appears elsewhere
than at the beginning of a word, it is left undisturbed.
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
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
of patterns) which matches nothing is left unchanged rather than causing
an error.
.PP

exercises/compile-tcsh/tcsh-6.10.00/tcsh.man  view on Meta::CPAN

make \fIname\fR read-only at the same time.
.PD
.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
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.
.TP 8
.B setenv \fR[\fIname \fR[\fIvalue\fR]]
Without arguments, prints the names and values of all environment variables.
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)
.TP 8
.B setspath\fR LOCAL|\fIsite\fR|\fIcpu\fR ...  (+)
Sets the system execution path.  (TCF only)
.TP 8

exercises/compile-tcsh/tcsh-6.10.00/tcsh.man  view on Meta::CPAN

specified, all \fIresource\fR limitations.
With \fB\-h\fR, the corresponding hard limits are removed.
Only the super-user may do this.
.TP 8
.B unset \fIpattern
Removes all variables whose names match \fIpattern\fR, unless they are read-only.
`unset *' thus removes all variables unless they are read-only;
this is a bad idea.
It is not an error for nothing to be \fIunset\fR.
.TP 8
.B unsetenv \fIpattern
Removes all environment variables whose names match \fIpattern\fR.
`unsetenv *' thus removes all environment variables;
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'.
(Domain/OS only)
.TP 8
.B wait
The shell waits for all background jobs.  If the shell is interactive, an
interrupt will disrupt the wait and cause the shell to print the names and job



( run in 1.090 second using v1.01-cache-2.11-cpan-a1d94b6210f )