From 3d5cdfec1ca04e784b06f2d5ea402c804572df22 Mon Sep 17 00:00:00 2001 From: knu Date: Wed, 17 Dec 2008 10:57:16 +0000 Subject: [PATCH] * string.c (rb_str_each): Add a deprecation warning to String#each. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ string.c | 19 +++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 34b35d0fcb..7e93bf534a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Dec 17 19:53:08 2008 Akinori MUSHA + + * string.c (rb_str_each): Add a deprecation warning to + String#each. + Wed Dec 17 18:40:11 2008 Akinori MUSHA * object.c (rb_obj_id_obsolete): s/will be deprecated/is deprecated/. diff --git a/string.c b/string.c index 9c55ce618c..a69972198f 100644 --- a/string.c +++ b/string.c @@ -3768,7 +3768,6 @@ rb_f_split(argc, argv) /* * call-seq: - * str.each(separator=$/) {|substr| block } => str * str.each_line(separator=$/) {|substr| block } => str * * Splits str using the supplied parameter as the record separator @@ -3854,6 +3853,22 @@ rb_str_each_line(argc, argv, str) return str; } +/* + * call-seq: + * str.each(separator=$/) {|substr| block } => str + * + * + */ +static VALUE +rb_str_each(argc, argv, str) + int argc; + VALUE *argv; + VALUE str; +{ + rb_warning("treating String as Enumerable object is deprecated; use String#each_line/lines"); + return rb_str_each_line(argc, argv, str); +} + /* * Document-method: bytes @@ -5077,7 +5092,7 @@ Init_String() rb_define_method(rb_cString, "squeeze!", rb_str_squeeze_bang, -1); rb_define_method(rb_cString, "each_line", rb_str_each_line, -1); - rb_define_method(rb_cString, "each", rb_str_each_line, -1); + rb_define_method(rb_cString, "each", rb_str_each, -1); rb_define_method(rb_cString, "each_byte", rb_str_each_byte, 0); rb_define_method(rb_cString, "each_char", rb_str_each_char, 0);