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