Putting it into PS1 was causing the cursor to be off in position in certain circumstances (going back in history, and then coming forward, for example). Putting it it PROMPT_COMMAND avoids the issue.
This prevents seeing an error code if the user doesn't have a .etcrc or other optional setup.
This brings in Git's autocompletion scripts from the contrib area. The bash one landed in bash/git-completion.bash, and the zsh as zsh/completion/_git. We'll no longer look for completion scripts to be installed into ~/.local/etc.
In some environments, there were issues with virtualenvwrapper being setup and the LESSOPEN feature. This moves the virtualenvwrapper setup to be in interactive.sh, and the basics are now being done in noninteractive.sh. Hopefully, this will help maintain a better separation.
The environment script will get sourced in both the interactive and non-interactive case.
This makes it possible to use my etc configuration under Windows and Git Bash.
Update the calls to it, and add a few more defining shortcuts for using pushd.
I tend to use a symlink for ~/projects, so that I can put my files on a case-sensitive volume under Mac OS X. However, my cdp alias wouldn't complete for files under ~/projects because it was a link. Instead, use the logical path for the cd command, and use the realpath for completion only. Also, it turns out cdc has some completion assigned to it already, so unset it in my config before defining cdc.