[ruby-dev:45282] [Ruby 1.8 - Bug #733][Closed] $! = nil in at_exit

From: Motohiro KOSAKI <kosaki.motohiro@...>
Date: 2012-02-24 17:40:46 UTC
List: ruby-dev #45282
Issue #733 has been updated by Motohiro KOSAKI.

Status changed from Assigned to Closed

これ、いまさら1.8系の仕様変えるとかありえないと思うのでcloseしますね。1.9系だとそもそも$!がreadonlyなので1.9に移す話でもなさそう

$ ruby-193 -ve 'at_exit { $! = nil }; raise' 
ruby 1.9.3p105 (2012-02-13) [x86_64-linux]
-e:1:in `block in <main>': $! is a read-only variable (NameError)
-e:1:in `<main>': unhandled exception

認識間違っていたらreopenしてください
----------------------------------------
Bug #733: $! = nil in at_exit
https://bugs.ruby-lang.org/issues/733

Author: Yusuke Endoh
Status: Closed
Priority: Low
Assignee: Yukihiro Matsumoto
Category: 
Target version: 
ruby -v: 1.8,6 & up


=begin
 遠藤です。
 
 1.8.5 以前では、at_exit の中で $! = nil をすることでスタックトレースの
 出力を止めることができました。
 
 $ ruby -ve 'at_exit { $! = nil }; raise'
 ruby 1.8.5 (2006-08-25) [i486-linux]
 
 
 1.8.6 以降ではこれができなくなっています。
 
 $ ruby18 -ve 'at_exit { $! = nil }; raise'
 ruby 1.8.7 (2008-11-08 revision 20151) [i686-linux]
 -e:1: unhandled exception
 
 
 スタックトレースを自分で整形して表示したいときに、1.8.5 の挙動の方が
 便利です。
 
 -- 
 Yusuke ENDOH <mame@tsg.ne.jp>
=end



-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next