summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-03 11:02:11 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-03 11:02:11 +0000
commit2eb763857dd356d62ec46fd528e466b3fc8c2991 (patch)
tree898209dd307b5bd7fe10432f4c111d56c3a5dbee
parent03e778757b18de631c706a6a496274bb8d025f0f (diff)
* parse.y (parser_encoding_name): defined.
(parser_tokadd_mbchar): show encoding in the message of "invalid multibyte char" error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--parse.y3
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 87889d1625..a8f8188e35 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Sep 3 20:01:01 2008 Tanaka Akira <akr@fsij.org>
+
+ * parse.y (parser_encoding_name): defined.
+ (parser_tokadd_mbchar): show encoding in the message of
+ "invalid multibyte char" error.
+
Wed Sep 3 19:28:04 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* vm_insnhelper.c (vm_method_missing): C99.
diff --git a/parse.y b/parse.y
index 48721dde2f..7c87d4e2ba 100644
--- a/parse.y
+++ b/parse.y
@@ -4670,6 +4670,7 @@ ripper_dispatch_delayed_token(struct parser_params *parser, int t)
# define SIGN_EXTEND_CHAR(c) ((((unsigned char)(c)) ^ 128) - 128)
#endif
+#define parser_encoding_name() (parser->enc->name)
#define parser_mbclen() mbclen((lex_p-1),lex_pend,parser->enc)
#define parser_precise_mbclen() rb_enc_precise_mbclen((lex_p-1),lex_pend,parser->enc)
#define is_identchar(p,e,enc) (rb_enc_isalnum(*p,enc) || (*p) == '_' || !ISASCII(*p))
@@ -5498,7 +5499,7 @@ parser_tokadd_mbchar(struct parser_params *parser, int c)
{
int len = parser_precise_mbclen();
if (!MBCLEN_CHARFOUND_P(len)) {
- compile_error(PARSER_ARG "invalid multibyte char");
+ compile_error(PARSER_ARG "invalid multibyte char (%s)", parser_encoding_name());
return -1;
}
tokadd(c);