Hi,

while playing around a bit I encountered this:

irb(main):001:0> RUBY_VERSION
"1.7.3"
irb(main):002:0> class Trivial
irb(main):003:1>   def initialize(n)
irb(main):004:2>     @n = n
irb(main):005:2>   end
irb(main):006:1>
irb(main):007:1*   def n
irb(main):008:2>     @n
irb(main):009:2>   end
irb(main):010:1>
irb(main):011:1*   def == (anOther)
irb(main):012:1>     @n == anOther.n
irb(main):013:1>   end
SyntaxError: compile error
(irb):13: syntax error
        from (irb):13
irb(main):014:0>
irb(main):015:0*   def <=>(anOther)
irb(main):016:1>     @n <=> anOther.n
irb(main):017:1>   end
nil
irb(main):018:0>
irb(main):019:0*   def eql?(o); self == o; end
nil
irb(main):020:0> end
SyntaxError: compile error
(irb):20: syntax error
        from (irb):20
irb(main):021:0>

Strangely when parsed from a file there's no error.  Why is that so?  Does
it have to do with the specific way IRB parses inputs or is it a bug?

Regards

    robert