[#586] irb aborts in 1.7.3 on Solaris — Jim Freeze <jim@...>
Hi:
6 messages
2002/12/06
[#598] irb Abort on Solaris Backtrace — Jim Freeze <jim@...>
Hi:
12 messages
2002/12/09
[#599] Re: irb Abort on Solaris Backtrace
— ts <decoux@...>
2002/12/09
>>>>> "J" == Jim Freeze <jim@freeze.org> writes:
[#600] Re: irb Abort on Solaris Backtrace
— Jim Freeze <jim@...>
2002/12/09
On Tuesday, 10 December 2002 at 1:44:43 +0900, ts wrote:
[#602] Re: irb Abort on Solaris Backtrace
— matz@... (Yukihiro Matsumoto)
2002/12/09
Hi,
[#603] Re: irb Abort on Solaris Backtrace
— Jim Freeze <jim@...>
2002/12/09
On Tuesday, 10 December 2002 at 3:24:46 +0900, Yukihiro Matsumoto wrote:
[#606] Re: irb Abort on Solaris Backtrace
— matz@... (Yukihiro Matsumoto)
2002/12/09
Hi,
[#609] Re: irb Abort on Solaris Backtrace
— Jim Freeze <jim@...>
2002/12/10
On Tuesday, 10 December 2002 at 7:59:33 +0900, Yukihiro Matsumoto wrote:
[#601] Re: irb Abort on Solaris Backtrace — "Garriss, Michael" <Michael.Garriss@...>
I tried: `ruby -r socket -e 0` and got no error. I would really like to
5 messages
2002/12/09
[#633] Error installing some extensions under non-default prefix — Jos Backus <jos@...>
Fyi: with today's CVS, when I run
4 messages
2002/12/13
[#636] doc/NEWS — Matt Armstrong <matt@...>
22 messages
2002/12/15
[#640] Re: [patch] doc/NEWS
— nobu.nokada@...
2002/12/15
Hi,
[#641] Re: [patch] doc/NEWS
— Matt Armstrong <matt@...>
2002/12/16
[#637] Re: [patch] doc/NEWS
— "Akinori MUSHA" <knu@...>
2002/12/15
At Mon, 16 Dec 2002 02:07:40 +0900,
[#639] Re: [patch] doc/NEWS
— matz@... (Yukihiro Matsumoto)
2002/12/15
Hi,
[#644] Re: [patch] doc/NEWS
— Tanaka Akira <akr@...17n.org>
2002/12/16
In article <1039993469.392945.14311.nullmailer@picachu.netlab.jp>,
[#667] Segfault in Ruby 1.7.x/1.8 Proc#to_s — Michael Granger <ged@...>
Hello,
8 messages
2002/12/29
Re: [patch] doc/NEWS
From:
nobu.nokada@...
Date:
2002-12-16 22:57:13 UTC
List:
ruby-core #654
Hi,
At Tue, 17 Dec 2002 03:40:37 +0900,
Matt Armstrong wrote:
> Actually I think the "elegant" solution to the problem is lazy string
> copies. E.g.
>
> s2 = s1[50..-1] # Does not actually copy data until s1 (or s2)
> # is modified. s1 and s2 must know they share
> # data.
> s2 =~ /\Afoo/
>
> I remember mention of some work being done on this, but there were
> implementation problems.
A String instance always has '\0' terminator not included in
its length. So tried just tail sharing.
Index: string.c
===================================================================
RCS file: /cvs/ruby/src/ruby/string.c,v
retrieving revision 1.125
diff -u -2 -p -r1.125 string.c
--- string.c 10 Dec 2002 06:23:40 -0000 1.125
+++ string.c 16 Dec 2002 22:54:13 -0000
@@ -475,6 +475,16 @@ rb_str_substr(str, beg, len)
if (len == 0) return rb_str_new5(str,0,0);
- str2 = rb_str_new5(str,RSTRING(str)->ptr+beg, len);
- OBJ_INFECT(str2, str);
+ if (len > sizeof(struct RString)/2 &&
+ beg + len == RSTRING(str)->len &&
+ !FL_TEST(str, STR_ASSOC)) {
+ if (!FL_TEST(str, ELTS_SHARED)) str = rb_str_new4(str);
+ str2 = rb_str_new3(str);
+ RSTRING(str2)->ptr += beg;
+ RSTRING(str2)->len = len;
+ }
+ else {
+ str2 = rb_str_new5(str,RSTRING(str)->ptr+beg, len);
+ OBJ_INFECT(str2, str);
+ }
return str2;
--
Nobu Nakada