I'm not certain if I ever discussed this before, but the recent tcsh update reminded me that I think the defaults should be changed a little bit. First off, running the scripts in profile.d should IMHO be done in csh.login to ensure it's only done once. Secondly the (optional) cleaning up of the PATH variable already introduced for all POSIX shells in base-files years ago should be replicated for tcsh. Lastly, since /usr/bin/ and /bin are the same thing on Cygwin, one of them is redundant and placement of /usr/local/bin should be left at the discretion of the user since tha directory does not exist by default on Cygwin.
--8<---------------cut here---------------start------------->8--- --- /etc/defaults/etc/csh.cshrc 2022-02-03 18:25:13.000000000 +0100 +++ /etc/csh.cshrc 2019-06-02 19:07:20.072715800 +0200 @@ -3,16 +3,6 @@ # onintr - -if ( -d /etc/profile.d ) then - set nonomatch - foreach _s ( /etc/profile.d/*.csh ) - if ( -r $_s ) then - source $_s - endif - end - unset _s nonomatch -endif - if (! ${?prompt}) goto end # This is an interactive session --- /etc/defaults/etc/csh.login 2022-02-03 18:25:13.000000000 +0100 +++ /etc/csh.login 2019-06-02 19:07:19.229253700 +0200 @@ -4,7 +4,21 @@ unsetenv TEMP unsetenv TMP -set path=( /usr/local/bin /usr/bin /bin $path:q ) +set winpath = ( $path:q ) +if ( ${?CYGWIN_NOWINPATH} ) then + set path=( /usr/bin ) +else + set path=( /usr/bin $path:q ) +endif +if ( -d /etc/profile.d ) then + set nonomatch + foreach _s ( /etc/profile.d/*.csh ) + if ( -r $_s ) then + source $_s + endif + end + unset _s nonomatch +endif if ( ! ${?USER} ) then set user="`id -un`" --8<---------------cut here---------------end--------------->8--- Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds