Bug#5384: tcsh reads .login before .tcshrc
package: tcsh
version: 6.06-5
tcsh reads .login before .tcshrc... this is both an inconvenient
change (it breaks my dotfiles anyway :-), and not documented -- the
man page specifically says:
A login shell begins by executing commands from the system
files /etc/csh.cshrc and /etc/csh.login. It then executes
commands from files in the user's home directory: first
~/.tcshrc (+) or, if ~/.tcshrc is not found, ~/.cshrc,
then ~/.history (or the value of the histfile shell vari-
able), then ~/.login, and finally ~/.cshdirs (or the value
of the dirsfile shell variable) (+). The shell may read
/etc/csh.login before instead of after /etc/csh.cshrc, and
~/.login before instead of after ~/.tcshrc or ~/.cshrc and
~/.history, if so compiled; see the version shell vari-
able. (+)
The order currently used is clear from this bit of strace output:
open("/etc/csh.cshrc", O_RDONLY) = 0
open("/home/eichin/.login", O_RDONLY) = 0
open("/home/eichin/.tcshrc", O_RDONLY) = 0
open("/home/eichin/.cshrc", O_RDONLY) = 4
(and no, there's nothing but comments in /etc/csh.cshrc)
I'd prefer that the old behaviour be restored, rather than changing
the documentation; I haven't checked if 6.07 fixes this either way (or
if it's actually out, rather than just in nearly-ready test...)
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com
Reply to: