I think that it's useless to add [ruby-core:15551] in test_knownbug.rb
 because this is a similar problem to [ruby-core:14813], i.e the fix for
 14813 will resolve 15551 if I'm right

 Perhaps best to add [ruby-bug:16493] which can be written like this


vgs% cat b.rb
def a
   Module.new do
      def foo
         super
      end
   end
end

M = a
N = a

class C
  include M
end
C.new.foo
vgs%
 
vgs% ./ruby -v b.rb
ruby 1.9.0 (2008-03-01 revision 15664) [i686-linux]
b.rb:4:in `foo': stack level too deep (SystemStackError)
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	 ... 7692 levels...
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:4:in `foo'
	from b.rb:15:in `<main>'
vgs% 

 Change 'M = a; N =a' with 'N = a; M = a' and it will work.

 Perhaps best, also, to add [ruby-bug:16625] (#class_eval is useless)
 it can be written

vgs% cat b.rb
class Foo
  def call_it
    p = Proc.new
    p.call
  end
end

def give_it
  lambda { puts 'bar' }
end

f = Foo.new
a_proc = give_it
f.call_it(&a_proc)
vgs% 

vgs% ./ruby b.rb
b.rb:3: [BUG] Segmentation fault
ruby 1.9.0 (2008-03-01 revision 15664) [i686-linux]

-- control frame ----------
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC  :new
c:0004 p:0013 s:0012 b:0012 l:000011 d:000011 METHOD b.rb:3
c:0003 p:0046 s:0008 b:0008 l:000007 d:000007 TOP    b.rb:14
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH :inherited
c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP    <dummy toplevel>:17
---------------------------
DBG> : "b.rb:3:in `call_it'"
DBG> : "b.rb:14:in `<main>'"
-- backtrace of native function call (Use addr2line) --
0x80f58ea
0x8114ffc
0x811506b
0x80c4550
0xffffe440
0x8063361
0x80ebf66
0x80f417b
0x80efd70
0x80f3459
0x80f377d
0x805d2e8
0x806132a
0x805ad80
0xb7e12050
0x805acb1
-------------------------------------------------------
Aborted (core dumped)
vgs% 


Guy Decoux