[#9950] [PATCH] merge 1.5 change into 1.4.4 — Katsuyuki Komatsu <komatsu@...>
小松です。
10 messages
2000/06/01
[#9954] Re: [PATCH] merge 1.5 change into 1.4.4
— matz@... (Yukihiro Matsumoto)
2000/06/02
まつもと ゆきひろです
[#9955] Re: [PATCH] merge 1.5 change into 1.4.4
— nagai@...
2000/06/02
永井@知能.九工大です.
[#9980] Array#index(val) vs. Array#value(idx) — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
4 messages
2000/06/07
[#9986] % in C — gotoken@... (GOTO Kentaro)
ごとけんです
6 messages
2000/06/08
[#9990] Generational GC — Masato KIYAMA <masato@...>
まさとです.
6 messages
2000/06/09
[#10006] Re: File Utilities — WATANABE Hirofumi <eban@...>
わたなべです.
7 messages
2000/06/10
[#10007] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...>
青山です。
31 messages
2000/06/11
[#10008] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/11
青山です。
[#10018] Re: [ruby-talk:03267] Re: mod_ruby error?
— Shugo Maeda <shugo@...>
2000/06/13
前田です。
[#10027] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/13
青山です。
[#10028] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/13
青山です。
[#10029] Re: [ruby-talk:03267] Re: mod_ruby error?
— Shugo Maeda <shugo@...>
2000/06/13
前田です。
[#10035] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/13
青山です。
[#10038] Re: [ruby-talk:03267] Re: mod_ruby error?
— Shugo Maeda <shugo@...>
2000/06/14
前田です。
[#10041] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/14
青山です。
[#10045] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/14
青山です。
[#10046] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/14
青山です。
[#10047] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/14
青山です。
[#10048] Re: [ruby-talk:03267] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/14
青山です。
[#10049] Re: mod_ruby error?
— Shugo Maeda <shugo@...>
2000/06/14
前田です。
[#10053] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/15
青山です。
[#10062] Re: mod_ruby error?
— Shugo Maeda <shugo@...>
2000/06/16
前田@出張中です。
[#10063] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/16
青山です。
[#10106] Re: mod_ruby error?
— Shugo Maeda <shugo@...>
2000/06/22
前田です。
[#10144] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/27
青山です。
[#10147] Re: mod_ruby error?
— matz@... (Yukihiro Matsumoto)
2000/06/27
まつもと ゆきひろです
[#10152] Re: mod_ruby error?
— Wakou Aoyama <wakou@...>
2000/06/29
青山です。
[#10019] NT build problem — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
9 messages
2000/06/13
[#10032] compile error on cygwin — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
4 messages
2000/06/13
[#10050] sleep on Solaris — とみたまさひろ <tommy@...>
とみたです。
5 messages
2000/06/15
[#10069] File::Stat#inspect — Koji Arai <JCA02266@...>
新井です。
7 messages
2000/06/16
[#10081] [PATCH] module === string.extend(module).dup — nobu.nakada@...
なかだです。
9 messages
2000/06/18
[#10083] Re: [PATCH] module === string.extend(module).dup
— matz@... (Yukihiro Matsumoto)
2000/06/18
まつもと ゆきひろです
[#10085] Re: [PATCH] module === string.extend(module).dup
— nobu.nakada@...
2000/06/18
なかだです。
[#10096] Re: [PATCH] module === string.extend(module).dup
— matz@... (Yukihiro Matsumoto)
2000/06/20
まつもと ゆきひろです
[#10097] Re: [PATCH] module === string.extend(module).dup
— nobu.nakada@...
2000/06/20
なかだです。
[#10109] bit fix for net/protocol.rb — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
Toshです。
10 messages
2000/06/22
[#10110] Re: bit fix for net/protocol.rb
— "Kikutani, Makoto" <kikutani@...>
2000/06/22
日時 Fri, 23 Jun 2000 02:16:31 +0900 の
[#10125] configure.in — Tadayoshi Funaba <tadf@...>
ふなばです。
14 messages
2000/06/26
[#10126] Re: configure.in
— WATANABE Hirofumi <eban@...>
2000/06/27
わたなべです.
[#10129] Re: configure.in
— Katsuyuki Komatsu <komatsu@...>
2000/06/27
小松です。
[#10135] don't use mktemp() — Shugo Maeda <shugo@...>
前田です。
35 messages
2000/06/27
[#10136] Re: don't use mktemp()
— matz@... (Yukihiro Matsumoto)
2000/06/27
まつもと ゆきひろです
[#10137] Re: don't use mktemp()
— Shugo Maeda <shugo@...>
2000/06/27
前田です。
[#10141] Re: don't use mktemp()
— kjana@... (YANAGAWA Kazuhisa)
2000/06/27
In message <874s6f1rqj.wl@studly.netlab.co.jp>
[#10143] Re: don't use mktemp()
— WATANABE Hirofumi <eban@...>
2000/06/27
わたなべです.
[#10181] Re: don't use mktemp()
— Katsuyuki Komatsu <komatsu@...>
2000/07/03
小松です。
[#10183] Re: don't use mktemp()
— WATANABE Hirofumi <eban@...>
2000/07/03
わたなべです.
[#10188] Re: don't use mktemp()
— KIMURA Koichi <kimura@...>
2000/07/04
[#10189] Re: don't use mktemp()
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/07/04
なかだです。
[#10190] Re: don't use mktemp()
— matz@... (Yukihiro Matsumoto)
2000/07/04
まつもと ゆきひろです
[#10145] Re: [ruby-list:23495] Re: Ruby 1.4.5 — Wakou Aoyama <wakou@...>
青山です。
4 messages
2000/06/27
[ruby-dev:10081] [PATCH] module === string.extend(module).dup
From:
nobu.nakada@...
Date:
2000-06-18 12:30:12 UTC
List:
ruby-dev #10081
なかだです。
String だけ dup したときに extend したモジュールが引き継がれないよう
ですが、そういうもんでしょうか。引き継いでくれた方がありがたいような気
がするんですが、ひょっとして rb_str_new{3,4}() まではやりすぎ?
Sun Jun 18 16:29:34 2000 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
* string.c (rb_str_setup): newly added. instantiates a new string
which is kind of String.
* string.c (rb_str_new): now a wrapper to rb_str_setup() which
instantiates String.
* string.c (rb_str_new3, rb_str_new4, rb_str_dup): new string is
an instance of the class of the original string.
Index: string.c
===================================================================
RCS file: /home/cvs/ruby/string.c,v
retrieving revision 1.36
diff -u -2 -p -r1.36 string.c
--- string.c 2000/06/16 07:44:04 1.36
+++ string.c 2000/06/18 07:28:10
@@ -31,12 +31,12 @@ VALUE rb_cString;
VALUE rb_fs;
-VALUE
-rb_str_new(ptr, len)
+static VALUE
+rb_str_setup(klass, ptr, len)
+ VALUE klass;
const char *ptr;
long len;
{
NEWOBJ(str, struct RString);
- OBJSETUP(str, rb_cString, T_STRING);
-
+ OBJSETUP(str, klass, T_STRING);
str->ptr = 0;
str->len = len;
@@ -51,4 +51,12 @@ rb_str_new(ptr, len)
VALUE
+rb_str_new(ptr, len)
+ const char *ptr;
+ long len;
+{
+ return rb_str_setup(rb_cString, ptr, len);
+}
+
+VALUE
rb_str_new2(ptr)
const char *ptr;
@@ -83,5 +91,5 @@ rb_str_new3(str)
{
NEWOBJ(str2, struct RString);
- OBJSETUP(str2, rb_cString, T_STRING);
+ OBJSETUP(str2, RBASIC(str)->klass, T_STRING);
str2->len = RSTRING(str)->len;
@@ -104,5 +112,5 @@ rb_str_new4(orig)
else {
NEWOBJ(str, struct RString);
- OBJSETUP(str, rb_cString, T_STRING);
+ OBJSETUP(str, RBASIC(orig)->klass, T_STRING);
str->len = RSTRING(orig)->len;
@@ -186,12 +194,10 @@ rb_str_dup(str)
if (OBJ_FROZEN(str)) return rb_str_new3(str);
if (FL_TEST(str, STR_NO_ORIG)) {
- str2 = rb_str_new(RSTRING(str)->ptr, RSTRING(str)->len);
+ str2 = rb_str_setup(RBASIC(str)->klass, RSTRING(str)->ptr, RSTRING(str)->len);
OBJ_INFECT(str2, str);
return str2;
}
if (RSTRING(str)->orig) {
- str2 = rb_str_new3(RSTRING(str)->orig);
- OBJ_INFECT(str2, str);
- return str2;
+ return rb_str_new3(RSTRING(str)->orig);
}
@@ -199,5 +205,5 @@ rb_str_dup(str)
{
NEWOBJ(dup, struct RString);
- OBJSETUP(dup, rb_cString, T_STRING);
+ OBJSETUP(dup, RBASIC(str)->klass, T_STRING);
dup->len = RSTRING(str2)->len;
dup->ptr = RSTRING(str2)->ptr;
--
そうだ 強気に ちょっと インチキに☆彡
中田 "Bugるくらいがちょうどいいかも;-)" 伸悦