From 2eb763857dd356d62ec46fd528e466b3fc8c2991 Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 3 Sep 2008 11:02:11 +0000 Subject: [PATCH] * 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 --- ChangeLog | 6 ++++++ parse.y | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 + + * 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 * 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);