# Ruby for OS/2 with EMX

Ruby 1.8.0 以降のバイナリです。 ソースは、基本的に各ビルド時の最新の CVS 版をベースとして、独自の試験的な変更を加えています。 また、ruby-{list,dev} に流れる試験的な変更で OS/2 でも有用と思われるものは、動作確認の上で採用しています。 これは、より多くの方による動作検証をしていただく事を目的としているためです。 特に preview は安定版公開に先立って問題点を捜し出すための公開デバグを目的とした版なので、積極的な報告をお待ちしております。

影響の大きな非公式の変更はなるべく明記するようにしていますので、ご利用の目安にしてください。 細かな変更は同梱の *.diff をどうぞ ^^; 本流の変更は ChangeLog に書かれています。

かように人柱的要素が強いものなので ^^;、そのつもりでご利用くださいませ。 問題などお気付きの点がありましたら、OS/2 対応を充実させるためにも是非お知らせください。

尚、使用可能なディスク容量が少ないため、ここには最近の版のみ置いてあります。 1.8.0 公開版は OS/2 でもパッチなしでビルドできるようになったばかりで、OS/2 で利用するには幾つかの問題があります。 個人的な見解ですが、OS/2 での利用という点では実質的には開発版とも言え、それらが改善された現行の開発版の方が実用的と考えています。 このため、ディスク容量節約のため、1.8.0 公開版のバイナリは公開していません。 以前の版が必要な場合はお問い合せください。

## Ruby 1.8.1 系

- Ruby 1.8.1 (2003/12/24版) : binary, README.OS2.ja
  - Ruby 1.8.1 公開版をベースに
  - Ruby 1.8.1 preview4 (2003/12/22版) と同様
- Ruby 1.8.1 : binary, README.OS2.ja
  - Ruby 1.8.1 preview4 (2003/12/22版) と同様

## Ruby 1.8.1 preview4 系

- Ruby 1.8.1 preview4 (2003/12/22版)
  - Ruby 1.8.1 preview4 の変更に加え:
  - 非公式修正: [ruby-dev:22303] Dir クラスの Shift JIS 日本語ファイル名対応
    - パッチを当てるために、dir.c を rev.1.92 から rev.1.88 に差し戻し
  - 非公式修正: [ruby-dev:22238] test/fileutils/test_*.rb がエラーになる問題を修正
    - 旧来の DOSISH 環境では他ドライブのカレントディレクトリを Dir#rmdir できないため
  - 非公式修正: [ruby-dev:22237], [ruby-dev:22241] link() が存在しない環境で File#link が例外を上げるように変更
    - これまでは、OS/2 では link() が何もしないで無条件に失敗するように実装されていた
  - 非公式修正: [ruby-dev:22115] 多バイト文字の長さを正しく判定しない可能性を回避
    - Ruby は setlocale() しないので C ロケールで実行されている
    - 多バイト文字の最大長 (MB_CUR_MAX) は C ロケールでは 1
    - setlocale() する拡張ライブラリからの影響を受けるべきでない
    - ついでに、EMX では ja_JP ロケールに setlocale() できない?
  - 非公式修正: [ruby-dev:21945] Dir.pwd, Dir.chdir が OS/2 で複数ドライブを扱えなかった問題を修正
    - これに起因して、test/fileutils/test_*.rb の実行前のカレントディレクトリと $TMPDIR が異なるドライブにある時、test/* を削除してしまう問題が併発
  - 非公式修正: 更新された REXML が正常に機能しないため、臨時措置として 2003/11/25版のものに差し戻し
- Ruby 1.8.1 preview4
  - 非公式修正: [ruby-dev:21765] コンパイルを通すためだけのミニマムパッチ
  - Ruby 1.8.1 preview4 に対する他の変更はなし

## Ruby 1.8.1 preview3 系

- Ruby 1.8.1 preview3+ (2003/12/15版)
  - Ruby 1.8.1 preview3+ (2003/12/07版) の変更に加え:
  - 非公式修正: [ruby-dev:22284], [ruby-dev:22297] Dir クラスの日本語ファイル名対応 改訂
  - 非公式修正: [ruby-dev:22237], [ruby-dev:22241] File#link が今まで無条件に失敗していたのを、link() が存在しないならば例外を上げるように変更
  - 非公式修正: 更新された REXML が正常に機能しないため、臨時措置として 2003/11/25版のものに差し戻し
- Ruby 1.8.1 preview3+ (2003/12/07版)
  - いつの間にか Ruby 1.8.1 preview3 が公開されていたので更新
  - Ruby 1.8.1 preview2+ (2003/12/05版) に対する新規の追加修正はなし

## Ruby 1.8.1 preview2 系

- Ruby 1.8.1 preview2+ (2003/12/05版)
  - Ruby 1.8.1 preview2+ (2003/12/03版) の変更に加え:
  - 非公式修正: [ruby-dev:22147] Dir クラスの日本語ファイル名対応 改訂
- Ruby 1.8.1 preview2+ (2003/12/03版)
  - Ruby 1.8.1 preview2+ (2003/12/01版) の変更に加え:
  - 非公式修正: [ruby-dev:22126] Dir クラスの日本語ファイル名対応 改訂
  - 非公式修正 正式採用: [ruby-dev:22119] ENV クラスで環境変数名の大文字小文字を区別するよう統一
- Ruby 1.8.1 preview2+ (2003/12/01版)
  - Ruby 1.8.1 preview2+ (2003/11/29版) の変更に加え:
  - 非公式修正: [ruby-dev:22104] Dir クラスの日本語ファイル名対応
- Ruby 1.8.1 preview2+ (2003/11/29版)
  - Ruby 1.8.1 preview2+ (2003/11/27版) の変更のみ
- Ruby 1.8.1 preview2+ (2003/11/27版)
  - Ruby 1.8.1 preview2+ (2003/11/25版) の変更のみ
- Ruby 1.8.1 preview2+ (2003/11/25版)
  - Ruby 1.8.1 preview2+ (2003/11/24版) の変更に加え:
  - 未報告修正: REXML で長めの XML 文書をパースできない問題を緩和 (Iconv で長い文字列を変換しようとすると、Iconv::IllegalSequence などの例外を上げる事があるのが原因)
  - 未報告修正: REXML で '~' 等を UTF-8 文字に正常に変換できないため、Iconv よりも Uconv 等での変換を優先できるようにして回避
  - 未報告修正: REXML の Shift_JIS 対応モジュールが古いままなのを修正
- Ruby 1.8.1 preview2+ (2003/11/24版)
  - Ruby 1.8.1 preview2+ (2003/11/21版) の変更に加え:
  - 新規導入した MCP1 で稼働確認
  - 必須ライブラリを明確化
  - 使用 Iconv を 1.1.3 から 1.1.4 に変更
  - リンクされた (と思われる) ライブラリを確認
- Ruby 1.8.1 preview2+ (2003/11/21版)
  - はじめてのお試し版
  - Ruby 1.8.1 preview2 をベースにビルドを通すための変更