scripts/rvm in rvm-1.0.9 vs scripts/rvm in rvm-1.0.10

- old
+ new

@@ -2,42 +2,65 @@ # rvm : Ruby enVironment Manager # http://rvm.beginrescueend.com # http://github.com/wayneeseguin/rvm -if [[ ${rvm_loaded_flag:-0} -eq 0 || ${rvm_reload_flag:-0} -eq 1 ]] ; then +grep -q '^rvm ()' < <( declare -f ) # Is RVM is a shell function? - unset rvm_reload_flag +if [[ $? -gt 0 || ${rvm_reload_flag:-0} -eq 1 ]] ; then - if [[ -z "$rvm_ignore_rvmrc" ]]; then - for rvmrc in /etc/rvmrc $HOME/.rvmrc ; do + if [[ ${rvm_ignore_rvmrc:-0} -eq 0 ]]; then + + for rvmrc in /etc/rvmrc "$HOME/.rvmrc" ; do + if [[ -f "$rvmrc" ]] ; then + if \grep -q '^\s*rvm .*$' $rvmrc ; then + printf "\nError: $rvmrc is for rvm settings only.\nrvm CLI may NOT be called from within $rvmrc. \nSkipping the loading of $rvmrc" + return 1 + else + source "$rvmrc" + fi + fi + done + fi # Set the default sandboxed value. if [[ -z "$rvm_selfcontained" ]]; then - if [[ "root" = "$(whoami)" ]] || [[ -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then + + if [[ "root" = "$(whoami)" || -n "$rvm_prefix" && "$rvm_prefix" != "$HOME"/* ]]; then + rvm_selfcontained=0 + else + rvm_selfcontained=1 + fi + fi if [[ -z "$rvm_prefix" ]] ; then + if [[ "$rvm_selfcontained" = "0" ]] ; then + rvm_prefix="/usr/local/" + else + rvm_prefix="$HOME/." + fi + fi # Fix rvm_prefix changes. echo "$rvm_prefix" | \grep -vq '\(\/\|\.\)$' && [[ -d "$rvm_prefix/rvm/scripts" ]] @@ -90,10 +113,8 @@ else printf "\n\$rvm_path is not set. rvm cannot load." fi - unset rvm_prefix_needs_trailing_slash rvm_bin_path rvm_man_path rvm_rc_files rvm_gems_path rvm_gems_cache_path rvm_selfcontained rvm_interactive_flag rvm_gems_path rvm_project_rvmrc_default rvm_gemset_separator - - rvm_loaded_flag=1 + unset rvm_prefix_needs_trailing_slash rvm_bin_path rvm_man_path rvm_rc_files rvm_gems_path rvm_gems_cache_path rvm_interactive_flag rvm_gems_path rvm_project_rvmrc_default rvm_gemset_separator fi