[#28402] crypt — Kenji Noda <zaq94465a@...>

野田です

58 messages 2001/03/01
[#28404] Re: crypt — gotoken@... (GOTO Kentaro) 2001/03/01

In message "[ruby-list:28402] crypt"

[#28410] Re: crypt — "Akinori MUSHA" <knu@...> 2001/03/02

At Fri, 2 Mar 2001 04:34:52 +0900,

[#28413] Re: crypt — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/02

newです.

[#28419] Re: crypt — matz@... (Yukihiro Matsumoto) 2001/03/02

まつもと ゆきひろです

[#28421] Re: crypt — gotoken@... (GOTO Kentaro) 2001/03/02

ごとけんです

[#28424] Re: crypt — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/02

newです.

[#28435] ruby 1.6.3? — akira yamada / やまだあきら <akira@...>

24 messages 2001/03/02
[#28440] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/02

まつもと ゆきひろです

[#28572] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/07

[#28621] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/09

[#28624] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/09

まつもと ゆきひろです

[#28821] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/17

[#28823] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/17

まつもと ゆきひろです

[#28829] Re: ruby 1.6.3? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/03/18

もりきゅうです。

[#28831] Re: ruby 1.6.3? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/03/18

もりきゅうです。

[#28454] Ruby 初心者は! — 有瀬 和徳 <crush@...>

Kazunori Aruse

17 messages 2001/03/03

[#28485] ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...>

22 messages 2001/03/04
[#28492] Re: ruby/tk TkEntry#selection_present bug? — Koji Arai <JCA02266@...> 2001/03/04

新井です。

[#28559] Re: ruby/tk TkEntry#selection_present bug? — nagai@... 2001/03/06

永井@知能.九工大です.

[#28562] Re: ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...> 2001/03/06

[#28615] Re: ruby/tk TkEntry#selection_present bug? — nagai@... 2001/03/09

永井@知能.九工大です.

[#28530] テキストファイルを固定文字数で切って、行番号をつけるプログラム — Keisuke Minami <keisuke@...>

こんばんは。三並です。

10 messages 2001/03/05

[#28599] 1.6 のダウンロードマニュアルが圧縮されていない? — Keisuke Minami <keisuke@...>

こんばんは。三並です。

71 messages 2001/03/08
[#28601] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — rubikitch <rubikitch@...> 2001/03/08

From: Keisuke Minami <keisuke@rccn.com>

[#28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — SHIBATA Hiroshi <h-sbt@...9.so-net.ne.jp> 2001/03/08

 SHIBATA Hiroshiです。

[#28603] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-list:28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない?"

[#28606] Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/08

From: Keisuke Minami <keisuke@rccn.com>

[#28617] Re: Ruby 1.6.2 リファレンスマニュアル — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/09

newです.

[#28618] Re: Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/09

From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>

[#28622] Re: Ruby 1.6.2 リファレンスマニュアル — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/09

newです.

[#28644] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/09

青木@横浜です。

[#28672] Re: Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/10

From: Daisuke Aoki <dai@sweetparty.ne.jp>

[#28705] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/12

青木@横浜です。

[#28697] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/12

青木@横浜です。

[#28773] [Q] ChibiXML のサンプルみたいなもの — eda@...

えだです。

14 messages 2001/03/15
[#28782] Re: [Q] ChibiXML のサンプルみたいなもの — TAKAHASHI Masayoshi <maki@...> 2001/03/16

高橋征義です。

[#28852] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹)

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

17 messages 2001/03/19
[#29368] Re: [ruby-ext:01642] Re: o_dbm — akira yamada / やまだあきら <akira@...> 2001/04/21

[#29431] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹) 2001/04/26

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

[#29468] Re: [ruby-ext:01642] Re: o_dbm — akira yamada / やまだあきら <akira@...> 2001/05/01

[#28911] media watch 2001.03.22 — akira yamada / やまだあきら <akira@...>

27 messages 2001/03/22
[#28955] Re: media watch 2001.03.22 — Keisuke Minami <keisuke@...> 2001/03/24

こんばんは。三並です。

[#28974] Re: media watch 2001.03.22 — akira yamada / やまだあきら <akira@...> 2001/03/26

[#28993] Re: media watch 2001.03.22 — Noritsugu Nakamura <nnakamur@...> 2001/03/27

[#29023] 配列に要素を挿入 — Kenji Noda <zaq94465a@...>

野田と申します

15 messages 2001/03/30

[#29037] forwardable-1.0 release — keiju@... (Keiju ISHITSUKA)

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

25 messages 2001/03/30
[#29038] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/03/30

Toshです。

[#29042] Re: forwardable-1.0 release — matz@... (Yukihiro Matsumoto) 2001/03/31

まつもと ゆきひろです

[#29047] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/03/31

Toshです。

[#29057] Re: forwardable-1.0 release — keiju@... (石塚圭樹) 2001/04/02

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

[#29060] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/04/02

Toshです。

[ruby-list:28726] Re: argument to instance_eval block(Re:

From: "K.Kosako" <kosako@...>
Date: 2001-03-13 10:45:10 UTC
List: ruby-list #28726
Yukihiro Matsumotoさんの
<984473457.590774.1166.nullmailer@ev.netlab.zetabits.com>から
> |class Fixnum; X = 200; end
> |100.instance_eval { p X }
>
> |修正は、特異クラスを生成するのが、
> |一番簡単なのではないでしょうか?
> 
> たぶん、ev_const_definedとev_const_getにselfを引数として渡す
> の方が簡単、かつ効率が良いでしょう。

そうですね。

上記の修正が行われたもので動作確認をしてみると、
falseに対してinstance_evalしたときがまだ変でした。
別のバグのようです。selfの値がおかしいです。

class FalseClass; X = 200; end
false.instance_eval { p self; p X }

# =>
# main
# ../test/single3.rb:2: uninitialized constant Object::X (NameError)
# 	from ../test/single3.rb:2:in `instance_eval'
# 	from ../test/single3.rb:2:in `instance_eval'
# 	from ../test/single3.rb:2


rb_yield_0の中で、
if (!self) self = block->self;
としているために、falseのときにselfの値が
置き換わってしまうことが原因のようです。

--- eval.c.orig	Tue Mar 13 00:00:01 2001
+++ eval.c	Tue Mar 13 19:23:20 2001
@@ -2324,7 +2324,7 @@
 	else {
 	    result = Qnil;
 	}
-	result = rb_yield_0(result, 0, 0, 0);
+	result = rb_yield_0(result, Qundef, 0, 0);
 	break;
 
       case NODE_RESCUE:
@@ -3530,7 +3530,7 @@
 	ruby_dyna_vars = block->dyna_vars;
     }
     ruby_class = klass?klass:block->klass;
-    if (!self) self = block->self;
+    if (self == Qundef) self = block->self;
     node = block->body;
 
     if (block->var) {
@@ -3637,14 +3637,14 @@
 rb_yield(val)
     VALUE val;
 {
-    return rb_yield_0(val, 0, 0, 0);
+    return rb_yield_0(val, Qundef, 0, 0);
 }
 
 static VALUE
 rb_f_loop()
 {
     for (;;) {
-	rb_yield_0(Qnil, 0, 0, 0);
+	rb_yield_0(Qnil, Qundef, 0, 0);
 	CHECK_INTS;
     }
     return Qnil;		/* dummy */
@@ -6269,7 +6269,7 @@
     state = EXEC_TAG();
     if (state == 0) {
 	proc_set_safe_level(proc);
-	result = rb_yield_0(args, 0, 0, Qtrue);
+	result = rb_yield_0(args, Qundef, 0, Qtrue);
     }
     POP_TAG();
 
@@ -8105,7 +8105,7 @@
     rb_thread_t th;
 {
     scope_dup(ruby_block->scope);
-    return rb_yield_0(callargs(arg), 0, 0, Qtrue);
+    return rb_yield_0(callargs(arg), Qundef, 0, Qtrue);
 }
 
 static VALUE
@@ -8672,7 +8672,7 @@
     t = rb_to_id(tag);
     PUSH_TAG(t);
     if ((state = EXEC_TAG()) == 0) {
-	val = rb_yield_0(tag, 0, 0, 0);
+	val = rb_yield_0(tag, Qundef, 0, 0);
     }
     else if (state == TAG_THROW && t == prot_tag->dst) {
 	val = prot_tag->retval;
----
小迫@ソフネック   渋谷区恵比寿1-15-1

In This Thread