fixed alias issues for subshells!
authorChris Koeritz <fred@gruntose.com>
Sat, 1 Oct 2016 23:52:28 +0000 (19:52 -0400)
committerChris Koeritz <fred@gruntose.com>
Sat, 1 Oct 2016 23:52:28 +0000 (19:52 -0400)
also fixed the variable, alias and function names used for sentinels to line up nicely, including a user customization sentinel.

customizing/fred/fred_variables.sh
scripts/core/common.alias
scripts/core/functions.sh
scripts/core/launch_feisty_meow.sh
scripts/core/variables.sh

index 2e12fa0c2773a11640ae001531a4cb8e5486520b..e783f8eb6a47527993c7a0624a798febb68d537e 100644 (file)
@@ -1,7 +1,7 @@
 
 # these are my personal overrides.  --fred.
 
-if [ -z "$NETHACKOPTIONS" ]; then
+if [ -z "$USER_CUSTOMIZATIONS_LOADED" ]; then
   # if we don't see the nethack variable defined, this probably hasn't run yet.
 
   # The cloud directory is our new repository that's always available.  It serves as our
@@ -60,6 +60,8 @@ if [ -z "$NETHACKOPTIONS" ]; then
   # options for the lame mp3 encoder.
   export LAMEOPT="--alt-preset extreme"
 
+  # customization sentinel can be set now.
+  export USER_CUSTOMIZATIONS_LOADED=true
 fi
 
 
index cf8f49b388a7828d237277b75b11a78b7b0266d5..1cf5be3a4ef8edbd0a66344ad3f803a9d399a33f 100644 (file)
@@ -114,8 +114,8 @@ unalias fredme &>/dev/null
 
 ##############
 
-# set the sentinel variable that says this file was handled.
-export CORE_ALIASES_LOADED=true
+# set the sentinel alias that says this file was handled.
+alias CORE_ALIASES_LOADED=true
 
 ##############
 
index a7babc220f641c8f818d65e66c5400a4b6e6caec..629bd59bec4a33088421470236591cfa1dcafa97 100644 (file)
@@ -4,7 +4,7 @@
 
 # test whether we've been here before or not.
 skip_all=
-function_sentinel &>/dev/null
+type function_sentinel &>/dev/null
 if [ $? -eq 0 ]; then
   # there was no error, so we can skip the inits.
   if [ ! -z "$SHELL_DEBUG" ]; then
@@ -357,12 +357,9 @@ if [ -z "$skip_all" ]; then
     echo "regenerating feisty meow script environment."
     bash $FEISTY_MEOW_SCRIPTS/core/reconfigure_feisty_meow.sh
     echo
-    # force a full reload by turning off sentinel variable and alias.
-    # the nethack one is used by fred's customizations.
-    # interesting note perhaps: found that the NETHACKOPTIONS variable was
-    # not being unset correctly when preceded by an alias.  split them up
-    # like they are now due to that bug.
-    unset -v CORE_ALIASES_LOADED FEISTY_MEOW_LOADING_DOCK NECHUNG NETHACKOPTIONS 
+    # force a full reload by turning off sentinel variables and methods.
+    unset -v CORE_VARIABLES_LOADED FEISTY_MEOW_LOADING_DOCK USER_CUSTOMIZATIONS_LOADED
+    unalias CORE_ALIASES_LOADED
     unset -f function_sentinel 
     # reload feisty meow environment in current shell.
     source $FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh
@@ -665,7 +662,10 @@ return 0
 
   ##############
 
-  function function_sentinel() { return 0; }
+  function function_sentinel()
+  {
+    return 0; 
+  }
   
   if [ ! -z "$SHELL_DEBUG" ]; then echo "feisty meow function definitions done."; fi
 
index b3d52052f8f5d9a70871ff7963d3b042c85e5673..9bbcec146ac265972b2ef78acd169b6d7512e29c 100644 (file)
@@ -95,7 +95,8 @@ if [ -z "$LIGHTWEIGHT_INIT" ]; then
   if [ ! -z "$SHELL_DEBUG" ]; then echo "heavyweight init begins..."; fi
 
   # set up the aliases for the shell, but only if they are not already set.
-  if [ -z "$CORE_ALIASES_LOADED" ]; then
+  type CORE_ALIASES_LOADED &>/dev/null
+  if [ $? -ne 0 ]; then
     if [ ! -z "$SHELL_DEBUG" ]; then
       echo "the aliases were missing, now they are being added..."
     fi
index b71defbeb00b653c311fce599df6b32ecda2711e..1be1278dddbb2bb9072ea0bc64b9057a0131a46e 100644 (file)
@@ -49,7 +49,7 @@ define_yeti_variable TERM
 ##############
   
 # we'll run this again only if we think it's needed.
-if [ -z "$NECHUNG" ]; then
+if [ -z "$CORE_VARIABLES_LOADED" ]; then
 
   if [ ! -z "$SHELL_DEBUG" ]; then echo variables initialization begins...; fi
   
@@ -242,6 +242,8 @@ if [ -z "$NECHUNG" ]; then
   define_yeti_variable SHUNIT_DIR="$FEISTY_MEOW_SCRIPTS/shunit"
   
   ##############
+
+  define_yeti_variable CORE_VARIABLES_LOADED=true
   
   if [ ! -z "$SHELL_DEBUG" ]; then echo variables initialization ends....; fi
 fi
@@ -263,4 +265,4 @@ for i in $FEISTY_MEOW_LOADING_DOCK/custom/*.sh; do
   fi
   source "$i"
 done
-  
+