path: root/marshal.c
diff options
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-02-05 11:56:35 (GMT)
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-02-05 11:56:35 (GMT)
commitb2b5a5db0925f94220897813a552aa7d4ec2fd11 (patch)
tree9911a7cd10125ca0d9fcafc9d0c2c7e444abcc4a /marshal.c
parent5ba39a12d9273d37b0da9af7a388d0792e3894ef (diff)
pack.c: hide associated objects
* marshal.c (to_be_skipped_id): ignore anonymous attributes. * pack.c (Init_pack): use anonymous ID so that associated objects do not appear in the packed result. * parse.y (rb_make_internal_id): return an anonymous ID for internal use. git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'marshal.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/marshal.c b/marshal.c
index 239c29a..4a1b55e 100644
--- a/marshal.c
+++ b/marshal.c
@@ -513,7 +513,7 @@ w_uclass(VALUE obj, VALUE super, struct dump_arg *arg)
-#define to_be_skipped_id(id) (id == rb_id_encoding() || id == rb_intern("E"))
+#define to_be_skipped_id(id) (id == rb_id_encoding() || id == rb_intern("E") || !rb_id2str(id))
static int
w_obj_each(st_data_t key, st_data_t val, st_data_t a)