From: Kazuhiro NISHIYAMA Date: 2002-01-07T15:25:55+09:00 Subject: [ruby-dev:15652] $KCODE.frozen? 西山和広です。 $KCODEはfreezeしておいてもいいと思います。 setterの方でオブジェクトを作るようにして$KCODE.idも 一定になる方がいいかもしれません。 ついでに無駄な比較とCopyrightの年の変更忘れのパッチ。 -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA) Index: re.c =================================================================== RCS file: /src/ruby/re.c,v retrieving revision 1.34.2.7 diff -u -r1.34.2.7 re.c --- re.c 2001/12/25 15:09:05 1.34.2.7 +++ re.c 2002/01/07 06:18:57 @@ -925,15 +925,11 @@ rb_reg_equal(re1, re2) VALUE re1, re2; { - int min; - if (re1 == re2) return Qtrue; if (TYPE(re2) != T_REGEXP) return Qfalse; rb_reg_check(re1); rb_reg_check(re2); if (RREGEXP(re1)->len != RREGEXP(re2)->len) return Qfalse; - min = RREGEXP(re1)->len; - if (min > RREGEXP(re2)->len) min = RREGEXP(re2)->len; - if (memcmp(RREGEXP(re1)->str, RREGEXP(re2)->str, min) == 0 && + if (memcmp(RREGEXP(re1)->str, RREGEXP(re2)->str, RREGEXP(re1)->len) == 0 && rb_reg_cur_kcode(re1) == rb_reg_cur_kcode(re2) && RREGEXP(re1)->ptr->options == RREGEXP(re2)->ptr->options) { return Qtrue; @@ -1261,7 +1257,7 @@ static VALUE kcode_getter() { - return rb_str_new2(rb_get_kcode()); + return rb_obj_freeze(rb_str_new2(rb_get_kcode())); } void Index: version.c =================================================================== RCS file: /src/ruby/version.c,v retrieving revision 1.4.2.1 diff -u -r1.4.2.1 version.c --- version.c 2001/10/29 05:04:41 1.4.2.1 +++ version.c 2002/01/07 06:18:57 @@ -40,6 +40,6 @@ void ruby_show_copyright() { - printf("ruby - Copyright (C) 1993-2000 Yukihiro Matsumoto\n"); + printf("ruby - Copyright (C) 1993-2002 Yukihiro Matsumoto\n"); exit(0); }