diff --git a/ChangeLog b/ChangeLog index 250efec0a4..ea3c35700d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Aug 27 15:56:48 2007 Nobuyoshi Nakada + + * string.c (sym_encoding): return the encoding of a Symbol. + Mon Aug 27 15:33:10 2007 Nobuyoshi Nakada * util.c (IEEE_BIG_ENDIAN): use configured value. [ruby-dev:31623] diff --git a/string.c b/string.c index 11c80d4618..653f4c067e 100644 --- a/string.c +++ b/string.c @@ -5171,6 +5171,12 @@ sym_swapcase(VALUE sym) return rb_str_intern(rb_str_swapcase(rb_id2str(SYM2ID(sym)))); } +static VALUE +sym_encoding(VALUE sym) +{ + return str_encoding(rb_id2str(SYM2ID(sym))); +} + ID rb_to_id(VALUE name) { @@ -5367,5 +5373,5 @@ Init_String(void) rb_define_method(rb_cSymbol, "capitalize", sym_capitalize, 0); rb_define_method(rb_cSymbol, "swapcase", sym_swapcase, 0); - rb_define_method(rb_cSymbol, "encoding", str_encoding, 0); + rb_define_method(rb_cSymbol, "encoding", sym_encoding, 0); }