mosh近況
いろいろと難航しているので、依存関係を整理して、細かいリリースに分割するのを検討。
現段階 + CMakeに移行したMSVCサポート で0.2.6としてリリースして、REPLの改善とminishellを0.2.7というのが妥当なところか。
微妙に難しいのは、yuniを導入すると現状のnmoshが無くなってしまうので、nmoshを含んだリリースはあまり追加したくない点。
0.2.6案
- ライブラリ(json) (rbtree) (uri)を追加
- ビルドシステムの修正 :
- 今回のリリースではビルドシステムが多少変更される。
- gtestが1.5.0にアップデートされた
- libmosh.aを生成しなくなった
- onigurumaはもう同梱されない。onig-configを参照するか、指定されたCFLAGSを利用してリンクしてみてそれを利用する。必要ならば、onigurumaのツリーをonigという名前で置けば、同時にビルドされる。
- Fixed issues:
- 7e4bbd844399d1a74031c49e3757fe89ac61bd9d - exptのバグを修正
- logのバグを修正http://code.google.com/p/mosh-scheme/issues/detail?id=147
- 77de065ddab563ba4f650c2ba82fc5c5b8e7d8fb - shebangのバグを修正
- exptが遅いのを修正 - http://code.google.com/p/mosh-scheme/issues/detail?id=148
- 43009496c7a047eb33f47267be1b68fcbc426e75 - logを修正
- readerのピリオドの扱いを修正 - http://code.google.com/p/mosh-scheme/issues/detail?id=149
- exact-integer-sqrtが不正確数を受け入れるバグを修正 - http://code.google.com/p/mosh-scheme/issues/detail?id=154
- exact-non-negative-integerを修正 - c753b81663cfe2d7dc9f59c2565060745e165266
- nmosh: $HOMEが無いと起動しないバグを修正。 - http://code.google.com/p/mosh-scheme/issues/detail?id=158
- assocがリストの要素がpairかどうかチェックしていないバグを修正 - http://code.google.com/p/mosh-scheme/issues/detail?id=159
- 599393ec95138ebeb720d1b82d90cfc9f338510b
- - 手続きが0引数のとき0を返すバグを修正 - http://code.google.com/p/mosh-scheme/issues/detail?id=161
- gen-git-build.sh: gmakeが有るならgmakeを使う。gmakeはビルドに必須だが、Cygwinのようにgmakeがmakeとしてしか存在しないシステムのためそれを強制していない。
- gen-git-build.sh: 完全なツリーを生成するようになった。(例えば、re2c等はgen-git-build.shの実行時に利用されるだけとなった。但し、依存ファイルを修正した場合は依然re2cのような生成ツールが自動的に実行される。)
- MinGW/Cygwin: ユーザの指定したCFLAGSを尊重するように修正
- MinGW/Cygwin: get-environment-variableが正常に = 文字を認識しないバグを修正 - http://code.google.com/p/mosh-scheme/issues/detail?id=166
- Features
- MacOS XでGMPの32bitバージョンのインストールを勧める文言を削除した
- Darwin64でFFIをサポートした
- Darwin32とDarwin64の両方をサポートするようになった
- FreeBSD amd64でビルドできるようになった
- FreeBSD amd64でFFIをサポートした
- nmosh: 可能な限りパスを相対パスで表示するようになった
- nmosh: 新しい非公開ライブラリ : (core nmosh cache-control) (nmosh gensym)
- nmosh: 新しいライブラリ : (nmosh pathutils) Gauche互換のpath関連手続きの一部
- nmosh: --guru-modeコマンドライン引数を指定しない限り、nmosh開発者にしか意味のないデバッグ情報は表示しないようにした
- psyntax-mosh: REPLで多値をGauche互換のフォーマットで表示するようになった?
- nmosh: REPLで多値をGauche互換のフォーマットで表示するようになった
0.2.6に入れるべきだけどまだ入っていないもの
0.2.7に移したいもの
これらは、新expander(yuni)での実現に切り替え。新たなmoshを新設するのではなく、現状のsrfi-mosh expanderを廃止して置換する形で導入予定。各種セマンティクスはnmosh互換。
- nmosh: (各種REPL改善)
- nmosh: -T(--applet) コマンドラインオプション。nmoshの管理コマンドを簡単に実行できる。
- nmosh: (R6RS拡張) 同じ実体を差す語彙を複数インポートしてもエラーとならない。(ie. (rnrs)と(rnrs base)の同時インポートを明示的に許可する)
- nmosh: (R6RS拡張) ライブラリエイリアスのサポート。(e.g. (srfi :1)と(srfi :1 lists)は実体となるファイルを用意するのではなく、内部で(nmosh srfi s1)にリダイレクトされる。上のルールと合わせて、(only (srfi :1) map) (only (srfi :1 lists) map)はエラーとならない。)
- nmosh: (R6RS拡張) ライブラリはVMについて1度だけvisitされることが保証される。例えば、run実行においてイベント処理スレッドを生成するようなライブラリを書けるようになる。これはexpand実行とrun実行の関係については既定しない。