Giraffe+ 0.5.44.609

Downloadページへ

前リリースからの変化

  • MFCのASCII DLLの初期化を起動スクリプト実行後にやってたのを修正
  • 変数コールに引数を与えてもエラーにならないようにした
  • thread関数がまだおかしかったのを修正
  • Object.return_fromを定義
  • 0, '', ""をZero, Emptyとしてパースするようにした
  • スレッド描画のロックをもう少し最適化した
  • スレッド描画のキャンセル時に、少し待つようにした

MFCのASCII DLLの初期化を起動スクリプト実行後にやってたのを修正

起動スクリプトってのは.giraffeとsiteinit.giraffeです。

変数コールに引数を与えてもエラーにならないようにした

高速化と、もうひとつ、変数を返す関数と変数そのものを同じように扱えるようにするためです。
例えば、

0...10.collect& f$

で、fが変数であっても問題ない、というわけです。

thread関数がまだおかしかったのを修正

スレッドが始まる前にその引数がGCに回収されることがあったみたいです。

Object.return_fromを定義

引数のSymbol_idとmessage_idが一致する上位コンテキストを引数としてself.returnします。当該コンテキストが見つからない場合はエラーになります。
Script/Object.giraffeに実装してます。

0, '', ""をZero, Emptyとしてパースするようにした

よくあるリテラルを定数扱いするようにした最適化です。
Emptyはこのために定義した空文字列をあらわす定数です。

スレッド描画のロックをもう少し最適化した

ロックして解除して、またロックして、とやっていたのを、一回のロックにするようにしました。

スレッド描画のキャンセル時に、少し待つようにした

いろいろ頑張ってみましたが、やっぱりGCデッドロックするみたいなので、出来るだけスレッドを増やさない方向で対処することにしました。