[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29588] Re: [ruby-cvs:18196] ruby, ruby: * dir.c (dir_s_glob): remove unused variable.

From: Nobuyoshi Nakada <nobu@...>
Date: 2006-09-18 04:45:27 UTC
List: ruby-dev #29588
なかだです。

At Mon, 18 Sep 2006 10:59:04 +0900,
matz wrote in [ruby-cvs:18196]:
>     * dir.c (dir_s_glob): remove unused variable.
>     
>     * re.c (rb_reg_regcomp): ditto.

この二つはGCを防ぐために必要ではないかと思うのですが。ptrとlen
だけを他の関数に渡していて、その後でVALUE自体は参照されていない
わけで。

--- dir.c	2 Sep 2006 14:42:04 -0000	1.156
+++ dir.c	18 Sep 2006 01:58:59 -0000	1.157
@@ -1630,5 +1630,4 @@ dir_s_glob(int argc, VALUE *argv, VALUE 
     }
     else {
-	volatile VALUE v = ary;
 	ary = dir_globs(RARRAY_LEN(ary), RARRAY_PTR(ary), flags);
     }
--- re.c	31 Aug 2006 10:47:43 -0000	1.154
+++ re.c	18 Sep 2006 01:59:00 -0000	1.155
@@ -1509,5 +1509,4 @@ VALUE
 rb_reg_regcomp(VALUE str)
 {
-    volatile VALUE save_str = str;
     if (reg_cache && RREGEXP(reg_cache)->len == RSTRING_LEN(str)
 	&& case_cache == ruby_ignorecase

あるいは、意図を明瞭にするためにマクロを用意するとか。

#define PREVENTING_GC(value, code) \
    BEGIN_PREVENT_GC(value); \
    code; \
    END_PREVENT_GC()

#define BEGIN_PREVENT_GC(value) do { \
    volatile VALUE prevented_from_gc = (value);
#define END_PREVENT_GC() \
    (void)&prevented_from_gc; \
} while (0)


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next