[#35333] [Ruby 1.8 - Bug #221] (Open) Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用 — Anonymous <redmine@...>
チケット #221 が報告されました。 (by Anonymous)
チケット #221 が更新されました。 (by Masahiro Tomita)
チケット #221 が更新されました。 (by Anonymous)
とみたです。
とみたです。
卜部です。
西山和広です。
[#35355] リリース前ToDoリスト — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
高尾宏治です。
高尾宏治です。
なかだです。
高尾宏治です。
なかだです。
前田です。
なかだです。
前田です。
なかだです。
高尾宏治です。
山口と申します。
高尾宏治です。
高尾宏治です。
高尾宏治です。
GyRCJDMkcyRLJEEkTyEjGyhCTS5TdXp1a2kbJEIkRyQ5ISMbKEINCg0KGyRCO24kNyRGJF8kXiQ3
高尾宏治です。
高尾宏治です。
高尾宏治です。
GyRCJDMkcyRLJEEkTxsoQiBNLlN1enVraSAbJEIkRyQ5ISMbKEINCg0KTWFjIE9TWCAxMC40GyRC
高尾宏治です。
[#35372] patch for ruby-core:17472 — wanabe <s.wanabe@...>
ワナベと申します。
なかだです。
ワナベです。
遠藤です。
=1B$B$`$i$?$G$9!#=1B(B
豊福です。
[#35375] Re: [ruby-cvs:25121] Ruby:r17902 (ruby_1_8_6): * re.c (rb_reg_search): need to free allocated buffer in re_register. [ruby-core:17518] — Urabe Shyouhei <shyouhei@...>
卜部です。ruby_1_8_xの枝を弄る人全員にお願いです。チェックインする前に必
[#35389] Re: [ruby-cvs:25164] Ruby:r17945 (trunk, ruby_1_8): * string.c (rb_str_succ): limit carrying in an alphanumeric region if — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#35396] cc always picks ruby/ruby.h on OS X — "Akinori MUSHA" <knu@...>
ruby 1.8 の tk ライブラリが OS X 上でビルドできない件です。
[#35404] ruby_1_8_6/ruby_1_8_7ブランチのメンテナンスポリシーについて — "Shugo Maeda" <shugo@...>
前田です。
卜部です。
前田です。
卜部です。
前田です。
Shugo Maeda さんは書きました:
どこにぶら下げるのがいいのかわからないので、単に意思表明ですが、
卜部です。
At Fri, 11 Jul 2008 01:00:29 +0900,
前田です。
In article <704d5db90807110028o238594f2wda0ec1bf12abc940@mail.gmail.com>,
そういえばこの部分に言及するのを忘れていた
前田です。
卜部です。
前田です。
In article <704d5db90807121803o5ea67361ucbf968f8a18a845d@mail.gmail.com>,
Tanaka Akira さんは書きました:
前田です。
卜部です。
前田です。
卜部です。
前田です。
卜部です。
前田です。
こんにちは、なかむら(う)です。
卜部です。
[#35420] Re: [ruby-cvs:25212] Ruby:r17993 (trunk): * test/ruby/envutil.rb (assert_normal_exit): finish writing script — Tanaka Akira <akr@...>
In article <200807100931.m6A9V4vi014459@ci.ruby-lang.org>,
ワナベです。
こんにちは、なかむら(う)です。
ワナベです。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
In article <20080711050939.531D.C613B076@garbagecollect.jp>,
こんにちは、なかむら(う)です。
[#35446] [Bug:trunk] Thread#kill cannot break BLOCKING_REGION() on windows — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#35450] [BUG] cfp consistency error in Win32OLE — Masaki Suketa <masaki.suketa@...>
助田です。
ワナベと申します。
助田です。
[#35458] make profiler for gc — authorNari <authornari@...>
nariです。
In article <1153cee60807122239t19f6ae05vc0c1995c77349377@mail.gmail.com>,
nariです。
nariです。
三浦と申します。
[#35471] [Bug: 1.9] lazy timer thraed creation — SASADA Koichi <ko1@...>
ささだです.
[#35484] Re: [ruby-core:17739] [Ruby 1.9 - Bug #256] (Open) defined?(Gem::RubyGemsVersion) behaves strange — wanabe <s.wanabe@...>
ワナベと申します。
西山和広です。
斎藤と申します。
[#35542] [Bug:1.9] sleep and Thread#run — Tanaka Akira <akr@...>
1.9 では sleep で寝ているスレッドを Thread#run で起こせない
[#35545] Test::Unit -> miniunit — Kouhei Sutou <kou@...>
須藤です。
まつもと ゆきひろです
[#35555] [Ruby 1.9 - Bug #282] (Open) failure of test_asctime(TestTime) on mswin32 — Usaku NAKAMURA <redmine@...>
チケット #282 が報告されました。 (by Usaku NAKAMURA)
ワナベと申します。
[#35578] [Bug:1.9] context switch may occur during freeing io — "Yusuke ENDOH" <mame@...>
遠藤です。
[#35597] [request]C APIの拡張 — "Goro Fuji" <g.psy.va@...>
藤と申します。
なかだです。
ご意見ありがとうございます。
なかだです。
卜部さん
卜部です。
[#35620] non-locale filename encoding — Tanaka Akira <akr@...>
Dir の使いかたとして、ファイル名のエンコーディングが locale
成瀬です。
In article <48866F3F.80906@airemix.jp>,
成瀬です。
In article <488771FD.4020800@airemix.jp>,
Tanaka Akira wrote:
In article <4888B29D.7030009@airemix.jp>,
成瀬です。
In article <488AC157.7090203@airemix.jp>,
[#35646] [Bug:1.9] Rinda has a race condition — "Yusuke ENDOH" <mame@...>
遠藤です。
[#35648] [Bug:1.9] MingwでIO#dupがブロックする — wanabe <s.wanabe@...>
ワナベと申します。
[#35649] PENDINGS.rb (Was: Re: [Ruby 1.9 - Bug #354] (Assigned) Test failure test/ruby/test_transcode.rb) — "Yusuke ENDOH" <mame@...>
遠藤です。
In article <e0b1e5700807240845o4c09cfa5gae142c1dd0c74170@mail.gmail.com>,
2008/07/25 1:02 Tanaka Akira <akr@fsij.org>:
成瀬です。
遠藤です。
In article <e0b1e5700807290517mee11539lfbd82d4dfc98c53f@mail.gmail.com>,
遠藤です。
In article <e0b1e5700807300311v13752775mcf8bb5086753051d@mail.gmail.com>,
[#35669] [Ruby 1.9 - Bug #368] (Open) 境界における Math.atanh 等の動作 — Yui NARUSE <redmine@...>
チケット #368 が報告されました。 (by Yui NARUSE)
斎藤と申します。
[#35681] [Ruby 1.9 - Bug #369] (Open) Ruby 1.9.0-3で R — Akira Matsuda <redmine@...>
チケット #369 が報告されました。 (by Akira Matsuda)
[ruby-dev:35615] more descriptive aliases of rb_str_new[2-5] (Re: [request]C APIの拡張)
なかだです。
At Mon, 21 Jul 2008 16:31:02 +0900,
Nobuyoshi Nakada wrote in [ruby-dev:35614]:
> > print()とprintf()の違いがfだけなのでそれで十分かと思ってしまい
> > ました。名前については特にこだわりはありません。Rubyの慣習に従
> > うならば,rb_str_new6()ということになるでしょうか。
>
> もうnew+数字はやめましょうよ。すでにあるものはともかく、今さら増
> やすことはないでしょう。
別名を付けてみました。
rb_str_new2 -> rb_str_new_cstr
rb_str_new3 -> rb_str_new_shared
rb_str_new4 -> rb_str_new_frozen
rb_str_new5 -> rb_str_new_with_class
どんなもんでしょうか。
Index: include/ruby/intern.h
===================================================================
--- include/ruby/intern.h (revision 18139)
+++ include/ruby/intern.h (working copy)
@@ -527,35 +527,49 @@ VALUE rb_str_format(int, const VALUE *,
/* string.c */
VALUE rb_str_new(const char*, long);
+VALUE rb_str_new_cstr(const char*);
VALUE rb_str_new2(const char*);
+VALUE rb_str_new_shared(VALUE);
VALUE rb_str_new3(VALUE);
+VALUE rb_str_new_frozen(VALUE);
VALUE rb_str_new4(VALUE);
+VALUE rb_str_new_with_class(VALUE, const char*, long);
VALUE rb_str_new5(VALUE, const char*, long);
VALUE rb_tainted_str_new(const char*, long);
+VALUE rb_tainted_str_new_cstr(const char*);
VALUE rb_tainted_str_new2(const char*);
VALUE rb_str_buf_new(long);
+VALUE rb_str_buf_new_cstr(const char*);
VALUE rb_str_buf_new2(const char*);
VALUE rb_str_tmp_new(long);
VALUE rb_usascii_str_new(const char*, long);
+VALUE rb_usascii_str_new_cstr(const char*);
VALUE rb_usascii_str_new2(const char*);
#if defined __GNUC__
-#define rb_str_new2(str) __extension__ ( \
+#define rb_str_new_cstr(str) __extension__ ( \
{ \
- (__builtin_constant_p(str)) ? \
+ (__builtin_constant_p(str)) ? \
rb_str_new(str, strlen(str)) : \
- rb_str_new2(str); \
+ rb_str_new_cstr(str); \
})
-#define rb_tainted_str_new2(str) __extension__ ( \
+#define rb_tainted_str_new_cstr(str) __extension__ ( \
{ \
(__builtin_constant_p(str)) ? \
rb_tainted_str_new(str, strlen(str)) : \
- rb_tainted_str_new2(str); \
+ rb_tainted_str_new_cstr(str); \
})
-#define rb_usascii_str_new2(str) __extension__ ( \
+#define rb_usascii_str_new_cstr(str) __extension__ ( \
{ \
(__builtin_constant_p(str)) ? \
rb_usascii_str_new(str, strlen(str)) : \
- rb_usascii_str_new2(str); \
+ rb_usascii_str_new_cstr(str); \
})
#endif
+#define rb_str_new2 rb_str_new_cstr
+#define rb_str_new3 rb_str_new_shared
+#define rb_str_new4 rb_str_new_frozen
+#define rb_str_new5 rb_str_new_with_class
+#define rb_tainted_str_new2 rb_tainted_str_new_cstr
+#define rb_str_buf_new2 rb_str_buf_new_cstr
+#define rb_usascii_str_new2 rb_usascii_str_new_cstr
void rb_str_free(VALUE);
void rb_str_shared_replace(VALUE, VALUE);
@@ -570,4 +584,5 @@ VALUE rb_str_locktmp(VALUE);
VALUE rb_str_unlocktmp(VALUE);
VALUE rb_str_dup_frozen(VALUE);
+#define rb_str_dup_frozen rb_str_new_frozen
VALUE rb_str_plus(VALUE, VALUE);
VALUE rb_str_times(VALUE, VALUE);
Index: string.c
===================================================================
--- string.c (revision 18139)
+++ string.c (working copy)
@@ -26,11 +26,27 @@
#endif
+#undef rb_str_new_cstr
+#undef rb_tainted_str_new_cstr
+#undef rb_usascii_str_new_cstr
#undef rb_str_new2
+#undef rb_str_new3
+#undef rb_str_new4
+#undef rb_str_new5
#undef rb_tainted_str_new2
+#undef rb_str_buf_new2
#undef rb_usascii_str_new2
+#undef rb_str_dup_frozen
VALUE rb_cString;
VALUE rb_cSymbol;
+#ifdef __GNUC__
+#define alias_func(old_prot, new_name, args) \
+VALUE old_prot __attribute__((alias(#new_name)));
+#else
+#define alias_func(old_prot, new_name, args) \
+VALUE old_prot {return new_name args;}
+#endif
+
#define STR_TMPLOCK FL_USER7
#define STR_NOEMBED FL_USER1
@@ -400,5 +416,5 @@ rb_enc_str_new(const char *ptr, long len
VALUE
-rb_str_new2(const char *ptr)
+rb_str_new_cstr(const char *ptr)
{
if (!ptr) {
@@ -408,6 +424,9 @@ rb_str_new2(const char *ptr)
}
+alias_func(rb_str_new2(const char *ptr), rb_str_new_cstr, (ptr))
+#define rb_str_new2 rb_str_new_cstr
+
VALUE
-rb_usascii_str_new2(const char *ptr)
+rb_usascii_str_new_cstr(const char *ptr)
{
VALUE str = rb_str_new2(ptr);
@@ -416,4 +435,7 @@ rb_usascii_str_new2(const char *ptr)
}
+alias_func(rb_usascii_str_new2(const char *ptr), rb_usascii_str_new_cstr, (ptr))
+#define rb_usascii_str_new2 rb_usascii_str_new_cstr
+
VALUE
rb_tainted_str_new(const char *ptr, long len)
@@ -426,5 +448,5 @@ rb_tainted_str_new(const char *ptr, long
VALUE
-rb_tainted_str_new2(const char *ptr)
+rb_tainted_str_new_cstr(const char *ptr)
{
VALUE str = rb_str_new2(ptr);
@@ -434,4 +456,7 @@ rb_tainted_str_new2(const char *ptr)
}
+alias_func(rb_tainted_str_new2(const char *ptr), rb_tainted_str_new_cstr, (ptr))
+#define rb_tainted_str_new2 rb_tainted_str_new_cstr
+
static VALUE
str_replace_shared(VALUE str2, VALUE str)
@@ -467,5 +492,5 @@ str_new3(VALUE klass, VALUE str)
VALUE
-rb_str_new3(VALUE str)
+rb_str_new_shared(VALUE str)
{
VALUE str2 = str_new3(rb_obj_class(str), str);
@@ -475,4 +500,7 @@ rb_str_new3(VALUE str)
}
+alias_func(rb_str_new3(VALUE str), rb_str_new_shared, (str))
+#define rb_str_new3 rb_str_new_shared
+
static VALUE
str_new4(VALUE klass, VALUE str)
@@ -498,5 +526,5 @@ str_new4(VALUE klass, VALUE str)
VALUE
-rb_str_new4(VALUE orig)
+rb_str_new_frozen(VALUE orig)
{
VALUE klass, str;
@@ -535,10 +563,17 @@ rb_str_new4(VALUE orig)
}
+alias_func(rb_str_new4(VALUE orig), rb_str_new_frozen, (orig))
+#define rb_str_new4 rb_str_new_frozen
+
VALUE
-rb_str_new5(VALUE obj, const char *ptr, long len)
+rb_str_new_with_class(VALUE obj, const char *ptr, long len)
{
return str_new(rb_obj_class(obj), ptr, len);
}
+alias_func(rb_str_new5(VALUE obj, const char *ptr, long len),
+ rb_str_new_with_class, (obj, ptr, len))
+#define rb_str_new5 rb_str_new_with_class
+
#define STR_BUF_MIN_SIZE 128
@@ -560,5 +595,5 @@ rb_str_buf_new(long capa)
VALUE
-rb_str_buf_new2(const char *ptr)
+rb_str_buf_new_cstr(const char *ptr)
{
VALUE str;
@@ -571,4 +606,7 @@ rb_str_buf_new2(const char *ptr)
}
+alias_func(rb_str_buf_new2(const char *ptr), rb_str_buf_new_cstr, (ptr))
+#define rb_str_buf_new2 rb_str_buf_new_cstr
+
VALUE
rb_str_tmp_new(long len)
@@ -1311,19 +1349,6 @@ rb_str_freeze(VALUE str)
}
-VALUE
-rb_str_dup_frozen(VALUE str)
-{
- if (STR_SHARED_P(str) && RSTRING(str)->as.heap.aux.shared) {
- VALUE shared = RSTRING(str)->as.heap.aux.shared;
- if (RSTRING_LEN(shared) == RSTRING_LEN(str)) {
- OBJ_FREEZE(shared);
- return shared;
- }
- }
- if (OBJ_FROZEN(str)) return str;
- str = rb_str_dup(str);
- OBJ_FREEZE(str);
- return str;
-}
+alias_func(rb_str_dup_frozen(VALUE str), rb_str_new_frozen, (str))
+#define rb_str_dup_frozen rb_str_new_frozen
VALUE
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦