[#23168] File.fnmatch のリファクタリング — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

13 messages 2004/03/08

[#23192] File.fnmatch と Dir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

19 messages 2004/03/13
[#23194] Re: File.fnmatch と Dir.glob の非互換部分 — matz@... (Yukihiro Matsumoto) 2004/03/13

まつもと ゆきひろです

[#23195] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/14

山本です。

[#23196] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/14

山本です。

[#23260] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/30

山本です。

[#23261] Re: File.fnmatch とDir.glob の非互換部分 — matz@... (Yukihiro Matsumoto) 2004/03/30

まつもと ゆきひろです

[#23265] Re: File.fnmatch とDir.glob の非互換部分 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/03/30

山本です。

[#23238] Re: [ruby-cvs] ruby, ruby/lib, ruby/lib/rss, ruby/sample/openssl: * lib/logger.rb: trim tail space of each line. no user visible change. — Kouhei Sutou <kou@...>

須藤です.

10 messages 2004/03/27

[ruby-dev:23098] Re: [ruby-cvs] ruby: * eval.c (localjump_destination): lambda should not interfere

From: nobu.nakada@...
Date: 2004-03-02 02:03:04 UTC
List: ruby-dev #23098
なかだです。

At Tue, 2 Mar 2004 08:32:49 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:23096]:
>   * トップレベルスコープに属するブロックがorphanでないのに
>     orphan扱いされる

なるほど。それは見落としてました。

>   * breakのexit_valueが正しく伝搬されない

一応これで通るんですが、直前のprot_tagに依存させるくらいならもっ
とストレートな方法があるんじゃないかという気が。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.639
diff -u -2 -p -r1.639 eval.c
--- eval.c	27 Feb 2004 13:29:56 -0000	1.639
+++ eval.c	2 Mar 2004 01:56:14 -0000
@@ -1258,4 +1258,5 @@ ruby_init()
     POP_SCOPE();
     ruby_scope = top_scope;
+    top_scope->flags &= ~SCOPE_NOSTACK;
     ruby_running = 1;
 }
@@ -3339,5 +3340,5 @@ rb_eval(self, n)
 	      case TAG_RETURN:
 	      case TAG_BREAK:
-		localjump_destination(state, result);
+		if (jump_chain) localjump_destination(state, result);
 	      default:
 		JUMP_TAG(state);
@@ -4653,5 +4654,5 @@ rb_yield_0(val, self, klass, flags, aval
 
     PUSH_ITER(block->iter);
-    PUSH_TAG(lambda ? PROT_NONE : PROT_YIELD);
+    PUSH_TAG(prot_tag->tag == PROT_PCALL ? PROT_NONE : PROT_YIELD);
     if ((state = EXEC_TAG()) == 0) {
       redo:


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

In This Thread