become overhaul.
[profile.git] / .bash_profile
old mode 100755 (executable)
new mode 100644 (file)
index fcecf15..61a04b5
@@ -1,7 +1,24 @@
-# $Id$
-for i in ~/.profile.d/*.bashrc; do . $i; done
-__ps1
+if $(tty -s) || [ "${0:0:1}" = "-" -o "$1" = "force" ]; then
+  # Remember if nocaseglob was on.
+  shopt -q nocaseglob
+  nocg=$?
+  # Turn it off so we source stuff in the right order.
+  shopt -u nocaseglob
 
-if [ "$OSTYPE" = "cygwin" ]; then
-  shopt -s nocaseglob
+  # Remember LC_ALL.
+  lc_all=$LC_ALL
+  # Turn it off to set case-sensitive matching
+  LC_ALL=C
+
+  # Source all scripts.
+  for i in ${PROFILE_HOME:-~}/.profile.d/*.bashrc; do . "$i"; done; unset i
+
+  # Maybe turn nocaseglob back on.
+  [ $nocg = 0 ] && shopt -s nocaseglob
+
+  # Reset LC_ALL.
+  LC_ALL=$lc_all
+
+  unset lc_all nocg
+  __ps1
 fi