[#46026] Re: [ruby-cvs:43788] shugo:r36612 (trunk): * insns.def (invokesuper): don't skip the same class. instead, use — Urabe Shyouhei <shyouhei@...>
このコミットで壊れました。
3 messages
2012/08/03
[#46037] Re: [ruby-core:47138] [ruby-trunk - Bug #6861][Open] ERB::Util.escape_html is not escaping single quotes — Shugo Maeda <shugo@...>
咳さん
12 messages
2012/08/13
[#46038] Re: [ruby-core:47138] [ruby-trunk - Bug #6861][Open] ERB::Util.escape_html is not escaping single quotes
— Masatoshi SEKI <m_seki@...>
2012/08/13
咳といいます。
[#46039] Re: [ruby-core:47138] [ruby-trunk - Bug #6861][Open] ERB::Util.escape_html is not escaping single quotes
— Shugo Maeda <shugo@...>
2012/08/13
前田です。
[#46043] Re: [ruby-core:47138] [ruby-trunk - Bug #6861][Open] ERB::Util.escape_html is not escaping single quotes
— fujioka <fuj@...>
2012/08/13
xibbarこと藤岡です。
[#46051] [ruby-trunk - Feature #6875][Open] Make test/unit default gem — "kou (Kouhei Sutou)" <kou@...>
19 messages
2012/08/15
[#46055] Fwd: 『RubyKaja』登録のお知らせ — SASADA Koichi <ko1@...>
ruby-dev 開発者からも誰か推すといいと思いますが,いかがでしょう.
10 messages
2012/08/16
[#46065] [ruby-trunk - Bug #6901][Assigned] SEGV with tail call optimization — "shugo (Shugo Maeda)" <redmine@...>
4 messages
2012/08/21
[#46081] [ruby-trunk - Feature #6936][Assigned] Forbid singleton class and instance variabls for float — "naruse (Yui NARUSE)" <naruse@...>
17 messages
2012/08/26
[#46288] [ruby-trunk - Feature #6936] Forbid singleton class and instance variabls for float
— "matz (Yukihiro Matsumoto)" <matz@...>
2012/10/26
[#46289] Re: [ruby-trunk - Feature #6936] Forbid singleton class and instance variabls for float
— SASADA Koichi <ko1@...>
2012/10/27
(2012/10/27 8:38), matz (Yukihiro Matsumoto) wrote:
[#46291] Re: [ruby-trunk - Feature #6936] Forbid singleton class and instance variabls for float
— SASADA Koichi <ko1@...>
2012/10/27
(2012/10/27 9:05), SASADA Koichi wrote:
[#46082] Re: [ruby-trunk - Feature #6936][Assigned] Forbid singleton class and instance variabls for float
— SASADA Koichi <ko1@...>
2012/08/27
(2012/08/27 8:12), naruse (Yui NARUSE) wrote:
[#46086] Re: [ruby-trunk - Feature #6936][Assigned] Forbid singleton class and instance variabls for float
— "U.Nakamura" <usa@...>
2012/08/28
こんにちは、なかむら(う)です。
[#46087] Re: [ruby-trunk - Feature #6936][Assigned] Forbid singleton class and instance variabls for float
— Kenta Murata <muraken@...>
2012/08/28
むらたです。
[#46084] Re: [ruby-trunk - Feature #6936][Assigned] Forbid singleton class and instance variabls for float
— KOSAKI Motohiro <kosaki.motohiro@...>
2012/08/27
>> 後者の具体的手法はいくつかあると思いますが、即値は最初から frozen にしておくとかもありかなと思っています。
[ruby-dev:46036] [ruby-trunk - Bug #5832] 意図しないブロック渡しが行われる
From:
"ktsj (Kazuki Tsujimoto)" <kazuki@...>
Date:
2012-08-10 14:54:05 UTC
List:
ruby-dev #46036
Issue #5832 has been updated by ktsj (Kazuki Tsujimoto).
Assignee changed from ko1 (Koichi Sasada) to ktsj (Kazuki Tsujimoto)
レビューありがとうございました。
対応しておきます。
----------------------------------------
Bug #5832: 意図しないブロック渡しが行われる
https://bugs.ruby-lang.org/issues/5832#change-28764
Author: ktsj (Kazuki Tsujimoto)
Status: Assigned
Priority: Normal
Assignee: ktsj (Kazuki Tsujimoto)
Category: YARV
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-01-01 trunk 34167) [x86_64-linux]
=begin
辻本です。
invoke_block_from_cの呼び出しの際に渡していたブロックが
VM loopから続けて呼び出される別のメソッドにも渡されてしまうケースがあります。
$ ./ruby -ve "
require 'pp'
require 'pathname'
class <<File
alias realpath_orig realpath
def realpath(*args)
yield if block_given?
realpath_orig(*args)
end
end
pathname = Pathname.new('.')
Class.new do
define_method(:foo) {
pathname.realpath
}
end.new.foo { pp caller }
"
ruby 2.0.0dev (2012-01-01 trunk 34167) [x86_64-linux]
["-e:9:in `realpath'",
"-e:17:in `realpath'",
"-e:17:in `block (2 levels) in <main>'",
"-e:19:in `<main>'"]
blockptrはフレームに積まれることになるので、
passed_blockに代入する行は単純に削除してしまって良いと思います。
diff --git a/vm.c b/vm.c
index 2f38eee..3ea190f 100644
--- a/vm.c
+++ b/vm.c
@@ -597,7 +597,6 @@ invoke_block_from_c(rb_thread_t *th, const rb_block_t *block,
iseq->local_size - arg_size);
ncfp->me = th->passed_me;
th->passed_me = 0;
- th->passed_block = blockptr;
if (cref) {
th->cfp->dfp[-1] = (VALUE)cref;
=end
--
http://bugs.ruby-lang.org/