Both checkauth and get_template_and_user set a bunch of template variables based on system preferences. For the vast majority of cases, creating a new default template variable means updating both routines; failing to do this results in bugs like bug 9541. Setting default template variables should be refactored into a common routine in order to avoid repetition.
Can someone tell if this is still valid?