[#8824] [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro)

ごとけんです

38 messages 2000/01/05
[#8839] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — matz@... (Yukihiro Matsumoto) 2000/01/06

まつもと ゆきひろです

[#8842] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro) 2000/01/06

ごとけんです

[#8843] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — matz@... (Yukihiro Matsumoto) 2000/01/06

まつもと ゆきひろです

[#8844] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro) 2000/01/06

ごとけんです

[#8846] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — matz@... (Yukihiro Matsumoto) 2000/01/06

まつもと ゆきひろです

[#8847] Re: [REQ] Integer#{hex,dec,oct,bin}, String#bin — gotoken@... (GOTO Kentaro) 2000/01/06

ごとけんです

[#8893] Re: [ruby-list:20142] Re: Range expansion? — Akinori MUSHA aka knu <knu@...>

 knuです。ruby-listから舞台を移しました。

13 messages 2000/01/09

[#8980] 1.4.3 patch for near-future *BSD IPv6 support — Jun-ichiro itojun Hagino <itojun@...>

近い将来の{Net,Free,Open}BSDにはKAME IPv6 stackが統合されています。

17 messages 2000/01/20
[#8981] Re: 1.4.3 patch for near-future *BSD IPv6 support — Jun-ichiro itojun Hagino <itojun@...> 2000/01/20

> それから、

[ruby-dev:8946] Re: [BUG] recycle the ruby_dyna_vars

From: matz@... (Yukihiro Matsumoto)
Date: 2000-01-17 07:53:11 UTC
List: ruby-dev #8946
まつもと ゆきひろです

In message "[ruby-dev:8941] [BUG] recycle the ruby_dyna_vars"
    on 00/01/17, Koji Arai <JCA02266@nifty.ne.jp> writes:

|バグ報告(ruby-1.5.0)です。
|以下のコードで、2回目の p x がnilを表示します。

分かりました。
添付のようなパッチで良いのでは。

|ruby_dyna_vars->id == 0なエントリの意味もついでに教えていた
|だければうれしいです。

id==0のエントリから次のid==0のエントリの間までが一番内側のブ
ロックで導入されたブロック内ローカル変数に相当します。これら
はclosureなどの実現に使われています(と思う)。

この辺は複雑ですぐに忘れちゃう。

Index: eval.c
===================================================================
RCS file: /home/cvs/ruby/eval.c,v
retrieving revision 1.24
diff -u -1 -r1.24 eval.c
--- eval.c	2000/01/05 04:36:59	1.24
+++ eval.c	2000/01/17 07:50:31
@@ -3335,6 +3341,9 @@
 	
-	do {
+	while (vars && vars->id != 0) {
 	    rb_gc_force_recycle((VALUE)vars);
 	    vars = vars->next;
-	} while (vars && vars->id != 0);
+	}
+	if (ruby_dyna_vars->id == 0) {
+	    rb_gc_force_recycle((VALUE)ruby_dyna_vars);
+	}
     }

In This Thread