summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-17 13:31:50 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-17 13:31:50 +0000
commit57db2d76251cdf0795917d8691ea9143a9a433cf (patch)
tree8c5803320d0ec16fc4fd9b18f84c964dd8945a4d
parentbc5ed9e80eb1386dae18d8a697b263bd95956c68 (diff)
downloadruby-57db2d76251cdf0795917d8691ea9143a9a433cf.tar.gz
ruby-57db2d76251cdf0795917d8691ea9143a9a433cf.tar.xz
ruby-57db2d76251cdf0795917d8691ea9143a9a433cf.zip
merges r24148 from trunk into ruby_1_9_1.
-- * id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longer used. [ruby-dev:38760] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@24172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c1
-rw-r--r--test/ruby/test_exception.rb19
-rw-r--r--version.h2
-rw-r--r--vm.c5
5 files changed, 25 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b37b63ca..5978aad9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jul 16 18:28:09 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * id.c (Init_id), vm.c (vm_exec): @#__ThrowState__ is no longer
+ used. [ruby-dev:38760]
+
Thu Jul 16 08:56:32 2009 Koichi Sasada <ko1@atdot.net>
* dir.c (push_glob): re-fix GC problem.
diff --git a/eval.c b/eval.c
index 6b46dc142..bd4d1228d 100644
--- a/eval.c
+++ b/eval.c
@@ -1065,7 +1065,6 @@ Init_eval(void)
exception_error = rb_exc_new3(rb_eFatal,
rb_obj_freeze(rb_str_new2("exception reentered")));
- rb_ivar_set(exception_error, idThrowState, INT2FIX(TAG_FATAL));
OBJ_TAINT(exception_error);
OBJ_FREEZE(exception_error);
}
diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb
index cba88f5c9..1eaeb7b3f 100644
--- a/test/ruby/test_exception.rb
+++ b/test/ruby/test_exception.rb
@@ -223,4 +223,23 @@ class TestException < Test::Unit::TestCase
end
INPUT
end
+
+ def test_safe4
+ cmd = proc{raise SystemExit}
+ safe0_p = proc{|*args| args}
+
+ test_proc = proc {
+ $SAFE = 4
+ begin
+ cmd.call
+ rescue SystemExit => e
+ safe0_p["SystemExit: #{e.inspect}"]
+ raise e
+ rescue Exception => e
+ safe0_p["Exception (NOT SystemExit): #{e.inspect}"]
+ raise e
+ end
+ }
+ assert_raise(SystemExit, '[ruby-dev:38760]') {test_proc.call}
+ end
end
diff --git a/version.h b/version.h
index 0f7eb4aa9..5a8581517 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "1.9.1"
#define RUBY_RELEASE_DATE "2009-07-16"
-#define RUBY_PATCHLEVEL 241
+#define RUBY_PATCHLEVEL 242
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1
diff --git a/vm.c b/vm.c
index d9173ac1b..6a4ca3e75 100644
--- a/vm.c
+++ b/vm.c
@@ -1093,11 +1093,6 @@ vm_exec(rb_thread_t *th)
err = th->errinfo;
- if (state == TAG_RAISE) {
- if (OBJ_FROZEN(err)) rb_exc_raise(err);
- rb_ivar_set(err, idThrowState, INT2FIX(state));
- }
-
exception_handler:
cont_pc = cont_sp = catch_iseqval = 0;