[#25808] break & retry in block — Shin-ichiro HARA <sinara@...>

原です。

15 messages 2005/03/04

[#25812] Re: [ruby-cvs] ruby/test/ruby, ruby/test/logger, ruby/sample, ruby/misc, ruby/lib/xmlrpc, ruby/lib/wsdl/soap, ruby/lib/rexml, ruby/lib/rdoc/parsers, ruby/lib/rdoc/generators, ruby/lib/irb, ruby/lib, ruby/ext/zlib, ruby/ext/win32ole, ruby/ext/tk, ruby/ext/strscan, ruby/ext/socket, ruby/ext/readline, ruby/ext/pty, ruby/ext/openssl, ruby/ext/iconv, ruby/ext/etc, ruby/ext/dl, ruby/ext/curses, ruby/ext/bigdecimal, ruby/ext/Win32API, ruby: * array.c: replace rb_protect_inspect() and rb_inspecting_p() by — Tanaka Akira <akr@...17n.org>

In article <20050304064753.53859C671F@lithium.ruby-lang.org>,

3 messages 2005/03/06

[#25853] conflict method and local variable — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

56 messages 2005/03/10
[#25854] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/10

まつもと ゆきひろです

[#25855] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/10

永井@知能.九工大です.

[#25856] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/10

まつもと ゆきひろです

[#25857] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

永井@知能.九工大です.

[#25858] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/11

まつもと ゆきひろです

[#25861] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

永井@知能.九工大です.

[#25863] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/11

まつもと ゆきひろです

[#25864] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

永井@知能.九工大です.

[#25865] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/11

まつもと ゆきひろです

[#25866] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/11

永井@知能.九工大です.

[#25869] Re: conflict method and local variable — Shugo Maeda <shugo@...> 2005/03/13

前田です。

[#25875] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/13

まつもと ゆきひろです

[#25878] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/13

永井@知能.九工大です.

[#25882] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/13

まつもと ゆきひろです

[#25884] Re: conflict method and local variable — Hidetoshi NAGAI <nagai@...> 2005/03/14

永井@知能.九工大です.

[#25885] Re: conflict method and local variable — Yukihiro Matsumoto <matz@...> 2005/03/14

まつもと ゆきひろです

[#25888] Re: conflict method and local variable — Shugo Maeda <shugo@...> 2005/03/14

前田です。

[#25946] ext/tk/sample/**/*.gif are broken — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

16 messages 2005/03/27

[#25959] some trouble on ext/tk/sample — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

20 messages 2005/03/29
[#25969] Re: some trouble on ext/tk/sample — Hidetoshi NAGAI <nagai@...> 2005/03/30

永井@知能.九工大です.

[#25970] Re: some trouble on ext/tk/sample — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/03/30

山本です。

[#25973] Re: some trouble on ext/tk/sample — Hidetoshi NAGAI <nagai@...> 2005/03/31

永井@知能.九工大です.

[ruby-dev:25934] Re: events in `if' and `begin'

From: Shugo Maeda <shugo@...>
Date: 2005-03-23 04:54:05 UTC
List: ruby-dev #25934
前田です。

Yukihiro Matsumoto wrote:
> |test/ruby/test_settracefunc.rbにテストを追加していて気付いたのですが、
> |
> |  if cond
> |
> |のような行で二回"line"イベントが発生するのは意図された挙動でしょうか。
> 
> なんか理由があってifやwhenで明示的にlineイベントを発生させる
> ようにしたはずです。が、肝心の理由を覚えていないという。

がーん。

> |また、
> |
> |  begin
> |    raise "error"
> |
> |のようなコードがあった場合、1.8では各行ごとに一回ずつ"line"イベントが
> |発生しますが、HEADでは、beginの行でイベントが発生せず、raiseの行で二回
> |"line"イベントが発生します。
> |これは意図された変更でしょうか。
> 
> 1.8ではNEWLINEノードがありますが、HEADではこれはNODEのフラグ
> で代用されノードはなくなっています。その関係だと思います。要
> するにbeginのノードの行番号の設定が間違っているんでしょうね
> え、きっと。

添付のパッチで1.8と同じ挙動になりますが、こんな感じでいいんでしょうか?

-- 
前田 修吾

Attachments (1)

parse.y.diff (609 Bytes, text/x-diff)
Index: parse.y
===================================================================
RCS file: /src/ruby/parse.y,v
retrieving revision 1.375
diff -u -r1.375 parse.y
--- parse.y	17 Mar 2005 08:56:34 -0000	1.375
+++ parse.y	23 Mar 2005 04:51:46 -0000
@@ -2448,10 +2448,15 @@
 		  kEND
 		    {
 		    /*%%%*/
-			if ($3 == NULL)
+			if ($3 == NULL) {
 			    $$ = NEW_NIL();
-			else
+			}
+			else {
+			    if (nd_type($3) == NODE_RESCUE ||
+				nd_type($3) == NODE_ENSURE)
+				nd_set_line($3, $<num>1);
 			    $$ = NEW_BEGIN($3);
+			}
 			nd_set_line($$, $<num>1);
 		    /*%
 			$$ = dispatch1(begin, $3);

In This Thread