[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:02216] Re: today with Ruby-1.8.5
白井です。
From: OHARA Shigeki <os@xxxxxxxxx> さん曰く
Subject: [mhc:02215] Re: today with Ruby-1.8.5
Message-ID: <w0girk2jra8.wl%os@xxxxxxxxx>
Date: Tue, 05 Sep 2006 23:56:31 +0900
> > Ruby を 1.8.4 から 1.8.5 にあげたところ、today --format=ps や
> > --format=html での日本語出力がおかしくなってしまいした。
>
> うーん、どうも Ruby 1.8.5 のバグっぽいですね。
>
> EUC-JP への変換をする Kconv::toeuc の NKF へのオプションに
> -m0 (MIME デコードしない) オプションが付いてしまっています。
> # 他の Kconv::tojis や Kconv::kconv には付いていません。
> # ruby/test/nkf/*.rb もこのへんまではテストしてないみたいですね。
ありがとうございます。
kconv.rb を読むと
149 # call-seq:
150 # Kconv.toeuc(str) -> string
151 #
152 # Convert <code>str</code> to EUC-JP
153 #
154 # *Note*
155 # This method decode MIME encoded string and
156 # convert halfwidth katakana to fullwidth katakana.
157 # If you don't want it, use NKF.nkf('-exm0', str).
158 def toeuc(str)
159 ::NKF::nkf('-em0', str)
160 end
161 module_function :toeuc
なので、Doc String とも釣合がとれていないし、ChangeLog も
Mon Jun 19 23:40:59 2006 NARUSE, Yui <naruse@xxxxxxxxxxxxx>
* ext/nkf/lib/kconv.rb: remove default -m0 and fix document.
Mon Mar 27 22:19:09 2006 NARUSE, Yui <naruse@xxxxxxxxxxxxx>
* ext/nkf/lib/kconv.rb (Kconv.to*): add -m0.
Note that Kconv.to* still imply -X.
となっていて 6/19 に -m0 を外したときに toeuc だけ対処を忘れたと
いう感じなのかな。
# kconv.rb を変えて OK になりました。
CVS Repository のぞいても直っていなかったので、どこかに報告して
おきます、と思ったのですが。。。ruby-dev ML のアーカイブをのぞい
てみると、
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/29424
>> > > このような中途半端な状態で、「時期がきたからこのまま 1.8.5 をリリース
>> > > する」というよりは、一連の問題を 1.8.5 リリース後に再考するという意味
>> > > で、1.68.2.13, 1.68.2.15 を revert して 1.8.4 と同じ状態に戻して、
>> > > 1.8.5 をリリースした方がマシなんじゃないかと思います。
>>
>> > 1.8.5がリリースされたので再考しましょう。どのようにするのがいいとお考え
>> > ですか?
>>
>> 私は、
>>
>> * 1.9 以降では文字コードの自動変換は一切行なわない。
>>
>> * 1.8.x では iso-2022-jp,euc-jp,shift_jis のみ自動変換を行なう(互換維持)。
>> ただし、NKF.nkf に -m0 -x をつけるようにする(バグ修正)。
>>
>> …というのが良いと思います。
などという討論が現在進行形でなされているので、MHC の対応策も含め
て Ruby 方面に明るい人に任せた方がよいみたいです (__)
--
白井秀行 (mailto:shirai@xxxxxxxxxxxxx)