[#14850] str[re, -1] raises NoMemoryError — nobu.nakada@...
なかだです。
6 messages
2001/10/03
[#14888] perl6 apocalypse 3 — nobu.nakada@...
なかだです。
7 messages
2001/10/04
[#14903] Re: [rubyist:0825] Re: Thread — nobu.nakada@...
なかだです。
8 messages
2001/10/09
[#14909] ext/socket h_addr_list — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
9 messages
2001/10/11
[#14922] alias $gvar — Koji Arai <JCA02266@...>
新井です。
19 messages
2001/10/14
[#14941] Re: alias $gvar
— matz@... (Yukihiro Matsumoto)
2001/10/16
まつもと ゆきひろです
[#14924] Re: alias $gvar
— nobu.nakada@...
2001/10/14
なかだです。
[#14932] Re: alias $gvar
— nobu.nakada@...
2001/10/15
なかだです。
[#14934] Re: alias $gvar
— Koji Arai <JCA02266@...>
2001/10/15
新井です。
[#14942] [BUG] SEGV: module_eval — Satoru Takabayashi <satoru@...>
こんなことする方が悪いという気がしますが、次のコードを実行す
5 messages
2001/10/16
[#14961] [PATCH] Marshal.load/dump — nobu.nakada@...
なかだです。
9 messages
2001/10/18
[#14962] alias var and trace_var — "K.Kosako" <kosako@...>
新井さんの指摘から、中田さんのパッチで
12 messages
2001/10/19
[#14963] Re: alias var and trace_var
— nobu.nakada@...
2001/10/19
なかだです。
[#14965] Re: alias var and trace_var
— "K.Kosako" <kosako@...>
2001/10/19
nobu.nakada@nifty.ne.jpさんの
[#14967] Re: alias var and trace_var
— nobu.nakada@...
2001/10/19
なかだです。
[#14971] Re: alias var and trace_var
— "K.Kosako" <kosako@...>
2001/10/22
nobu.nakada@nifty.ne.jpさんの
[#14984] [PATCH] stack overflow while GC marking. — nobu.nakada@...
なかだです。
7 messages
2001/10/23
[#14987] tracer.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
5 messages
2001/10/23
[#14998] TCPSocket.gethostbyname で Segmentation fault — tomohiko machida <machida@...>
はじめまして。
4 messages
2001/10/25
[#15001] finalizer problem — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
3 messages
2001/10/25
[#15006] Re: eval.c (rb_stack_check): prohibit recursive raising error — WATANABE Hirofumi <eban@...>
わたなべです。
13 messages
2001/10/26
[#15008] Re: eval.c (rb_stack_check): prohibit recursive raising error
— Shugo Maeda <shugo@...>
2001/10/26
前田です。
[#15207] Re: eval.c (rb_stack_check): prohibit recursive raising error
— nobu.nakada@...
2001/11/19
なかだです。
[#15209] Re: eval.c (rb_stack_check): prohibit recursive raising error
— matz@... (Yukihiro Matsumoto)
2001/11/19
まつもと ゆきひろです
[#15210] Re: eval.c (rb_stack_check): prohibit recursive raising error
— nobu.nakada@...
2001/11/19
なかだです。
[#15211] Re: eval.c (rb_stack_check): prohibit recursive raising error
— matz@... (Yukihiro Matsumoto)
2001/11/19
まつもと ゆきひろです
[#15212] Re: eval.c (rb_stack_check): prohibit recursive raising error
— nobu.nakada@...
2001/11/19
なかだです。
[#15214] Re: eval.c (rb_stack_check): prohibit recursive raising error
— matz@... (Yukihiro Matsumoto)
2001/11/19
まつもと ゆきひろです
[ruby-dev:14898] Re: allocation framework(Re: custom marshal)
From:
nobu.nakada@...
Date:
2001-10-05 02:48:00 UTC
List:
ruby-dev #14898
なかだです。
At Thu, 4 Oct 2001 01:38:26 +0900,
matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> |* Regexp.new(str)が無限に再帰してスタックオーバーフロー
>
> これはおっしゃる通りです。
これ、ChangeLogだけでre.cの方がコミットされてませんが。
> |* メソッド内のProc.newがwithout blockでArgumentError
> |
> | こんなかなぁ。Regexp.newはまぁ見ての通りなんですが、Procの方
> |はProc.allocateの中からブロックにうまくアクセスできなかったんで、
> |Proc#initializeとに分けてみました。あとは初期化されてないProcの
> |ためにいくらか修正。
>
> こっちは(わたしのツモリとしては)、Thread同様Procはallocateを
> 使わないつもりだったのです。undef allocateするつもりで、なに
> を間違ったかnewをallocateにrenameしてしまいました。
proc_s_new()を復活させてこういう感じでしょうか。re.cと合わせ
て入れちゃっていいでしょうか。
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.208
diff -u -2 -p -r1.208 eval.c
--- eval.c 2001/10/03 07:19:10 1.208
+++ eval.c 2001/10/05 02:40:22
@@ -6365,4 +6365,16 @@ proc_new(klass)
}
+static VALUE
+proc_s_new(argc, argv, klass)
+ int argc;
+ VALUE *argv;
+ VALUE klass;
+{
+ VALUE proc = proc_new(klass);
+
+ rb_obj_call_init(proc, argc, argv);
+ return proc;
+}
+
VALUE
rb_f_lambda()
@@ -6970,5 +6982,6 @@ Init_Proc()
rb_cProc = rb_define_class("Proc", rb_cObject);
- rb_define_singleton_method(rb_cProc, "allocate", proc_new, 0);
+ rb_undef_method(CLASS_OF(rb_cProc), "allocate");
+ rb_define_singleton_method(rb_cProc, "new", proc_s_new, -1);
rb_define_method(rb_cProc, "call", proc_call, -2);
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦