xref: /freebsd/contrib/tcsh/FAQ (revision 5b91eb6c7850266a36d39ddf0038ce0be891cc0d)
1
2Last Updated:
3Fri Aug 25 13:27:45 EDT 2000
4
5This is for people who do not read the manual!
6
7So far people who don't read manuals don't read this either... I may
8call it README.*PLEASE* in the future, but then the same people won't
9be able to get ftp it... :-)
10
111.  Why is the meta key broken in tcsh-5.20 and up?
12
13    On some machines the tty is not set up to pass 8 bit characters by default.
14    Tcsh 5.19 used to try to determine if pass8 should be set by looking at
15    the terminal's meta key. Unfortunately there is no good way of determining
16    if the terminal can really pass 8 characters or not. Consider if you are
17    logged in through a modem line with 7 bits and parity and your terminal
18    has a meta key. Then tcsh 5.19 would set wrongly set pass8.
19
20    If you did like the previous behavior you can add in /etc/csh.login, or
21    in .login:
22
23    if ( $?tcsh && $?prompt ) then
24	if ( "`echotc meta`" == "yes" ) then
25	     stty pass8
26	endif
27    endif
28
29    If you don't have pass8, maybe something like
30
31	stty -parity -evenp -oddp cs8 -istrip   (rs6000)
32    or
33	stty -parenb -istrip cs8
34
35    would work..
36
37    Finally, tcsh will bind all printable meta characters to the self
38    insert command. If you don't want that to happen (i.e. use the printable
39    meta characters for commands) setenv NOREBIND.
40
412.  I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in cbreak
42    and no echo mode?
43
44    These programs are broken. Background jobs should not try to look at the
45    tty. What happens is that dbxtool looks in stderr to inherit the tty
46    setups, but tcsh sets up the tty in cbreak and -echo modes, so that it
47    can do line editing. This cannot be fixed because tcsh cannot give away
48    the tty. A work-around is:
49
50    dbxtool < /dev/null >& /dev/null &
51    or
52    /usr/etc/setsid dbxtool &
53
54    If that does not work, for dbxtool at least you can add "sh stty sane"
55    in your .dbxinit
56
573.  I tried to compile tcsh and it cannot find <locale.h>?
58
59    Your system does not support NLS. Undefine NLS in config_f.h and it
60    should work fine.
61
624.  Where can I get csh sources?
63
64    Csh sources are now available with the 4.4BSD networking distributions.
65    You don't need csh sources to compile tcsh-6.0x.
66
675.  I just made tcsh my login shell, and I cannot ftp any more?
68
69    Newer versions of the ftp daemon check for the validity of the
70    user's shell before they allow logins. The list of valid login
71    shells is either hardcoded or it is usually in a file called
72    /etc/shells. If it is hard-coded, then you are out of luck and
73    your best bet is to get a newer version of ftpd. Otherwise add
74    tcsh to the list of shells. [For AIX this file is called
75    /etc/security/login.cfg]. Remember that the full path is required.
76    If there is no /etc/shells, and you are creating one, remember to
77    add /bin/csh, /bin/sh, and any other valid shells for your system,
78    so that other people can ftp too :-)
79
806.  I am using SunView/OpenWindows and editing is screwed up. In
81    particular my arrow keys and backspace don't work right. What
82    am I doing wrong?
83
84    Well, cmdtool tries to do its own command line editing and the
85    effect you get is one of using an editor inside an editor. Both
86    try to interpret the arrow key sequences and cmdtool wins since
87    it gets them first. The solutions are in my order of preference:
88
89	1 Don't use suntools
90	2 Use shelltool instead of cmdtool.
91	3 Unset edit in tcsh.
92
936b. On a SPARCstation running Solaris 2.x and OpenWindows 3.1,
94    inside a cmdtool, the short-cut key sequence to clear log
95    (i.e. Meta-e or Diamond-e) doesn't work: it just echos 'e'
96
976c. On a SPARCstation running Solaris 2.x and OpenWindows 3.1,
98    maketool (within SPARCworks) doesn't work: it just does
99    a `cd' to the working directory then stops.
100
101    The workaround for 6b and 6c is doing "unset edit."
102    Using shelltool instead of cmdtool doesn't fix 6c.
103
1047.  I rlogin to another machine, and then no matter what I tell 'stty'
105    I cannot get it to pass 8 bit characters?
106
107    Maybe you need to use 'rlogin -8' to tell rlogin to pass 8
108    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