diff --git a/ChangeLog b/ChangeLog index 5b05bec122..eeea7648d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat May 14 23:59:11 2005 Nobuyoshi Nakada + + * error.c (exc_exception, {exit,name_err,syserr}_initialize): call + Execption#initialize. fixed: [ruby-talk:142593] + Sat May 14 23:56:41 2005 Erik Huelsmann * configure.in: Check for the availability of pid_t, gid_t and uid_t and diff --git a/error.c b/error.c index 69d1d44195..c8829f8a74 100644 --- a/error.c +++ b/error.c @@ -386,7 +386,7 @@ exc_exception(argc, argv, self) if (argc == 0) return self; if (argc == 1 && self == argv[0]) return self; exc = rb_obj_clone(self); - exc_initialize(argc, argv, exc); + rb_obj_call_init(exc, argc, argv); return exc; } @@ -580,7 +580,7 @@ exit_initialize(argc, argv, exc) status = *argv++; --argc; } - exc_initialize(argc, argv, exc); + rb_call_super(argc, argv); rb_iv_set(exc, "status", status); return exc; } @@ -660,7 +660,7 @@ name_err_initialize(argc, argv, self) VALUE name; name = (argc > 1) ? argv[--argc] : Qnil; - exc_initialize(argc, argv, self); + rb_call_super(argc, argv); rb_iv_set(self, "name", name); return self; } @@ -965,7 +965,7 @@ syserr_initialize(argc, argv, self) else { mesg = rb_str_new2(err); } - exc_initialize(1, &mesg, self); + rb_call_super(1, &mesg); rb_iv_set(self, "errno", error); return self; }