aboutsummaryrefslogtreecommitdiffstats
path: root/vm.c
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-16 10:35:34 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-16 10:35:34 +0000
commitf186e863fcf8b5d9ceae6e033cbb9205604217bd (patch)
treee89e728d76c11de219fee5da1f7ae6f9fc99a2c6 /vm.c
parent1fd34c2b7f04a677e016a0fe24dd3f5eb7385774 (diff)
downloadruby-f186e863fcf8b5d9ceae6e033cbb9205604217bd.tar.gz
* vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc.
[ruby-core:72083] [Bug #11811] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/vm.c b/vm.c
index 087cba7250..a03e068780 100644
--- a/vm.c
+++ b/vm.c
@@ -567,6 +567,10 @@ vm_make_proc_from_block(rb_thread_t *th, rb_block_t *block, VALUE *procptr)
*procptr = block->proc = rb_vm_make_proc(th, block, rb_cProc);
return TRUE;
}
+ else if (SYMBOL_P(block->proc)) {
+ *procptr = rb_sym_to_proc(block->proc);
+ return TRUE;
+ }
else {
*procptr = block->proc;
return FALSE;