From 5f1db6ea963689f4992a92ecd3d90d80df6d2e2e Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 18 Sep 2003 13:43:42 +0000 Subject: [PATCH] * eval.c (proc_invoke): should update "result" for orphans. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- eval.c | 2 +- lib/open3.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eval.c b/eval.c index 7cc68613a3..56f33baabe 100644 --- a/eval.c +++ b/eval.c @@ -7035,7 +7035,7 @@ proc_invoke(proc, args, self, klass) proc_set_safe_level(proc); result = rb_yield_0(args, self, self!=Qundef?CLASS_OF(self):0, pcall, Qtrue); } - else if (pcall || TAG_DST()) { + else if (pcall || orphan || TAG_DST()) { result = prot_tag->retval; } POP_TAG(); diff --git a/lib/open3.rb b/lib/open3.rb index 569c8968b4..407cd7662c 100644 --- a/lib/open3.rb +++ b/lib/open3.rb @@ -1,6 +1,6 @@ # open3.rb: Spawn a program like popen, but with stderr, too. You might also # want to use this if you want to bypass the shell. (By passing multiple args, -# with IO#popen does not allow) +# which IO#popen does not allow) # # Usage: # require "open3"