[#27919] 1.8.4 Preview2 検証 — "URABE Shyouhei aka. mput" <root@...>

卜部です。

33 messages 2005/12/01

[#27997] 1.8.4 documents? — "URABE Shyouhei aka. mput" <root@...>

卜部です。

22 messages 2005/12/12
[#28017] Re: 1.8.4 documents? — Koji Arai <jca02266@...> 2005/12/13

新井です。

[#28082] ruby_1_8 Segmentation fault on Cygwin — yanagi@...

柳田です。

13 messages 2005/12/21
[#28083] Re: ruby_1_8 Segmentation fault on Cygwin — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/21

山本です。

[#28140] ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org>

HP-UX で HP aC++/ANSI C を使って作った ruby で、openssl や drb のテストをすると、

34 messages 2005/12/27
[#28141] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/28

渡辺哲也です。

[#28142] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <200512280307.jBS37nnj005909@pbsg500.nifty.com>,

[#28147] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/28

山本です。

[#28149] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <20051228210640.13C71A10.ocean@m2.ccsnet.ne.jp>,

[#28151] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/29

渡辺哲也です。

[#28152] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28153] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28154] thread based generator.rb — Tanaka Akira <akr@...17n.org> 2005/12/29

In article <20051229114438.44D19F00.ocean@m2.ccsnet.ne.jp>,

[ruby-dev:28191] Re: zsuper (with define_method) dumps core

From: nobuyoshi nakada <nobuyoshi.nakada@...>
Date: 2005-12-30 06:50:24 UTC
List: ruby-dev #28191
At Fri, 30 Dec 2005 02:36:56 +0900,
SASADA Koichi wrote in [ruby-dev:28181]:
>  define_method で定義したメソッドから引数無し super(zsuper)を、ブロッ
> クパラメータがあるときに呼ぶとまずいようです。

さらに内側のブロックから呼んだときですね。

>  define_method で、ブロックで定義した zsuper は禁止したい感じ。たとえ
> ば、|a, b| の部分が foo.bar(アクセッサ)だったり、Const(定数)だったり
> した場合は、zsuper は親クラスのメソッドに何を渡すんですかね。

引数をそのまま渡すはずじゃなかったかな。


* eval.c (rb_call0): propagate DMETH flag.


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.862
diff -U2 -p -r1.862 eval.c
--- eval.c	29 Dec 2005 16:19:35 -0000	1.862
+++ eval.c	30 Dec 2005 06:45:38 -0000
@@ -752,4 +752,6 @@ struct RVarmap *ruby_dyna_vars;
 #define DVAR_DONT_RECYCLE FL_USER2
 
+#define DEMTHOD_P() (ruby_frame->prev ? (ruby_frame->prev->flags & FRAME_DMETH) : 0)
+
 static struct RVarmap*
 new_dvar(ID id, VALUE value, struct RVarmap *prev)
@@ -3317,6 +3319,5 @@ rb_eval(VALUE self, NODE *n)
 	    if (nd_type(node) == NODE_ZSUPER) {
 		argc = ruby_frame->argc;
-		if (argc && ruby_frame->prev &&
-                    (ruby_frame->prev->flags & FRAME_DMETH)) {
+		if (argc && DMETHOD_P()) {
                     if (TYPE(RBASIC(ruby_scope)->klass) != T_ARRAY ||
                         RARRAY(RBASIC(ruby_scope)->klass)->len != argc) {
@@ -5578,5 +5579,5 @@ rb_call0(VALUE klass, VALUE recv, ID id,
     NODE *b2;		/* OK */
     volatile VALUE result = Qnil;
-    int itr;
+    int itr, dmeth = DMETHOD_P();
     static int tick;
     volatile VALUE args;
@@ -5613,5 +5614,5 @@ rb_call0(VALUE klass, VALUE recv, ID id,
     ruby_frame->self = recv;
     ruby_frame->argc = argc;
-    ruby_frame->flags = (flags & NOEX_RECV) ? FRAME_FUNC : 0;
+    ruby_frame->flags = ((flags & NOEX_RECV) ? FRAME_FUNC : 0) | dmeth;
 
     switch (nd_type(body)) {


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread