[#34194] File.read (または String#include?) でSEGV — wanabe <s.wanabe@...>
ワナベと申します。
[#34200] Resolv.getaddress がエラーになる — "Kouhei Yanagita" <yanagi@...>
柳田です。
[#34239] MVM interface draft — Nobuyoshi Nakada <nobu@...>
なかだです。
[#34261] ComplexFloat — "Kenta Murata" <muraken@...>
村田です.
村田です.
なかだです。
むらたです.
こんにちは、なかむら(う)です。
むらたです.
こんにちは、なかむら(う)です。
むらたです.
In article <761216ce0804100221x67f10f12iab12b0e35b6f50e4@mail.gmail.com>,
むらたです.
まつもと ゆきひろです
利点としては、拡張ライブラリが書きやすい、ということ。正当化の理由とし
むらたです.
> 私にはいびつな進化という感じはしません.むしろ,せっかく C で実装できるのに
むらたです.
まつもと ゆきひろです
むらたです.
まつもと ゆきひろです
むらたです.
まつもと ゆきひろです
むらたです.
In article <761216ce0804120723n16bfbad7qdae90f142978d256@mail.gmail.com>,
むらたです.
In article <761216ce0804121011h6132d58fh4916ecbb29d58690@mail.gmail.com>,
むらたです.
In article <761216ce0804121039l605a8ec6sebe52afdbbb52160@mail.gmail.com>,
むらたです.
まつもと ゆきひろです
むらたです.
まつもと ゆきひろです
むらたです.
原です。
まつもと ゆきひろです
遠藤と申します。
原です。
In article <4808653F.80607@blade.nagaokaut.ac.jp>,
原です。
> 1. ComplexFloat を組込みにし、Complex を標準ライブラリとして提供する。
原です。
> 分かりににくかったですが、これは、ComplexFloat を含めた組込みの数体系が
こんばんは sheepman です。
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
原です。
けいじゅ@いしつかです.
Complex と ComplexFloat とクラスをふたつに分ける理由がどうに
原です。
まつもと ゆきひろです
原です。
[#34266] Ruby1.9 での $SAFE==4 時の autoload 動作 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
[#34272] patch for [ruby-core:14537] — wanabe <s.wanabe@...>
ワナベと申します。
[#34278] Re: [ruby-cvs:23187] Ruby:r15947 (trunk): * lib/generator.rb: removed obsolete library. [ruby-core:16233] — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
[#34285] Complex#scalar? returns false — "Kenta Murata" <muraken@...>
むらたです.
[#34313] Enumerable#find_index vs. Array#index — "Akinori MUSHA" <knu@...>
[ruby-talk:178495] が発端で Enumerable#find_index というのが
まつもと ゆきひろです
[#34352] patch for — wanabe <s.wanabe@...>
ワナベと申します。
[#34391] Preparing for 1.8.7-preview1 — "Akinori MUSHA" <knu@...>
延び延びになってしまいましたが、ようやく enumerator 関連、
[#34393] fluent comma — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#34402] OpenSSL::SSL::SSLContext#set_params — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
[#34430] str_new() may create broken string — wanabe <s.wanabe@...>
ワナベと申します。
[#34460] patch for ruby-dev:34236 — wanabe <s.wanabe@...>
ワナベと申します。
[#34476] coerce with Rational and Complex — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#34512] [ruby-core:16238]の検証 — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#34515] M17N のリファレンス — sheepman <sh@...>
こんにちは sheepman です。
[#34540] 0**-1 == 0 ? — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
ささだです。
[ruby-dev:34445] ARGF.dup.rewind do not rewind lineno
遠藤と申します。
ARGF.dup を rewind すると lineno がおかしくなります。
$ cat foobarbaz.txt
foo
bar
baz
$ ./ruby -ve '
a = ARGF.dup
p [a.gets, a.lineno]
p [a.gets, a.lineno]
a.rewind
p [a.gets, a.lineno]
p [a.gets, a.lineno]
' foobarbaz.txt
ruby 1.9.0 (2008-04-17 revision 16058) [i686-linux]
["foo\n", 1]
["bar\n", 2]
["foo\n", 1]
["bar\n", 2]
rb_io_t に argf を示すフィールドを追加して対応してみました。
Index: include/ruby/io.h
===================================================================
--- include/ruby/io.h (revision 16062)
+++ include/ruby/io.h (working copy)
@@ -47,6 +47,7 @@
VALUE tied_io_for_writing;
rb_encoding *enc;
rb_encoding *enc2;
+ VALUE argf;
} rb_io_t;
#define HAVE_RB_IO_T 1
@@ -92,6 +93,7 @@
fp->tied_io_for_writing = 0;\
fp->enc = 0;\
fp->enc2 = 0;\
+ fp->argf = 0;\
} while (0)
FILE *rb_io_stdio_file(rb_io_t *fptr);
Index: io.c
===================================================================
--- io.c (revision 16062)
+++ io.c (working copy)
@@ -994,10 +994,12 @@
rb_io_rewind(VALUE io)
{
rb_io_t *fptr;
+ VALUE argf;
GetOpenFile(io, fptr);
+ argf = fptr->argf;
if (io_seek(fptr, 0L, 0) < 0) rb_sys_fail(fptr->path);
- if (io == ARGF.current_file) {
+ if (argf && io == ARGF.current_file) {
ARGF.gets_lineno -= fptr->lineno;
}
fptr->lineno = 0;
@@ -5209,6 +5211,8 @@
if (stdout_binmode) rb_io_binmode(rb_stdout);
}
current_file = prep_io(fr, FMODE_READABLE, rb_cFile, fn);
+ GetOpenFile(current_file, fptr);
+ fptr->argf = argf;
}
if (argf_binmode) rb_io_binmode(current_file);
if (argf_enc) {
Index: gc.c
===================================================================
--- gc.c (revision 16062)
+++ gc.c (working copy)
@@ -1113,8 +1113,10 @@
break;
case T_FILE:
- if (obj->as.file.fptr)
+ if (obj->as.file.fptr) {
gc_mark(obj->as.file.fptr->tied_io_for_writing, lev);
+ gc_mark(obj->as.file.fptr->argf, lev);
+ }
break;
case T_REGEXP:
--
Yusuke ENDOH <mame@tsg.ne.jp>