FAQ revision 69408
1295367Sdes
276259SgreenLast Updated: 
365668SkrisFri Aug 25 13:27:45 EDT 2000
465668Skris
565668SkrisThis is for people who do not read the manual!
665668Skris
765668SkrisSo far people who don't read manuals don't read this either... I may
865668Skriscall it README.*PLEASE* in the future, but then the same people won't
965668Skrisbe able to get ftp it... :-)
1065668Skris
1165668Skris1.  Why is the meta key broken in tcsh-5.20 and up? 
1265668Skris
1365668Skris    On some machines the tty is not set up to pass 8 bit characters by default.
1458582Skris    Tcsh 5.19 used to try to determine if pass8 should be set by looking at
1558582Skris    the terminal's meta key. Unfortunately there is no good way of determining
1658582Skris    if the terminal can really pass 8 characters or not. Consider if you are
1758582Skris    logged in through a modem line with 7 bits and parity and your terminal 
18204917Sdes    has a meta key. Then tcsh 5.19 would set wrongly set pass8.
1958582Skris
2076259Sgreen    If you did like the previous behavior you can add in /etc/csh.login, or
21221420Sdes    in .login:
22221420Sdes
23221420Sdes    if ( $?tcsh && $?prompt ) then
24221420Sdes	if ( "`echotc meta`" == "yes" ) then
25221420Sdes	     stty pass8
26221420Sdes	endif
27221420Sdes    endif
28221420Sdes
29295367Sdes    If you don't have pass8, maybe something like
30221420Sdes
31221420Sdes	stty -parity -evenp -oddp cs8 -istrip   (rs6000)
32221420Sdes    or
33221420Sdes	stty -parenb -istrip cs8 
34221420Sdes    
35221420Sdes    would work..
36221420Sdes
37221420Sdes    Finally, tcsh will bind all printable meta characters to the self
38295367Sdes    insert command. If you don't want that to happen (i.e. use the printable
39221420Sdes    meta characters for commands) setenv NOREBIND.
40221420Sdes
41221420Sdes2.  I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in cbreak 
42221420Sdes    and no echo mode?
43295367Sdes
44295367Sdes    These programs are broken. Background jobs should not try to look at the
45295367Sdes    tty. What happens is that dbxtool looks in stderr to inherit the tty
4658582Skris    setups, but tcsh sets up the tty in cbreak and -echo modes, so that it
47295367Sdes    can do line editing. This cannot be fixed because tcsh cannot give away
48295367Sdes    the tty. A work-around is:
49295367Sdes
50295367Sdes    dbxtool < /dev/null >& /dev/null &
51146998Sdes    or
52146998Sdes    /usr/etc/setsid dbxtool &
53146998Sdes
54204917Sdes    If that does not work, for dbxtool at least you can add "sh stty sane"
55204917Sdes    in your .dbxinit
56204917Sdes
57146998Sdes3.  I tried to compile tcsh and it cannot find <locale.h>?
58146998Sdes
59295367Sdes    Your system does not support NLS. Undefine NLS in config_f.h and it
60295367Sdes    should work fine.
61295367Sdes
62295367Sdes4.  Where can I get csh sources? 
63295367Sdes
64295367Sdes    Csh sources are now available with the 4.4BSD networking distributions.
65295367Sdes    You don't need csh sources to compile tcsh-6.0x.
66295367Sdes
67295367Sdes5.  I just made tcsh my login shell, and I cannot ftp any more?
68295367Sdes
69295367Sdes    Newer versions of the ftp daemon check for the validity of the
70295367Sdes    user's shell before they allow logins. The list of valid login
71295367Sdes    shells is either hardcoded or it is usually in a file called
72295367Sdes    /etc/shells. If it is hard-coded, then you are out of luck and
73295367Sdes    your best bet is to get a newer version of ftpd. Otherwise add
74295367Sdes    tcsh to the list of shells. [For AIX this file is called 
75295367Sdes    /etc/security/login.cfg]. Remember that the full path is required.
76295367Sdes    If there is no /etc/shells, and you are creating one, remember to
77295367Sdes    add /bin/csh, /bin/sh, and any other valid shells for your system,
78295367Sdes    so that other people can ftp too :-)
79295367Sdes
80295367Sdes6.  I am using SunView/OpenWindows and editing is screwed up. In 
81295367Sdes    particular my arrow keys and backspace don't work right. What 
82295367Sdes    am I doing wrong?
83295367Sdes
84295367Sdes    Well, cmdtool tries to do its own command line editing and the
85295367Sdes    effect you get is one of using an editor inside an editor. Both
86295367Sdes    try to interpret the arrow key sequences and cmdtool wins since
87295367Sdes    it gets them first. The solutions are in my order of preference:
88295367Sdes
89295367Sdes	1 Don't use suntools
90295367Sdes	2 Use shelltool instead of cmdtool.
91295367Sdes	3 Unset edit in tcsh.
92295367Sdes
93295367Sdes6b. On a SPARCstation running Solaris 2.x and OpenWindows 3.1,
94295367Sdes    inside a cmdtool, the short-cut key sequence to clear log
95295367Sdes    (i.e. Meta-e or Diamond-e) doesn't work: it just echos 'e'
96295367Sdes
97295367Sdes6c. On a SPARCstation running Solaris 2.x and OpenWindows 3.1,
98295367Sdes    maketool (within SPARCworks) doesn't work: it just does
99295367Sdes    a `cd' to the working directory then stops.
100295367Sdes
101295367Sdes    The workaround for 6b and 6c is doing "unset edit."
102295367Sdes    Using shelltool instead of cmdtool doesn't fix 6c.
103295367Sdes
104295367Sdes7.  I rlogin to another machine, and then no matter what I tell 'stty'
105295367Sdes    I cannot get it to pass 8 bit characters?
106295367Sdes
107295367Sdes    Maybe you need to use 'rlogin -8' to tell rlogin to pass 8 
10858582Skris    bit characters.
109
1108.  Where do I get the public domain directory library?
111  
112    Anonymous ftp to prep.ai.mit.edu:/pub/gnu/dirent.tar.Z
113
1149.  I compiled tcsh using gcc, and when I start up it says:
115    tcsh: Warning no access to tty (Invalid Argument).
116    Thus no job control in this shell
117
118    Your <sys/ioctl.h> file is not ansi compliant. You have one of 3 choices:
119	a. Run fixincludes from the gcc distribution.
120	b. Add -traditional to the gcc flags.
121	c. Compile with cc.
122
12310. I compiled tcsh with the SunOS unbundled compiler and now things 
124    get echo'ed twice. 
125
126    It is a bug in the unbundled optimizer. Lower the optimization level.
127
12811. How can I use the arrow keys with hpterm?
129    Hp terminals use the arrow keys internally. You can tell hpterm not
130    to do that, by sending it the termcap sequence smkx. Since this
131    has to be done all the time, the easiest thing is to put it as an
132    alias for precmd, or inside the prompt:
133
134    if ($term == "hp") then
135	set prompt="%{`echotc smkx`%}$prompt"
136    endif
137
138    Note that by doing that you cannot use pgup and pgdn to scroll...
139    Also if you are using termcap, replace "smkx" with "ks"...
140
14112. On POSIX machines ^C and ^Z will do not work when tcsh is a login
142    shell?
143    Make sure that the interrupt character is set to ^C and suspend
144    is set to ^Z; 'stty -a' will show you the current stty settings;
145    'stty intr ^C susp ^Z' will set them to ^C and ^Z respectively.
146
14713. I am trying to compile tcsh and I am getting compile errors that
148    look like:
149
150    >sh.c:???: `STR???' undeclared, outside of functions [gcc]
151    or
152    >"sh.c", line ???: STR??? undefined [cc]
153
154    You interrupted make, while it was making the automatically
155    generated headers. Type 'make clean; make'
156
15714. On the cray, sometimes the CR/LF mapping gets screwed up.
158
159    You are probably logged in to the cray via telnet. Cray's
160    telnetd implements line mode selection the telnet client
161    you are using does not implement telnet line mode.
162    This cause the Cray's telnetd to try to use KLUDGELINEMODE.
163    You can turn off telnet line mode from the cray side by 
164    doing a "stty -extproc", or you can get the Cray AIC to build
165    a telnetd without KLUDGELINEMODE, or you can compile
166    a new telnet client (from the BSD net2 tape), or at least
167    on the suns use: 'mode character'.
168
169
17015. On AU/X, I made tcsh my startup shell, but the mac desktop is not
171    starting up (no X11 or Finder), and I only get console emulation.
172
173    This is another manifestation of item 5. Just add the pathname
174    to tcsh in /etc/shells and everything should work fine.
175
17616. On machines that use YP (NIS) tilde expansion might end up in /dev/null
177    If this happens complain to your vendor, to get a new version of NIS.
178    You can fix that in tcsh by defining YPBUGS in config.h
179
18017. Script on SGI 4.0.5 does not give us a tty, so we cannot have job
181    control. Their csh does not have job control either. Try:
182	% script
183	% cat > /dev/tty
184
18518. I start tcsh and it takes a couple of minutes to get the prompt.
186    You have defined REMOTEHOST and your DNS is not responding. Either
187    undefine REMOTEHOST and recompile or fix your DNS.
188
18919. If you need help generating your .cshrc file, check out:
190	http://www.imada.ou.dk/~blackie/dotfile/
191
19220. On POSIX systems the kernel will send hup signals to all the processes
193    in the foreground process group if 'stty hupcl' is set. For example
194    ./tcsh
195    echo $$
196    591
197    ./tcsh
198    kill -6 591
199
200    Will kill everything, since hup will be sent to all tcsh processes.
201    To avoid that you can set stty -hupcl, but it is not recommended.
202
20321. When I rsh the meta key stops working on the remote machine.
204
205    Try using rsh -8; this option is undocumented on some systems,
206    but it works. If that does not work, get and use ssh/sshd. You'll
207    be better off from a security point of view anyway.
208
20922. Tcsh compiled under hp/ux-10.x does not pass resource limits correctly
210    when ran on hp/ux-11.x systems. This is a problem with lack of ABI
211    compatibility between the two systems. The only solution is to recompile.
212
213christos
214
215Everything else is a bug :-(
216