I'm getting a LocalJumpError only when three factors are present: nested
each calls within an END block in a required file. Any two of these
three cause no problem. This is with 1.6.7 on linux.

Here are the files:

===run.rb===
  require 'test'

===test.rb===
  class Foo
    def each(&block)
      [1,2,3].each(&block)
    end
  end

  #Foo.new.each { |c| break }    # this is ok

  END {
  #  [1,2,3].each { |c| break }  # this is ok
    Foo.new.each { |c| break }  # LocalJumpError
  }


If I run test.rb by itself, there is no problem.

If I run run.rb, which just requires test.rb, I get:

./test.rb:4:in `each': break from proc-closure (LocalJumpError)
        from ./test.rb:4:in `each'
        from ./test.rb:4:in `each'
        from ./test.rb:11
        from ./test.rb:12
        from run.rb:1

However, if I move the 'Foo.new.each...' out of the END block, then
run.rb is ok.

And if I don't nest the iteration, all is well.