summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-20 14:35:53 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-20 14:35:53 +0000
commit5d51ae926b39781fa99c9462d761e2dd5649f2da (patch)
treee3b051c599389828fa00bc6ec11deb15786d7aa3
parentb6449f6080fffc6ecdb662d1ba353586c4edeae6 (diff)
* dir.c (dir_foreach): return Enumerator if no block given.
[ruby-dev:31525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog3
-rw-r--r--dir.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 374cab6f17..f9c0fec49e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@ Mon Aug 20 23:28:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* string.c (Init_String): remove Symbol.intern and Symbol#dump.
[ruby-dev:31525]
+ * dir.c (dir_foreach): return Enumerator if no block given.
+ [ruby-dev:31525]
+
Mon Aug 20 23:17:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_core.h (struct rb_thread_struct): removed first_func_arg and
diff --git a/dir.c b/dir.c
index ecffc37f9e..f7b7eb1933 100644
--- a/dir.c
+++ b/dir.c
@@ -1729,6 +1729,7 @@ dir_foreach(VALUE io, VALUE dirname)
{
VALUE dir;
+ RETURN_ENUMERATOR(io, 1, &dirname);
dir = dir_open_dir(dirname);
rb_ensure(dir_each, dir, dir_close, dir);
return Qnil;