diff --git a/ChangeLog b/ChangeLog index 51cb317d8f..45385f3fff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Feb 2 01:24:34 2012 Yusuke Endoh + + * parse.y (debug_lines, coverage): set file path encoding for coverage + result. [ruby-dev:44950] + Wed Feb 1 14:38:31 2012 Akinori MUSHA * lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): Just diff --git a/parse.y b/parse.y index 1ad9d62265..82eb3d406a 100644 --- a/parse.y +++ b/parse.y @@ -5736,7 +5736,7 @@ debug_lines(const char *f) if (rb_const_defined_at(rb_cObject, script_lines)) { VALUE hash = rb_const_get_at(rb_cObject, script_lines); if (RB_TYPE_P(hash, T_HASH)) { - VALUE fname = rb_str_new2(f); + VALUE fname = rb_external_str_new_with_enc(f, strlen(f), rb_filesystem_encoding()); VALUE lines = rb_ary_new(); rb_hash_aset(hash, fname, lines); return lines; @@ -5750,7 +5750,7 @@ coverage(const char *f, int n) { VALUE coverages = rb_get_coverages(); if (RTEST(coverages) && RBASIC(coverages)->klass == 0) { - VALUE fname = rb_str_new2(f); + VALUE fname = rb_external_str_new_with_enc(f, strlen(f), rb_filesystem_encoding()); VALUE lines = rb_ary_new2(n); int i; RBASIC(lines)->klass = 0;