Giraffe+ 0.5.64.794
前リリースからの変化
- テストスクリプトをScript/testsに移動
- サンプルスクリプトをScript/samplesに追加
- UTF-8のプライオリティファイルを複数回読み込むとエラーになってたのを修正
- Boost.Filesystemのdeprecatedな関数を整理
- Object.parallel_def, multi_defを定義
- SwitchWindowが最前面化ウインドウを列挙してなかったのを修正
- giraffe-mode.lを1行目のインデントをゼロにするよう修正
テストスクリプトをScript/testsに移動
Object$test.giraffeとかです。スクリプトで実装してるもののテストをtestsディレクトリの同名のスクリプトに実装する、ということにしました。
ちょっと片付けたくなっただけで、深い考えはありません。
サンプルスクリプトをScript/samplesに追加
viewの概念をどうしようかと考えながら適当にzip_iteratorを実装してみたりしたんですが、実用性はないもののスクリプトの例としては有意義かと思ったのでsamplesに加えました。
ついでに、似たような意味のないcontainer_multiply_example, zip_exampleと、ウインドウをアクティベイトする例としてToDoListActivateを追加しておきました。
UTF-8のプライオリティファイルを複数回読み込むとエラーになってたのを修正
localeにfacetをdeleteさせないのを忘れてました。効率が問題になる部分でもないはずなので、使うときに毎回newとdeleteをする普通の仕様にしておきました。
Boost.Filesystemのdeprecatedな関数を整理
新しいのと古いのを定義してたりしてなかったりだったのを、全部定義するようにしました。
Object.parallel_def, multi_defを定義
クラス的なオブジェクトを作る場合に、複数回defすることになります。
obj: Object.clone obj.method0: `[0] obj.method1: `[1]
同じオブジェクト名を毎回書くのは冗長なので、
obj: Object.clone obj.parallel_def& :method0, `[0], :method1, `[1]
と書けるようにしました。
もうひとつ、同じオブジェクト(or method)が複数の名前で保持されることが多いですが、そういう場合、
obj: Object.clone obj.prop0: obj.prop1: 0
と、していたのを、
obj: Object.clone obj.multi_def& :prop0, :prop1, 0
とできるようになりました。
parallel_defは、スロット名の引数が配列の場合にmulti_defを呼ぶようになってます。
obj: Object.clone obj.parallel_def& :method0, `[0], :method1, `[1], {:prop0 :prop1}, 0
SwitchWindowが最前面化ウインドウを列挙してなかったのを修正
今まで気づきませんでした。
giraffe-mode.lを1行目のインデントをゼロにするよう修正
気づいていたのに今まで放置してました。