Hi,

In message "Re: [ruby-core:22687] [Bug #1248] e.exception(e) returns self"
    on Fri, 6 Mar 2009 04:36:56 +0900, Tomas Matousek <redmine / ruby-lang.org> writes:

|Exception#exception(arg) instance method should return a new exception of the same class as self with message arg. It does so for any object passed in as an argument except for if e is passed in. I don't see any reason for special casing the method this way.
|
|Repro:
|e = Exception.new
|p e.exception(e).object_id == e.object_id  # => true; it should return false

You've missed the reason why you considered this behavior to be a bug.
Have you been bitten by this?  Or just for the sake of your feeling of
consistency?  Avoiding object allocation is one good reason.

							matz.