丁稚な日々

Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。
Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません...

[直前] [最新] [直後] [Top]

Oct.1,2003 (Wed)

Revision: 1.1 (Oct.01,2003 00:32)

Changes

  • aamine: 昨日書いた、lib/net/http.rb・lib/net/pop.rb・lib/net/smtp.rbのNet::HTTP#finishNet::POP3#finishNet::SMTP#finishの変更は巻き戻されました。
    代わって、Net::HTTP#startNet::POP3#startNet::SMTP#startのそれぞれで、セッションの開始に失敗したときにソケットを閉じるようになりました。
  • aamine: lib/net/smtp.rbのNet::SMTP#started?が常にfalseを返していたという問題が修正されました。
  • matz: イテレータの内部でwhileまたはuntilを使っていた場合、そのイテレータに渡すブロック内でbreakすると、ブロックではなくwhile/untilを抜けていた、というバグが修正されました。[ruby-dev:21434]
  • matz, akr: Process::Status#inspectの出力がさらに親切になりました。
  • matz: regex.cをruby以外で使用した場合に無限ループに陥るケースがあったのが修正されました。[ruby-dev:21431]

Oct.2,2003 (Thu)

Revision: 1.5 (Oct.02,2003 18:31)

test

_ mswin32ではSOAP4Rのtestで幾つかのFailureと一つのErrorが発生する。
Failureについては原因はわかっている(MSVCRTのsprintf()の出力が仮定と一致していない)のでどうでもいいのだが、問題はErrorである。
ある程度は追ってあるんだけど、問題がSOAP4RにあるのかWEBrickにあるのかRubyそのものにあるのかが切り分けられない...

_ ところで、問題のtestはtest/soap/calc/test_calc_cgi.rbなんだけど、RUBYBINConfig::CONFIG["EXEEXT"]がないのでそもそもCGI自体がまだ実行できません。
私が追っかけているのはもちろんそれ以降の話。

_ 問題1。mswin32のexecはpidが変化する。結果として親は孫の終了を待つことができない。
問題2。なぜかtest/soap/calc/server.cgiの実行に異様に時間がかかる。

_ 問題1はそういうものなので、rubyを変えてexecsystem + exit相当にするか、WEBrickを変えてそうしてもらうか、のどちらかしかない。
問題2はよくわからないが、1実行で10分くらいかかっているような気がする。おそろしや。

_ つっこまれてしまいました
「pidが変化する」はたしかに嘘っぽい記述ですね。まあ、わざとなので(と、言い訳しておく)

Changes

_ 10月1日の変更分。

  • uema2: wince版でSigmalionIII SDKがサポートされたようです。
  • nobu: コードを素で実行したときとrequireしたときとで定数のスコープに違いが発生する(requireしたときにスコープがおかしくなる)バグが修正されました。[ruby-dev:21415]
  • nobu: 2003-10-01
  • nobu: NoMemoryErrorrescueしても常態に復帰できない問題が修正されました。[ruby-dev:21453]
    同じメール中のファイナライザの件は保留になってる、という理解で正しいのかな?
  • matz: VPATHが有効にならないmakeを使ってソースのあるディレクトリ以外でrubyを構築した場合に常にlex.cを作り直そうとする問題が修正されました。[ruby-dev:21437]
  • matz: eval.cのrb_thread_raise()の第3引数にvolatileが追加されています... が、ネタ元不明。[ruby-core:1574]
    なかださんが教えてくださいました
  • matz: 先日こっそり書いたせいかどうかは不明ですが、ruby_signal_name()の戻り値にconstが付きました。
  • matz: ext/etcにEtc.setpwentEtc.getpwentEtc.endpwentEtc.setgrentEtc.getgrentEtc.endgrentの各メソッドが追加されました。
  • matz: ext/socketのSocket#gethostbynameの内部で逆引きを行っていたのを行わないように変更されました。[ruby-talk:83002]

Oct.3,2003 (Fri)

Revision: 1.3 (Oct.03,2003 12:27)

Changes

_ 10月2日分。多い...

  • nobu: ext/etcにコンパイルが通らないtypoが入り込んでいたのが修正されました。
  • nobu: ext/etcのEtc.getgrentがグループでなくパスワードを返していたバグが修正されました。
  • nahi: lib/xsdで、XSDFloatXSDDoubleが一部のプラットフォームで-0.0の符号を失ってしまう問題が修正され... てないですね。
  • matz, nobu: 定数のスコープがおかしくなっていたバグが修正されました。[ruby-dev:21458]
  • matz: ブロックが渡されたかどうかの判定が厳密になっているようです... が、詳細不明。
    なかださんによる説明
  • eban: 2003-10-02
  • ntalbott: lib/test/unitで、明示されずにAssertionFailedErrorを捕捉することがなくなりました。
  • ntalbott: lib/test/unitで、テストの順序を実行時に決定していたために結果として環境によって微妙に実行順序が異なる場合があったのが、テストクラスの構築時に名前の辞書順で実行順序を決定されるようになりました。[ruby-talk:83156]
    ... で、あってるかな。
  • nobu: ext/iconvで、変換失敗時に$!をセットしてエラーの起きた文字列をエラーハンドルブロックのパラメータとするようになりました。
  • nobu: ext/iconvで、エラーをハンドルするブロックは追加分と変換し残りのペアを返すようになりました。し残りがnilであれば変換は停止します。
  • matz: warnが常にnilを返すようになりました。[ruby-dev:21416]
  • matz: Marshalによってオブジェクトのインスタンス変数が変化することがあったのが修正された、んでしょうか? 読み違えてるかも。
  • matz, nubu: TimeMarshal処理が変更されました。元ネタは?
    その際にTime#initializeがなくなってしまっていた不具合が修正されました。[ruby-dev:21469]
  • matz: ruby-mode.elで、a #.#のようなコメントがあるとインデントがおかしくなる問題が修正されました。[ruby-dev:21465]
  • gotoyuzo: ext/opensslにOpenSSL::Engineというモジュールが追加されました。ハードウェア暗号エンジンインターフェースをサポートするものです。
  • nobu: ext/iconvで、Iconv::Failure#initializeが用意されました。
  • nobu: ext/iconvで、例外発生時に毎回例外クラスのインスタンスを生成するようになりました。 [ruby-dev:21470]
    なかださんによる訂正
  • gotoyuzo: ext/opensslで、OpenSSLが0.9.7の初期のバージョンだった場合にコンパイルできなくなっていた問題が修正されました。

_ いつもありがとうございます>なかださん

[ゲーム] YsVI

_ 全然Rubyと関係ないけどYsVIなのです。
発売が9月27日。手元に届いたのが9月29日。インストールしたのが10月2日(仕事が忙しくて...)。というわけで今朝がよくやく初プレイ。1週間遅れかよ。

_ とりあえずの感想。
うーん、確かにこれはYsだ。少なくともYsIIIよりはYsっぽい。
現在、Lv13、剣1Lv4。平原でのレベル上げ楽しい〜。

Oct.4,2003 (Sat)

Revision: 1.3 (Oct.05,2003 21:26)

[ゲーム] YsVI

_ Lv22、剣1Lv6、剣2Lv5。
洞窟で落下しまくり楽しくない〜。
そもそも正しいルートで進んでいるんだろうか? まあ、敵に攻撃が当たるから間違ってはいないんだろうけど...

Oct.5,2003 (Sun)

Revision: 1.2 (Oct.05,2003 21:26)

Oct.6,2003 (Mon)

Revision: 1.9 (Oct.06,2003 21:06)

[Changes]

_ 10月3日分。

  • ntalbott: lib/test/unitで、Test::Unit::Assertions.assertTest::Unit::Assertions.assert_blockTest::Unit::Assertions.flunkが失敗時にデフォルトでメッセージを出力するようになりました。
  • ntalbott: lib/test/unitで、失敗したテストのトレースがより親切に出力されるようになりました。
  • eban: 2003-10-03
  • ntalbott: lib/test/unitで、テスト実行時のコマンドライン引数が整理され、結果の出力レベルもコマンドラインから指定できるようになりました。
    さらに、実行するテストケースもコマンドラインから指定できるようになりました。正規表現による指定も可能です。
    内部的には、コマンドライン解釈にoptparseを使用するようになりました。
  • gotoyuzo: ext/opensslで、OpenSSL::ASN1というモジュール(とその配下の幾つかのクラス)が追加されました。
    DER encoder・decoderというもののサポートの追加なのだと思うのですが、私の不勉強によりよくわかりません。

_ 10月4日分。

  • akr: lib/pathnameで、Pathname#to_sはインスタンス変数@pathをそのまま返すのではなくその複製を返すようになりました。インスタンス変数@pathinitialize時にfreezeされるようになりました。
  • akr: lib/pathnameに、Pathname#childrenというメソッドが追加されました。パスが指すディレクトリ内の全ファイルのうち、'.'・'..'を除くものを配列で返します。
  • akr: lib/pathnameに、Pathname#each_lineというメソッドが追加されました。Pathname#foreachlinealiasです。
  • eban: 2003-10-04
  • nahi: lib/xsdで、一部のプラットフォームでXSDFloatXSDDouble-0.0の符号を失ってしまう問題が解決されました。今度はばっちりです。
  • gotoyuzo: ext/opensslで、OpenSSLにX509V3_set_nconf()という関数がないとき、コンパイルに失敗する問題が修正されました。そのような環境ではOpenSSL::X509::ExtensionFactory#config=NotImplementedErrorを発生するようになりました。
  • why: ext/syckで、Syck::Loader@anchorsというインスタンス変数が追加されました(外部からアクセス可能)。
    ... えーと、わかりません。ごめんなさい。YAML勉強しなきゃ。
  • why: ext/syckで、内部バッファサイズが256KBから16KBに小さくなりました。
  • ntalbott: lib/test/unitで、Test::Unit::TestSuite#<<がテストの配列を返していたのが、selfを返すようになりました。
    Test::Unit::TestSuite#deleteというメソッドが追加されました。その名の通り、指定されたテストを削除します。
    Test::Unit::Collector::ObjectSpace#collectが上記二つの変更に追従し(というか、このために上記二つの変更が行われました)、テストスイートの階層(hierarchy)を保存するようになりました。
  • akira: lib/uri/ftp・lib/uri/mailtoで、URI::FTP#to_strURI::MailTo#to_strがそれぞれto_sに名前を変更されました。[ruby-dev:21473]
  • akr: lib/pathnameで、Pathname.new\0を含む文字列を引数で与えるとArgumentErrorが発生するようになりました。
  • akr: lib/pathnameで、Pathname#relative_path_fromというメソッドが追加されました。引数からselfへの相対パスを返します。
  • akr: lib/pathnameで、Pathname#each_entryというメソッドが追加されました。旧来のPathname#dir_foreachと同じです。
  • akr: Pathname#foreachlinePathname#chdirPathname#dir_foreachPathname#foreachはそれぞれobsoleteになりました。
    それぞれ、代わりに、Pathname#each_lineDir.chdirPathname#each_entryPathname#each_lineまたはPathname#each_entryを使ってください。
  • nahi: lib/soapが最新の[RAA:http-access2]に追従しました。
  • nahi: lib/soapで、SOAP::RPC::CGIStubが"Status: XXX MMM"という行をHTTPサーバ(むしろHTTPクライアント?)に返すようになりました。たぶん[ruby-list:38460]の結論。
  • eban: 一部のプラットフォームで、rubyの構築中にminirubyがSystemStackErrorを出して止まってしまい、rubyを構築できないという問題が修正されました。[ruby-dev:21483]
    具体的には、gc.cのInit_stack()で、変数spaceの型がdoubleからunsigned intになりました。

_ 10月5日分。

  • seki: lib/drbで、スレッドからの脱出にreturnではなくbreakを使うようになりました。
    devあたりで見た気はするのですが、覚えてません...
  • seki: lib/drbで、ACLクラス(lib/drb/acl.rb)が追加されました。IPアドレス単位でのアクセス制御が可能になります。
  • seki: lib/drbで、DRb::DRbSSLSocketクラスが追加されました。
  • ntalbott: lib/test/unitで、各アサーションの出すメッセージがより親切に(テスト対象に依存したものに)なりました。
  • ntalbott: lib/test/unitで、アサーション内での例外にはバックトレースのフィルタリングが適用されるようになりました。
  • matz: beginrescueelse構文で、rescueされた場合にもelse節が実行されるバグが修正されました。[ruby-dev:21482]
  • matz: オブジェクトがmarshal_dumpから回ってきた場合、Marshal内部でダンプできなくてもエラーが起きなくなりました。
    ... でいいのかな。
  • matz: def foo &block; endまたはdef foo *block; endがsyntax errorになるバグが修正されました。
  • matz: irbで、class ::Fooという構文が許容されていなかった問題が修正されました。[ruby-talk:83514]
  • eban: 2003-10-05
  • ntalbott: lib/test/unitで、テスト失敗時のメッセージが微妙に改善されました。
  • ntalbott: lib/test/unitで、可能であればppを使うようになりました。Test::Unit::Assertions#use_pp=falseを代入すればこの挙動を抑制できます。
  • nahi: lib/open-uriで、no_proxyが効いていなかった問題が修正されました。[ruby-dev:21484]
  • ntalbott: lib/rubyunitが最近のTest::Unitの変更のせいで動かなくなっていた問題が修正されました。
  • nahi: lib/xsdで、XSD::XSDDateTime内部のRationalから数値文字列への変換時のバグが修正されました。
  • nobu: 式の評価順序が曖昧だったり不定だったりした(rubyをコンパイルした処理系に依存していた)部分が固定されました。[ruby-list:38431]
  • seki: lib/rindaが追加されました。
  • gotoyuzo: ext/opensslで、OpenSSLのバージョンによっては存在しないことがあるエンジンのチェックが追加されました。これにより、構築に失敗していた環境でもビルドが通るようになりました。
  • nobu: ENDブロックがあるとエラーが発生するようになっていたバグが修正されました。[ruby-dev:21497]

_ 疲れた。

[onsen] 回想

_ ぽつぽつと覚えていることを。

_ 土曜日の朝、地元の駅でZnZさんと合流して、午前9時頃出発。
淡々と阪神高速を抜け、淡々と中国道を走り、午前10時頃加西SA(not葛西)で朝食。ちなみに私は天ぷらそば。SAで猫とちょっとたわむれたり。
朝食後も淡々と中国道を走り、淡々と米子道を走り、終点で高速道路から吐き出される。このとき12時頃。

_ 実は私は目的地周辺の地図しか見ていなかったので(ひどい)、ここから現地へどうやって行くのがいいのかわからないという問題が発生。
「まあ、国道9号線でいいはずだよねー」と思いながら走ってみる。
走り出すとすぐ「有料道路」という看板に変わったので、これを避けて無料の9号線を走り続けることにする。実はこれが失敗だった。
走っても走っても「玉造温泉」とか「玉湯」とかいう看板が見えないので不安になってくる。ひたすら走ってるうちに開始時刻の13時を過ぎる。しょぼーん。
遅刻確定したのでコンビニで昼食を確保。ついでに地図を確認し、道が間違っているわけではないことは確認。

_ 結局13時半頃に宿に到着。車を捨てて会場へ。
3階の会議室に「遅れてすみませーん」と言いながら入ってみたら... 誰もいねーよ!
ホワイトボードに「2階の喫茶にいます」という書き置きがあるのを発見。ZnZさんと二人でもぐもぐとコンビニおにぎりを食べた後、その喫茶店に行ってみる。
...
みんな昼飯食ってるよ! 買ってこなくてよかったじゃん!
しかたないのでソフトクリームでも食べよう... と思ったのだけど、注文取りに来ないし。

_ 3階に戻ってミーティング開始。
いつものように自己紹介があって、そのあとはRubyのコアについていろいろ聞こう、という時間。せっかくなのでいくつかまつもとさんに質問してみました。

  • Q: 1.8.1はいつ出るのー?
    A: 9月30日にpreview1が出ることになっていました。
  • Q: 1.9と1.8はいつブランチがわかれるのー?
    A: 1.8.1が出たら。
  • Q: 1.9では何をするのー?
    A: メインはGenerational GCとm17n。あと細かいのを幾つか。
  • Q: 1.9でstdio排除はやらないのー?
    A: どうかなー。余力があれば。

他にもなんか聞いたっけ?
なぜか「へぇー」「へぇー」と会場にへぇボタンの音が響き渡っていたり。

_ 括弧の省略の話になったので、「レシーバがなくてかつ引数がない場合(つまり外見上変数へのアクセスかメソッド呼び出しかを区別できない場合)には括弧が省略できない」という仕様を提案してみる。うまくいくか悲惨なことになるかは知りませんが(無責任)。

_ そのへんの流れで、ささださんが「def foo &argってsyntax errorですよね」と言い出す。会場は「へぇー」の嵐。
def foo(&arg)def foo a, &argは通るのでこれはバグでしょう、という結論になって、画面をプロジェクタで投影して、まつもとさんによるrubyインタプリタデバッグ実演会開始。
「直った」「いやmake testも通してください」「通った」「いやtest/runner.rbも通してください」「通った」「いやテストも追加しておいてください」「追加した」というやりとりがあったりなかったり。
そのときの修正内容そのままかどうかは確認してませんが、これそうです。

_ RHG読書会サンプル(?)。そうか読書会ってこういうことしてたのか。
第2章だったので、「すべからく」にみんなで一斉にツッコむ。まあお約束。詳しくは正誤表参照。
まつもとさんによるアイデンティティの解説があったり、なぜstruct RNodeの中身がああなのか、の説明があったり。

_ ささださんによる、次世代開発環境についての発表。
いやー、すばらしい内容でした。感動しました。さすがです。

_ てなあたりで時間が来たので宿へ移動。
とりあえず宴会の時間まで温泉。温泉については昨日書いた通り。
温泉から出たら「宴会まであと2分!」というイベントがあったりなかったり。

_ 宴会は食べても食べてもきりがなく。食べすぎだー。
各自いろいろ談笑してたわけですが、中でもスーパークリエーターはやはり只者ではありませんでした。

_ 宴会後は各自思い思いに部屋で楽しむということに。
基本的には剣を振る人たちと(飲みながら)お話する人たちに別れていたんだと思います。で、随時温泉に入る、と。
私は剣を振る人たちだったのだけど、やはり某勇者による「超かっこいい」模範演技がすばらしかったです。どうやっても絶対に必殺技が決まらないあたりが特に!
んで、その後はみんなで剣を振る練習とか。
スライムを切って切って切りまくったり、みんなですこすこと必殺技を決めて某勇者いぢめをしたり。

_ 1時くらいになったところで(何時間剣を振ってたんだよ!)、まつもとさんがお帰りになる前にサインを貰おうということでお話部屋に移動。
おっと、書き忘れていたけど、現地の人と大きく遅れてきた人以外にはまつもとさんから「RUBY IN A NUTSHELL」がプレゼントされたのでした(ありがとうございます>まつもとさん)。というわけで、ミーハーな私はいつものようにそれにサインを貰ったのでした。
お話部屋では、なかださんのhack速度とか、飛行機とコンピュータはどっちがエライとか、日本Rubyの会とか、まつもと総裁とか、ユーザはデベロッパを含む...ように見えて実は含んでいないかもとか、自動応答は「お兄ちゃん、いいよ」にしようとか、「そいつ殺せない」とか、えーとあとなんだっけ。
などなど楽しいお話をして、まつもとさんがお帰りになったところで(少なくとも私は)就寝。

_ ...

_ 朝!
フロントからの電話の音でもそもそと起床。
あー、部屋中(5人)みんな熟睡だったのね。で、今何時? ...朝食に遅刻かよ!
あわてて朝食会場へ。あわてすぎていったん間違えたのは内緒だ。
ついたら全員いるし。寝過ごしたのはうちの部屋だけかよ!

_ 朝食後は私は朝風呂へ。ふつう、朝食の前に行くものだと思うけど、寝過ごしたので消化に悪いけど食後のお風呂。
おお、誰もいない。完全貸し切り状態だ! というわけで、一人で30分ほど露天風呂とか内風呂とかで泳いだりして遊ぶ。

_ 10時前にチェックアウトということでロビーに集合。
なぜか某勇者が現れない... と思ったらこういうことだった

_ ここでいったんお開き、だったんだけど、それなりの人数が連れ立って車で出雲大社へ。
IEマークが気になったり、猿が踊ってたりしているうちに到着。
出雲大社って階段がないなあ、ということに一人感心する私。いやほら、ふつう、神社って階段を上るもんじゃないすか。これはきっと、古代の社殿が48メートルの高さで上るのが大変だったので、もう階段を上らなくていいように建て直したに違いない、という説を披露してみたり。
あとは巫女さんキターとか、巫女さんキターとか、巫女さんキターとか。
あるいは、突如コイン投げゲーム開始とか。
あるいは、絵馬でネタ探しとか。
あるいは、観光案内写真の撮影技術に思いをはせたりとか。
あ、お昼は出雲そばを食べました。

_ 出雲大社でたっぷり遊んだ(ふつうは遊ばないと思うんだけど)あとは、空港組、松江駅組、ダメ組に別れて解散。
ダメ組は空港組に着いて行く予定だったのだけど、いきなり最初の交差点を逆に曲がって失敗。
さんざん回り道をしたあげく、ようやく空港に到着したら、みなさんとっくに喫茶店でマターリしてらっしゃったのでした。
ここでは主にAQUAネタで盛り上がったり。

_ 時間が来たのでみなさんお元気でー、というわけで、16時半頃、最初と同じくZnZさんと二人で一路大阪へ。
しかし、米子道に入る前から既に寝ながら運転してしまう私。
大山PAでカフェイン剤を投入して、なんとか睡魔に耐えつつ走る走る走る。
トンネル入り口の謎の絵がなかったら途中で死んでたかも。
米子道を過ぎて、中国道に入って、またしても加西SAで休憩。19時過ぎ。ここで夕食を食べて、あとは大阪へ。
最後阪神高速で渋滞にあったけど、21時過ぎに駐車場に帰還。ZnZさんと別れて自宅に帰着。即座に就寝。

_ 例によっていろいろ抜けてると思うけど、こんな感じでした。
とても楽しかったです。みなさまありがとうございました。特に幹事の高橋さん、ほんとうにありがとうございました。
来年もまたどこかの温泉でやれるといいですね。

[onsen] 追補編

_ 今回の公式(?)なログはこちら

_ 思い出した。ruby-dev summaryの件。
何をどこでどのようにやってるのかわかんないから参加しにくいのだ、というわけで、適当な週に、普段作業MLでやっていることをruby-listあたりで実際にやってみせて、「これならやれそう」と思った人に参加を呼びかけるのはどうか、という話がありました。

_ 萌えについて
私にはよくわからないので、ささださんによくわかるようになってもらって教えてもらおうという計画なのです。
つーか私は嫁一筋なので。放置してるけど。

Oct.7,2003 (Tue)

Revision: 1.1 (Oct.07,2003 11:21)

[Changes]

_ 10月6日分。

  • matz: Procクラスの子孫のクラスのnewに対してブロックを引数として渡していた場合(に限定していいのかな)に、対象のクラスではなくProcクラスのインスタンスが生成されていたバグが修正されました。[ruby-talk:83685]
    内部的には、可能ならばブロックオブジェクトのキャッシュを使い回していたのですが、クラスが異なるときはキャッシュを使わずに生成するようになったようです。
  • matz: Marshal.dump時に、marshal_dumpメソッドを持つオブジェクトでは、インスタンス変数をdumpできなくてもエラーにはならないようになっているのですが、インスタンス変数のインスタンス変数など、元のオブジェクトから間接的に参照されているオブジェクトがdumpできない場合はエラーになっていた、というバグが修正されました。[ruby-dev:21496]
    内部的には、w_object()のフラグ引数weakの値がちゃんと引き継がれるように変更されました。
  • matz: lib/mkmf.rbで、運が悪いとNoMethodError(たぶん)が出ていた問題が修正されました。[ruby-core:1583]
  • matz: メソッド内でのENDの定義は今までsyntax errorでしたが、警告に緩和されました。[ruby-dev:21519]
  • eban: 2003-10-06
  • nobu: T_DATAなオブジェクトをmarshalする場合は_dump_dataメソッドが必要なのですが、例外のメッセージではmarshal_dumpを要求していたバグが修正されました。
  • akr: ext/socketで、構築時、sendmsg()があるときはrecvmsg()の有無を調べていなかったのを、ちゃんと調べるようになりました。
  • akr: ext/socketで、10月1日の修正の際にthread_read_select()が削除されてしまっていたのですが、復活しました。
  • nahi: lib/csv.rbで、対象となるオブジェクトがbinmodeメソッドを持っている場合(おそらく普通のIOの場合でしょう)はそれを呼ぶようになりました。

_ このChangesをどうやって書いているかですが、毎日届くcommit mailを元に、commitログ、該当する(はずの)ChangeLog、ソースの差分、あれば関係するbugsや各メーリングリストの記事、を見ながら自分なりに適当にまとめています。
わからないところはIRCでrrrのみなさんに教えてもらっています。ありがとうございます。(でも間違いがあったらそれは私の理解不足のせい)
間違いや漏れに気づいた方はお気軽にご指摘ください。

[ゲーム] YsVI

_ Lv32、剣1Lv7、剣2Lv7、剣3Lv6。
次のボスは蜂だと思うんだけど、ちょっと今のレベルで勝つのは辛いなあ。
というか、Lv29からずっとレベル上げが続いているのですが...

Oct.8,2003 (Wed)

Revision: 1.3 (Oct.08,2003 22:03)

[Changes]

_ 10月7日分。

  • gotoyuzo: ext/openssl。OpenSSL::ASN1::ObjectId#oidOpenSSL::ASN1::ObjectId#short_nameOpenSSL::ASN1::ObjectId#long_nameの各メソッドが追加されました。short_namelong_nameにはそれぞれsnlnという別名もあります。
    何をするものなのかはよくわかりません...
  • matz, nobu: 本来、右辺に*がある場合のみ#to_aが呼ばれるはずだったのですが、左辺に*がある場合も#to_aが呼ばれていた、という問題が修正されました。[ruby-dev:21527]
    内部的には、新しいノードタイプとしてNODE_TO_ARYが追加されました。
  • matz: 今まで、ENDのネストが2回までしか許されていませんでしたが、3回以上のネストも可能になりました。また、ENDブロックが複数あったりネストしたりしている場合の各ブロックの実行順序が変更されました。[ruby-dev:21513]
    削除部分は間違い。変更されたのはephemeralなENDブロックと非ephemeralなENDブロックの実行順序。ここで、「ephemeralなEND」とは、anonymous moduleでロードしたライブラリで登録したEND、だそうです([ruby-dev:21516])。
  • akr: ext/fcntl。Fcntl::O_ACCMODEという定数が追加されました。もちろんO_ACCMODEが定義されているプラットフォームのみです。[ruby-dev:21531]
    削除部分は大間違い。O_ACCMODEが定義されてない環境でも、Fcntl::O_ACCMODEという定数は定義されます。
  • mneumann: lib/xmlrpc。XMLRPC::ModRubyServerが最近のmod_rubyの仕様に追従したようです。また、XMLRPC::ModRubyServer.newを自前で定義していたのがなくなりました。
    ChangeLog書けー!

_ おまけ。久し振りに、RUBY_RELEASE_DATEの変更されない一日でした。

[ゲーム] YsVI

_ Lv40、剣1Lv9、剣2Lv8、剣3Lv8。
蜂に勝てなくて困っていたのだけど、蜂に勝てなくても洞窟の敵のほとんどには勝てるということにようやっと気づいた。おかげでレベル上げができて、蜂撃破。その後もがんばって、次のボス(二本腕ビーム)も倒して、街に戻ってきたところまで。

Oct.9,2003 (Thu)

Revision: 1.1 (Oct.09,2003 00:47)

[Changes]

_ 10月8日分。

_ 変更はありませんでした。わーい。
...
と、書こうと思っていたのですが、(日本時間の)夜遅くなってからcommitがありました。

  • ntalbott: lib/test/unit。大きく変更されていますが、基本的にはリファクタリングのようです。
    lib/test/unit.rbから、引数の処理やテストの実行を行う部分などがTest::Unit::AutoRunnerとしてlib/test/unit/autorunner.rbに切り出されました。
    lib/test/unit/ui/testrunnermediator.rb内のテスト実行中フラグがTest::Unitモジュールに引っ越しました。
    lib/test/unit/collector/objectspace.rbから、テストの収集を行う部分がTest::Unit::Collectorとしてlib/test/unit/collector.rbに切り出されました。
    lib/test/unit/collector/dir.rbが追加されました。Test::Unit::Collector::Dirクラスはディレクトリ階層を辿ってテストを収集します。使用例はtest/runner.rb。
  • eban: 2003-10-08

Oct.10,2003 (Fri)

Revision: 1.2 (Oct.11,2003 01:03)

マーシャライザ

_ マーシャとライザはとっても仲の良い姉妹でした。
でも、実は、二人は本当の姉妹ではなかったのです...

_ とかいうお話を用意してあったのですが、うちのサーバが落ちまくったあおりをうけてどこかへ行ってしまいました。
舞台は1955年ごろのロシアだとか、ライザは実は大祖国戦争の時にマーシャの父がベルリンで拾った赤ん坊だったとか、いろいろ設定も考えてあったんだけどな(考えるなよ!

[Changes]

_ 10月9日分。

  • nobu: ENDブロック内でバックトレースがずれるバグが修正されました。先日来の修正で混入したバグのようです。[ruby-dev:21551]
  • nobu: スレッドから値付きのbreakで抜けた場合にも、スレッドの値が常にfalseになっていたバグが修正されました。[ruby-dev:21552]
  • nobu: 空ノードは実行時に単にスキップするようになりました。
    たぶん、わずかにインタプリタの実行速度が向上するのだと思います。
  • eban: 2003-10-09
  • nobu: $SAFE1または2at_exitブロックを登録しても、そのat_exitブロックが実行されるときにはブロック内の$SAFE0であるという問題が修正されました。[ruby-dev:21557]
    内部的には、ProcオブジェクトではFL_USER1FL_USER3$SAFEの記憶領域として使用するようになりました。今までは$SAFE用としてはFL_USER1FL_USER2だけを使用していました。
  • matz: marshalできないオブジェクト(IOなど)をmarshal_dumpで返すと、Marshal.dump時でなくMarshal.load時にエラーとなるバグが修正されました。[ruby-dev:21555][ruby-dev:21561]
  • matz: Array#packで、-1"U"でpackしたときのメッセージが変更されました。[ruby-dev:21567]
  • matz: Time#_dumpの実装が変更されました。どうやらTimeクラスはmarshalのテストヘッドのようです。
  • nobu: 先の変更で発生していた、生きているスレッドがGCされてしまう問題が修正されました。[ruby-dev:21572]

ファイナライザ

_ 1964年...
自らの出生の秘密を知ったライザは東ベルリンに向かう。そこは、未だ戦争の傷跡の色濃く残る、壁に分断された街だった。
あてもなく街をさまようライザに、謎の中国美女、ファイナが接触する。彼女の真の目的とは!?

_ すまん、もうネタ切れ。


被捕捉アンテナ類
[\ay antenna (testing)] [Ant] [Antenna-Julia] [LayserあんてなV2] [nAntenna] [nuance de Antenna] [Rabbit's Antenna] [Read List] [Ruby hotlinks 五月雨版 (るるりん。)] [してたま (私的アンテナ with たまてばこ)] [ただのあんてな] [ちゃらんぽらん] [でこぽんリンク] [なよろアンテナ] [にっきトレーサー] [偽善者あんてな - 2nd season -] [湘南日記放送局(SDB)] [はてなの各アンテナ]