summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-17 10:57:16 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-17 10:57:16 +0000
commit3d5cdfec1ca04e784b06f2d5ea402c804572df22 (patch)
treef0732a540671afdaee2be713384e1dbb83445a74
parentaf2bf6f133dab1a58efcf0e0a5969a9567b9362f (diff)
* 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
-rw-r--r--ChangeLog5
-rw-r--r--string.c19
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 <[email protected]>
+
+ * string.c (rb_str_each): Add a deprecation warning to
+ String#each.
+
Wed Dec 17 18:40:11 2008 Akinori MUSHA <[email protected]>
* 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 <i>str</i> 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);