plugged in timestamper in a couple places
[feisty_meow.git] / scripts / core / launch_feisty_meow.sh
index 1e7e6c993f0657d813bfbd0066ad053ef7835244..4eadb38f8ca40a06a2444ab7a534463bf3b23c43 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 ##############
 
 
 ##############
 
+# first step--capture the current path if we haven't already.
+if [ -z "$FEISTY_MEOW_ORIGINAL_PATH" ]; then
+  export FEISTY_MEOW_ORIGINAL_PATH="$PATH"
+fi
+
+##############
+
 # this script cannot handle figuring out where it lives, so approaches that
 # get the THISDIR will fail.  this is a consequence of this always being used
 # in bash's 'source' directive, which does not pass the script name as
@@ -94,6 +101,9 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then
   # solve that problem by running bash with the "-O expand_aliases" flags to
   # stop the expansion for the next subshell.
   shopt -s expand_aliases
+  # set the directory tab completion to behave properly and not start escaping
+  # the dollar signs in variable names.
+  shopt -u progcomp
   
   # patch the user variable if we were launched by one of our cron jobs.
   if [ -z "$USER" -a ! -z "$CRONUSER" ]; then
@@ -118,7 +128,7 @@ if [ "$NO_REPAIRS_NEEDED" == "true" ]; then
     # this is our single entry point we can use without knowing any variables
     # yet in the initialization process.
     export FEISTY_MEOW_LOADING_DOCK="$HOME/.zz_feisty_loading"
-  #hmmm: the above is kind of a constant.  that's not so great.
+#hmmm: the above is kind of a constant.  that's not so great.
   
     # make sure our main variables are established.
     FEISTY_MEOW_VARIABLES_LOADING_FILE="$FEISTY_MEOW_LOADING_DOCK/fmc_variables.sh"