diff options
Diffstat (limited to 'marshal.c')
| -rw-r--r-- | marshal.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1874,6 +1874,9 @@ r_object_for(struct load_arg *arg, bool partial, int *ivp, VALUE extmod, int typ } v = (VALUE)link; if (!st_lookup(arg->partial_objects, (st_data_t)v, &link)) { + if (arg->freeze && RB_TYPE_P(v, T_STRING)) { + v = rb_str_to_interned_str(v); + } v = r_post_proc(v, arg); } break; |
