[#38563] [Bug #1556] irb does not save history from 1.8.7-p83 and later — Nobuhiro IMAI <redmine@...>

Bug #1556: irb does not save history from 1.8.7-p83 and later

11 messages 2009/06/02

[#38571] [Bug #1582] IO.new Raises Other Errors between 1.8 and 1.9 — "ujihisa ." <redmine@...>

Bug #1582: IO.new Raises Other Errors between 1.8 and 1.9

15 messages 2009/06/05

[#38607] [Feature: trunk] GC.stat — SASADA Koichi <ko1@...>

 ささだです.

21 messages 2009/06/14

[#38608] Fixnum#fdiv — Tadayoshi Funaba <tadf@...>

Bignum#fdiv には大きな数である場合の配慮があるようですが、Fixnum ではな

23 messages 2009/06/14
[#38636] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

fdiv では2つの異る解釈が混在しているように見えます。

[#38638] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/15

まつもと ゆきひろです

[#38639] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

> えーと、設計者は「fdivは結果がfloatになるdiv」くらいしか考え

[#38640] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/15

まつもと ゆきひろです

[#38641] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

> ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意

[#38657] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/16

> > ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意

[#38659] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/16

まつもと ゆきひろです

[#38660] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/16

> 私が気にしているのは「挙動の理解しやすさ」ですね。

[#38701] [Bug #1676] only last "return" is traced by set_trace_func — _ wanabe <redmine@...>

Bug #1676: only last "return" is traced by set_trace_func

10 messages 2009/06/22

[ruby-dev:38701] [Bug #1676] only last "return" is traced by set_trace_func

From: _ wanabe <redmine@...>
Date: 2009-06-22 10:44:59 UTC
List: ruby-dev #38701
Bug #1676: only last "return" is traced by set_trace_func
http://redmine.ruby-lang.org/issues/show/1676

起票者: _ wanabe
ステータス: Open, 優先度: Low
ruby -v: ruby 1.9.2dev (2009-06-21 trunk 23809) [i386-mingw32]

複数ある return のうち最後ではないものでメソッドの処理が終わったとき
set_trace_func の "return" イベントが起こりません。

$ ruby -ve '
set_trace_func(proc{|*a|p a if a[0] == "call" || a[0] == "return"})
iseq = RubyVM::InstructionSequence.compile(<<EOS)
def foo(a)
  return if a
  return
end
foo(false)
foo(true)
EOS
iseq.eval
puts iseq.disasm
'
ruby 1.9.2dev (2009-06-21 trunk 23809) [i386-mingw32]
["call", "<compiled>", 1, :foo, #<Binding:0xb94d80>, Object]
["return", "<compiled>", 1, :foo, #<Binding:0xb94a40>, Object]
["call", "<compiled>", 1, :foo, #<Binding:0xb947a0>, Object]
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace            1                                               (   1)
0002 putspecialobject 1
0004 putspecialobject 2
0006 putobject        :foo
0008 putiseq          foo
0010 send             :"core#define_method", 3, nil, 0, <ic>
0016 pop
0017 trace            1                                               (   5)
0019 putnil
0020 putobject        false
0022 send             :foo, 1, nil, 8, <ic>
0028 pop
0029 trace            1                                               (   6)
0031 putnil
0032 putobject        true
0034 send             :foo, 1, nil, 8, <ic>
0040 leave
== disasm: <RubyVM::InstructionSequence:foo@<compiled>>=================
local table (size: 2, argc: 1 [opts: 0, rest: -1, post: 0, block: -1] s1)
[ 2] a<Arg>
0000 trace            8                                               (   1)
0002 trace            1                                               (   2)
0004 getlocal         a
0006 branchunless     12
0008 jump             10
0010 putnil
0011 leave
0012 putnil
0013 trace            16                                              (   1)
0015 leave                                                            (   2)


----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next