Shiro Kawai
shiro****@lava*****
2006年 1月 17日 (火) 19:02:53 JST
From: Rui Ueyama <rui31****@gmail*****> Subject: [Gauche-devel-jp] Re: Gauche-zlib 0.1 Date: Tue, 17 Jan 2006 18:45:28 +0900 > コンディションなんですが、Scm_RaiseConditionでは合成コンディ > ションを投げられないですよね。zlibモジュールでは破損したデータ > の読み出しの際に<io-read-error>と<zlib-data-error>の合成コン > ディションを投げることにしているのですが、Scm_RaiseCondition > のAPIでは合成コンディションが扱えないように見えたので、使おう > と考えませんでした。 ああ、そうか。確かに合成コンディションはサポートしていません。 Cの場合、不定長の引数リストがさらに不定個ある、というようなケースを 扱うのがえらく面倒なので置いといたのですが、盲点でした。 Scm_MakeCompoundCondition/Scm_Raiseを使うのは繁雑にすぎますね。 Scm_RaiseConditionはScheme側のerrorの拡張APIに対応するものとして 実装したのですが、どっちかというとC側で複雑なconditionを簡単に 作れるようにしておいた方がいいかもしれませんね。そしたらそれを Scm_Raiseに渡すだけですから。 --shiro