.profile is for bash and sh. you don't source it, you 'dot' it
to run it. . ~/.profile
.cshrc and .login are for csh (tcsh). You source them to run them.
environment variables are for csh. They are propagated to subshells.
csh also has variables which are not propagated to subshells.
PATH in sh is just a variable. You must say export PATH after you
change it, to propagate its value to subshells.
_______________________________________________________________________________