"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "FAQ" between
tcsh-6.22.02.tar.gz and tcsh-6.22.03.tar.gz

About: Tcsh is a version of the Berkeley C-Shell, with the addition of: A command line editor, command and file name completion, listing, ...

FAQ  (tcsh-6.22.02):FAQ  (tcsh-6.22.03)
* Home
* FAQ
* Y2K
__________________________________________________________________
[Home] FAQ FAQ
Home | RecentChanges | Preferences For the people who do not read the manual!
_________________________________________________________________
This is for people who do not read the manual! Why is the meta key broken in tcsh-5.20 and up?
So far people who don't read manuals don't read this either... I may On some machines the tty is not set up to pass 8 bit characters by
call it README.*PLEASE* in the future, but then the same people won't default. Tcsh 5.19 used to try to determine if pass8 should be set by
be able to get ftp it... :-)
_________________________________________________________________
1. Where can I find tcsh sources?
See http://www.tcsh.org/MostRecentRelease for download locations.
_________________________________________________________________
2. Why is the meta key broken in tcsh-5.20 and up?
On some machines the tty is not set up to pass 8 bit characters by
default. Tcsh 5.19 used to try to determine if pass8 should be set by
looking at the terminal's meta key. Unfortunately there is no good way looking at the terminal's meta key. Unfortunately there is no good way
of determining if the terminal can really pass 8 characters or not. of determining if the terminal can really pass 8 characters or not.
Consider if you are logged in through a modem line with 7 bits and Consider if you are logged in through a modem line with 7 bits and
parity and your terminal has a meta key. Then tcsh 5.19 would set parity and your terminal has a meta key. Then tcsh 5.19 would set
wrongly set pass8. wrongly set pass8.
If you did like the previous behavior you can add in /etc/csh.login, If you did like the previous behavior you can add in /etc/csh.login, or
or in .login: in .login:
if ( $?tcsh && $?prompt ) then if ( $?tcsh && $?prompt ) then
if ( "`echotc meta`" == "yes" ) then if ( "`echotc meta`" == "yes" ) then
stty pass8 stty pass8
endif endif
endif endif
If you don't have pass8, maybe one of these would work.. If you don't have pass8, maybe one of these would work:
stty -parity -evenp -oddp cs8 -istrip (rs6000) stty -parity -evenp -oddp cs8 -istrip (rs6000)
stty -parenb -istrip cs8 stty -parenb -istrip cs8
Finally, tcsh will bind all printable meta characters to the self 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 insert command. If you don't want that to happen (i.e. use the
printable meta characters for commands) setenv NOREBIND. printable meta characters for commands) setenv NOREBIND.
_________________________________________________________________
3. I ran 'dbxtool &' and 'shelltool &' from tcsh, and they end up in I ran dbxtool & and shelltool & from tcsh, and they end up in cbreak and no
cbreak and no echo mode? 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. Pick one of the following as a workaround:
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. Pick one of the following as a workaround:
dbxtool < /dev/null >& /dev/null & dbxtool < /dev/null >& /dev/null &
/usr/etc/setsid dbxtool & /usr/etc/setsid dbxtool &
If that does not work, for dbxtool at least you can add "sh stty sane" If that does not work, for dbxtool at least you can add sh stty sane in
in your .dbxinit your .dbxinit file.
_________________________________________________________________
4. I tried to compile tcsh and it cannot find <locale.h>? I tried to compile tcsh and it cannot find <locale.h>?
Your system does not support NLS. Undefine NLS in config_f.h and it Your system does not support NLS. Undefine NLS in config_f.h and it
should work fine. should work fine.
_________________________________________________________________
5. Where can I get csh sources? Where can I get csh sources?
Csh sources are now available with the 4.4BSD networking Csh sources are now available with the 4.4BSD networking distributions.
distributions. You don't need csh sources to compile tcsh-6.0x. You don't need csh sources to compile tcsh-6.0x.
_________________________________________________________________
I just made tcsh my login shell, and I cannot ftp any more?
6. I just made tcsh my login shell, and I cannot ftp any more?
Newer versions of the ftp daemon check for the validity of the user's
shell before they allow logins. The list of valid login shells is
either hardcoded or it is usually in a file called /etc/shells. If it
is hard-coded, then you are out of luck and your best bet is to get a
newer version of ftpd. Otherwise add tcsh to the list of shells. [For
AIX this file is called /etc/security/login.cfg.] Remember that the
full path is required. If there is no /etc/shells, and you are
creating one, remember to add /bin/csh, /bin/sh, and any other valid
shells for your system, so that other people can ftp too :-)
_________________________________________________________________
7. I am using SunView or OpenWindows and editing is screwed up. In
particular my arrow keys and backspace don't work right. What am I
doing wrong?
Well, cmdtool tries to do its own command line editing and the effect
you get is one of using an editor inside an editor. Both try to
interpret the arrow key sequences and cmdtool wins since it gets them
first. The solutions are in my order of preference:
1. Don't use suntools Newer versions of the ftp daemon check for the validity of the user's
2. Use shelltool instead of cmdtool. shell before they allow logins. The list of valid login shells is
3. Unset edit in tcsh. either hardcoded or it is usually in a file called /etc/shells. If it
_________________________________________________________________ is hard-coded, then you are out of luck and your best bet is to get a
newer version of ftpd. Otherwise add tcsh to the list of shells. (For
8. On a SPARCstation running Solaris 2.x and OpenWindows 3.1, inside a AIX this file is called /etc/security/login.cfg.) Remember that the
cmdtool, the short-cut key sequence to clear log (i.e. Meta-e or full path is required. If there is no /etc/shells, and you are creating
Diamond-e) doesn't work: it just echos 'e'; or one, remember to add /bin/csh, /bin/sh, and any other valid shells for
your system, so that other people can ftp too.
I am using SunView or OpenWindows and editing is screwed up. In particular my
arrow keys and backspace don't work right. What am I doing wrong?
Well, cmdtool tries to do its own command line editing and the effect
you get is one of using an editor inside an editor. Both try to
interpret the arrow key sequences and cmdtool wins since it gets them
first. The solutions are in my order of preference:
* Don't use suntools
* Use shelltool instead of cmdtool.
* Unset edit in tcsh.
On a SPARCstation running Solaris 2.x and OpenWindows 3.1, inside a cmdtool,
the short-cut key sequence to clear log (i.e. Meta-e or Diamond-e) doesn't
work: it just echos ‘e’; or
Unset edit in tcsh. Unset edit in tcsh.
_________________________________________________________________
9. On a SPARCstation running Solaris 2.x and OpenWindows 3.1, maketool On a SPARCstation running Solaris 2.x and OpenWindows 3.1, maketool (within
(within SPARCworks) doesn't work: it just does a `cd' to the working SPARCworks) doesn't work: it just does a `cd’ to the working directory then
directory then stops. stops.
Unset edit in tcsh. Using shelltool instead of cmdtool does not fix Unset edit in tcsh. Using shelltool instead of cmdtool does not fix
this. this.
_________________________________________________________________
10. I rlogin to another machine, and then no matter what I tell 'stty' I rlogin to another machine, and then no matter what I tell stty I cannot get
I cannot get it to pass 8 bit characters? it to pass 8 bit characters?
Maybe you need to use 'rlogin -8' to tell rlogin to pass 8 bit Maybe you need to use rlogin -8 to tell rlogin to pass 8 bit
characters. characters.
_________________________________________________________________
11. Where do I get the public domain directory library? Where do I get the public domain directory library?
Anonymous ftp to prep.ai.mit.edu:/pub/gnu/dirent.tar.Z Anonymous ftp to ftp://prep.ai.mit.edu/pub/gnu/dirent.tar.Z
_________________________________________________________________
12. I compiled tcsh using gcc, and when I start up it says: tcsh: I compiled tcsh using gcc, and when I start up it says: tcsh: Warning no
Warning no access to tty (Invalid Argument). Thus no job control in access to tty (Invalid Argument). Thus no job control in this shell
this shell
Your <sys/ioctl.h> file is not ansi compliant. You have one of 3 Your <sys/ioctl.h> file is not ansi compliant. You have one of 3
choices: choices:
* Run fixincludes from the gcc distribution.
* Add -traditional to the gcc flags.
* Compile with cc.
1. Run fixincludes from the gcc distribution. I compiled tcsh with the SunOS unbundled compiler and now things get echoed
2. Add -traditional to the gcc flags. twice.
3. Compile with cc.
_________________________________________________________________
13. I compiled tcsh with the SunOS unbundled compiler and now things
get echo'ed twice.
It is a bug in the unbundled optimizer. Lower the optimization level. It is a bug in the unbundled optimizer. Lower the optimization level.
_________________________________________________________________
14. How can I use the arrow keys with hpterm? How can I use the arrow keys with hpterm?
Hp terminals use the arrow keys internally. You can tell hpterm not to Hp terminals use the arrow keys internally. You can tell hpterm not to
do that, by sending it the termcap sequence smkx. Since this has to be do that, by sending it the termcap sequence smkx. Since this has to be
done all the time, the easiest thing is to put it as an alias for done all the time, the easiest thing is to put it as an alias for
precmd, or inside the prompt: precmd, or inside the prompt:
if ($term == "hp") then if ($term == "hp") then
set prompt="%{`echotc smkx`%}$prompt" set prompt="%{`echotc smkx`%}$prompt"
endif endif
Note that by doing that you cannot use pgup and pgdn to scroll... Also Note that by doing that you cannot use pgup and pgdn to scroll… Also if
if you are using termcap, replace "smkx" with "ks"... you are using termcap, replace smkx with ks.
_________________________________________________________________
15. On POSIX machines ^C and ^Z will do not work when tcsh is a login On POSIX machines ^C and ^Z do not work when tcsh is a login shell?
shell?
Make sure that the interrupt character is set to ^C and suspend is set Make sure that the interrupt character is set to ^C and suspend is set
to ^Z; 'stty -a' will show you the current stty settings; 'stty intr to ^Z; stty -a will show you the current stty settings; stty intr ^C
^C susp ^Z' will set them to ^C and ^Z respectively. susp ^Z will set them to ^C and ^Z respectively.
_________________________________________________________________
16. I am trying to compile tcsh and I am getting compile errors that
look like:
>sh.c:???: `STR???' undeclared, outside of functions [gcc]
>"sh.c", line ???: STR??? undefined [cc]
You interrupted make, while it was making the automatically generated
headers. Type 'make clean; make'
_________________________________________________________________
17. On the cray, sometimes the CR/LF mapping gets screwed up.
You are probably logged in to the cray via telnet. Cray's telnetd
implements line mode selection the telnet client you are using does
not implement telnet line mode. This cause the Cray's telnetd to try
to use KLUDGELINEMODE. You can turn off telnet line mode from the cray
side by doing a "stty -extproc", or you can get the Cray AIC to build
a telnetd without KLUDGELINEMODE, or you can compile a new telnet
client (from the BSD net2 tape), or at least on the suns use: 'mode
character'.
_________________________________________________________________
18. On AU/X, I made tcsh my startup shell, but the mac desktop is not
starting up (no X11 or Finder), and I only get console emulation.
This is another manifestation of item 5. Just add the pathname to tcsh
in /etc/shells and everything should work fine.
_________________________________________________________________
19. On machines that use YP (NIS) tilde expansion might end up in I am trying to compile tcsh and I am getting compile errors that look like:
/dev/null
If this happens complain to your vendor, to get a new version of NIS. sh.c:???: `STR???' undeclared, outside of functions [gcc]
"sh.c", line ???: STR??? undefined [cc]
You interrupted make, while it was making the automatically generated
headers. Type make clean; make
On the cray, sometimes the CR/LF mapping gets screwed up.
You are probably logged in to the cray via telnet. Cray's telnetd
implements line mode selection the telnet client you are using does not
implement telnet line mode. This cause the Cray's telnetd to try to use
KLUDGELINEMODE. You can turn off telnet line mode from the cray side by
doing a stty -extproc, or you can get the Cray AIC to build a telnetd
without KLUDGELINEMODE, or you can compile a new telnet client (from
the BSD net2 tape), or at least on the suns use: mode character.
On AU/X, I made tcsh my startup shell, but the mac desktop is not starting up
(no X11 or Finder), and I only get console emulation.
Add the pathname to tcsh in /etc/shells and everything should work
fine.
On machines that use YP (NIS) tilde expansion might end up in /dev/null
If this happens complain to your vendor, to get a new version of NIS.
You can fix that in tcsh by defining YPBUGS in config.h You can fix that in tcsh by defining YPBUGS in config.h
_________________________________________________________________
20. Script on SGI 4.0.5 does not give us a tty, so we cannot have job Script on SGI 4.0.5 does not give us a tty, so we cannot have job control.
control.
Their csh does not have job control either. Try: Their csh does not have job control either. Try:
% script % script
% cat > /dev/tty % cat > /dev/tty
_________________________________________________________________
21. I start tcsh and it takes a couple of minutes to get the prompt. I start tcsh and it takes a couple of minutes to get the prompt.
You have defined REMOTEHOST and your DNS is not responding. Either You have defined REMOTEHOST and your DNS is not responding. Either
undefine REMOTEHOST and recompile or fix your DNS. undefine REMOTEHOST and recompile or fix your DNS.
_________________________________________________________________
22. If you need help generating your .cshrc file, check out:
http://www.imada.sdu.dk/~blackie/dotfile/ If you need help generating your .cshrc file, check out:
or * https://github.com/tcsh-org/tcsh/blob/master/dot.tcshrc
http://www.dotfiles.com * https://github.com/tcsh-org/tcsh/blob/master/dot.login
_________________________________________________________________
23. On POSIX systems the kernel will send hup signals to all the On POSIX systems the kernel will send hup signals to all the processes in the
processes in the foreground process group if 'stty hupcl' is set. foreground process group if ‘stty hupcl’ is set.
For example For example
./tcsh ./tcsh
echo $$ echo $$
591 591
./tcsh ./tcsh
kill -6 591 kill -6 591
Will kill everything, since hup will be sent to all tcsh processes. To Will kill everything, since hup will be sent to all tcsh processes. To
avoid that you can set stty -hupcl, but it is not recommended. avoid that you can set stty -hupcl, but it is not recommended.
_________________________________________________________________
24. When I rsh the meta key stops working on the remote machine. When I rsh the meta key stops working on the remote machine.
Try using rsh -8; this option is undocumented on some systems, but it Try using rsh -8; this option is undocumented on some systems, but it
works. If that does not work, get and use ssh/sshd. You'll be better works. If that does not work, get and use ssh/sshd. You'll be better
off from a security point of view anyway. off from a security point of view anyway.
_________________________________________________________________
25. Tcsh compiled under hp/ux-10.x does not pass resource limits Tcsh compiled under hp/ux-10.x does not pass resource limits correctly when
correctly when ran on hp/ux-11.x systems. ran on hp/ux-11.x systems.
This is a problem with lack of ABI compatibility between the two This is a problem with lack of ABI compatibility between the two
systems. The only solution is to recompile. systems. The only solution is to recompile.
_________________________________________________________________
26. Refreshing in command line editing can appear broken on some OS's Refreshing in command line editing can appear broken on some OS's
This is because the termcap/terminfo description lies about the This is because the termcap/terminfo description lies about the ability
ability of the terminal to use tabs. At least on Compaq/DEC Alpha of the terminal to use tabs. At least on Compaq/DEC Alpha OSF/1 3.x and
OSF/1 3.x and 4.x systems, stty -tabs will cause problems. 4.x systems, stty -tabs will cause problems.
_________________________________________________________________
27. Where can I learn the merits of tcsh vs. bash vs. csh vs. sh etc? Where can I learn the merits of tcsh vs. bash vs. csh vs. sh etc?
You can read the manual page section titled [NEW FEATURES] listing You can read the manual page section titled [NEW FEATURES] listing
features that tcsh adds to csh. features that tcsh adds to csh.
You can read Tom Christiansen's [Csh Programming Considered Harmful], You can read Tom Christiansen's Csh Programming Considered Harmful, a
a document advocating that csh (and by extension, tcsh) should not be document advocating that csh (and by extension, tcsh) should not be
used for writing shell scripts. used for writing shell scripts.
XXX: Need to find something about [bash], but bash is sh-compatible XXX: Need to find something about bash, but bash is sh-compatible and
and has many of the same interactive features of tcsh (command has many of the same interactive features of tcsh (command completion
completion does not appear to be as flexible, though). does not appear to be as flexible, though).
[Curtains up: introducing the Z shell] has a pretty good rundown on Curtains up: introducing the Z shell has a pretty good rundown on zsh.
zsh. Aside from the arguments about csh being evil, tcsh appears to Aside from the arguments about csh being evil, tcsh appears to compare
compare well with zsh [zsh]. Zsh is sh and ksh compatible, with many well with zsh. Zsh is sh and ksh compatible, with many of the
of the interactive features of tcsh. interactive features of tcsh.
_________________________________________________________________
Why does FreeBSD's tcsh do history browsing differently than I expect?
28. Why does FreeBSD's tcsh do history browsing differently than I
expect? On FreeBSD, by default, the up arrow is set to history-search-backward,
rather than the default up-history. As a result, if you type (part of)
On FreeBSD, by default, the up arrow is set to a word and press up arrow, you'll see previous commands that match the
"history-search-backward", rather than the default "up-history". As a prefix. Pretty useful, actually, although it takes some getting used
result, if you type (part of) a word and press up arrow, you'll see to. You can use bindkey to see your settings, and to rebind up & down
previous commands that match the prefix. Pretty useful, actually, differently if desired.
although it takes some getting used to. You can use bindkey to see __________________________________________________________________
your settings, and to rebind up & down differently if desired.
_________________________________________________________________ Page content last updated on 2019-12-31
Everything else is a bug :-(
Christos
_________________________________________________________________
Home | RecentChanges | Preferences
Edit text of this page | View other revisions
Last edited April 29, 2004 15:02 (diff)
Search: ____________________
 End of changes. 65 change blocks. 
180 lines changed or deleted 129 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)