mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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
This commit is contained in:
parent
adce0ea944
commit
05404cba6e
2 changed files with 4 additions and 4 deletions
4
file.c
4
file.c
|
@ -6013,7 +6013,7 @@ Init_File(void)
|
|||
rb_define_singleton_method(rb_cFile, "extname", rb_file_s_extname, 1);
|
||||
rb_define_singleton_method(rb_cFile, "path", rb_file_s_path, 1);
|
||||
|
||||
separator = rb_obj_freeze(rb_usascii_str_new2("/"));
|
||||
separator = rb_fstring_cstr("/");
|
||||
/* separates directory parts in path */
|
||||
rb_define_const(rb_cFile, "Separator", separator);
|
||||
rb_define_const(rb_cFile, "SEPARATOR", separator);
|
||||
|
@ -6027,7 +6027,7 @@ Init_File(void)
|
|||
rb_define_const(rb_cFile, "ALT_SEPARATOR", Qnil);
|
||||
#endif
|
||||
/* path list separator */
|
||||
rb_define_const(rb_cFile, "PATH_SEPARATOR", rb_obj_freeze(rb_str_new2(PATH_SEP)));
|
||||
rb_define_const(rb_cFile, "PATH_SEPARATOR", rb_fstring_cstr(PATH_SEP));
|
||||
|
||||
rb_define_method(rb_cIO, "stat", rb_io_stat, 0); /* this is IO's method */
|
||||
rb_define_method(rb_cFile, "lstat", rb_file_lstat, 0);
|
||||
|
|
4
io.c
4
io.c
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue