summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--marshal.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b30b4072d..d83f7ea8bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon May 26 08:00:52 2008 Akinori MUSHA <knu@iDaemons.org>
+
+ * marshal.c (r_object0, Init_marshal): Fix the garbled s_call
+ definition; fixes [ruby-dev:34843].
+
Mon May 26 03:16:20 2008 Akinori MUSHA <knu@iDaemons.org>
* hash.c (rb_hash_default): Fix rdoc.
diff --git a/marshal.c b/marshal.c
index 298f78ad86..a0663db2b8 100644
--- a/marshal.c
+++ b/marshal.c
@@ -81,7 +81,7 @@ shortlen(len, ds)
#define TYPE_LINK '@'
static ID s_dump, s_load, s_mdump, s_mload;
-static ID s_dump_data, s_load_data, s_alloc;
+static ID s_dump_data, s_load_data, s_alloc, s_call;
static ID s_getc, s_read, s_write, s_binmode;
static void
@@ -1364,7 +1364,6 @@ r_object0(arg, proc, ivp, extmod)
break;
}
if (proc) {
- ID s_call =
rb_funcall(proc, s_call, 1, v);
reentrant_check(arg->data, s_call);
}
@@ -1502,6 +1501,7 @@ Init_marshal()
s_dump_data = rb_intern("_dump_data");
s_load_data = rb_intern("_load_data");
s_alloc = rb_intern("_alloc");
+ s_call = rb_intern("call");
s_getc = rb_intern("getc");
s_read = rb_intern("read");
s_write = rb_intern("write");