rvm 0.1.38 → 0.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README CHANGED
@@ -12,7 +12,6 @@ Flags
12
12
  --trace - Toggle trace mode on to see EVERYTHING rvm is doing.
13
13
  --force - Force install, removes old install & source before install.
14
14
  --summary - Used with rubydo to print out a summary of the commands run.
15
- --jit - Used with rubinius install to build with JIT
16
15
  --latest - with gemset --dump skips version strings for latest gem.
17
16
  --gems - with uninstall/remove removes gems with the interpreter.
18
17
  --docs - with install, attempt to generate ri after installation.
@@ -29,10 +28,15 @@ Options
29
28
  --archives - directory for downladed files (~/.rvm/archives/)
30
29
  -S - Specify a script file to attempt to load and run (rubydo)
31
30
  -e - Execute code from the command line.
32
- -G|--gems - root gem path to use
31
+ -G - root gem path to use
32
+ --gems - Used to set the 'gems_flag', use with 'remove' to remove gems
33
+ --archive - Used to set the 'archive_flag', use with 'remove' to remove archive
33
34
  --patch - With MRI Rubies you may specify one or more full paths to patches
34
35
  for multiple, specify comma separated:
35
- --patch /.../.../a.patch,/.../.../.../b.patch
36
+ --patch /.../.../a.patch[%prefix],/.../.../.../b.patch
37
+ 'prefix' is an optional argument, which will be bypassed
38
+ to the '-p' argument of the 'patch' command. It is separated
39
+ from patch file name with '%' symbol.
36
40
  -C|--configure - custom configure options. If you need to pass several configure
37
41
  options then append them comma separated: -C --...,--...,--...
38
42
  --nice - process niceness (for slow computers, default 0)
@@ -23,7 +23,8 @@ if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo "$ruby" | awk '/rvm/{print}')" ]] ; the
23
23
  r|revision) add "revision" ;;
24
24
  a|architecture) add "architecture" ;;
25
25
  g|gemset) add "gemset" ;;
26
- u|unicode) unicode_flag=1 ;;
26
+ u|unicode) add "unicode" ;;
27
+ s|system) add "system" ;;
27
28
  *) echo "Unrecognized command line option '$token' for $0" ; exit 1 ;;
28
29
  esac
29
30
  done
@@ -37,11 +38,11 @@ if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo "$ruby" | awk '/rvm/{print}')" ]] ; the
37
38
 
38
39
  ruby_string=$(dirname "$ruby" | xargs dirname | xargs basename)
39
40
 
40
- if [[ ! -z "$interpreter_flag" ]] ; then
41
+ if [[ ! -z "$interpreter_flag" ]] || [[ ! -z "$unicode_flag" ]] ; then
41
42
  interpreter="$(echo $ruby_string | awk -F'-' '{print $1}')"
42
43
  fi
43
44
 
44
- if [[ ! -z "$version_flag" ]] ; then
45
+ if [[ ! -z "$version_flag" ]] || [[ ! -z "$unicode_flag" ]] ; then
45
46
  version="$(echo $ruby_string | awk -F'-' '{print $2}')"
46
47
  fi
47
48
 
@@ -82,16 +83,19 @@ if [[ ! -z "$ruby" ]] && [[ ! -z "$(echo "$ruby" | awk '/rvm/{print}')" ]] ; the
82
83
  if [[ ! -z "$(echo $ruby_string | awk '/-head/')" ]] ; then
83
84
  unicode="${unicode}〠"
84
85
  fi
85
- # TODO: Architecture
86
- # TODO: gemset
87
- echo $unicode
88
- else
89
- command="prompt=\"$format\""
90
- eval "$command"
91
- echo "$prompt" | sed -e 's#^\s*-*##g' -e 's#--*#-#g' -e 's#-*\s*$##' -e 's#-'${rvm_gemset_separator}'#'${rvm_gemset_separator}'#'
92
86
  fi
87
+
88
+ command="prompt=\"$format\""
89
+ eval "$command"
90
+ echo "$prompt" | sed -e 's#^\s*-*##g' -e 's#--*#-#g' -e 's#-*\s*$##' -e 's#-'${rvm_gemset_separator}'#'${rvm_gemset_separator}'#'
91
+
93
92
  else
94
- echo "system"
93
+ while [[ $# -gt 0 ]] ; do
94
+ token="$1" ; shift
95
+ case "$token" in
96
+ s|system) echo "system" ;;
97
+ esac
98
+ done
95
99
  fi
96
100
 
97
101
  exit 0
data/config/db CHANGED
@@ -24,28 +24,29 @@ rubygems_version=1.3.7
24
24
  rubygems_1.3.5_url=http://rubyforge.org/frs/download.php/60718
25
25
  rubygems_1.3.6_url=http://rubyforge.org/frs/download.php/69365
26
26
  rubygems_1.3.7_url=http://rubyforge.org/frs/download.php/70696
27
- rbx_version=1.0.0
27
+ rbx_version=1.0.1
28
28
  rbx_1.0.0_patch_level=20100514
29
+ rbx_1.0.1_patch_level=20100603
29
30
  rbx_url=http://asset.rubini.us
31
+ rubinius_repo_url=git://github.com/evanphx/rubinius.git
30
32
  ree_version=1.8.7
31
33
  ree_configure_flags=--dont-install-useful-gems
32
34
  ree_1.8.6_patch_level=20090610
33
35
  ree_1.8.6_url=http://rubyforge.org/frs/download.php/58677
34
36
  ree_1.8.6_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition.git
35
- ree_1.8.7_url=http://rubyforge.org/frs/download.php/68719
37
+ ree_1.8.7_url=http://rubyforge.org/frs/download.php/71096
36
38
  ree_1.8.7_repo_url=git://github.com/FooBarWidget/rubyenterpriseedition187.git
37
- ree_1.8.7_patch_level=2010.01
38
- jruby_version=1.5.0
39
+ ree_1.8.7_patch_level=2010.02
40
+ jruby_version=1.5.1
39
41
  jruby_repo_url=git://github.com/jruby/jruby.git
40
42
  jruby_url=http://jruby.org.s3.amazonaws.com/downloads
41
43
  macruby_version=0.6
42
44
  macruby_url=http://www.macruby.org/files
43
45
  macruby_repo_url=git://git.macruby.org/macruby/MacRuby.git
44
46
  macruby_nightly_url=http://www.macruby.org/files/nightlies/macruby_nightly-latest.pkg
45
- maglev_version=23530
47
+ maglev_version=23577
46
48
  maglev_url=http://glass-downloads.gemstone.com/maglev
47
49
  maglev_repo_url=git://github.com/MagLev/maglev.git
48
- rubinius_repo_url=git://github.com/evanphx/rubinius.git
49
50
  shyouhei_repo_url=git://github.com/shyouhei/ruby.git
50
51
  ironruby_version=1.0
51
52
  ironruby_repo_url=git://github.com/ironruby/ironruby.git
@@ -15,21 +15,21 @@ ruby-head
15
15
  jruby-1.2.0
16
16
  jruby-1.3.1
17
17
  jruby-1.4.0
18
- jruby(-1.5.0) # the default
18
+ jruby(-1.5.1)
19
19
  jruby-head
20
20
 
21
21
  # Rubinius
22
- rbx(-1.0.0) # default
22
+ rbx(-1.0.1)
23
23
  rbx-head
24
24
 
25
25
  # Ruby Enterprise Edition
26
26
  ree-1.8.6
27
- ree(-1.8.7) # the default
27
+ ree(-1.8.7)
28
28
  ree-1.8.6-head
29
29
  ree-1.8.7-head
30
30
 
31
31
  # MagLev
32
- maglev(-23530)
32
+ maglev(-23577)
33
33
  maglev-head
34
34
 
35
35
  # Shyouhei head, the default mput
data/config/md5 CHANGED
@@ -2,6 +2,7 @@ rubinius-1.0.0-rc1-20091125.tar.gz=c1cf037f05caf1bc962c09e220b435f4
2
2
  rubinius-1.0.0-rc4-20100331.tar.gz=c631131cc9542c548b4fc3791d8aa6b2
3
3
  rubinius-1.0.0-rc5-20100510.tar.gz=d4fbb5b01aaeee3948cbe1cd38236524
4
4
  rubinius-1.0.0-20100514.tar.gz=b05f4e791d3712c5a50b3d210dac6eb0
5
+ rubinius-1.0.1-20100603.tar.gz=eb185703c7ae0c0210e8dcb7f783ee8e
5
6
  ruby-1.8.5-p115.tar.gz=20ca6cc87eb077296806412feaac0356
6
7
  ruby-1.8.5-p231.tar.gz=e900cf225d55414bffe878f00a85807c
7
8
  ruby-1.8.6-p286.tar.gz=797ea136fe43e4286c9362ee4516674e
@@ -34,6 +35,7 @@ jruby-bin-1.4.0.tar.gz=f37322c18e9134e91e064aebb4baa4c7
34
35
  jruby-bin-1.5.0.RC1.tar.gz=47b4ca2a21659d36a2775ade0a2534c4
35
36
  jruby-bin-1.5.0.RC3.tar.gz=9c2758600de903b8ca07cb1341f4f1b3
36
37
  jruby-bin-1.5.0.tar.gz=ee2b4e326e8b87858e5dd0c8e94102e6
38
+ jruby-bin-1.5.1.tar.gz=0196dcfb17354f12253eaddc1166a0ee
37
39
  libiconv-1.13.1.tar.gz=7ab33ebd26687c744a37264a330bbe9a
38
40
  ncurses.tar.gz=cce05daf61a64501ef6cd8da1f727ec6
39
41
  openssl-0.9.8k.tar.gz=e555c6d58d276aec7fdc53363e338ab3
@@ -43,7 +45,7 @@ zlib-1.2.3.tar.gz=debc62758716a169df9f62e6ab2bc634
43
45
  curl-7.19.7.tar.gz=ecb2e37e45c9933e2a963cabe03670ab
44
46
  pkg-config-0.23.tar.gz=d922a88782b64441d06547632fd85744
45
47
  ironruby-1.0.zip=7a92888837b3507355ed391dbfc0ab83
46
- GemStone-23530.Darwin-i386.tar.gz=90f395d169693b5c4b5a37785e7a5c99
47
- GemStone-23530.Linux-x86_64.tar.gz=66366bf82d4a7ba66e430bccc722392c
48
- MagLev-23530.Darwin-i386.tar.gz=c051f512c62da9f4bd90ef5d4bc83eae
49
- MagLev-23530.Linux-x86_64.tar.gz=ae6be22534625777965ee3124c38b3aa
48
+ GemStone-23577.Darwin-i386.tar.gz=dd6a758a3f7a3f89bbc2c660d6251d76
49
+ GemStone-23577.Linux-x86_64.tar.gz=d72f05f5b54655262b9268beef3093ae
50
+ MagLev-23577.Darwin-i386.tar.gz=13decfc60cc4489876f246d24a108257
51
+ MagLev-23577.Linux-x86_64.tar.gz=664fb4c82bb878118e0b9b150c49c06a
data/help/alias CHANGED
@@ -1,6 +1,6 @@
1
1
  Alias
2
2
 
3
- RVM allows you to alias you rubies for your convience and pleasure.
3
+ RVM allows you to alias your rubies for your convenience and pleasure.
4
4
 
5
5
  Usage
6
6
  rvm [options] alias source destination
@@ -12,9 +12,9 @@ Usage
12
12
 
13
13
  Creating Aliases
14
14
 
15
- First select a RVM ruby.
15
+ First select an RVM ruby.
16
16
 
17
- ∴ rvm alias create ree-1.8.7-p2010.01 php
17
+ ∴ rvm alias create php ree-1.8.7-p2010.01
18
18
 
19
19
  Using Aliases
20
20
 
data/help/fetch CHANGED
@@ -1,5 +1,5 @@
1
1
  Fetch
2
2
 
3
- Documentation:
4
- TODO: For now see:
5
- http://rvm.beginrescueend.com/rubies/installing/
3
+ Performs an archive / src fetch of the current selected ruby.
4
+
5
+ Usage: ∴ rvm fetch
data/install CHANGED
@@ -79,7 +79,13 @@ source_path="${source_path:-$cwd}"
79
79
  rvm_archives_path="${rvm_archives_path:-"$rvm_path/archives"}"
80
80
  rvm_src_path="${rvm_src_path:-"$rvm_path/src"}"
81
81
  rvm_log_path="${rvm_log_path:-"$rvm_path/log"}"
82
- rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
82
+
83
+ if [[ "root" = "$(whoami)" ]] ; then
84
+ rvm_bin_path="${rvm_bin_path:-"/usr/local/bin"}"
85
+ else
86
+ rvm_bin_path="${rvm_bin_path:-"$rvm_path/bin"}"
87
+ fi
88
+
83
89
  rvm_gems_path="${rvm_gems_path:-"$rvm_path/gems"}"
84
90
  rvm_rubies_path="${rvm_rubies_path:-"$rvm_path/rubies"}"
85
91
  rvm_scripts_path="${rvm_scripts_path:-"$rvm_path/scripts"}"
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 38
4
+ :patch: 39
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rvm}
8
- s.version = "0.1.38"
8
+ s.version = "0.1.39"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wayne E. Seguin"]
12
- s.date = %q{2010-06-03}
12
+ s.date = %q{2010-06-18}
13
13
  s.default_executable = %q{rvm-install}
14
14
  s.description = %q{Manages Ruby interpreter environments and switching between them.}
15
15
  s.email = %q{wayneeseguin@gmail.com}
@@ -95,6 +95,7 @@ Gem::Specification.new do |s|
95
95
  "scripts/monitor",
96
96
  "scripts/notes",
97
97
  "scripts/package",
98
+ "scripts/rubygems",
98
99
  "scripts/rvm",
99
100
  "scripts/rvm-install",
100
101
  "scripts/selector",
@@ -10,6 +10,23 @@ source $rvm_scripts_path/initialize
10
10
  source $rvm_scripts_path/utility
11
11
  source $rvm_scripts_path/selector
12
12
 
13
+ alias_conflicts_with_ruby() {
14
+ # Open for suggestions to a better way of doing this...
15
+ alias_check_result="$(
16
+ . $rvm_scripts_path/initialize
17
+ . $rvm_scripts_path/selector
18
+ export rvm_ruby_string="$1"
19
+ __rvm_ruby_string > /dev/null 2>&1
20
+ echo "$?"
21
+ )"
22
+ if [[ "0" == "$alias_check_result" ]]; then
23
+ $rvm_scripts_path/log "error" "You are attempted to create an alias called '$1', which is recognized as a rvm ruby."
24
+ return 0
25
+ fi
26
+ return 1
27
+ unset alias_check_result
28
+ }
29
+
13
30
  show_alias() {
14
31
  if [[ -z "$alias_name" ]]; then
15
32
  $rvm_scripts_path/log "error" "usage: 'rvm alias show [alias_name]'"
@@ -36,6 +53,10 @@ delete_alias() {
36
53
  }
37
54
 
38
55
  create_alias() {
56
+ if alias_conflicts_with_ruby "$alias_name"; then
57
+ # Force it to an empty alias name to trigger the usage.
58
+ alias_name=""
59
+ fi
39
60
  if [[ -z "$rvm_environment_identifier" ]] || [[ -z "$alias_name" ]] ; then
40
61
  $rvm_scripts_path/log "error" "usage: 'rvm alias [alias_name] [ruby_string]'"
41
62
  result=1
@@ -4,7 +4,10 @@ __rvm_usage() { cat "${rvm_path:-$HOME/.rvm}/README" | ${PAGER:-less} ; }
4
4
 
5
5
  __rvm_parse_args() {
6
6
 
7
- echo "$@" >> $HOME/.rvm_history
7
+ # TODO:
8
+ # Make this more robust '__rvm_history' so that it stores *unique* rvm commands.
9
+ # Otherwise this file gets big rather fast.
10
+ #echo "$@" >> $HOME/.rvm_history
8
11
 
9
12
  if echo "$@" | grep -q 'trace' ; then echo "$@" ; __rvm_version ; fi
10
13
 
@@ -34,12 +37,6 @@ __rvm_parse_args() {
34
37
  rvm_action=$rvm_token
35
38
  ;;
36
39
 
37
- inspect)
38
- rvm_action=$rvm_token
39
- rvm_ruby_args="$@"
40
- rvm_parse_break=1
41
- ;;
42
-
43
40
  install|uninstall)
44
41
  export ${rvm_token}_flag=1
45
42
  rvm_action=$rvm_token
@@ -106,7 +103,7 @@ __rvm_parse_args() {
106
103
  if [[ "user" = "$1" ]] ; then rvm_user_flag=1 ; shift ; fi
107
104
  ;;
108
105
 
109
- list|info|alias|docs)
106
+ rubygems|inspect|list|info|alias|docs)
110
107
  rvm_action="$rvm_token"
111
108
  rvm_ruby_args="$@"
112
109
  rvm_parse_break=1
@@ -124,6 +121,12 @@ __rvm_parse_args() {
124
121
  rvm_parse_break=1
125
122
  ;;
126
123
 
124
+ exec)
125
+ rvm_action="exec";
126
+ rvm_ruby_args="$(__rvm_quote_args "$@")"
127
+ rvm_parse_break=1
128
+ ;;
129
+
127
130
  do|ruby|rake|gem|rubydo|rakedo|gemdo)
128
131
  if [[ "do" = "$rvm_action" ]] ; then rvm_action="ruby" ; fi
129
132
  rvm_action=$(echo $rvm_token | sed 's#do##g')
@@ -225,26 +228,6 @@ __rvm_parse_args() {
225
228
  fi
226
229
  ;;
227
230
 
228
- -j)
229
- if [[ ! -z "$1" ]] ; then
230
- rvm_make_flags="$rvm_make_flags -j$1"
231
- shift
232
- else
233
- rvm_action="error"
234
- rvm_error_message="-j *must* be followed by an integer (normally the # of CPU's in your machine)."
235
- fi
236
- ;;
237
-
238
- -C|--configure)
239
- if [[ ! -z "$1" ]] ; then
240
- rvm_ruby_configure_flags="$(echo $1 | tr ',' ' ')"
241
- shift
242
- else
243
- rvm_action="error"
244
- rvm_error_message="--configure *must* be followed by configure flags."
245
- fi
246
- ;;
247
-
248
231
  -r|--require)
249
232
  if [[ -z "$1" ]] ; then
250
233
  rvm_action="error"
@@ -255,16 +238,6 @@ __rvm_parse_args() {
255
238
  fi
256
239
  ;;
257
240
 
258
- -I|--include)
259
- if [[ -z "$1" ]] ; then
260
- rvm_action="error"
261
- rvm_error_message="-I|--include *must* be followed by a path."
262
- else
263
- rvm_ruby_load_path="$rvm_ruby_load_path:$1"
264
- shift
265
- fi
266
- ;;
267
-
268
241
  --rdoc|--yard)
269
242
  rvm_docs_type="$rvm_token"
270
243
  rvm_docs_type
@@ -307,14 +280,16 @@ __rvm_parse_args() {
307
280
 
308
281
  wrapper)
309
282
  rvm_action="$rvm_token"
310
- rvm_ruby_string="$1" ; shift
311
- rvm_wrapper_name="$1" ; shift
283
+ rvm_ruby_string="$1" ;
284
+ [[ -n "$1" ]] && shift
285
+ rvm_wrapper_name="$1"
286
+ [[ -n "$1" ]] && shift
312
287
  rvm_ruby_args="$@" # list of binaries, or none
313
288
  rvm_parse_break=1
314
289
  ;;
315
290
 
316
291
  -h|--help|usage) rvm_action=help ;;
317
- -G|--gems) rvm_gems_path="$1" ; shift ;;
292
+ -G) rvm_gems_path="$1" ; shift ;;
318
293
  --source) rvm_src_path="$1" ; shift ;;
319
294
  --archives) rvm_archives_path="$1" ; shift ;;
320
295
  --make) rvm_ruby_make="$1" ; shift ;;
@@ -339,10 +314,54 @@ __rvm_parse_args() {
339
314
 
340
315
  --self|--gem|--rubygems|--reconfigure|--default|--debug|--force|--export|--summary|--latest|--yaml|--json|--archive|--shebang|--env|--path|--tail|--delete|--verbose|--import|--rvmrc|--sticky|--create|--rvmrc|--gems|--docs)
341
316
  export rvm_$(echo $rvm_token | sed 's#-##g')_flag=1
342
- if [[ "--debug" = "$rvm_token" ]] ; then rvm_debug_flag ; fi
317
+ ;;
318
+
319
+ -j)
320
+ if [[ ! -z "$1" ]] ; then
321
+ rvm_make_flags="$rvm_make_flags -j$1"
322
+ shift
323
+ else
324
+ rvm_action="error"
325
+ rvm_error_message="-j *must* be followed by an integer (normally the # of CPU's in your machine)."
326
+ fi
327
+ ;;
328
+
329
+ -C|--configure)
330
+ if [[ ! -z "$1" ]] ; then
331
+ rvm_ruby_configure_flags="$(echo $1 | tr ',' ' ')"
332
+ shift
333
+ else
334
+ rvm_action="error"
335
+ rvm_error_message="--configure *must* be followed by configure flags."
336
+ fi
337
+ ;;
338
+
339
+ --with-*)
340
+ rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token"
341
+ ;;
342
+ --without-*)
343
+ rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token"
344
+ ;;
345
+ --enable-*)
346
+ rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token"
347
+ ;;
348
+ --disable-*)
349
+ rvm_ruby_configure_flags="$rvm_ruby_configure_flags $rvm_token"
350
+ ;;
351
+
352
+
353
+ -I|--include)
354
+ if [[ -z "$1" ]] ; then
355
+ rvm_action="error"
356
+ rvm_error_message="-I|--include *must* be followed by a path."
357
+ else
358
+ rvm_ruby_load_path="$rvm_ruby_load_path:$1"
359
+ shift
360
+ fi
343
361
  ;;
344
362
 
345
363
  --) rvm_ruby_args="$*" ; rvm_parse_break=1 ;;
364
+
346
365
  *)
347
366
  if [[ ! -z "$rvm_token" ]] ; then
348
367
  if [[ "gemset" = "$rvm_action" ]] ; then
@@ -413,7 +432,7 @@ __rvm_parse_args() {
413
432
  rvm() {
414
433
  __rvm_setup
415
434
 
416
- if [[ ! -z "$PS1" ]] ; then export rvm_interactive=1 ; else unset rvm_interactive ; fi
435
+ if [[ -n "$PS1" ]] ; then export rvm_interactive=1 ; else unset rvm_interactive ; fi
417
436
 
418
437
  if [[ -z "$ZSH_VERSION" ]] ; then
419
438
  trap 'rm -rf "$rvm_tmp_path/$$" >/dev/null 2>&1' 0 1 2 3 15
@@ -460,9 +479,10 @@ rvm() {
460
479
  fi
461
480
  result=$?
462
481
  ;;
463
- docs) $rvm_scripts_path/docs $rvm_ruby_args ; result=$? ;;
464
- alias) $rvm_scripts_path/alias $rvm_ruby_args ; result=$? ;;
465
- help) $rvm_scripts_path/help $rvm_ruby_args ; result=$? ;;
482
+ docs) $rvm_scripts_path/docs $rvm_ruby_args ; result=$? ;;
483
+ alias) $rvm_scripts_path/alias $rvm_ruby_args ; result=$? ;;
484
+ help) $rvm_scripts_path/help $rvm_ruby_args ; result=$? ;;
485
+ rubygems) $rvm_scripts_path/rubygems $rvm_ruby_args ; result=$? ;;
466
486
 
467
487
  answer) __rvm_Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything ; result=42 ;;
468
488
  question) __rvm_ultimate_question ; result=42 ;;
@@ -483,15 +503,15 @@ rvm() {
483
503
  result=$?
484
504
  ;;
485
505
 
486
- ruby|gem|rake)
506
+ ruby|gem|rake|exec)
487
507
  old_rvm_ruby_string=$rvm_ruby_string
488
508
  unset rvm_ruby_string
489
509
  export rvm_ruby_strings
490
510
  $rvm_scripts_path/set $rvm_action $rvm_ruby_args
511
+ result=$?
491
512
  # Restore the state pre-sets.
492
513
  [[ -n "$old_rvm_ruby_string" ]] && rvm_ruby_string=$old_rvm_ruby_string
493
514
  unset old_rvm_ruby_string
494
- result=$?
495
515
  ;;
496
516
 
497
517
  gemset)