-if [ -z "$LIGHTWEIGHT_INIT" ]; then
- # perform the bulkier parts of the login and initialization.
-
- if [ ! -z "$SHELL_DEBUG" ]; then echo heavyweight login begins...; fi
-
+if [ -z "$ERROR_OCCURRED" ]; then
+
+ # load the larger body of standard feisty meow variables into the environment.
+ # we actually want this to always run also; it will decide what variables need
+ # to be set again.
+ source "$FEISTY_MEOW_SCRIPTS/core/variables.sh"
+
+ ##############
+
+ # include helpful functions. we do this every time rather than making it part
+ # of variable initialization, because functions cannot be exported to
+ # sub-shells in bash.
+ source "$FEISTY_MEOW_SCRIPTS/core/functions.sh"
+
+ # load some helper methods for the terminal which we'll use below.
+ source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh"
+
+ ##############
+
+ # check hash table before searching path.
+ shopt -s checkhash
+ # don't check path for sourced files.
+ shopt -u sourcepath
+ # ignore duplicate lines.
+ HISTCONTROL=ignoredups
+ # append to the history file.
+ shopt -s histappend
+ # automatically update window size if needed.
+ shopt -s checkwinsize
+
+ ##############
+
+ # make history writes immediate to avoid losing history if bash is zapped.
+ echo $PROMPT_COMMAND | grep -q history
+ if [ $? -ne 0 ]; then
+ # we only change the prompt command if we think it hasn't already been done.
+ export PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
+ fi
+
+ ##############
+
+ # perform the bulkier parts of the initialization process.
+
+ if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then echo "heavyweight init begins..."; fi
+