1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Revert "* error.c (exc_equal): try implicit conversion for delegator."

This reverts commit r34291 because it breaks objects whose "exception"
method doesn't allow no argument like XMLRPC::FaultException class.
To reproduce: `RuntimeError.new == XMLRPC::FaultException`.
[ruby-core:41979] [Bug #5865]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2012-01-13 23:41:55 +00:00
parent 23506c427d
commit 1648e9442d
3 changed files with 1 additions and 16 deletions

View file

@ -18,11 +18,6 @@ Fri Jan 13 17:23:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* load.c (load_unlock): update loading table at once.
Fri Jan 13 16:44:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* error.c (exc_equal): try implicit conversion for delegator.
[ruby-core:41979] [Bug #5865]
Fri Jan 13 03:46:53 2012 Akinori MUSHA <knu@iDaemons.org>
* lib/shellwords.rb (Shellwords#shellescape): shellescape() now

View file

@ -732,14 +732,10 @@ exc_equal(VALUE exc, VALUE obj)
CONST_ID(id_mesg, "mesg");
if (rb_obj_class(exc) != rb_obj_class(obj)) {
ID id_exception, id_message, id_backtrace;
CONST_ID(id_exception, "exception");
ID id_message, id_backtrace;
CONST_ID(id_message, "message");
CONST_ID(id_backtrace, "backtrace");
obj = rb_check_funcall(obj, id_exception, 0, 0);
if (obj == Qundef) return Qfalse;
if (rb_obj_class(exc) != rb_obj_class(obj)) 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);

View file

@ -380,10 +380,4 @@ end.join
load(t.path)
end
end
def test_equal
bug5865 = '[ruby-core:41979]'
assert_equal(RuntimeError.new("a"), RuntimeError.new("a"), bug5865)
assert_not_equal(RuntimeError.new("a"), StandardError.new("a"), bug5865)
end
end