scripts/utility in rvm-1.0.15 vs scripts/utility in rvm-1.0.17

- old
+ new

@@ -46,11 +46,11 @@ fi fi - unset rvm_ruby_strings rvm_head_flag rvm_prior_cc next_token rvm_bin_path rvm_error_message rvm_gems_cache_path rvm_gems_path rvm_gemset_name rvm_interactive_flag rvm_man_path rvm_parse_break rvm_rc_files rvm_ruby_binary rvm_ruby_gem_home rvm_ruby_gem_path rvm_ruby_home rvm_ruby_interpreter rvm_ruby_irbrc rvm_ruby_log_path rvm_ruby_major_version rvm_ruby_minor_version rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_release_version rvm_ruby_repo_url rvm_ruby_revision rvm_ruby_selected_flag rvm_ruby_tag rvm_ruby_version rvm_selfcontained rvm_token rvm_ruby_load_path rvm_path_flag rvm_ruby_require rvm_action + unset rvm_ruby_strings rvm_head_flag rvm_prior_cc next_token rvm_bin_path rvm_error_message rvm_gems_cache_path rvm_gems_path rvm_gemset_name rvm_interactive_flag rvm_man_path rvm_parse_break rvm_rc_files rvm_ruby_binary rvm_ruby_gem_home rvm_ruby_gem_path rvm_ruby_home rvm_ruby_interpreter rvm_ruby_irbrc rvm_ruby_log_path rvm_ruby_major_version rvm_ruby_minor_version rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_release_version rvm_ruby_repo_url rvm_ruby_repo_branch rvm_ruby_revision rvm_ruby_selected_flag rvm_ruby_tag rvm_ruby_version rvm_selfcontained rvm_token rvm_ruby_load_path rvm_path_flag rvm_ruby_require rvm_action [[ ${rvm_dump_environment_flag:-0} -eq 1 ]] && __rvm_dump_environment return 0 } @@ -241,11 +241,11 @@ } # Run a specified command and log it. __rvm_run() { - local name log path command message + local name log temp_log_path command message name="${1:-""}" command="${2:-""}" message="${3:-""}" @@ -256,16 +256,16 @@ if [[ ${rvm_debug_flag:-0} -gt 0 ]] ; then "$rvm_path/scripts/log" "debug" "Executing: $command" fi if [[ -n "${rvm_ruby_string:-""}" ]] ; then - path="${rvm_log_path:-"$rvm_path/log"}/$rvm_ruby_string" + temp_log_path="${rvm_log_path:-"$rvm_path/log"}/$rvm_ruby_string" else - path="${rvm_log_path:-"$rvm_path/log"}" + temp_log_path="${rvm_log_path:-"$rvm_path/log"}" fi - log="$path/$name.log" + log="$temp_log_path/$name.log" if [[ ! -d "${log%\/*}" ]] ; then \mkdir -p "${log%\/*}" fi @@ -361,11 +361,12 @@ } # Unset ruby-specific variables __rvm_unset_ruby_variables() { - unset rvm_ruby_flag $(env | awk -F= '/^rvm_ruby_/{printf $1" "}') + # unset rvm_ruby_flag $(env | awk -F= '/^rvm_ruby_/{printf $1" "}') + unset rvm_ruby_strings rvm_ruby_binary rvm_ruby_gem_home rvm_ruby_gem_path rvm_ruby_home rvm_ruby_interpreter rvm_ruby_irbrc rvm_ruby_log_path rvm_ruby_major_version rvm_ruby_minor_version rvm_ruby_package_name rvm_ruby_patch_level rvm_ruby_release_version rvm_ruby_repo_url rvm_ruby_repo_branch rvm_ruby_revision rvm_ruby_selected_flag rvm_ruby_tag rvm_ruby_version rvm_ruby_load_path rvm_ruby_require rvm_head_flag } # TODO: Should be able to... # Unset both rvm variables as well as ruby-specific variables # Preserve gemset if 'rvm_sticky' is set @@ -822,23 +823,19 @@ version_url="http://rvm.beginrescueend.com/releases/stable-version.txt" stable_version="$(curl -s $version_url)" __rvm_run "fetch" \ - "$rvm_path/scripts/fetch \ - 'http://rvm.beginrescueend.com/releases/rvm-${stable_version}.tar.gz'" \ + "$rvm_path/scripts/fetch 'http://rvm.beginrescueend.com/releases/rvm-${stable_version}.tar.gz'" \ "fetching rvm-${stable_version}.tar.gz" __rvm_run "extract" \ - "gunzip < \ - \"${rvm_archives_path:-"$rvm_path/archives"}/rvm-${stable_version}.tar.gz\" \ - | tar xf - -C ${rvm_src_path:-"$rvm_path/src"}" \ + "gunzip < \"${rvm_archives_path:-"$rvm_path/archives"}/rvm-${stable_version}.tar.gz\" | tar xf - -C ${rvm_src_path:-"$rvm_path/src"}" \ "Extracting rvm-${stable_version}.tar.gz ..." __rvm_run "install" \ - "builtin cd ${rvm_src_path:-"$rvm_path/src"}/rvm-${stable_version}/;\ - ./install" \ + "builtin cd ${rvm_src_path:-"$rvm_path/src"}/rvm-${stable_version}/; ./install" \ "Installing rvm-${stable_version}..." fi ) rvm_hook="after_update" ; source "$rvm_path/scripts/hook" @@ -1552,6 +1549,25 @@ ;; esac return $? +} + +# My concern here is that this will slow things down quite a bit. +# This is originally from +# http://github.com/teleological/rvm/commit/21d6083db3fffc5fa92b9ea8814f3f28f7e48c7f#commitcomment-178001 +# Is there a zsh setting to counter the issue instead of this? +__rvm_export_if_set() +{ + local parameter value + + for parameter in $* ; do + eval "value=\${$parameter:-\"\"}" + + if [[ -n "$value" ]] ; then + export $parameter + fi + done + + return 0 }