summaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-28 23:45:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-28 23:45:55 +0000
commit86a756ae154ff42da39af1a5358506fca11e0946 (patch)
treea0c7dedaaa6526d8ec61196b357415256259f24c /proc.c
parente3503ee218d8b6ca4dfa95414fe5d83b52104476 (diff)
Passed block symbol to proc
* proc.c (passed_block): convert passed block symbol to proc. based on the patch by Daisuke Sato in [ruby-dev:49695]. [Bug #12531] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/proc.c b/proc.c
index 850de22634..29a857f4a4 100644
--- a/proc.c
+++ b/proc.c
@@ -820,6 +820,9 @@ passed_block(VALUE pass_procval)
{
if (!NIL_P(pass_procval)) {
rb_proc_t *pass_proc;
+ if (SYMBOL_P(pass_procval)) {
+ pass_procval = sym_proc_new(rb_cProc, pass_procval);
+ }
GetProcPtr(pass_procval, pass_proc);
return &pass_proc->block;
}