[#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:8942] Re: [BUG] recycle the ruby_dyna_vars

From: Koji Arai <JCA02266@...>
Date: 2000-01-16 20:17:29 UTC
List: ruby-dev #8942
新井です。

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

> (スコープの区切りってことかな?だとすると、2番目のv=1で
> dvar_asgn_push()が呼ばれるような修正をしないといけない??)

勢い余って、この修正もやってみました。ほんとにあってるのか?

Index: eval.c
===================================================================
RCS file: /home/cvs/ruby/eval.c,v
retrieving revision 1.24
diff -u -p -u -r1.24 eval.c
--- eval.c	2000/01/05 04:36:59	1.24
+++ eval.c	2000/01/16 20:12:13
@@ -628,14 +628,26 @@ dvar_asgn(id, value, push)
     struct RVarmap *vars = ruby_dyna_vars;
 
     while (vars) {
-	if (push && vars->id == 0) break;
+	if (push && vars->id == 0) {
+	    rb_dvar_push(id, value);
+	    return;
+	}
 	if (vars->id == id) {
 	    vars->val = value;
 	    return;
 	}
 	vars = vars->next;
     }
+
+    if (ruby_dyna_vars && ruby_dyna_vars->id == 0) {
+	vars = ruby_dyna_vars;
+	ruby_dyna_vars = ruby_dyna_vars->next;
+    }
     rb_dvar_push(id, value);
+    if (vars) {
+	vars->next = ruby_dyna_vars;
+	ruby_dyna_vars = vars;
+    }
 }
 
 void

--
新井康司 (Koji Arai)

In This Thread