diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-24 16:38:44 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-24 16:38:44 +0000 |
commit | 6ca558d6ab8e2553b32a415537c484bffd9b189c (patch) | |
tree | cbea16e53963e2f2a0ad8bb830f07fc43f458eb1 | |
parent | a04a812ed0aa7424ea1f40756402d1f199a43308 (diff) |
* proc.c (method_name): preserve Symbol's encoding.
* numeric.c (fix_id2name): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | compile.c | 4 | ||||
-rw-r--r-- | iseq.c | 2 | ||||
-rw-r--r-- | numeric.c | 4 | ||||
-rw-r--r-- | proc.c | 2 | ||||
-rw-r--r-- | struct.c | 4 | ||||
-rw-r--r-- | variable.c | 6 | ||||
-rw-r--r-- | vm.c | 2 |
8 files changed, 17 insertions, 13 deletions
@@ -1,3 +1,9 @@ +Tue Dec 25 01:38:04 2007 Yukihiro Matsumoto <matz@ruby-lang.org> + + * proc.c (method_name): preserve Symbol's encoding. + + * numeric.c (fix_id2name): ditto. + Tue Dec 25 01:19:18 2007 Yukihiro Matsumoto <matz@ruby-lang.org> * include/ruby/encoding.h (rb_enc_left_char_head): new utility macro. @@ -4077,7 +4077,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) } case NODE_DEFN:{ VALUE iseqval = NEW_ISEQVAL(node->nd_defn, - rb_str_new2(rb_id2name(node->nd_mid)), + rb_str_dup(rb_id2str(node->nd_mid)), ISEQ_TYPE_METHOD); debugp_param("defn/iseq", iseqval); @@ -4093,7 +4093,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) } case NODE_DEFS:{ VALUE iseqval = NEW_ISEQVAL(node->nd_defn, - rb_str_new2(rb_id2name(node->nd_mid)), + rb_str_dup(rb_id2str(node->nd_mid)), ISEQ_TYPE_METHOD); debugp_param("defs/iseq", iseqval); @@ -665,7 +665,7 @@ insn_operand_intern(rb_iseq_t *iseq, case TS_GENTRY: { struct global_entry *entry = (struct global_entry *)op; - ret = rb_str_new2(rb_id2name(entry->id)); + ret = rb_str_dup(rb_id2str(entry->id)); } break; @@ -2809,8 +2809,8 @@ fix_abs(VALUE fix) static VALUE fix_id2name(VALUE fix) { - const char *name = rb_id2name(FIX2UINT(fix)); - if (name) return rb_str_new2(name); + VALUE name = rb_id2str(FIX2UINT(fix)); + if (name) return rb_str_dup(name); return Qnil; } @@ -858,7 +858,7 @@ method_name(VALUE obj) struct METHOD *data; Data_Get_Struct(obj, struct METHOD, data); - return rb_str_new2(rb_id2name(data->id)); + return rb_str_dup(rb_id2str(data->id)); } /* @@ -498,7 +498,6 @@ inspect_struct(VALUE s, VALUE dummy, int recur) for (i=0; i<RSTRUCT_LEN(s); i++) { VALUE slot; ID id; - const char *p; if (i > 0) { rb_str_cat2(str, ", "); @@ -506,8 +505,7 @@ inspect_struct(VALUE s, VALUE dummy, int recur) slot = RARRAY_PTR(members)[i]; id = SYM2ID(slot); if (rb_is_local_id(id) || rb_is_const_id(id)) { - p = rb_id2name(id); - rb_str_cat2(str, p); + rb_str_append(str, rb_id2str(id)); } else { rb_str_append(str, rb_inspect(slot)); diff --git a/variable.c b/variable.c index c8919b7bad..90ea33f381 100644 --- a/variable.c +++ b/variable.c @@ -45,7 +45,7 @@ fc_path(struct fc_result *fc, ID name) { VALUE path, tmp; - path = rb_str_new2(rb_id2name(name)); + path = rb_str_dup(rb_id2str(name)); while (fc) { if (fc->track == rb_cObject) break; if (RCLASS_IV_TBL(fc->track) && @@ -56,7 +56,7 @@ fc_path(struct fc_result *fc, ID name) path = tmp; break; } - tmp = rb_str_new2(rb_id2name(fc->name)); + tmp = rb_str_dup(rb_id2str(fc->name)); rb_str_cat2(tmp, "::"); rb_str_append(tmp, path); path = tmp; @@ -148,7 +148,7 @@ classname(VALUE klass) if (!st_lookup(RCLASS_IV_TBL(klass), classid, &path)) { return find_class_path(klass); } - path = rb_str_new2(rb_id2name(SYM2ID(path))); + path = rb_str_dup(rb_id2str(SYM2ID(path))); OBJ_FREEZE(path); st_insert(RCLASS_IV_TBL(klass), classpath, path); st_delete(RCLASS_IV_TBL(klass), (st_data_t*)&classid, 0); @@ -286,7 +286,7 @@ collect_local_variables_in_env(rb_env_t *env, VALUE ary) for (i = 0; i < env->block.iseq->local_table_size; i++) { ID lid = env->block.iseq->local_table[i]; if (lid) { - rb_ary_push(ary, rb_str_new2(rb_id2name(lid))); + rb_ary_push(ary, rb_str_dup(rb_id2str(lid))); } } if (env->prev_envval) { |