[#32434] signature of exit() on C++ — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
なかだです。
> > /usr/local/include/ruby-1.9/i686-linux/ruby/config.h
[#32447] ruby 1.9 trunk NKF and KCONV Encoding:ASCII-8BIT — WATANABE Tetsuya <Tetsuya.WATANABE@...>
渡辺哲也です。
[#32448] SEGV on "abcd\xf0".force_encoding("utf-8").reverse — Tanaka Akira <akr@...>
以下のようにすると SEGV します。
[#32452] `split': negative string size (or size too big) (ArgumentError) — Tanaka Akira <akr@...>
"あいうえお".force_encoding("euc-jp").split(//) と (EUC-JP
[#32462] SEGV by test/ruby/test_fiber.rb — Tanaka Akira <akr@...>
test/ruby/test_fiber.rb ですが、以下のように insnhelper.ci
In article <87fxyhpw0t.fsf@fsij.org>,
[#32468] Iconv.list patch for NetBSD/Citrus — "NARUSE, Yui" <naruse@...>
成瀬です。
[#32473] about to_path and to_open — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#32498] Re: [ruby-cvs:21399] Ruby:r14162 (trunk): * parse.y (expr): redefinable not (!) operator. — SASADA Koichi <ko1@...>
ささだです.
まつもと ゆきひろです
[#32512] Re: [ruby-cvs:21409] Ruby:r14172 (trunk): * transcode.c: new file to provide encoding conversion features. — Nobuyoshi Nakada <nobu@...>
なかだです。
中田さん、こんにちは。
成瀬です。
中田さん、こんにちは。
なかだです。
まつもと ゆきひろです
At 15:33 07/12/11, Yukihiro Matsumoto wrote:
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
成瀬です。
At Wed, 12 Dec 2007 02:49:09 +0900,
At 02:55 07/12/12, SATOH Fumiyasu wrote:
At 21:50 07/12/10, Nobuyoshi Nakada wrote:
松本さん、中田さん、こんにちは。
なかだです。
[#32518] bug in Array#slice! — Satoshi Nakagawa <snakagawa@...>
中川といいます。
At Mon, 10 Dec 2007 19:27:17 +0900,
[#32550] Binary String — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
In article <20080111.171950.78716471.nagai@ai.kyutech.ac.jp>,
永井@知能.九工大です.
In article <20080111.184442.74744388.nagai@ai.kyutech.ac.jp>,
まつもと ゆきひろです
永井@知能.九工大です.
In article <20080112.004750.74741782.nagai@ai.kyutech.ac.jp>,
永井@知能.九工大です.
In article <20080112.100830.112615025.nagai@ai.kyutech.ac.jp>,
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
成瀬です。
遊楽庵です。
成瀬です。
まつもと ゆきひろです
In article <E1JFVE8-0000Co-QL@x61.netlab.jp>,
成瀬です。
In article <47975933.8010907@airemix.com>,
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
こんにちは、なかむら(う)です。
まつもと ゆきひろです
西山和広です。
まつもと ゆきひろです
In article <20080115.024201.41653719.nagai@ai.kyutech.ac.jp>,
永井@知能.九工大です.
In article <20080116.102057.41656941.nagai@ai.kyutech.ac.jp>,
永井@知能.九工大です.
In article <20080117.233832.74721189.nagai@ai.kyutech.ac.jp>,
Gimiteといいます。
成瀬です。
Gimiteです。
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
まつもと ゆきひろです
永井@知能.九工大です.
m17n には近づかないようにしているささだです。
成瀬です。
遊楽庵です。
成瀬です。
まつもと ゆきひろです
成瀬です。
まつもと ゆきひろです
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
成瀬です。
永井@知能.九工大です.
長文失礼します。
まつもと ゆきひろです
From: Yukihiro Matsumoto <matz@ruby-lang.org>
まつもと ゆきひろです
成瀬です。
At 04:55 08/01/20, NARUSE, Yui wrote:
成瀬です。
成瀬です。
永井@知能.九工大です.
成瀬です。
遊楽庵と申します。
永井@知能.九工大です.
[#32556] default completion for irb1.9 — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
[#32563] transcoder loading — Nobuyoshi Nakada <nobu@...>
なかだです。
[#32567] [nil, [...]] — Tanaka Akira <akr@...>
以下のようにすると作っていないはずの再帰的な配列が出てきます。
[#32588] /(?<foo>...)/ =~ str assigns foo — Tanaka Akira <akr@...>
以下のように named capture の結果を自動的に変数に代入させた
まつもと ゆきひろです
In article <E1J34q8-00027E-EF@localhost>,
[#32610] 1.9.1 issues left (as of 12/15) — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
You may consider this:
[#32629] faster Bignum#* — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#32662] encode! は変換しないときに <nil> になってしまう。 — Martin Duerst <duerst@...>
中田さん、こんにちは。
[#32668] syntax errors on ext/tk/sample — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#32695] ISO-2022-JP output for transcode — "NARUSE, Yui" <naruse@...>
成瀬です。
なかだです。
成瀬さん、中田さん、こんにちは。
[#32708] Enumerable can't take multiple parameters — GOTOU Yuuzou <gotoyuzo@...>
eachで複数のパラメータをyieldしたときに、Enumerable#colectで、
[#32715] issues left as of 12/25 2:00am JST — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
まつもとさん、こんにちは。
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
[#32726] Can't build on MacOSX 10.4(Tiger) (was Re: Re: 1.9.1 issues left (as of 12/15)) — "MOROHASHI Kyosuke" <moronatural@...>
もろはしです。お世話になっております。
[#32756] make rdoc cause segv on OpenBSD — SASADA Koichi <ko1@...>
ささだです。
[#32763] Re: [ruby-cvs:21913] Ruby:r14676 (trunk): * trunk/common.mk, goruby.c, golf_prelude.rb: for golfers. — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#32791] Re: [ruby-list:44387] [ANN] Ruby 1.9.0 is released — SASADA Koichi <ko1@...>
ささだです。
まつもとさん、笹田さん、
まつもと ゆきひろです
まつもと ゆきひろです
福島の藤岡です。
木村です。
[#32823] class TimeSpan — "NARUSE, Yui" <naruse@...>
成瀬です。
ActiveSupportにあるNumericの拡張はダメですか??
[#32834] Re: [ ruby-Bugs-16634 ] Tk#bindinfo fails with: NoMethodError: undefined method 'collect' for "":String — Urabe Shyouhei <shyouhei@...>
以下のバグ報告が来ています
[#32843] Windowでのデフォルトエンコーディング — KIMURA Koichi <kimura.koichi@...>
木村です。
こんにちは、なかむら(う)です。
At 13:55 07/12/28, U.Nakamura wrote:
成瀬です。
なかだです。
In article <20071228092137.97233E065F@mail.bc9.jp>,
なかだです。
U.Nakamura wrote:
こんにちは、なかむら(う)です。
木村です。
成瀬です。
[#32848] Fwd: [ruby-cvs:21983] Ruby:r14746 (trunk): * transcode.c (transcode_dispatch): allows transcoding from/to — Martin Duerst <duerst@...>
中田さん、こんにちは。
[#32852] Resolv::DNS#getaddresses doesn't return IPv6 address — "NARUSE, Yui" <naruse@...>
成瀬です。
こんにちは。
成瀬です。
In message <477EF0C9.4060103@airemix.com>
成瀬です
In message <477FAAB4.1060005@airemix.com>
梅本です。
成瀬です。
In article <47809D55.4030208@airemix.com>,
[#32892] *, z = 1 breaks stack consistency — "Yusuke ENDOH" <mame@...>
遠藤と申します。
[#32904] Integer overflow on struct timespec — zunda <zunda616e@...>
zundaと申します
[ruby-dev:32576] Re: transcoder loading
中田さん、こんにちは。
At 16:43 07/12/13, Nobuyoshi Nakada wrote:
>なかだです。
>
>At Thu, 13 Dec 2007 13:27:57 +0900,
>Martin Duerst wrote in [ruby-dev:32572]:
>> >transcoderを拡張ライブラリに出してみました。ext/とは別にしたほう
>> >がいいかもしれませんが。
>>
>> その通りだと思います。これからデータのファイルが増えるので、
>> メインのところにはちょっと不便ですが、ext にするといちいち
>> require が必要になると思いますが、これはとても不便だと思います。
>> require が必要になったら結局 String#encode が定義されているが、
>> require しないと使えない、という不思議な現象になってしまうでしょう。
>
>requireは自動的に行うように考えています。
パッチを最後まで読んだところでそれができている様な来もしました。
>> ファイルの場所を考えると、enc の中、もしくは enc/trans では
>> いいのではないかと思います。
>
>最初はenc/transを考えていたのですが、結局やることはextと同じなの
>で、とりあえず手を抜きました。
>
>> >include/ruby/transcode.hとext/enc/trans/iso_8859/iso_8859.cは、
>> >それぞれtranscode_data.hとtranscode_data_iso_8859.cをsvn mv した
>> >ものです。
>>
>> 細かいところだけいいますと、/iso_8859/ の部分は要らないと思います。
>> ファイル一つだけのためのディレクトリは余り意味がないと思います。
>
>extmk.rbで扱うための手抜きの他に、複数ファイルに分ける場合がある
>かもしれないということです。
>
>> しかも、iso-8859 見たいに標準にそってファイルをまとめることに
>> は長期的にはならないと思います。データの効率を考えると文字種
>> (例えば Latin、Greek、など) にそってまとめた方がいいと思います。
>
>これはちょっとよくわからなかったんですが、たとえばLatin文字セッ
>トの各encodingでのcodepoint表を作る、といったことでしょうか。
>
>言語ごとに作業を分けられるというメリットがあるかと思いますが、
>String#encodeでの指定などはどういう風になるんでしょうか。
作業の話のではなく、データの話です。似たような文字を扱うコード変換で
データをある程度共用できますので、例えば iso-8859-1 (文字種: Latin)
と iso-8859-7 (ASCII 以外の文字種: Greek) を一緒にするのではなく、
iso-8859-1 と windows-1252 を一緒にした方がいいです。現在の
データ構造だとこれはなぜだろうかということは見えないが、次の
段で見えてくると思います。いずれ今のところどの文字コードはどのぐらい
のデータが必要になるのか、どの文字コードを共通のファイルにするのか、
大体一発ロードするものでは何キロバイトぐらいが適切なのか
(極端に rubygems でメガ単位で増えたとしたら文字コード変換では
二三百キロでわさわさ動的にロードする必要がないという意見もある
かも知れませんので)、今ディレクトリに小分けするのは早すぎだと
思います。
>> 後は、(予定していた) transcode.h と (既に存在する) transcode_data.h
>> は別物として考えています。transcode.h はルビから使える機能を定義し、
>> transcode_data.h はデータ形式関係のものを定義し、ルビからは
>> アクセスしなくていいもの、という考え方です。
>
>了解です。
>
>> >-/* in the future, add some mechanism for dynamically adding stuff here */
>> >-#define MAX_TRANSCODERS 29 /* todo: fix: this number has to be adjusted
>> >by hand */
>> >-static transcoder transcoder_table[MAX_TRANSCODERS];
>> >+static st_table *transcoder_table;
>>
>> ハッシュにするのはありかと思います。
>
>
>
>> >+#define TRANSCODER_SEP '@'
>>
>> これは内部だけの決まりだと思いましたが、ファイル名にまで使われているので、
>> 十分検討した方がいいと思います。
>
>requireするときには'/'に書き換えるということも可能でしょう。実際
>最初はそのようにしたんですが、ディレクトリが多すぎるように感じた
>のでこのようにしてみました。
'/' は確かにそういう問題になりますので止めた方がいいと思います。
>> >+ for (s = key; *s; ++s) {
>> >+ if (ISUPPER(*s)) *s = tolower(*s);
>>
>> 今まで見たところで、ルビ内の Encoding は全部大文字になっていますので、
>> なぜでここで小文字にしますか。
>
>ライブラリ名は小文字という慣習が(おおむね)ありますので。
>
そうですね。Encoding そのものが大文字になっているのは
定数として使えるためでしょうか。この辺りも方針をはっきり
した方がいいと思います。
>> >+ rb_transcoding *my_transcoding)
>> > {
>> > char *in_p = *in_pos, *out_p = *out_pos;
>> >- const BYTE_LOOKUP *conv_tree_start = my_transcoder->conv_tree_start;
>> >+ const BYTE_LOOKUP *conv_tree_start = my_transcoder->transcode_arg;
>>
>> 変数、メンバーの名前を変える必要がないと思います。
>
>抽象化のためです。rb_register_transcoder()に関数ポインタを渡すよ
>うにすることで、str_encode()とtranscode_loop()は直接の関係を持た
>なくなります。つまり、transcoderによってはtreeとはまったく異なる
>ものを使うことになるかもしれません。
考えていることはよく分かります。しかしこれから変換の色々な
機能 (例えば変換不可能なときの対応等) を追加するとすると、
それぞれの具体的な変換関数に似たようなものをどんどん追加する必要
になってしまって、かなりだぶることになりかねないです。
抽象化は勿論考えていますが、ちょっと違うやり方を予定しています。
>> > transcode_loop(char **in_pos, char **out_pos,
>> > char *in_stop, char *out_stop,
>> >- transcoder *my_transcoder,
>> >- transcoding *my_transcoding)
>> >+ const rb_transcoder *my_transcoder,
>> >+ int from_utf8,
>>
>> 変数を増やさない方がいいと思います。
>
>> >+void
>> >+rb_transcode_loop_from_utf8(char **in_pos, char **out_pos,
>> >+ char *in_stop, char *out_stop,
>> >+ const rb_transcoder *my_transcoder,
>> >+ rb_transcoding *my_transcoding)
>> >+{
>> >+ transcode_loop(in_pos, out_pos, in_stop, out_stop,
>> >+ my_transcoder, 1, my_transcoding);
>> >+}
>> >+
>> >+void
>> >+rb_transcode_loop_simple(char **in_pos, char **out_pos,
>> >+ char *in_stop, char *out_stop,
>> >+ const rb_transcoder *my_transcoder,
>> >+ rb_transcoding *my_transcoding)
>> >+{
>> >+ transcode_loop(in_pos, out_pos, in_stop, out_stop,
>> >+ my_transcoder, 0, my_transcoding);
>> >+}
>> >+
>>
>> 関数を増やす必要が現在内と思います。
>
>transcode_loop()をコピーするよりは、フラグ引数のままのほうがよい
>だろうと思いました。
そうですね。でもそもそも関数を複数作る必要がありません。
>> > /* for simple testing: */
>> >- transcode_loop(&fromp, &bp, (sp+slen), (bp+blen), my_transcoder,
>> >&my_transcoding);
>> >+ my_transcoder->transcode_loop(&fromp, &bp, (sp+slen), (bp+blen),
>> >+ my_transcoder->transcode_arg,
>&my_transcoding);
>>
>> やりたいことが分かりますが、あくまでもデータ中心にやった方がいいと思います。
>
>テーブル駆動ということですか? iso-8859系とutf-8間ではそれがいい
>と思いますが、必ずしもそういう変換ばかりではありませんから。
いいたいことはよく分かります。例えば Shift_JIS と EUC-JP の変換とか
ですよね。心配しないでください。その辺りも考えています。
>> >Index: ext/enc/trans/iso_8859/lib/iso-8859-1@utf-8.rb
>> >===================================================================
>> >--- ext/enc/trans/iso_8859/lib/iso-8859-1@utf-8.rb (revision 0)
>> >+++ ext/enc/trans/iso_8859/lib/iso-8859-1@utf-8.rb (revision 0)
>> >@@ -0,0 +1 @@
>> >+require "enc/trans/iso_8859"
>> >Index: ext/enc/trans/iso_8859/lib/utf-8@iso-8859-1.rb
>>
>> いちいち一行のファイルを作るのはちょっとやりすぎだと思います。
>> もうちょっといい方法はないのでしょうか。
>
>同感です。
何かいい方法はあるでしょうか。
>> このやり方でルビの内部でどの変換があるのか分からないという問題になる
>> のもよく分かります。これは例えば force_encoding の ([ruby-dev:32563]
>> など) と関係するだけではなく、utf-8 とか経由の二段階とかで変換するときにも
>> 問題になりそうです。
>
>変換パスを登録するDBのようなものが必要になりますかねぇ。
本当の DB の意味でしょうか。そうではなく何かのデータ構造に
前もって登録するように考えています。今のコードでいうと
(rb_)register_transcoder を Ruby 全体の init 時にやって、
そこにロードされているかどうかやデータのファイル名など
を追加する。
>> >+typedef struct {
>> >+ const BYTE_LOOKUP *conv_tree_start;
>> >+ int max_output;
>> >+} iso_8859_transcoder;
>>
>> これは少なくともいまの段階で必要ないかと思います。
>
>1.9.1までには少なくとも日本語の変換も可能にしたいです。
もちろんそうです。心配しないでください。
宜しくお願いします。 Martin.
#-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-# http://www.sw.it.aoyama.ac.jp mailto:duerst@it.aoyama.ac.jp