ruby-trunk-changes r31065 - r31077

Encoding に "SJIS" と指定すると Shift_JIS のことを指していましたが、Windows-31J のことを指すようになる変更が入っています。またビルドプロセスの変更で拡張ライブラリが並列ビルドできるようにしています。

nobu:r31065 2011-03-08 23:10:19 +0900

misc/ruby-mode.el の修正。開きかっこのあとのインデントに関するものだと思います。ブロック内の配列リテラルの場合のインデント修正?

nobu:r31066 2011-03-08 23:12:48 +0900

misc/ruby-electric.el の行末の空白削除。とありますが実際には少し追加もあり。{ を入力すると自動で閉じかっこ } 等を補完する機能で、条件によってコメント行を追加したりしているようです。

kosaki:r31067 2011-03-08 23:29:22 +0900

Process.maxgroups で _SC_NGROUP_MAX (sysconf()) が利用できない場合は NGROUPS_MAX が定義されていればそちらを利用するようにしています。それもなければ 32。

nobu:r31068 2011-03-08 23:40:03 +0900

process.c のインデント修正。

nobu:r31069 2011-03-08 23:40:33 +0900

なんと misc/ruby-mode.el のテストが追加されています emacs コマンド(または 環境変数 EMACS に設定したコマンド)の --batch、--eval オプションを使ってテストするようです。
なのですが emacs が古かったりすると失敗することがあるようです。Linux で Emacas 21.3.1 だと --quick というオプションがないみたいで全てエラーになってしまいました。Mac OS X 10.6 でも test_singleton_class が Faulure です。

kosaki:r31070 2011-03-08 23:52:05 +0900

Process.groups= で ary の配列サイズの取得を1回にまとめています。

nobu:r31071 2011-03-09 00:15:55 +0900

r31059 の ext 並列ビルド可能にする修正で ext/extmk.rb が生成する exts.mk が Windows の nmake だとうまく動かない記法を生成してしまっていたので修正。

nobu:r31072 2011-03-09 00:45:33 +0900

さらに nmake 対応。$(var:/=/all) で末尾以外の "/" も置換されてしまうので末尾にマーカ(.)を置いて末尾の "/" だけ置換するように。

naruse:r31073 2011-03-09 11:54:40 +0900

Encoding の "SJIS" は Shift_JIS ではなくて Windows-31J へのエイリアスにしています。また "PCK" をやはり "Windows-31J" のエイリアスとして追加しています。 [ruby-dev:43027] [Feature #4280]

naruse:r31074 2011-03-09 11:59:04 +0900

r31073 の ChangeLog エントリにチケット番号リンク追記と NEWS への追記。

tenderlove:r31075 2011-03-09 12:51:39 +0900

Psych.dump で対象のオブジェクトの method メソッドが Object#method から上書きされていると(Struct.new(:method) のインスタンスとか)誤ってそのメソッドを呼んでしまって意図しない動作になるのを修正。 [ruby-core:35255] [Bug #4401]
ここで Object#method を使って to_yaml メソッドのソース位置を取得するのは警告メッセージのためなので駄目だったら諦めるよーというような方針の変更になっているのですが、例外が発生するのは一例なので、チケットで提案されているような修正のほうがいいんじゃないだろうか。とはいえ method(:to_yaml).source_location までのセットで例外にもならずにおかしな結果になる例というのもちょっと考えにくいのでまあ実害はないかも。

nobu:r31076 2011-03-09 23:06:15 +0900

misc/ruby-mode.el を修正。'[]' の後のインデントを修正している模様。test/misc は emacs が古いと Failure になってしまいますが、修正意図がわかるので読む身としては嬉しい面もありますね。

nagachika:r31077 2011-03-09 23:07:11 +0900

.gitignore に exts.mk を追加しています。