■
予定していた encoding interface
ヤマケンさんに忠告と相談。str2int()/int2str() はそれぞれ内部用と I/O 用の二種類が要ります。
static ScmMultibyteCharInfo iso2022kr_scan_input_char(ScmMultibyteString mbs);
とかいう怪しい宣言が入ってるのはそのための分離です。わかってたかも知れませんが一応。
で、相談の方。元々この辺は自分で仕上げようと思ってやってたのがやる気が萎えたものなのでちょっと無責任ですが御容赦を。str2int() と scan_char() では必然的に refactor してくれと言ってるかのような code が並ぶかと危惧してたんですが、実際の commit を見てみると正にそんな感じです。そこで scan_char() 系に int 化したものを返させて str2int() はそれの wrapper か alias にしてはどうかと思うんですがどうでしょう。私は今 macro とそれが終わったら Hurd を弄りたいので encoding やる気がないんですが。
[Programming] 一月前の自分は赤の他人
/* Every encoding implements the
_scan_char()
* primitive. Its job is to determine the length of the first
* character in the given string. Stateful encodings should save
* their state *at exit*, that is, the state right after reading the
* first character (so don't omit it). */
encoding.c より。
最後の "it" の antecedent は何なんだろう。何を省略するなと言いたかったんだろう。State の保存処理? それの省略はただのバグのような。
単に推敲の際に残ったゴミだったんだろうか。うーむ…(ぉ
あと第二文の頭の its も読んでみると響きが変。Their のがいいようなどっちでもいいような。文法的には実際に文に出現する名詞 (この場合 "encoding" だから単数形) しか antecedent にできないんだったっけ。つぅか文法わかんね(ぉ
あ、あと第二語は s/encoding/codec/ の方が正確だな。きりがないから修正しないけど。
…と愚にもつかないような事ばかり考えて生きています。