diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-03-17 00:55:45 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-03-17 00:55:45 +0000 |
commit | 7ee2c030b0b55f455abb6f07850e41e45d91984f (patch) | |
tree | e8a9c655651d403740ee5a58364af7eb9ac07a92 /io.c | |
parent | 314c1d8956c56709d60675e8ed5d1a3d3b8405f0 (diff) | |
download | ruby-7ee2c030b0b55f455abb6f07850e41e45d91984f.tar.gz |
deduplicate "/", ":" and "\n" strings
"/" and ":" are always statically registered in symbol.c (Init_op_tbl),
and "\n" is a commonly seen in source code.
* file.c (Init_File): fstring on File::SEPARATOR and File::PATH_SEPARATOR
* io.c (Init_IO): fstring on rb_default_rs ("\n")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -12413,10 +12413,10 @@ Init_IO(void) rb_output_fs = Qnil; rb_define_hooked_variable("$,", &rb_output_fs, 0, rb_str_setter); - rb_rs = rb_default_rs = rb_usascii_str_new2("\n"); + rb_default_rs = rb_fstring_cstr("\n"); /* avoid modifying RS_default */ rb_gc_register_mark_object(rb_default_rs); + rb_rs = rb_default_rs; rb_output_rs = Qnil; - OBJ_FREEZE(rb_default_rs); /* avoid modifying RS_default */ rb_define_hooked_variable("$/", &rb_rs, 0, rb_str_setter); rb_define_hooked_variable("$-0", &rb_rs, 0, rb_str_setter); rb_define_hooked_variable("$\\", &rb_output_rs, 0, rb_str_setter); |