[#37892] 配列の重複検出用Hashの使いまわし — wanabe <s.wanabe@...>
ワナベと申します。
[#37898] [Bug #1105] Ruby1.9でのrescue節の例外ハンドラのマッチの処理 — Tatsuji Kawai <redmine@...>
Bug #1105: Ruby1.9でのrescue節の例外ハンドラのマッチの処理
[#37910] [Bug:1.9] lack consistency in hash iteration — Yusuke ENDOH <mame@...>
遠藤です。
まつもと ゆきひろです
[#37918] [BUG: 1.9] encoding warning — SASADA Koichi <ko1@...>
ささだです.
[#37921] [Feature:trunk] with_index_from — Yusuke ENDOH <mame@...>
遠藤です。
At Thu, 5 Feb 2009 23:18:49 +0900,
遠藤です。
At Fri, 6 Feb 2009 00:58:59 +0900,
[#37936] zombie processes by drb tests — Tanaka Akira <akr@...>
OpenBSD で、test-all をすると、drb のところで、テストに 100
咳といいます。
[#37956] proposal: Module#method_adding — SASADA Koichi <ko1@...>
ささだです.
[#37959] [Bug:trunk] I can modify literals — Yusuke ENDOH <mame@...>
遠藤です。
[#37980] Re: [ruby-changes:10687] Ruby:r22250 (trunk): * iseq.c (simple_default_value): allow plain strings as default — SASADA Koichi <ko1@...>
ささだです.
[#37995] Add POSTARG support to rb_scan_args() — Akinori MUSHA <akinori.musha@...>
rb_scan_args()をPOSTARG対応にするパッチです。
[#37998] [Feature:1.9] {Array,Enumerable}#uniq_by, #uniq_by! — Nobuyoshi Nakada <nobu@...>
なかだです。
[#38005] Is URI.decode() broken? — MOROHASHI Kyosuke <moronatural@...>
もろはしです。いつもお世話になっております。
なかだです。
成瀬です、
xibbarこと藤岡です。
成瀬です。
NARUSE, Yui さんは書きました:
成瀬です。
(2009年03月03日 22:45), NARUSE, Yui さんは書きました:
成瀬です。
In article <4A9E44DD.6050706@airemix.jp>,
成瀬です。
小崎@思いつきを適当に書いてみるテスト
In article <20090907091830.2C7A.A69D9226@jp.fujitsu.com>,
> In article <20090907091830.2C7A.A69D9226@jp.fujitsu.com>,
2009/09/07 14:38, Tanaka Akira wrote:
In article <4AA5EA67.1040504@airemix.jp>,
[#38007] [Feature #1159] StringScanner に文字ベースでのインデックスを返すメソッドがほしい — Akira Matsuda <redmine@...>
Feature #1159: StringScanner に文字ベースでのインデックスを返すメソッドがほしい
[#38018] circular require in openssl — Tanaka Akira <akr@...>
以下のように、openssl には環状の require があり、警告が出ます。
In article <87vdrcul7y.fsf@fsij.org>,
まつもと ゆきひろです
In article <E1LYyoE-0005P0-Hi@x61.netlab.jp>,
[#38022] ENCODING_FIXED と ENCODING_NONE の廃止 — "NARUSE, Yui" <naruse@...>
成瀬です。
In article <49986A0A.5060602@airemix.jp>,
成瀬です。
In article <49995412.6040000@airemix.jp>,
[#38048] Add option hash support to rb_scan_args() — "Akinori MUSHA" <knu@...>
rb_scan_args() にoption hash対応を組み込むのはどうでしょうか。
[#38067] Re: [ruby-cvs:29304] Ruby:r22086 (trunk): * ruby.c (process_options): set initial default_external before -r. — "Yugui (Yuki Sonoda)" <yugui@...>
Yuguiです。
[#38075] [Bug #1198] corrupted iteratoin during "enum_for :inject" — Shyouhei Urabe <redmine@...>
Bug #1198: corrupted iteratoin during "enum_for :inject"
[#38080] [Feature:trunk] nested loop construct — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
ささだです.
[#38096] 多重代入やメソッド引数の展開でto_aが呼ばれます — nagachika <nagachika00@...>
nagachika と申します。
前田です。
まつもと ゆきひろです
前田です。
In article <704d5db90907141754p285e6e51xdd3208b27d556906@mail.gmail.com>,
[#38098] ブロック引数と括弧・引数なしsuper — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
[ruby-dev:37971] Re: [Bug:trunk] I can modify literals
なかだです。
At Thu, 12 Feb 2009 10:34:51 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:37969]:
> * ObjectSpaceは裏技。やる方が悪い(からバグじゃない)
> * 禁止できるものなら禁止した方がよい(からバグ)
>
> の両方の考え方ができると思います。
>
> ....
>
> いろいろ考えましたが、過去にもObjectSpaceの「まずいこと」に
> 手当てしてきた経緯がありますし、バグとみなすことにします。で、
> その場合の修正方法ですが、freezeで構わないと思います。
freeze以前に、ObjectSpaceから不可視であるべきではないかと思いま
す。また、隠しオブジェクトから通常のStringを作るために
rb_str_replace()を使っていますが、これはintern.hで公開してもかま
わないんではないでしょうか。
Index: compile.c
===================================================================
--- compile.c (revision 22249)
+++ compile.c (working copy)
@@ -296,4 +296,5 @@ PRINTF_ARGS(void ruby_debug_printf(const
(name##_body__.last = &name##_body__.anchor, name = &name##_body__)
+#define hide_obj(obj) (void)(RBASIC(obj)->klass = 0)
#include "optinsn.inc"
@@ -2231,5 +2232,5 @@ compile_array_(rb_iseq_t *iseq, LINK_ANC
if (opt_p == Qtrue) {
if (!poped) {
- VALUE ary = rb_ary_new();
+ VALUE ary = rb_ary_tmp_new(len);
node = node_root;
while (node) {
@@ -2710,4 +2711,5 @@ defined_expr(rb_iseq_t *iseq, LINK_ANCHO
if (needstr != Qfalse) {
VALUE str = rb_str_new2(estr);
+ hide_obj(str);
ADD_INSN1(ret, nd_line(node), putstring, str);
iseq_add_mark_object_compile_time(iseq, str);
@@ -4354,4 +4356,5 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_
debugp_param("nd_lit", node->nd_lit);
if (!poped) {
+ hide_obj(node->nd_lit);
ADD_INSN1(ret, nd_line(node), putstring, node->nd_lit);
}
Index: string.c
===================================================================
--- string.c (revision 22249)
+++ string.c (working copy)
@@ -816,6 +816,4 @@ rb_obj_as_string(VALUE obj)
}
-static VALUE rb_str_replace(VALUE, VALUE);
-
VALUE
rb_str_dup(VALUE str)
@@ -3723,5 +3721,5 @@ rb_str_gsub(int argc, VALUE *argv, VALUE
*/
-static VALUE
+VALUE
rb_str_replace(VALUE str, VALUE str2)
{
Index: insns.def
===================================================================
--- insns.def (revision 22249)
+++ insns.def (working copy)
@@ -374,5 +374,6 @@ putstring
(VALUE val)
{
- val = rb_str_new3(str);
+ VALUE rb_str_replace(VALUE, VALUE);
+ val = rb_str_replace(rb_str_new(0, 0), str);
}
@@ -461,5 +462,5 @@ duparray
(VALUE val)
{
- val = rb_ary_dup(ary);
+ val = rb_ary_replace(rb_ary_new2(0), ary);
}
Index: include/ruby/intern.h
===================================================================
--- include/ruby/intern.h (revision 22249)
+++ include/ruby/intern.h (working copy)
@@ -618,4 +618,5 @@ VALUE rb_str_equal(VALUE str1, VALUE str
VALUE rb_str_drop_bytes(VALUE, long);
void rb_str_update(VALUE, long, long, VALUE);
+VALUE rb_str_replace(VALUE, VALUE);
VALUE rb_str_inspect(VALUE);
VALUE rb_str_dump(VALUE);
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦