パッチ
今日書いたのは(まだ終わってないけど)パッチ9つ。詳しい内容はきっとid:propellaの山宮さんが書いてくれるでしょう。
MVC
昔自分でもMVCを使っていたころは、Morphicの事しか考えていない修正によってMVCが壊れるたびに「まったく、自分さえ良ければいいってのかよ」と怒りに打ち震えていたものだが、今思うに最近俺自身がそういういやなやつになっていたな。
メーリングリストに投稿するMVCユーザーはBoris Gaertnerくらいしかいないのだが、彼はヘビーユーザーなのでなかなか頼りになる男である。
朝起きたらBorisから3.8 gammaでMVCが動かない、という静かな怒りを含んだメール(
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-March/089824.html)が来ていたので(気のせいかもしれないが、彼にしては寡黙なメールすぎた)、ちょっとびびってパッチをポスト。どうやらうまく動いたようでなによりである。
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-March/089834.html
屈折している?
どうやら屈折しているらしいid:io_oiな匿名希望さんの疑問(http://d.hatena.ne.jp/io_oi/20050314)。
もうちょっと書いてくれると答えやすいですが、インタープリタが動いているときにはオブジェクトは動かされてしまうものの、動くかもしれないオブジェクトへのポインタをどこかの大域変数にしまったまま終了するようなプリミティブでなければだいたい何をしていても大丈夫だと思います。
が、signalSemaphoreWithIndex()を複数の人が同時に呼べるか、というのは今の実装では原理的に言って危険ですね。signalSemaphoreWithIndex()の呼び出しは常に直列化されるようになっていないと。ということは、OSレベルのスレッドに対してセーフな処理を作るには、OSレベルの排他制御機構でsignalSemaphoreWithIndex()をくくらないといけないでしょうね。ただ、そこさえ抑えれば大丈夫だとは思います(signalSemaphoreWithIndexの実行が本当にオーバーラップするような状況は非常にまれだとは思いますが、原理的には)。
Nihongo7
id:propellaな山宮さんがSqueak-jaに「しばらく激しくアップデートすることが予想されます」と書いたときは、「そこまで激しくはしなくても良いだろう」と思ったりはしていたのですが、どうやら激しくアップデートすることになってしまったようです。
必要なのは、やっぱりテストです。某Aさんはすごいです。1時間ほど拘束して試してもらった結果、29くらいの問題が出てきました。
今日は朝からそれらの修正です。
