diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-24 15:35:33 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-24 15:35:33 +0000 |
commit | 9704c840361094663bf276131ad754a05736eaab (patch) | |
tree | c33b992ff5e5def0d96ec78b3f953b24cd65d51e | |
parent | 80aa5ce577f91c491d16332a07a7f32001a72137 (diff) |
merge revision(s) r47090: [Backport #10114]
* parse.y (parser_yyerror): preserve source code encoding in
syntax error messages. [ruby-core:64228] [Bug #10114]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 2 | ||||
-rw-r--r-- | test/ruby/test_syntax.rb | 6 | ||||
-rw-r--r-- | version.h | 6 |
4 files changed, 15 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Mon Aug 25 00:26:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (parser_yyerror): preserve source code encoding in + syntax error messages. [ruby-core:64228] [Bug #10114] + Sat Aug 23 02:39:20 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * vm_insnhelper.c (vm_call_method): unusable super class should cause @@ -5269,7 +5269,7 @@ parser_yyerror(struct parser_params *parser, const char *msg) buf = ALLOCA_N(char, len+2); MEMCPY(buf, p, char, len); buf[len] = '\0'; - rb_compile_error_append("%s%s%s", pre, buf, post); + rb_compile_error_with_enc(NULL, 0, (void *)current_enc, "%s%s%s", pre, buf, post); i = (int)(lex_p - p); p2 = buf; pe = buf + len; diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 9fa28a4a8a..2ed57889ba 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -402,6 +402,12 @@ eom end end + def test_error_message_encoding + bug10114 = '[ruby-core:64228] [Bug #10114]' + code = "# -*- coding: utf-8 -*-\n" "def n \"\u{2208}\"; end" + assert_syntax_error(code, /def n "\u{2208}"; end/, bug10114) + end + private def not_label(x) @result = x; @not_label ||= nil end @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.1.2" -#define RUBY_RELEASE_DATE "2014-08-23" -#define RUBY_PATCHLEVEL 207 +#define RUBY_RELEASE_DATE "2014-08-25" +#define RUBY_PATCHLEVEL 208 #define RUBY_RELEASE_YEAR 2014 #define RUBY_RELEASE_MONTH 8 -#define RUBY_RELEASE_DAY 23 +#define RUBY_RELEASE_DAY 25 #include "ruby/version.h" |