summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--parse.y1
-rw-r--r--test/ripper/test_scanner_events.rb4
-rw-r--r--version.h6
4 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 661a17aaf1..1a6876bc74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Mar 26 09:57:12 2012 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * parse.y (parser_nextc): set encoding for the buffer of ripper.
+
Sun Mar 18 13:23:28 2012 NARUSE, Yui <naruse@ruby-lang.org>
* encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string
diff --git a/parse.y b/parse.y
index 985a80d6a3..417ad0918c 100644
--- a/parse.y
+++ b/parse.y
@@ -5440,6 +5440,7 @@ parser_nextc(struct parser_params *parser)
if (parser->tokp < lex_pend) {
if (NIL_P(parser->delayed)) {
parser->delayed = rb_str_buf_new(1024);
+ rb_enc_associate(parser->delayed, parser->enc);
rb_str_buf_cat(parser->delayed,
parser->tokp, lex_pend - parser->tokp);
parser->delayed_line = ruby_sourceline;
diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb
index 7d5bb3c814..e792ca8f4d 100644
--- a/test/ripper/test_scanner_events.rb
+++ b/test/ripper/test_scanner_events.rb
@@ -83,6 +83,10 @@ class TestRipper::ScannerEvents < Test::Unit::TestCase
[[1, 1], :on_tstring_content, "foo\n\xe3\x80\xa0"],
[[2, 3], :on_tstring_end, "'"]],
Ripper.lex("'foo\n\xe3\x80\xa0'")
+ assert_equal [[[1, 0], :on_tstring_beg, "'"],
+ [[1, 1], :on_tstring_content, "\u3042\n\u3044"],
+ [[2, 3], :on_tstring_end, "'"]],
+ Ripper.lex("'\u3042\n\u3044'")
end
def test_location
diff --git a/version.h b/version.h
index f883fc0d3b..7e708c55b6 100644
--- a/version.h
+++ b/version.h
@@ -1,10 +1,10 @@
#define RUBY_VERSION "1.9.3"
-#define RUBY_PATCHLEVEL 165
+#define RUBY_PATCHLEVEL 166
-#define RUBY_RELEASE_DATE "2012-03-18"
+#define RUBY_RELEASE_DATE "2012-03-26"
#define RUBY_RELEASE_YEAR 2012
#define RUBY_RELEASE_MONTH 3
-#define RUBY_RELEASE_DAY 18
+#define RUBY_RELEASE_DAY 26
#include "ruby/version.h"