diff options
author | tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-08 01:39:27 +0000 |
---|---|---|
committer | tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-08 01:39:27 +0000 |
commit | 98a74d4dd5fa9cd45121e8ebfc2f787d316e924f (patch) | |
tree | e8cdc2094b7dd1cdc57ecd58916413439d5ba663 /ext/-test- | |
parent | 100fe2e659339318846168841fd76ed4e38a6210 (diff) | |
download | ruby-98a74d4dd5fa9cd45121e8ebfc2f787d316e924f.tar.gz |
parse.y: use rb_fstring() for strings stored in the symbol table
* parse.y (register_symid_str): use fstrings in symbol table
[Bug #9171] [ruby-core:58656]
* parse.y (rb_id2str): ditto
* string.c (rb_fstring): create frozen_strings on first usage. this
allows rb_fstring() calls from the parser (before cString is created)
* string.c (fstring_set_class_i): set klass on fstrings generated
before cString was defined
* string.c (Init_String): convert frozen_strings table to String
objects after boot
* ext/-test-/symbol/type.c (bug_sym_id2str): expose rb_id2str()
* test/-ext-/symbol/test_type.rb (module Test_Symbol): verify symbol
table entries are fstrings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/-test-')
-rw-r--r-- | ext/-test-/symbol/type.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/-test-/symbol/type.c b/ext/-test-/symbol/type.c index e0b2fff2f9..17f2d6824b 100644 --- a/ext/-test-/symbol/type.c +++ b/ext/-test-/symbol/type.c @@ -35,9 +35,16 @@ bug_sym_attrset(VALUE self, VALUE name) return ID2SYM(id); } +static VALUE +bug_id2str(VALUE self, VALUE sym) +{ + return rb_id2str(SYM2ID(sym)); +} + void Init_type(VALUE klass) { FOREACH_ID_TYPES(declare_symbol_type_p); rb_define_singleton_method(klass, "attrset", bug_sym_attrset, 1); + rb_define_singleton_method(klass, "id2str", bug_id2str, 1); } |