« 埴生の宿 | トップページ | とっても楽しそうな仙台Ruby会議01 »

irbの挙動がひとまず修正された

 ruby-dev でひとまずの解決がされたようで、修正を取り込んだ RC1 が arton さんから提供されたので入れてみた。irb の奇妙な挙動は修正されている。input-method.rb を見てふと思ったのは次のようなこと。


class ReadlineInputMethod < InputMethod

...
@stdout = IO.open(STDOUT.to_i, 'w', :external_encoding => IRB.conf[:LC_MESSAGES].encoding, :internal_encoding => "-")
...
#Readline.output = @stdout
Readline.output = STDOUT

 の SDTOUT を @stdout に戻すとバックスペースが例の挙動を示す。とするとこの @stdout = の部分は必要なのだろうかとかふと思う(本当は必要なのだろうけれど、まだうまくいかないのでこうすればひとまず回避できる、と arton さんがいっていたのがこれってことかな)。必要だとすればコメントアウトをはずして当初の形に戻せるような修正が必要ってことなのだろうか。(@stdout = の行をコメントアウトしても動作そのものに影響があるようには見えなかった。ちょっと使った限りでは)

class StdioInputMethod < InputMethod

...
@stdout = IO.open(STDOUT.to_i, :external_encoding => IRB.conf[:LC_MESSAGES].encoding, :internal_encoding => "-")

 先頭に近いこちらの @stdout には 'w' オプションの指定が追加されていないのだけれど、もしもつけるならこちらにも必要なのかな?

 などなど。

|

« 埴生の宿 | トップページ | とっても楽しそうな仙台Ruby会議01 »

コメント

Readline.output = STDOUT
がーん、これは私のテスト用修正の戻し漏れですね。
この行をコメントアウトして、@stdoutを設定する行を有効にするのが、本来の修正です。

投稿: arton | 2009.01.15 02:58

あ、そうでしたか。とするとまだバックスペースの挙動は解決できていないってことですね。

投稿: ムムリク | 2009.01.15 11:02

うささんのパッチで解消していると思いますよ。

投稿: arton | 2009.01.15 23:58

と思ったら、解消されていないですねぇ。

投稿: arton | 2009.01.16 00:01

すみません。パッケージングに失敗していました(msvcrt-rubyが更新されていなかった)

投稿: arton | 2009.01.16 00:05

なるほど。そういうことでしたか。

投稿: ムムリク | 2009.01.16 10:38

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: irbの挙動がひとまず修正された:

« 埴生の宿 | トップページ | とっても楽しそうな仙台Ruby会議01 »