aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--re.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 881c73ebea..e1bf3bc26a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Thu Dec 11 13:09:01 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * re.c (reg_enc_error): raise EncodingCompatibilityError for
+ encoding incompatibility. [ruby-core:18600]
+
+ * re.c (rb_reg_prepare_enc): more consistent error message.
+ [ruby-core:18611]
+
Thu Dec 11 13:36:18 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* encoding.c (enc_set_default_encoding): allowed to set default
diff --git a/re.c b/re.c
index a45ae47d9f..5ef1c7c49b 100644
--- a/re.c
+++ b/re.c
@@ -1168,7 +1168,7 @@ rb_reg_preprocess(const char *p, const char *end, rb_encoding *enc,
static void
reg_enc_error(VALUE re, VALUE str)
{
- rb_raise(rb_eArgError,
+ rb_raise(rb_eEncCompatError,
"incompatible encoding regexp match (%s regexp with %s string)",
rb_enc_name(RREGEXP(re)->ptr->enc),
rb_enc_name(rb_enc_get(str)));
@@ -1181,7 +1181,7 @@ rb_reg_prepare_enc(VALUE re, VALUE str, int warn)
if (rb_enc_str_coderange(str) == ENC_CODERANGE_BROKEN) {
rb_raise(rb_eArgError,
- "broken %s string",
+ "invalid byte sequence in %s",
rb_enc_name(rb_enc_get(str)));
}