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

ruby-changes:1699

From: ko1@a...
Date: 22 Aug 2007 10:57:31 +0900
Subject: [ruby-changes:1699] shyouhei - Ruby:r13190 (ruby_1_8_6): * eval.c (get_backtrace): check the result more.

shyouhei	2007-08-22 10:57:22 +0900 (Wed, 22 Aug 2007)

  New Revision: 13190

  Modified files:
    branches/ruby_1_8_6/ChangeLog
    branches/ruby_1_8_6/error.c
    branches/ruby_1_8_6/eval.c
    branches/ruby_1_8_6/version.h

  Log:
    * eval.c (get_backtrace): check the result more.
      [ruby-dev:31261] [ruby-bugs-12398]


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/ChangeLog?r1=13190&r2=13189
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/version.h?r1=13190&r2=13189
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/error.c?r1=13190&r2=13189
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_6/eval.c?r1=13190&r2=13189

Index: ruby_1_8_6/error.c
===================================================================
--- ruby_1_8_6/error.c	(revision 13189)
+++ ruby_1_8_6/error.c	(revision 13190)
@@ -488,14 +488,14 @@
 exc_backtrace(exc)
     VALUE exc;
 {
-    ID bt = rb_intern("bt");
+    static ID bt;
 
-    if (!rb_ivar_defined(exc, bt)) return Qnil;
-    return rb_ivar_get(exc, bt);
+    if (!bt) bt = rb_intern("bt");
+    return rb_attr_get(exc, bt);
 }
 
-static VALUE
-check_backtrace(bt)
+VALUE
+rb_check_backtrace(bt)
     VALUE bt;
 {
     long i;
@@ -532,7 +532,7 @@
     VALUE exc;
     VALUE bt;
 {
-    return rb_iv_set(exc, "bt", check_backtrace(bt));
+    return rb_iv_set(exc, "bt", rb_check_backtrace(bt));
 }
 
 /*
Index: ruby_1_8_6/ChangeLog
===================================================================
--- ruby_1_8_6/ChangeLog	(revision 13189)
+++ ruby_1_8_6/ChangeLog	(revision 13190)
@@ -1,3 +1,8 @@
+Wed Aug 22 10:55:00 2007  Nobuyoshi Nakada  <nobu@r...>
+
+	* eval.c (get_backtrace): check the result more.
+	  [ruby-dev:31261] [ruby-bugs-12398]
+
 Wed Aug 22 10:36:15 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* bignum.c (rb_big_lshift, rb_big_rshift): separated functions
Index: ruby_1_8_6/version.h
===================================================================
--- ruby_1_8_6/version.h	(revision 13189)
+++ ruby_1_8_6/version.h	(revision 13190)
@@ -2,7 +2,7 @@
 #define RUBY_RELEASE_DATE "2007-08-22"
 #define RUBY_VERSION_CODE 186
 #define RUBY_RELEASE_CODE 20070822
-#define RUBY_PATCHLEVEL 71
+#define RUBY_PATCHLEVEL 72
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
Index: ruby_1_8_6/eval.c
===================================================================
--- ruby_1_8_6/eval.c	(revision 13189)
+++ ruby_1_8_6/eval.c	(revision 13190)
@@ -1197,6 +1197,8 @@
     }
 }
 
+VALUE rb_check_backtrace(VALUE);
+
 static VALUE
 get_backtrace(info)
     VALUE info;
@@ -1204,7 +1206,7 @@
     if (NIL_P(info)) return Qnil;
     info = rb_funcall(info, rb_intern("backtrace"), 0);
     if (NIL_P(info)) return Qnil;
-    return rb_check_array_type(info);
+    return rb_check_backtrace(info);
 }
 
 static void

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

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