[前][次][番号順一覧][スレッド一覧]

ruby-changes:4677

From: ko1@a...
Date: Wed, 23 Apr 2008 14:19:05 +0900 (JST)
Subject: [ruby-changes:4677] knu - Ruby:r16171 (ruby_1_8_7): Merge from ruby_1_8.

knu	2008-04-23 14:18:50 +0900 (Wed, 23 Apr 2008)

  New Revision: 16171

  Modified files:
    branches/ruby_1_8_7/ChangeLog
    branches/ruby_1_8_7/lib/mkmf.rb
    branches/ruby_1_8_7/lib/set.rb

  Log:
    Merge from ruby_1_8.

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/lib/mkmf.rb?r1=16171&r2=16170&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ChangeLog?r1=16171&r2=16170&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/lib/set.rb?r1=16171&r2=16170&diff_format=u

Index: ruby_1_8_7/ChangeLog
===================================================================
--- ruby_1_8_7/ChangeLog	(revision 16170)
+++ ruby_1_8_7/ChangeLog	(revision 16171)
@@ -1,3 +1,14 @@
+Wed Apr 23 14:00:05 2008  Akinori MUSHA  <knu@i...>
+
+	* lib/mkmf.rb (create_makefile): Add a missing dependency on the
+	  target directory for each .rb file.  This will hopefully fix
+	  parallel make (-jN).  Tested on FreeBSD.
+
+Wed Apr 23 11:49:54 2008  Akinori MUSHA  <knu@i...>
+
+	* lib/set.rb (Set#each, SortedSet#each, TC_Set#test_each): Return
+	  an enumerator if no block is given.
+
 Wed Apr 23 00:42:49 2008  Tanaka Akira  <akr@f...>
 
 	* eval.c (error_print): show full stack grace except SystemStackError.
Index: ruby_1_8_7/lib/mkmf.rb
===================================================================
--- ruby_1_8_7/lib/mkmf.rb	(revision 16170)
+++ ruby_1_8_7/lib/mkmf.rb	(revision 16171)
@@ -1519,7 +1519,7 @@
       files.each do |f|
 	dest = "#{dir}/#{File.basename(f)}"
 	mfile.print("install-rb#{sfx}: #{dest}\n")
-	mfile.print("#{dest}: #{f}\n\t$(#{$extout ? 'COPY' : 'INSTALL_DATA'}) ")
+	mfile.print("#{dest}: #{f} #{dir}\n\t$(#{$extout ? 'COPY' : 'INSTALL_DATA'}) ")
 	sep = config_string('BUILD_FILE_SEPARATOR')
 	if sep
 	  f = f.gsub("/", sep)
Index: ruby_1_8_7/lib/set.rb
===================================================================
--- ruby_1_8_7/lib/set.rb	(revision 16170)
+++ ruby_1_8_7/lib/set.rb	(revision 16171)
@@ -2,7 +2,7 @@
 #--
 # set.rb - defines the Set class
 #++
-# Copyright (c) 2002 Akinori MUSHA <knu@i...>
+# Copyright (c) 2002-2008 Akinori MUSHA <knu@i...>
 #
 # Documentation by Akinori MUSHA and Gavin Sinclair. 
 #
@@ -188,8 +188,10 @@
   end
 
   # Calls the given block once for each element in the set, passing
-  # the element as parameter.
+  # the element as parameter.  Returns an enumerator if no block is
+  # given.
   def each
+    block_given? or return enum_for(__method__)
     @hash.each_key { |o| yield(o) }
     self
   end
@@ -501,6 +503,7 @@
 	  end
 
 	  def each
+	    block_given? or return enum_for(__method__)
 	    to_a.each { |o| yield(o) }
 	  end
 
@@ -918,9 +921,8 @@
     ary = [1,3,5,7,10,20]
     set = Set.new(ary)
 
-    assert_raises(LocalJumpError) {
-      set.each
-    }
+    e = set.each
+    assert_instance_of(Enumerable::Enumerator, e)
 
     assert_nothing_raised {
       set.each { |o|

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]