Project

General

Profile

Bug #5865 ยป exc_equal.patch

now (Nikolai Weibull), 01/09/2012 10:23 PM

View differences:

error.c
CONST_ID(id_mesg, "mesg");
if (rb_obj_class(exc) != rb_obj_class(obj)) {
ID id_message, id_backtrace;
VALUE klass;
ID id_class, id_message, id_backtrace;
CONST_ID(id_class, "class");
CONST_ID(id_message, "message");
CONST_ID(id_backtrace, "backtrace");
klass = rb_check_funcall(obj, id_class, 0, 0);
if (klass == Qundef) return Qfalse;
if (!rb_equal(rb_obj_class(exc), klass))
return Qfalse;
mesg = rb_check_funcall(obj, id_message, 0, 0);
if (mesg == Qundef) return Qfalse;
backtrace = rb_check_funcall(obj, id_backtrace, 0, 0);
lib/delegate.rb
r
end
def class
__getobj__.class
end
#
# Returns the methods available to this delegate object as the union
# of this object's and \_\_getobj\_\_ methods.
    (1-1/1)