[MacRuby-devel] [MacRuby] #798: Processing after Proc is not executed when use Proc in lambda, and when calls `return' in Proc.
MacRuby
ruby-noreply at macosforge.org
Fri Jul 16 12:02:08 PDT 2010
#798: Processing after Proc is not executed when use Proc in lambda, and when
calls `return' in Proc.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Old description:
> Test Script:
> {{{
> $ cat test_proc.rb
> def test_lambda_lambda
> lambda {
> lambda {
> return
> }.call
> }.call
> p "test_lambda_lambda"
>
> :ok
> end
>
> def test_lambda_proc
> lambda {
> Proc.new {
> return
> }.call
> }.call
> p "test_lambda_proc"
>
> :ok
> end
>
> def test_proc_proc
> Proc.new {
> Proc.new {
> return
> }.call
> }.call
> p "test_proc_proc"
>
> :ng
> end
>
> p test_lambda_lambda
> p test_lambda_proc
> p test_proc_proc
> }}}
>
> Result of Ruby 1.9.1:
> {{{
> $ ruby test_proc.rb
> "test_lambda_lambda"
> :ok
> "test_lambda_proc"
> :ok
> nil
> }}}
>
> Result of MacRuby Trunk:
> {{{
> $ macruby test_proc.rb
> "test_lambda_lambda"
> :ok
> nil
> nil
> }}}
New description:
Test Script:
{{{
#!ruby
$ cat test_proc.rb
def test_lambda_lambda
p "test_lambda_lambda"
lambda {
lambda {
return :ng
}.call
}.call
return :ok
end
def test_lambda_proc
p "test_lambda_proc"
lambda {
Proc.new {
return :ng
}.call
}.call
return :ok
end
def test_proc_proc
p "test_proc_proc"
Proc.new {
Proc.new {
return :ok
}.call
}.call
return :ng
end
p test_lambda_lambda
p test_lambda_proc
p test_proc_proc
}}}
Result of Ruby 1.9.1:
{{{
"test_lambda_lambda"
:ok
"test_lambda_proc"
:ok
"test_proc_proc"
:ok
}}}
Result of MacRuby Trunk:
{{{
$ macruby test_proc.rb
"test_lambda_lambda"
:ok
"test_lambda_proc"
:ng
"test_proc_proc"
:ok
}}}
Ruby 1.8:
{{{
"test_lambda_lambda"
:ok
"test_lambda_proc"
:ng
"test_proc_proc"
:ok
}}}
--
Comment(by martinlagardette@…):
(modified the test to make the situation a little clearer)
--
Ticket URL: <http://www.macruby.org/trac/ticket/798#comment:1>
MacRuby <http://macruby.org/>
More information about the MacRuby-devel
mailing list