[#16708] includedir — nobu.nakada@...
なかだです。
[#16732] sharing sub-regexp — Tanaka Akira <akr@...17n.org>
Oniguruma についてひとつ要望があります。
Tanaka Akiraさんの<hvopu1hxfyd.fsf@coulee.a02.aist.go.jp>から
まつもと ゆきひろです
In article <1017890618.302241.17865.nullmailer@ev.netlab.jp>,
Tanaka Akiraさんの<hvo7knn93ug.fsf@coulee.a02.aist.go.jp>から
In article <20020405044506.D4784349@helium.ruby-lang.org>,
Tanaka Akiraさんの<hvopu1e4omy.fsf@coulee.a02.aist.go.jp>から
In article <20020410025054.C8DF0915@helium.ruby-lang.org>,
In article <hvor8lnchak.fsf@coulee.a02.aist.go.jp>,
前田です。
In article <87pu15z80q.wl@studly.priv.netlab.jp>,
前田です。
In article <87g01x1e6m.wl@studly.priv.netlab.jp>,
西山和広です。
In article <20020416180631.988E.ZN@mbf.nifty.com>,
前田です。
In article <87u1qaj0xe.wl@studly.priv.netlab.jp>,
前田です。
まつもと ゆきひろです
In article <1019116103.420173.12691.nullmailer@picachu.netlab.jp>,
前田です。
なかだです。
In article <200204181023.g3IANgM21124@sharui.nakada.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1019140164.869863.14833.nullmailer@picachu.netlab.jp>,
[#16757] === — "Akinori MUSHA" <knu@...>
Array, Hash, Proc などで、 === が以下のように定義されていると
[#16761] StringIO — tadf@...
ふなばです。
なかだです。
ふなばです。
なかだです。
ふなばです。
青山です。
まつもと ゆきひろです
In article <1022740594.117106.6073.nullmailer@picachu.netlab.jp>,
前田です。
In article <874rgqdt3x.wl@studly.priv.netlab.jp>,
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
青山です。
[#16776] Ruby 1.7.2 segfault — takuma ozawa <metal@...>
小澤といいます。
なかだです。
[#16790] Ruby Shim — "Akinori MUSHA" <knu@...>
1.7 early access kit という仮称で提案した構想ですが、先ほど
新井です。
At Tue, 9 Apr 2002 02:12:27 +0900,
なかだです。
[#16816] remove_const: cannot remove constant — Koji Arai <JCA02266@...>
新井です。
[#16833] math.c 1.10 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
まつもと ゆきひろです
さくです。
なかだです。
まつもと ゆきひろです
[#16868] make error on debian potato — Wakou Aoyama <wakou@...>
青山です。
[#16869] Makefiles dependency — nobu.nakada@...
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
[#16894] compile failure in process.c, setpgrp() & setpgid() — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端です.
[#16923] Module::new with block is useful? — "Shin'ya Adzumi" <adzumi@...>
あづみです。
[#16978] Re: [rubyist:1343] Re: another sample for the Method — Koji Arai <JCA02266@...>
新井です。
[#16989] making Proc in C (Re: [rubyist:1356] Re: another sample for the Method) — nobu.nakada@...
なかだです。
[ruby-dev:16780] Re: Ruby 1.7.2 segfault
なかだです。
At Sun, 7 Apr 2002 04:21:17 +0900,
takuma ozawa wrote:
> 以下のスクリプトがSegfaultしました。
>
> while true
> t = Thread.start {
> a
> }
> t.abort_on_exception = true
> end
単にraise SystemExitでも落ちますね。
* ruby_options(), ruby_stop()でerror_handle()までPROT_NONEでガー
ド。
* 内部的に投げるSystemExitは@statusをセット。
* @statusがセットされていないときは0とみなす。
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.278
diff -u -2 -p -r1.278 eval.c
--- eval.c 2002/03/26 06:18:49 1.278
+++ eval.c 2002/04/07 19:23:21
@@ -1130,5 +1130,5 @@ error_handle(ex)
if (rb_obj_is_kind_of(ruby_errinfo, rb_eSystemExit)) {
VALUE st = rb_iv_get(ruby_errinfo, "status");
- ex = NUM2INT(st);
+ ex = NIL_P(st) ? 0 : NUM2INT(st);
}
else {
@@ -1155,5 +1155,4 @@ ruby_options(argc, argv)
ruby_process_options(argc, argv);
}
- POP_TAG();
if (state) {
trace_func = 0;
@@ -1161,4 +1160,5 @@ ruby_options(argc, argv)
exit(error_handle(state));
}
+ POP_TAG();
}
@@ -1195,9 +1195,9 @@ ruby_stop(ex)
}
POP_ITER();
- POP_TAG();
trace_func = 0;
tracing = 0;
ex = error_handle(ex);
+ POP_TAG();
ruby_finalize();
exit(ex);
@@ -3453,7 +3453,6 @@ rb_mod_method_defined(mod, mid)
}
-NORETURN(static void terminate_process _((int, const char*, int)));
-static void
-terminate_process(status, mesg, mlen)
+static VALUE
+rb_sysexit_new(status, mesg, mlen)
int status;
const char *mesg;
@@ -3463,7 +3462,9 @@ terminate_process(status, mesg, mlen)
rb_iv_set(exit, "status", INT2NUM(status));
- rb_exc_raise(exit);
+ return exit;
}
+#define terminate_process(status, mesg, mlen) rb_exc_raise(rb_sysexit_new(status, mesg, mlen))
+
void
rb_exit(status)
@@ -8530,5 +8531,5 @@ rb_thread_start_0(fn, arg, th_arg)
}
else if (th->safe < 4 && (thread_abort || th->abort || RTEST(ruby_debug))) {
- VALUE err = rb_exc_new(rb_eSystemExit, 0, 0);
+ VALUE err = rb_sysexit_new(1, 0, 0);
error_print();
/* exit on main_thread */
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦