summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--error.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index ee3d6c7e93..81e72360d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat May 14 23:59:11 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * error.c (exc_exception, {exit,name_err,syserr}_initialize): call
+ Execption#initialize. fixed: [ruby-talk:142593]
+
Sat May 14 23:57:26 2005 Erik Huelsmann <ehuels@gmail.com>
* configure.in: Check for the availability of pid_t, gid_t and uid_t and
diff --git a/error.c b/error.c
index 89d0707a0d..8583286e71 100644
--- a/error.c
+++ b/error.c
@@ -384,7 +384,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;
}
@@ -553,7 +553,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;
}
@@ -633,7 +633,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;
}
@@ -916,7 +916,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;
}