[#39954] Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...>
ささだです.
2010/1/4 SASADA Koichi <ko1@atdot.net>:
ささだです.
2010/1/4 SASADA Koichi <ko1@atdot.net>:
ささだです.
[#39975] [Feature #2571] 文字列のハミング距離 — Kenta Murata <redmine@...>
Feature #2571: 文字列のハミング距離
まつもと ゆきひろです
むらたです。
成瀬です。
まつもと ゆきひろです
成瀬です。
成瀬です。
[#39978] "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby — MOROHASHI Kyosuke <moronatural@...>
諸橋です。
卜部です。
もろはしです。
いまいち問題を把握してない可能性もありますが、gitが$Id$展開しないからコケるんだけどgitからcloneしてもそのまま動くようにしてくれよ、ということでいいですかね?
[#39987] [Bug #2575] a test fail for IO#readpartial is broken on *BSD — Takahiro Kambe <redmine@...>
Bug #2575: a test fail for IO#readpartial is broken on *BSD
[#40003] [Feature #2579] Net::HTTP.start("www.ruby-lang.org", use_ssl: true) で SSL 利用を可能に — Yui NARUSE <redmine@...>
Feature #2579: Net::HTTP.start("www.ruby-lang.org", use_ssl: true) で SSL 利用を可能に
[#40004] [Bug:trunk] require_relative depends on current directory — Yusuke ENDOH <mame@...>
遠藤です。
チケット #2581 が更新されました。 (by Yusuke Endoh)
2010年3月7日0:30 Yusuke Endoh <redmine@ruby-lang.org>:
>> 1.9.2 では $: から "." が消えるため require_relative の需要が
遠藤です。
[#40017] Linuxで bm_vm3_thread_mutex.rb が刺さってしまい実行が完了しない — KOSAKI Motohiro <kosaki.motohiro@...>
kosakiです
遠藤です。
2010年1月12日0:20 Yusuke ENDOH <mame@tsg.ne.jp>:
[#40023] [Bug:trunk] ENV.[]= should raise an error on failure — "Akinori MUSHA" <knu@...>
現在 ENV.[]= は setenv(3) や putenv(3) の返り値を見ていませんが、
[#40059] [Bug:1.8] block.callの中でsuperできない — Kouhei Sutou <kou@...>
須藤です。
チケット #2600 が更新されました。 (by Yui NARUSE)
[#40063] [BUG] marshaling Time.utc_offset — Nobuyoshi Nakada <nobu@...>
なかだです。
2010年1月13日13:27 Nobuyoshi Nakada <nobu@ruby-lang.org>:
なかだです。
2010年1月14日13:01 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#40074] [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <redmine@...>
Bug #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合
NTTレゾナントの三浦です。不完全なpatchを書いてすみません。
こんばんは。
kosakiです
こんにちは。
こんにちは
At Fri, 15 Jan 2010 12:25:52 +0900, Takahiro Kambe wrote:
[#40077] [Bug #2604] test_dsa_sign_verify() in test/openssl/test_ec.rb failes — Takahiro Kambe <redmine@...>
Bug #2604: test_dsa_sign_verify() in test/openssl/test_ec.rb failes
2010/1/14 Takahiro Kambe <redmine@ruby-lang.org>:
In message <a67aadf81001161911j7f5fbd1bwca86375b70cf514f@mail.gmail.com>
[#40130] arm9プロセッサ用にビルド中のトラブル — hirohito <hirohito-ml@...>
東と申します。
[#40153] [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...>
連投すみません。
けいじゅ@いしつかです.
遠藤です。
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
遠藤です。
けいじゅ@いしつかです.
遠藤です。
けいじゅ@いしつかです.
[#40162] [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Yusuke Endoh <redmine@...>
Bug #2658: rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR
2010年1月26日20:39 Yusuke Endoh <redmine@ruby-lang.org>:
2010年1月26日21:49 Tanaka Akira <akr@fsij.org>:
まつもと ゆきひろです
On 1/27/10 6:29 PM, Yukihiro Matsumoto wrote:
遠藤です。
[#40165] [Bug:1.8] compatibility issue of BigDecimal#** and #power — Yusuke ENDOH <mame@...>
まつもとさんか卜部さん
[#40168] [Bug #2662] BigDecimal#ceil, etc. should not return Integer — Yusuke Endoh <redmine@...>
Bug #2662: BigDecimal#ceil, etc. should not return Integer
ちょっと試してみました。
まつもと ゆきひろです
[#40169] [Bug #2664] Failure: test_segv_test(TestRubyOptions) — Kazuhiro NISHIYAMA <redmine@...>
Bug #2664: Failure: test_segv_test(TestRubyOptions)
[#40200] [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination — Kenta Murata <redmine@...>
Feature #2673: the length for an enumerator generated by Array#permutation and Array#combination
チケット #2673 が更新されました。 (by _ wanabe)
遠藤です。
むらたです。
チケット #2673 が更新されました。 (by Marc-Andre Lafortune)
[#40202] [Feature:trunk] RubyVM::InstructionSequence to accept IOs — Urabe Shyouhei <shyouhei@...>
RipperはRipper#initializeでIOを受け付けますが、ISeqはそうはなっていません。
チケット #2674 が更新されました。 (by _ wanabe)
[#40209] [Bug:trunk] behavior change of some methods of Date between 1.8 and 1.9 — Yusuke ENDOH <mame@...>
ふなばさん
[#40221] [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR — Yusuke ENDOH <mame@...>
まつもとさん、または lib/delegator.rb についてわかる誰か
チケット #2679 が更新されました。 (by Yusuke Endoh)
[#40241] [Feature:trunk] rubyspec: Vector.each2 given one argument returns self when given a block FAILED — Yusuke ENDOH <mame@...>
いしつかさん
[#40265] MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...>
手元の Ubuntu 9.10 の環境で Ruby 1.9.2 を make test-all すると
前田です。
前田さん、akr さん
2010年5月5日9:32 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年5月5日11:46 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
小崎です
2010年5月5日16:48 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
2010年5月5日13:22 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年5月6日19:58 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
遠藤です。
2010年5月6日23:08 Yusuke ENDOH <mame@tsg.ne.jp>:
2010年5月6日23:15 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
遠藤です。
kosakiです
遠藤です。
樽家です。
遠藤です。
樽家です。
2010年5月11日19:17 Masaya TARUI <tarui@prx.jp>:
2010年5月12日23:39 Tanaka Akira <akr@fsij.org>:
2010年5月13日22:19 Masaya TARUI <tarui@prx.jp>:
[#40269] [Feature #2695] Supported Platforms — Kazuhiro NISHIYAMA <redmine@...>
Feature #2695: Supported Platforms
チケット #2695 が更新されました。 (by Yusuke Endoh)
2010/3/26 Yusuke Endoh <redmine@ruby-lang.org>:
遠藤です。
2010/3/26 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
[ruby-dev:40158] [Bug #2657] rubyspec: The return keyword within define_method goes through the method via a closure FAILED
Bug #2657: rubyspec: The return keyword within define_method goes through the method via a closure FAILED
http://redmine.ruby-lang.org/issues/show/2657
起票者: Yusuke Endoh
ステータス: Open, 優先度: Normal
担当者: Koichi Sasada, カテゴリ: core, Target version: 1.9.x
ruby -v: ruby 1.9.2dev (2010-01-26 trunk 26420) [i686-linux]
ささださん
遠藤です。
rubyspec の以下のエラーを調べてみました。
9)
The return keyword within define_method goes through the method via a closure FAILED
Expected :bad
to equal :good
/home/mame/work/ruby/spec/rubyspec/language/return_spec.rb:269:in `block (3 levels) in <top (required)>'
/home/mame/work/ruby/spec/rubyspec/language/return_spec.rb:4:in `<top (required)>'
○問題
$ ./ruby -e '
class C
define_method(:foo) do |&x|
x.call
end
def outer
foo { return :good }
return :bad
end
end
p C.new.outer
'
ok
:bad
というプログラムが、:good でなく :bad を表示してしまいます。ついでに
謎の ok も出ています。
1.8 では :good が出ますし、define_method を def に置き換えると 1.9 でも
:good が出ますので、:good と出るのが正しそうです。
○原因
rb_vm_invoke_proc の中で lambda の中の TAG_RETURN を止めてしまうことが
原因です。
この処理は一見すると、「lambda 中の return が lambda で止まるために
必要」と思ってしまいますが、TAG_RETURN は普通に vm_exec の中で処理され
goto finish_vme; によって止められますので、不要だと思われます。
この処理が不要であることの状況証拠として、
- この処理を消してもテストのエラーは増えない (上記の rubyspec の分減る)
- カバレッジを見ても、上記の rubyspec のテスト以外では実行されていない
(http://dame.dyndns.org:7001/20100126/ruby/vm.c の rb_vm_invoke_proc
の中のこのチェックのカバレッジが 1 回だけ)
- この処理にはデバッグ用の printf 文が残っている (2008-06-17 の r17390
からずっと) のに、普通に lambda { return }.call などしても出会わない
というわけで、当時は必要だったのかもしれませんが、少なくとも現在では
この処理は害でしかないと思います。
○パッチ
問題の処理を消します。
diff --git a/vm.c b/vm.c
index bb19ecb..f03cf31 100644
--- a/vm.c
+++ b/vm.c
@@ -609,21 +609,6 @@ rb_vm_invoke_proc(rb_thread_t *th, rb_proc_t *proc, VALUE self,
}
if (state) {
- if (state == TAG_RETURN && proc->is_lambda) {
- VALUE err = th->errinfo;
- VALUE *escape_dfp = GET_THROWOBJ_CATCH_POINT(err);
-
- if (escape_dfp == cfp->dfp) {
- printf("ok\n");
- state = 0;
- th->errinfo = Qnil;
- th->cfp = cfp;
- val = GET_THROWOBJ_VAL(err);
- }
- }
- }
-
- if (state) {
JUMP_TAG(state);
}
return val;
--
Yusuke ENDOH <mame@tsg.ne.jp>
----------------------------------------
http://redmine.ruby-lang.org