今日は玉造温泉旅館協同組合の温泉解放日で、加盟15旅館の大浴場を無料で解放するというイベントがあった。
ここに引っ越してきてもう6年になるのだが、 年に1度2日間だけ無料解放するこのイベントに参加したことはなかった。 今年はちょうど予定がなにもなかったので、家族みんなで温泉に入ることにする。
しかし、
と3件入ったところで、のぼせてくる。このペースでは15件全部に入るには、 あと5年はかかるな。
しかし、歩いて温泉旅館のはしごができる環境というのは幸せな気がする。
自宅がADSLになったので気楽にCVSコミットができるようになったのは良いが、 調子に乗ってバグが残ったままコミットしてしまったのが数件。すいません。
で、直したバグのリスト。
numeric.c (num_equal): should not use rb_equal().
a <=> b がnilの時には、==もnilを返すように。 [ruby-dev:20759]での斎藤さんの指摘を受けて
string.c (rb_str_equal): should return nil for non string operand to conform comparable convention. [ruby-dev:20759]
同上。to_strがない場合にはfalseでなくnilを返すように。
lib/tmpdir.rb: new library to get temporary directory path, using GetTempPath on Win32 environment.
Win32環境ではGetTempPathというAPIがあるそうなので、それを使う。 「これでWindowsでは/tmpがない」という苦情に対応できるか。 もっとも、セキュリティ的に大丈夫かという不安は残る。
lib/tempfile.rb: now uses tmpdir.rb.
新しく作ったtmpdir.rbを使うように。
string.c (rb_string_value_cstr): check null byte in the string before retrieving C ptr. accessed via macro StringValueCStr.
StringValueCStrというマクロを使うとstringが\0を含んでいるかどうかチェックする。
file.c (sys_fail2): raise error for two operand system calls such as rename, link, symlink. (ruby-bugs PR#1047)
2引数のシステムコールで両方のパスを表示するように。 allocaを使うのは不用意だろうか。