2008-07-01から1ヶ月間の記事一覧

Mac OSXでsvkを使ってRubyをハックする。

はじめに 最近、ruby(MRI) の Readline モジュールの libedit 対応や rdoc の記述を行っています。しかし、私は ruby のコミッタではないので、作業の成果を trunk には反映できません。パッチを作成しては ruby-dev ML に報告し、それを revert して rdoc …

Macのrubyのreadlineに不具合がある!?(8)

ruby の Readline へのパッチを作成した。パッチの概要を次に述べる。 GNU Readline を使用した場合の挙動は一切変えない。 パッチの適用前には、 EditLine(libedit) を使用する場合、次の問題がある。 libedit のバージョン (2.9より上?) によっては、 hist…

Macのrubyのreadlineに不具合がある!?(7)

パッチを作成する前に、GNU Readline を使用した場合の ruby の Readline の仕様を明確にするため単体テストを記述する。 これがあればデグレードを防げる。ext/readline/gnu-readline 以下に GNU Readline 5.2 版。 ext/readline/editline 以下に Mac OSX 1…

Macのrubyのreadlineに不具合がある!?(6)

私のパッチを ruby-dev に報告したあと、以下のことが ruby-dev([ruby-dev:35532]、[ruby-dev:35534]) で挙がった。 libedit の動作(history_base - 1)がバグなのか。バグなら将来のバージョンで修正されるのでは? libedit において、 history_get や remov…

Macのrubyのreadlineに不具合がある!?(5)

Macのrubyのreadlineに不具合がある!?(4)の続き。Ruby の Readline ライブラリをデバッグする。 問題は以下。 http://redmine.ruby-lang.org/issues/show/212Ruby の Readline ライブラリが GNU Readline を使用するようにしてコンパイルされた場合、以下…

Macのrubyのreadlineに不具合がある!?(4)

Macのrubyのreadlineに不具合がある!?(3)の続き。Editline Library (libedit) からたどることができるドキュメントを読もうと思ったが、閲覧できないようなのでソースを読むことにした。libedit/readline/readline.h 未実装のAPIが分かった。 extern KEYMA…

Macのrubyのreadlineに不具合がある!?(3)

Macのrubyのreadlineに不具合がある!?(2)の続き。次のドキュメントを読む。 http://tiswww.case.edu/php/chet/readline/readline.html http://tiswww.case.edu/php/chet/readline/history.html 以下、読んでいて気になったところ。 rl_event_hook Variable…

Macのrubyのreadlineに不具合がある!?(2)

Macのrubyのreadlineに不具合がある!?の続き。ruby_1_8ブランチのext/readline/readline.cを読む。上から順番に読んでいく。 TOLOWER #define TOLOWER(c) (isupper(c) ? tolower(c) : c) これは、なんのへんてつもない大文字に変換するマクロですが、file.…

ruby-talkの「from ruby/RoR to Java (framework unknown) :(」がアツイことになっている。

Subject: from ruby/RoR to Java (framework unknown) :( From: S2 <x y.z> Date: Sat, 5 Jul 2008 02:31:47 +0900My company today decided to ditch ruby development and to develop new web applications only with Java or .net. Current RoR applications wil</x>…

ruby-1.9のdefine_methodで定義したメソッドのblock_given?の動作が理解できない。

block_given? は,多分 yield やら Proc.new などが出来るかどうかを確 認するためのものだと思うのですが,define_method で定義したメソッドで はどちらも出来ません(現状では).なので,block_given? も,その用途 には使えない以上,テストケースのよ…

ruby-core MLに投稿されたruby-mode.elに対するパッチ

Subject: [ruby-core:17615] [PATCH] ruby-mode.el: Fix here-doc strings with inner quotes From: Nathan Weizenbaum <nex342 gmail.com> Date: Sat, 5 Jul 2008 17:57:32 +0900This is a multi-part message in MIME format. 050607010203070700060801 Content-Type: text/p</nex342>…

私にはMacPortsのemacs +carbonが使えない。

先日、次のコマンドでインストールしたMacPortsのemacs +carbonだが、私にはまともに使えないことが分かった。 $ sudo port install emacs +carbon Macのfinkや、LinuxのDebianなどはある程度パッケージメンテナがカスタマイズしてくれていて、必要そうなラ…

Macのrubyのreadlineに不具合がある!?

今日、まつもとさんから次のメールがruby-devに投稿された。 まつもと ゆきひろです次回のリリース前に解決しておかなければならない用件って一覧になっていましたっけ。redmineだと [ruby-core:17472] [Ruby 1.8 - Bug #206] BigDecimal precision in divmo…

alias, undef, definemethodがメソッドになる!?

alias, undef, definemethod といった,あまり使われない命令はメソッ ド呼び出しにしたいと思うのですが,良いでしょうか. 具体的には,RubyVM::FrozenCore に対する特異メソッドとして実装しま す.RubyVM::FrozenCore 自体は,freeze しておくので再定義…