[#24661] MANIFEST — WATANABE Hirofumi <eban@...>
わたなべです。
[#24670] IO.popen(["echo", "aaa"]) failure — Tanaka Akira <akr@...17n.org>
make test-all で昨日は起きなかったエラーが出るので調べたところ、
わたなべです。
まつもと ゆきひろです
[#24672] gc.c: structure has no member named `IA64_BSPSTORE' — akira yamada / やまだあきら <akira@...>
Linux/ia64環境ではgc.cで
[#24698] NKF(nkf2)を1.8ブランチに入れました — "NARUSE, Yui" <naruse@...>
naruseです。
こんにちは。
naruseです。
こんにちは。
[#24708] String#gsub causes core dump — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
[#24716] Re: [ruby-cvs] ruby/lib, ruby/ext/socket, ruby: * string.c (str_gsub): should have removed rb_str_unlocktmp(str). — Tanaka Akira <akr@...17n.org>
In article <20041104234342.9C575C6718@lithium.ruby-lang.org>,
まつもと ゆきひろです
[#24720] メール関係ライブラリの標準添付について — MoonWolf <moonwolf@...>
MoonWolfです。
まつもと ゆきひろです
MoonWolfです。
高橋征義です。
naruseです。
[#24728] sysvipcをlibに取り込みたい — MoonWolf <moonwolf@...>
MoonWolfです。
[#24740] Ruby 1.8.2 preview3 — Yukihiro Matsumoto <matz@...>
Hello,
[#24748] "\000\000\000\001".unpack("N") returns [0] — GOTOU Yuuzou <gotoyuzo@...>
Ruby 1.8で、Ruby 1.9のtest/ruby/test_pack.rbを試すとエラーに
まつもと ゆきひろです
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#24771] Re: [ruby-cvs] ruby/lib, ruby/ext/socket, ruby: * dir.c (rb_glob2): do not allocate buffer from heap to avoid — nobu@...
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
[#24781] リリーススクリプト — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#24785] cannot require tk — Minero Aoki <aamine@...>
青木です。
[#24804] Re: まつもとさんの負担を減らすために、何ができるだろう — "URABE Shyouhei aka.mput" <root@...>
mput です。 ruby-dev に移動します。
In article <2D6284E3-351D-11D9-B7EF-000393735AAE@mput.dip.jp>,
mput です。
高橋征義です。
mput です。
[#24828] test_logger が -r gtk2 の時に失敗 — Kazuhiko <kazuhiko@...>
かずひこです。
まつもと ゆきひろです
[#24834] Process.getrlimit and Process.setrlimit — Tanaka Akira <akr@...17n.org>
Process.getrlimit と Process.setrlimit が欲しいので実装してみました。
なかだです。
In article <20041117.151309.21595195.taca@back-street.net>,
西山和広です。
In article <20041117154831.080F.ZN@mbf.nifty.com>,
まつもと ゆきひろです
In article <1100706032.176617.3333.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1100749113.608312.10170.nullmailer@x31.priv.netlab.jp>,
[#24848] ERROR: install-doc — WATANABE Hirofumi <eban@...>
わたなべです。
[#24850] ChangeLog for — Tanaka Akira <akr@...17n.org>
[ruby-dev:24635] が commit log にも ChangeLog にも記述されないで取り込
In article <1100493656.630060.15787.nullmailer@x31.priv.netlab.jp>,
順序を変えて引用しています。
[#24873] A Float-related race in GC? — akira yamada / やまだあきら <akira@...>
[#24922] Re: imported Oni Guruma 3.4.0 — "K.Kosako" <kosako@...>
> 以下のパッチで segv はしなくなったのですが make test に失敗しました。
[#24924] [Oniguruma] patch for 3.4.0 — "K.Kosako" <kosako@...>
3.4.0のimport後、今日までに発見された
まつもと ゆきひろです
[#24965] sync and stdio buffering — Tanaka Akira <akr@...17n.org>
ちょっとした思いつきなのですが、
In article <87hdnc8pcq.fsf@serein.a02.aist.go.jp>,
まつもと ゆきひろです
In article <1101525226.648183.765.nullmailer@x31.priv.netlab.jp>,
In article <87653s7ye5.fsf@serein.a02.aist.go.jp>,
まつもと ゆきひろです
[#24974] Re: [ruby-cvs] ruby: * io.c (rb_io_initialize): should retrieve flags from copying file — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
まつもと ゆきひろです
[#24981] jcode tr? : from.upto(to) { |c| a.push c } — Fumitoshi UKAI <ukai@...>
migemo で http://bugs.debian.org/283192 というバグレポートをうけました。
[#24993] rb_io_sysread dumps core [BUG] rb_sys_fail() - errno == 0 — Tietew <tietew-ml-ruby-dev@...>
ソケットとスレッドを大量に使うアプリ(具体的には IRCbot です)を
なかだです。
まつもと ゆきひろです
[#25003] IO#flush dumps core again — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
なかだです。
まつもと ゆきひろです
In article <1101836040.635395.27476.nullmailer@x31.priv.netlab.jp>,
In article <1101878558.979715.1359.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1101888165.570792.4192.nullmailer@x31.priv.netlab.jp>,
In article <1102293033.356112.2288.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1102324875.961165.10916.nullmailer@x31.priv.netlab.jp>,
In article <87sm6jznqj.fsf@serein.a02.aist.go.jp>,
[ruby-dev:24826] [4294967294].pack("N") causes RangeError
1.8でArray#packがエラーになります。
sawara% ruby19 -ve 'p [4294967294].pack("N")'
ruby 1.9.0 (2004-11-12) [i386-netbsd]
"\377\377\377\376"
sawara% ruby18 -ve 'p [4294967294].pack("N")'
ruby 1.8.2 (2004-11-12) [i386-netbsd]
-e:1:in `pack': bignum too big to convert into `long' (RangeError)
from -e:1
1.9からバックポートするとこんな感じでしょうか。
--
ごとうゆうぞう
Index: bignum.c
===================================================================
RCS file: /var/cvs/src/ruby/bignum.c,v
retrieving revision 1.100.2.8
diff -u -p -F^[^A-Za-z0-9_+-]*\(class\|module\|def\)[^A-Za-z0-9_+-] -r1.100.2.8 bignum.c
--- bignum.c 3 Sep 2004 09:00:29 -0000 1.100.2.8
+++ bignum.c 13 Nov 2004 14:29:21 -0000
@@ -748,6 +748,17 @@ big2ulong(x, type)
}
unsigned long
+rb_big2ulong_pack(x)
+ VALUE x;
+{
+ unsigned long num = big2ulong(x, "unsigned long", Qfalse);
+ if (!RBIGNUM(x)->sign) {
+ return -num;
+ }
+ return num;
+}
+
+unsigned long
rb_big2ulong(x)
VALUE x;
{
Index: pack.c
===================================================================
RCS file: /var/cvs/src/ruby/pack.c,v
retrieving revision 1.62.2.7
diff -u -p -F^[^A-Za-z0-9_+-]*\(class\|module\|def\)[^A-Za-z0-9_+-] -r1.62.2.7 pack.c
--- pack.c 10 Nov 2004 07:17:51 -0000 1.62.2.7
+++ pack.c 13 Nov 2004 14:29:21 -0000
@@ -331,53 +331,22 @@ endian()
#define VTOHD(x,y) vtohd(x)
#endif
-#if SIZEOF_LONG == SIZE32
-typedef long I32;
-typedef unsigned long U32;
-#define NUM2I32(x) NUM2LONG(x)
-#define NUM2U32(x) NUM2ULONG(x)
-#else
-typedef int I32;
-typedef unsigned int U32;
-# if SIZEOF_INT == SIZE32
-# define NUM2I32(x) NUM2INT(x)
-# define NUM2U32(x) NUM2UINT(x)
-# else
-
-#define I32_MAX 2147483647
-#define I32_MIN (-I32_MAX-1)
+unsigned long rb_big2ulong_pack _((VALUE x));
-static I32
+static unsigned long
num2i32(x)
VALUE x;
{
- long num = NUM2LONG(x);
-
- if (num < I32_MIN || I32_MAX < num) {
- rb_raise(rb_eRangeError, "integer %ld too big to convert to `I32'", num);
- }
- return (I32)num;
-}
-
-#define U32_MAX 4294967295
-
-static U32
-num2u32(x)
- VALUE x;
-{
- unsigned long num = NUM2ULONG(x);
+ x = rb_to_int(x); /* is nil OK? (should not) */
- if (U32_MAX < num) {
- rb_raise(rb_eRangeError, "integer %ld too big to convert to `U32'", num);
+ if (FIXNUM_P(x)) return FIX2LONG(x);
+ if (TYPE(x) == T_BIGNUM) {
+ return rb_big2ulong_pack(x);
}
- return (U32)num;
+ rb_raise(rb_eTypeError, "cannot convert %s to `integer'", rb_obj_classname(x));
+ return 0; /* not reached */
}
-# define NUM2I32(x) num2i32(x)
-# define NUM2U32(x) num2u32(x)
-# endif
-#endif
-
#if SIZEOF_LONG == SIZE32 || SIZEOF_INT == SIZE32
# define EXTEND32(x)
#else
@@ -704,7 +673,7 @@ pack_pack(ary, fmt)
char c;
from = NEXTFROM;
- c = NUM2I32(from);
+ c = num2i32(from);
rb_str_buf_cat(res, &c, sizeof(char));
}
break;
@@ -715,7 +684,7 @@ pack_pack(ary, fmt)
short s;
from = NEXTFROM;
- s = NUM2I32(from);
+ s = num2i32(from);
rb_str_buf_cat(res, OFF16(&s), NATINT_LEN(short,2));
}
break;
@@ -726,7 +695,7 @@ pack_pack(ary, fmt)
long i;
from = NEXTFROM;
- i = NUM2I32(from);
+ i = num2i32(from);
rb_str_buf_cat(res, OFF32(&i), NATINT_LEN(int,4));
}
break;
@@ -737,7 +706,7 @@ pack_pack(ary, fmt)
long l;
from = NEXTFROM;
- l = NUM2I32(from);
+ l = num2i32(from);
rb_str_buf_cat(res, OFF32(&l), NATINT_LEN(long,4));
}
break;
@@ -758,7 +727,7 @@ pack_pack(ary, fmt)
unsigned short s;
from = NEXTFROM;
- s = NUM2I32(from);
+ s = num2i32(from);
s = NATINT_HTONS(s);
rb_str_buf_cat(res, OFF16(&s), NATINT_LEN(short,2));
}
@@ -769,7 +738,7 @@ pack_pack(ary, fmt)
unsigned long l;
from = NEXTFROM;
- l = NUM2I32(from);
+ l = num2i32(from);
l = NATINT_HTONL(l);
rb_str_buf_cat(res, OFF32(&l), NATINT_LEN(long,4));
}
@@ -780,7 +749,7 @@ pack_pack(ary, fmt)
unsigned short s;
from = NEXTFROM;
- s = NUM2I32(from);
+ s = num2i32(from);
s = NATINT_HTOVS(s);
rb_str_buf_cat(res, OFF16(&s), NATINT_LEN(short,2));
}
@@ -791,7 +760,7 @@ pack_pack(ary, fmt)
unsigned long l;
from = NEXTFROM;
- l = NUM2I32(from);
+ l = num2i32(from);
l = NATINT_HTOVL(l);
rb_str_buf_cat(res, OFF32(&l), NATINT_LEN(long,4));
}