From 3ca8a17b2cf605f303914f1a286b277dc3dfdffc Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 6 Aug 2009 07:36:29 +0000 Subject: * encoding.c (rb_enc_associate_index): cannot set encoding on special constants. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- encoding.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'encoding.c') diff --git a/encoding.c b/encoding.c index 67f2dd8ae..1b0622c19 100644 --- a/encoding.c +++ b/encoding.c @@ -640,6 +640,9 @@ rb_enc_associate_index(VALUE obj, int idx) /* enc_check_capable(obj);*/ if (rb_enc_get_index(obj) == idx) return obj; + if (SPECIAL_CONST_P(obj)) { + rb_raise(rb_eArgError, "cannot set encoding"); + } if (!ENC_CODERANGE_ASCIIONLY(obj) || !rb_enc_asciicompat(rb_enc_from_index(idx))) { ENC_CODERANGE_CLEAR(obj); -- cgit