summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--bootstraptest/test_knownbug.rb16
-rw-r--r--bootstraptest/test_method.rb15
-rw-r--r--proc.c3
-rw-r--r--version.h6
5 files changed, 27 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index c1e718a16c..feb79520d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Oct 2 07:01:05 2007 Koichi Sasada <ko1@atdot.net>
+
+ * proc.c (proc_dup): proc->block.proc should be self.
+
+ * bootstraptest/test_knownbug.rb, test_method.rb:
+ move a fixed test.
+
Mon Oct 1 23:44:23 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* array.c (rb_ary_combination): revisit #combination behavior.
diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb
index 5ac0cd11fd..813c9427ef 100644
--- a/bootstraptest/test_knownbug.rb
+++ b/bootstraptest/test_knownbug.rb
@@ -13,22 +13,6 @@ assert_finish 1, %q{
w.write "a"
}, '[ruby-dev:31866]'
-assert_equal 'ok', %q{
- class Module
- def define_method2(name, &block)
- define_method(name, &block)
- end
- end
- class C
- define_method2(:m) {|x, y| :fail }
- end
- begin
- C.new.m([1,2])
- rescue ArgumentError
- :ok
- end
-}
-
assert_normal_exit %q{
Marshal.load(Marshal.dump({"k"=>"v"}), lambda {|v| })
}
diff --git a/bootstraptest/test_method.rb b/bootstraptest/test_method.rb
index 56bb1146ac..54ba5f8442 100644
--- a/bootstraptest/test_method.rb
+++ b/bootstraptest/test_method.rb
@@ -986,3 +986,18 @@ assert_normal_exit %q{
end
}, '[ruby-dev:31818]'
+assert_equal 'ok', %q{
+ class Module
+ def define_method2(name, &block)
+ define_method(name, &block)
+ end
+ end
+ class C
+ define_method2(:m) {|x, y| :fail }
+ end
+ begin
+ C.new.m([1,2])
+ rescue ArgumentError
+ :ok
+ end
+}
diff --git a/proc.c b/proc.c
index 127a1bd073..ad49d13be6 100644
--- a/proc.c
+++ b/proc.c
@@ -90,10 +90,11 @@ proc_dup(VALUE self)
GetProcPtr(procval, dst);
dst->block = src->block;
+ dst->block.proc = procval;
dst->envval = src->envval;
dst->safe_level = dst->safe_level;
dst->special_cref_stack = src->special_cref_stack;
-
+
return procval;
}
diff --git a/version.h b/version.h
index 49accc6764..59bcac19b9 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2007-10-01"
+#define RUBY_RELEASE_DATE "2007-10-02"
#define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20071001
+#define RUBY_RELEASE_CODE 20071002
#define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2007
#define RUBY_RELEASE_MONTH 10
-#define RUBY_RELEASE_DAY 1
+#define RUBY_RELEASE_DAY 2
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];