diff --git a/ChangeLog b/ChangeLog index e41a0b108d..e4184c411f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,9 @@ -Thu Oct 4 16:15:55 2007 Nobuyoshi Nakada +Thu Oct 4 16:28:33 2007 Nobuyoshi Nakada * encoding.c (rb_obj_encoding): returns encoding of the given object. - * parse.y (reg_compile_gen): copy encoding from source string. + * parse.y (reg_compile_gen): copy encoding from source string if + non-empty. * re.c (Init_Regexp): new method Regexp#encoding. diff --git a/parse.y b/parse.y index b81e37ee0f..3b4065ac06 100644 --- a/parse.y +++ b/parse.y @@ -8170,7 +8170,7 @@ reg_compile_gen(struct parser_params* parser, VALUE str, int options) compile_error(PARSER_ARG "%s", RSTRING_PTR(re)); return Qnil; } - rb_enc_copy(re, str); + if (str) rb_enc_copy(re, str); return re; }