[#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
けいじゅ@いしつかです.
まつもと ゆきひろです
いまいです。
けいじゅ@いしつかです.
[#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
チケット #1582 が更新されました。 (by Motohiro KOSAKI)
なかだです。
2010年2月27日9:43 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#38602] [Feature: trunk] rb_objspace_each_objects — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
ささだです.
ささだです.
まつもと ゆきひろです
[#38607] [Feature: trunk] GC.stat — SASADA Koichi <ko1@...>
ささだです.
In article <4A349F64.5000702@atdot.net>,
ささだです.
In article <4A3612EF.1080008@atdot.net>,
ささだです。
まつもと ゆきひろです
ささだです。
2010年10月15日16:32 SASADA Koichi <ko1@atdot.net>:
[#38608] Fixnum#fdiv — Tadayoshi Funaba <tadf@...>
Bignum#fdiv には大きな数である場合の配慮があるようですが、Fixnum ではな
fdiv では2つの異る解釈が混在しているように見えます。
まつもと ゆきひろです
> えーと、設計者は「fdivは結果がfloatになるdiv」くらいしか考え
まつもと ゆきひろです
> ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意
> > ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意
まつもと ゆきひろです
> 私が気にしているのは「挙動の理解しやすさ」ですね。
まつもと ゆきひろです
> 繰り返しになりますが、「より正確な除算」とかだと独立した実装
まつもと ゆきひろです
この件を修正しようとしていますが、
[#38609] [Feature: trunk] *_memsize() — SASADA Koichi <ko1@...>
ささだです.
[#38613] [BUG: trunk] called on terminated object — SASADA Koichi <ko1@...>
ささだです.
[#38695] [feature:trunk] let irb use pretty_inspect if possible — Yusuke ENDOH <mame@...>
遠藤です。
けいじゅ@いしつかです.
遠藤です。
けいじゅ@いしつかです.
[#38698] [Bug #1674] set_trace_func with 1line block — _ wanabe <redmine@...>
Bug #1674: set_trace_func with 1line block
[#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
[ruby-dev:38722] [Bug #1701] Regexp#match の pos 引数がマルチバイト文字に対応していない
Bug #1701: Regexp#match の pos 引数がマルチバイト文字に対応していない
http://redmine.ruby-lang.org/issues/show/1701
起票者: Masamitsu Murase
ステータス: Open, 優先度: Normal
ruby -v: ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32]
Regexp#match の pos 引数がマルチバイト文字に対応していない
概要:
Regexp#match の第二引数 pos は、検索開始の位置を示していると思われますが、単位が「文字数」
ではなく、「バイト数」になっているようです。
この現象は Windows XP SP3 上、mswin32 版で発生することを確認しました。
例: "×あababab" という文字列から /ab/ を検索する場合。
(エンコーディングは UTF-8 です。)
m = /ab/.match("×あababab", 0)
=> m.begin(0)=2
m = /ab/.match("×あababab", 1)
=> m.begin(0)=2
m = /ab/.match("×あababab", 2)
=> m.begin(0)=2
m = /ab/.match("×あababab", 3)
=> m.begin(0)=2 (pos で与えた 3 よりも前にマッチしている)
m = /ab/.match("×あababab", 4)
=> m.begin(0)=2 (pos で与えた 4 よりも前にマッチしている)
m = /ab/.match("×あababab", 5)
=> m.begin(0)=2 (pos で与えた 5 よりも前にマッチしている)
m = /ab/.match("×あababab", 6)
=> m.begin(0)=4 (pos で与えた 6 よりも前にマッチしている)
詳細:
上記の例では、"×" と "あ" は UTF-8 でそれぞれ 2byte, 3byte なので、その分ずれが
生じていると思われます。
ソースコードをざっと見たところ、re.c 内の rb_reg_match_m 関数が reg_match_pos 関数を
呼んでおり、さらにその中で rb_reg_adjust_startpos 関数を呼んで pos が正しく文字境界に
来るように調整しています。
おそらく、ここでは rb_reg_adjust_startpos 関数による処理ではなく、string.c 内の
rb_str_index_m 関数で str_offset を用いて char 数を byte 数に変換しているように、
「char 数 => byte 数」の変換処理が必要ではないかと思います。
----------------------------------------
http://redmine.ruby-lang.org