Skip to content

Commit

Permalink
Bugfix: rvm @gemsetname ~ zsh bug.
Browse files Browse the repository at this point in the history
  • Loading branch information
wayneeseguin committed Sep 7, 2011
1 parent a436ae2 commit f1ce663
Showing 1 changed file with 58 additions and 58 deletions.
116 changes: 58 additions & 58 deletions scripts/selector
Expand Up @@ -616,28 +616,28 @@ __rvm_ruby_string()
true \
"${rvm_ruby_version:=}" "${rvm_gemset_name:=}" "${rvm_ruby_interpreter:=}"\
"${rvm_ruby_version:=}" "${rvm_ruby_tag:=}" "${rvm_ruby_patch_level:=}"\
"${rvm_ruby_revision:=}" ${rvm_gemset_separator:="@"} "${rvm_ruby_string:=}"\
${rvm_expanding_aliases:=0} ${rvm_head_flag:=0}

if echo "$rvm_ruby_string" | \grep "${rvm_gemset_separator}" >/dev/null 2>&1
then
rvm_gemset_name="${rvm_ruby_string/*${rvm_gemset_separator}/}"
rvm_ruby_string="${rvm_ruby_string/${rvm_gemset_separator}*/}"
fi

# Alias'd rubies
if (( rvm_expanding_aliases == 0 )) &&
[[ -n "${rvm_ruby_string}" && "$rvm_ruby_string" != "system" ]]
then
if expanded_alias_name="$("$rvm_scripts_path/alias" show "$rvm_ruby_string" 2>/dev/null)" \
&& [[ -n "$expanded_alias_name" ]]
then
rvm_ruby_string="$expanded_alias_name"
elif [[ "$rvm_ruby_string" = default ]]
then
# Default is not a known value. Instead, we need to therefore set it to system.
rvm_ruby_string="system"
fi
"${rvm_ruby_revision:=}" ${rvm_gemset_separator:="@"} "${rvm_ruby_string:=}"\
${rvm_expanding_aliases:=0} ${rvm_head_flag:=0}

if echo "$rvm_ruby_string" | \grep "${rvm_gemset_separator}" >/dev/null 2>&1
then
rvm_gemset_name="${rvm_ruby_string/*${rvm_gemset_separator}/}"
rvm_ruby_string="${rvm_ruby_string/${rvm_gemset_separator}*/}"
fi

# Alias'd rubies
if (( rvm_expanding_aliases == 0 )) &&
[[ -n "${rvm_ruby_string}" && "$rvm_ruby_string" != "system" ]]
then
if expanded_alias_name="$("$rvm_scripts_path/alias" show "$rvm_ruby_string" 2>/dev/null)" \
&& [[ -n "$expanded_alias_name" ]]
then
rvm_ruby_string="$expanded_alias_name"
elif [[ "$rvm_ruby_string" = default ]]
then
# Default is not a known value. Instead, we need to therefore set it to system.
rvm_ruby_string="system"
fi
fi

if echo "$rvm_ruby_string" | \grep "${rvm_gemset_separator}" >/dev/null 2>&1 ; then
Expand All @@ -664,35 +664,35 @@ fi
rvm_sticky_flag=1 # <- not sold on this.
fi

strings=($(echo "${ruby_string//-/ }"))
strings=($(echo ${ruby_string//-/ }))

if (( ${#strings[@]} == 0 ))
then
if echo "${GEM_HOME:-""}" | grep "rvm" >/dev/null 2>&1
if echo "${GEM_HOME:-}" | grep "rvm" >/dev/null 2>&1
then
# Current Ruby
strings="${GEM_HOME##*\/}"
strings="${strings/%${rvm_gemset_separator:-"@"}*}"
rvm_ruby_string="$strings"
strings=(${strings//-/ })
strings=( $(echo ${rvm_ruby_string//-/ }) )
else
strings=(system)
rvm_ruby_string="system"
fi
fi

for string in "${strings[@]:-""}"
for string in ${strings[@]}
do
case "$string" in
head)
(head)
rvm_ruby_revision="head"
rvm_ruby_patch_level=""
rvm_ruby_revision=""
rvm_ruby_tag=""
export rvm_head_flag=1
;;

system)
(system)
rvm_ruby_interpreter="system"
rvm_ruby_patch_level=""
rvm_ruby_tag=""
Expand All @@ -703,29 +703,29 @@ fi
return 0
;;

nightly)
(nightly)
rvm_ruby_version="nightly"
rvm_nightly_flag=1
break
;;

preview*)
(preview*)
rvm_ruby_patch_level="$string"
;;

rc[[:digit:]]*)
(rc[[:digit:]]*)
rvm_ruby_patch_level="$string"
;;

[[:digit:]].[[:digit:]]*)
([[:digit:]].[[:digit:]]*)
if [[ "${rvm_ruby_interpreter}" == "rbx" ]]
then
case "${string}" in
head)
(head)
rvm_ruby_version="head"
rvm_head_flag=1
;;
*)
(*)
if [[ -z "${rvm_ruby_version}" ]]
then
rvm_ruby_version="${string}"
Expand Down Expand Up @@ -754,86 +754,86 @@ fi
fi
;;

p[[:digit:]]*)
(p[[:digit:]]*)
rvm_ruby_patch_level="$string"
;;

[[:digit:]][[:digit:]]*)
([[:digit:]][[:digit:]]*)

case "${rvm_ruby_interpreter:-""}" in
ree)
(ree)
rvm_ruby_patch_level="$string"
rvm_ruby_revision=""
;;

kiji)
(kiji)
rvm_ruby_patch_level="$string"
rvm_ruby_revision=""
;;

rbx)
(rbx)
rvm_ruby_patch_level="$string"
;;

maglev)
(maglev)
rvm_ruby_version="$string"
rvm_ruby_revision=""
rvm_ruby_patch_level=""
;;

*)
(*)
rvm_ruby_revision="r$string"
;;
esac
;;

r[[:digit:]]*)
(r[[:digit:]]*)
rvm_ruby_patch_level=""
rvm_ruby_revision="$string"
;;

s[[:digit:]]*)
(s[[:digit:]]*)
rvm_ruby_revision=""
rvm_ruby_sha="$string"
;;

tv[[:digit:]]* | t[[:digit:]]*)
(tv[[:digit:]]* | t[[:digit:]]*)
rvm_ruby_patch_level="" ; rvm_ruby_revision=""
rvm_ruby_tag="$string"
;;

m[[:digit:]]*)
(m[[:digit:]]*)
rvm_ruby_mode="$string"
;;

u[[:alnum:]]*)
(u[[:alnum:]]*)
rvm_ruby_patch_level="" ; rvm_ruby_revision="" ; rvm_ruby_tag="" ; rvm_ruby_patch=""
rvm_ruby_user_tag="$string"
;;

a[[:digit:]][[:digit:]]*)
(a[[:digit:]][[:digit:]]*)
rvm_ruby_bits="$string" # Architecture
;;

b[[:digit:]]*)
(b[[:digit:]]*)
rvm_ruby_repo_branch="${string}"
rvm_head_flag=1
;;

ruby|rbx|jruby|macruby|ree|kiji|rubinius|maglev|ironruby|goruby)
(ruby|rbx|jruby|macruby|ree|kiji|rubinius|maglev|ironruby|goruby)
rvm_ruby_interpreter="$string"
;;

[[:alpha:]]*([[:alnum:]]|_))
([[:alpha:]]*([[:alnum:]]|_))
# TODO: DRY this up...
if [[ "${rvm_ruby_interpreter}" == "rbx" ]]
then
case "${string}" in
head)
(head)
rvm_ruby_version="head"
rvm_head_flag=1
;;
*)
(*)
if [[ -z "${rvm_ruby_version}" ]]
then
rvm_ruby_version="${string}"
Expand All @@ -851,7 +851,7 @@ fi
fi
;;

*)
(*)
# TODO: DRY this up...
if [[ "${rvm_ruby_interpreter}" == "rbx" ]]
then
Expand All @@ -860,7 +860,7 @@ fi
rvm_ruby_version="head"
rvm_head_flag=1
;;
*)
(*)
if [[ -z "${rvm_ruby_version}" ]]
then
rvm_ruby_version="${string}"
Expand All @@ -885,10 +885,10 @@ fi
then
# Detect interpreter based on version.
case "$rvm_ruby_version" in
1.[8-9]*) rvm_ruby_interpreter="ruby" ;;
0.[5-6]*) rvm_ruby_interpreter="macruby" ;;
[1-2].[0-4]*) rvm_ruby_interpreter="rbx" ;;
1.[5-7]*) rvm_ruby_interpreter="jruby" ;;
(1.[8-9]*) rvm_ruby_interpreter="ruby" ;;
(0.[5-6]*) rvm_ruby_interpreter="macruby" ;;
([1-2].[0-4]*) rvm_ruby_interpreter="rbx" ;;
(1.[5-7]*) rvm_ruby_interpreter="jruby" ;;
esac
fi

Expand Down

0 comments on commit f1ce663

Please sign in to comment.