[#2810] [BUG] IO#eof? when Thread using — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

31 messages 1998/06/08
[#2826] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2827] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2828] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2829] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2831] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2841] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2842] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2843] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

けいじゅ@日本ラショナルソフトウェアです.

[#2845] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2846] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

けいじゅ@日本ラショナルソフトウェアです.

[#2847] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2848] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

けいじゅ@日本ラショナルソフトウェアです.

[#2849] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2854] experimental release 1.1b9_25 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/06/11
[#2870] Re: experimental release 1.1b9_25 — Takahiro Maebashi <maebashi@...> 1998/06/15

前橋です。

[#2911] experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1998/06/18
[#2912] Re: experimental release 1.1b9_26 — WATANABE Hirofumi <watanabe@...> 1998/06/18

わたなべです.

[#2913] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2916] Re: experimental release 1.1b9_26 — Takahiro Maebashi <maebashi@...> 1998/06/18

前橋です。

[#2917] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2940] experimental release 1.1b9_27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

21 messages 1998/06/19

[#2965] feature freeze for 1.1c — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1998/06/22

[#3056] experimental release 1.1b9_28 — matz@... (Yukihiro Matsumoto)

subject says all.

28 messages 1998/06/26
[#3104] Re: experimental release 1.1b9_28 — Takahiro Maebashi <maebashi@...> 1998/06/30

前橋です。

[#3086] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro)

ごとけんです

19 messages 1998/06/29
[#3120] Re: Enumerable#reverse ([ruby-list:8579]) — keiju@... (Keiju ISHITSUKA) 1998/06/30

けいじゅ@日本ラショナルソフトウェアです.

[#3130] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro) 1998/06/30

ごとけんです

[#3146] [REQ] trace_func — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

15 messages 1998/06/30
[#3190] Re: [REQ] trace_func — matz@... (Yukihiro Matsumoto) 1998/07/02

まつもと ゆきひろです

[#3807] Re: [REQ] trace_func — keiju@... (石塚圭樹 ) 1998/12/14

けいじゅ@日本ラショナルソフトウェアです.

[ruby-dev:2865] Re: experimental release 1.1b9_25

From: matz@... (Yukihiro Matsumoto)
Date: 1998-06-12 07:32:27 UTC
List: ruby-dev #2865
まつもと ゆきひろです

In message "[ruby-dev:2862] Re: experimental release 1.1b9_25"
    on 98/06/12, Yukihiro Matsumoto <matz@netlab.co.jp> writes:

|まつもと ゆきひろです

||この2つのバグって繰り返してますので, make testに組み込んでくれると嬉し
||いなあ...
|
|そうですね.で,実装をよく見てみたらこの二つは排反になってい
|たので,根本的な見直しが必要そうです.どーしたもんだか.

あちこち修正してやっと思った通りに動いているような気がします.
irbのような複雑なパターンで試してもらわないと意味ないですが.
パッチを出しますので,試してみて下さい.

--- eval.c	1998/06/11 10:02:57	1.1.1.2.2.61
+++ eval.c	1998/06/12 07:28:40
@@ -456,3 +456,3 @@
 
-static struct RVarmap*
+static void
 push_dvar(id, value)
@@ -461,6 +461,13 @@
 {
-    struct RVarmap* vars = new_dvar(id, value);
+    the_dyna_vars = new_dvar(id, value);
+    if (the_dyna_vars->next && the_dyna_vars->next->id == 0)
+	the_dyna_vars->next = 0;
+}
 
-    if (the_dyna_vars) {
-	vars->next = the_dyna_vars->next;
+static void
+mark_dvar(vars)
+    struct RVarmap* vars;
+{
+    if (!vars) {
+	the_dyna_vars = new_dvar(0, 0);
 	the_dyna_vars->next = vars;
@@ -468,8 +475,4 @@
     else {
-	vars->id = id;
-	vars->val = 0;
 	the_dyna_vars = vars;
     }
-
-    return vars;
 }
@@ -504,18 +507,2 @@
 
-static void
-dvar_add_compiling(id)
-    ID id;
-{
-    struct RVarmap *vars = the_dyna_vars;
-
-    while (vars) {
-	if (vars->id == 0) break;
-	if (vars->id == id) {
-	    return;
-	}
-	vars = vars->next;
-    }
-    the_dyna_vars = new_dvar(id, 0);
-}
-
 VALUE
@@ -525,6 +512,2 @@
 {
-    if (id == 0) {
-	dvar_add_compiling((ID)value);
-    }
-    else {
 	struct RVarmap *vars = the_dyna_vars;
@@ -539,3 +522,2 @@
 	push_dvar(id, value);
-    }
     return value;
@@ -2846,4 +2828,3 @@
     the_block = block->prev;
-    the_dyna_vars = new_dvar(0, 0);
-    the_dyna_vars->next = block->d_vars;
+    mark_dvar(block->d_vars);
     the_class = block->klass;
@@ -3020,3 +3001,2 @@
     PUSH_BLOCK(0, node);
-    _block.d_vars = new_dvar(0,0);
     PUSH_TAG(PROT_NONE);
@@ -3821,3 +3801,3 @@
 	old_d_vars = the_dyna_vars;
-	the_dyna_vars = data->d_vars;
+	mark_dvar(data->d_vars);
 	old_vmode = scope_vmode;
@@ -3858,2 +3838,4 @@
 	the_block = old_block;
+	if (the_dyna_vars->id != 0)
+	    data->d_vars = the_dyna_vars;
 	the_dyna_vars = old_d_vars;
--- parse.y	1998/06/11 10:03:05	1.1.1.2.2.39
+++ parse.y	1998/06/12 04:06:49
@@ -238,2 +238,3 @@
 program		:  {
+		        $<vars>$ = the_dyna_vars;
 			lex_state = EXPR_BEG;
@@ -250,2 +251,3 @@
 			class_nest = 0;
+		        the_dyna_vars = $<vars>1;
 		    }
@@ -3426,3 +3428,3 @@
 	    if (!dyna_var_defined(id)) {
-		dyna_var_asgn(0, id);
+		dyna_var_asgn(id, 0);
 	    }

In This Thread