[#21482] begin/rescue/else syntax is broken — akira yamada <akira@...>
[#21498] test/ChangeLog ? lib/ChangeLog — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#21499] File#path on closed file. — Tanaka Akira <akr@...17n.org>
ふと、
そういえば、
まつもと ゆきひろです
[#21508] eval BEGIN/END at runtime — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
なひです。
新井です。
[#21511] return value of freeze — Tanaka Akira <akr@...17n.org>
ふと、freeze を使って思ったのですが、これの返値は何なんでしょうか?
[#21531] O_ACCMODE — Tanaka Akira <akr@...17n.org>
POSIX において fcntl.h に定義されている、O_ACCMODE が欲しくなったので
西山和広です。
In article <20031007220838.CC51.ZN@mbf.nifty.com>,
[#21543] Enumerator — "Akinori MUSHA" <knu@...>
1.8.0 のtきは標準ライブラリ入りについて異論はなかったものの
新井です。
[#21556] rewinding for Thread — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#21557] at_exist and safe level — Tanaka Akira <akr@...17n.org>
% ruby -ve '$SAFE = x = 1; at_exit { p $SAFE; p x }'
[#21572] core dump in rb_thread_schedule — Tanaka Akira <akr@...17n.org>
今日、cvs update したら、rb_thread_schedule で core を吐くようになったのですが、
まつもと ゆきひろです
なかだです。
In article <200310090901.h9991gfA004660@sharui.nakada.kanuma.tochigi.jp>,
In article <87ekxmojwc.fsf@serein.a02.aist.go.jp>,
[#21590] extend with marshal_dump/marshal_load — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
[#21607] autoload の patch は取り込まれないんでしょうか? — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#21616] access ENV on $SAFE==4 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
ただただしです。
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
まつもと ゆきひろです
ただただしです。
まつもと ゆきひろです
[#21632] SEGV (test_drb.rb) — Masatoshi Seki <m_seki@...>
咳といいます。
[#21639] load() blocks thread scheduling — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
まつもと ゆきひろです
[#21641] SOAP::StreamError: Illegal media type. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです。
[#21679] Proposal: string literal concatenation — mput <root@...>
mput です。
[#21682] ruby-tk hangs when exception is raised — akira yamada <akira@...>
なかだです。
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
永井@知能.九工大です.
[#21707] drb Hash#each — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
咳といいます。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#21730] exit in $SAFE = 4 with -d — Tanaka Akira <akr@...17n.org>
% ruby -de 'lambda { $SAFE = 4; exit }.call; p 1'
[#21747] ruby 1.8.1 preview1 schedule — matz@... (Yukihiro Matsumoto)
関係者各位、
Siena. です。
なかだです。
Siena. です。
なかだです。
[#21778] IOError while building on Solaris with Sun cc — 桑村慎哉 <kuwa@...>
桑村です。
まつもと ゆきひろです
[#21790] ruby 1.8.1 preview1 — matz@... (Yukihiro Matsumoto)
It's out.
取り敢えず、NetBSD currentでの状況です。pkgsrc的なことは特にせず、ある
[#21794] ruby-1.8.1-preview2 での rb_iter_break — Kenta MURATA <muraken2@...>
むらけんです.
[ruby-dev:21536] Re: break from block yielded in until
なかだです。
At Tue, 30 Sep 2003 21:26:34 +0900,
Yukihiro Matsumoto wrote:
> |うーん、rb_iterate()でPUSH_SCOPE()してしまっていいんだろうか。
> |rb_catch()でしたほうがいいような気がしなくもない。
>
> これではまずいんです。rb_iter_break()がちゃんと動作しなくな
> るため、Enumerable#findなどが動かなくなります。
どうも[ruby-talk:83729]も同じ原因のように思えます。
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.551
diff -u -2 -p -r1.551 eval.c
--- eval.c 6 Oct 2003 17:59:52 -0000 1.551
+++ eval.c 7 Oct 2003 03:20:07 -0000
@@ -4078,5 +4078,5 @@ rb_yield_0(val, self, klass, flags, aval
NODE *cnode = ruby_current_node;
int state;
- static unsigned serial = 1;
+ volatile int ifunc = 0;
if (!rb_block_given_p()) {
@@ -4173,5 +4173,5 @@ rb_yield_0(val, self, klass, flags, aval
result = Qnil;
}
- else if (nd_type(node) == NODE_CFUNC || nd_type(node) == NODE_IFUNC) {
+ else if (nd_type(node) == NODE_CFUNC || (ifunc = nd_type(node) == NODE_IFUNC)) {
if (node->nd_state == YIELD_FUNC_AVALUE) {
if (!avalue) {
@@ -4186,4 +4186,5 @@ rb_yield_0(val, self, klass, flags, aval
val = Qnil;
}
+ if (ifunc) ruby_scope = (struct SCOPE *)node->u3.value;
result = (*node->nd_cfnc)(val, node->nd_tval, self);
}
@@ -4229,5 +4230,5 @@ rb_yield_0(val, self, klass, flags, aval
ruby_cref = (NODE*)old_cref;
ruby_wrapper = old_wrapper;
- if (ruby_scope->flags & SCOPE_DONT_RECYCLE)
+ if (!ifunc && (ruby_scope->flags & SCOPE_DONT_RECYCLE))
scope_dup(old_scope);
ruby_scope = old_scope;
@@ -4453,6 +4454,7 @@ rb_iterate(it_proc, data1, bl_proc, data
PUSH_ITER(ITER_PRE);
PUSH_BLOCK(0, node);
-
+ PUSH_SCOPE();
PUSH_TAG(PROT_ITER);
+ node->u3.value = (VALUE)ruby_scope;
state = EXEC_TAG();
if (state == 0) {
@@ -4469,4 +4471,5 @@ rb_iterate(it_proc, data1, bl_proc, data
}
POP_TAG();
+ POP_SCOPE();
POP_BLOCK();
POP_ITER();
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦