summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 51cb317d8f4..45385f3fff7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Feb 2 01:24:34 2012 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * parse.y (debug_lines, coverage): set file path encoding for coverage
+ result. [ruby-dev:44950]
+
Wed Feb 1 14:38:31 2012 Akinori MUSHA <knu@iDaemons.org>
* lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): Just
diff --git a/parse.y b/parse.y
index 1ad9d622656..82eb3d406af 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;