[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: