FLIM 1.14 API (Re: flim-1_13-rfc2231 vs flim-1_14-rfc2231)

守岡 知彦 / MORIOKA Tomohiko tomo @ kanji.zinbun.kyoto-u.ac.jp
2001年 5月 1日 (火) 13:18:08 JST


>>>>> <86vgno8cu0.fsf_-_ @ aqua.ocn.ne.jp> にて
>>>>> “修平”= Shuhei KOBAYASHI <shuhei @ aqua.ocn.ne.jp> さま曰く:

修平> > FLIM の RFC 2231 対応の main trunk への merge を検討しているの
修平> > ですが...

修平> これに関連するのですが, FLIM-API.en に関していくつか質問があります.

まず最初に述べておきたいのですが、この文書は表題にあるように原案です。


修平> `mime-parse-Content-Type' に関する記述が 2 か所に出てきますが,

修平> | * MIME content information
修平> | 
修平> | ** How to use
修平> | 
修平> | (require 'mime)
修平> | 
修平> | 
修平> | ** Content-Type
修平> | 
修平> | [Function] mime-parse-Content-Type (string)
修平> |   Parse STRING as field-body of Content-Type field, and
修平> |   return the result as `mime-content-type' structure.

修平> [...]

修平> | * MIME Field parsing
修平> | 
修平> | ** How to use
修平> | 
修平> | (require 'mime)
修平> | 
修平> | 
修平> | ** Level 2 features
修平> [...]
修平> | [Function] mime-parse-Content-Type (string)
修平> |   Parse STRING as field-body of Content-Type field.
修平> | 
修平> | Return value is
修平> |     (PRIMARY-TYPE SUBTYPE (NAME1 . VALUE1)(NAME2 . VALUE2) ...)
修平> | or nil.  PRIMARY-TYPE and SUBTYPE are symbol and NAME_n and VALUE_n
修平> | are string.

修平> Q1. "Level 2 features" って何ですか?

修平> std11 の方には "Level 1 features" という記述もあるみたいですね.

「実装水準 1」「実装水準 2」という形式で書こうとしていた頃の名残です。
現在では意味がありません。

これは新しい形式に直し切れてない部分です。mime-parse-Content-Type は
[Suggest] と思ってください。


修平> Q2. ("Level 2 features" では?) `mime-content-type' 型の構造まで定めて
修平>     しまうのですか?

修平> Q2-1. 現在の FLIM 1.14 実装とは `mime-content-type' の構造が異なって
修平>       いますが, これは FLIM 1.14 実装の bug なのでしょうか?

これは FLIM-API.en の bug, というか作業途中の部分です。

;; 冒頭の形式になっていない部分は作業途中であると考えられます。


修平> Q2-2. IMAP4 では parameter list を alist ではなく plist で表現してい
修平>       ますが, FLIM の特定の実装でも同様に plist を採用するというのは
修平>       許容されないのでしょうか?

許されるでしょう。

少なくとも私の方針としては、FLIM API では必須の service (総称関数) と
method を定めるだけにしたいと思っています。


修平> Q2-3. `mime-content-type-parameters' の返り値の型は?

修平> | [Inline function] mime-content-type-parameters (content-type)
修平> |   Return parameters of CONTENT-TYPE.

修平> `mime-content-type' 型の構造が API に含まれないとなれば, この関
修平> 数の返り値の型は実装依存になりますね.

そうなりますね。

`mime-parameters' 型が満たすべき条件と `mime-parameters' 型に関する
API を追加するのが良いと思っています。
 
修平> そもそも, `mime-content-type-parameter' と
修平> `mime-content-type-parameters' の両方があるのは冗長ではないです
修平> か?

冗長ですが、そのことが問題だとは思いません。


修平> >>>>> In <861yqc9ue3.fsf @ aqua.ocn.ne.jp>,
修平> >>>>> Shuhei KOBAYASHI <shuhei @ aqua.ocn.ne.jp> wrote:
修平> > このため flim-1_13-rfc2231 とは異なり, API の拡張[*]は不要になっ
修平> > ています.

修平> flim-1_13-rfc2231 が「API の拡張」と呼ぶところの変更は 
修平> `parameters' を外に見せているために必要となったもので,
修平> `mime-content-type-parameter'だけを使用していれば API の変更は不
修平> 要ではないでしょうか?
修平> ;; language info 関連を除く.

修平> あ, "[Inline function]" と規定しているのも問題ですね.
修平> `mime-content-type' 型の詳細を隠蔽できなくなってしまいます.
修平> 守岡さんは(or FLIM API では) *.elc の互換性は気にしないのでしたっけ?

問題があれば修正してください。


修平> Q3. `make-mime-content-type' は API に含まれないのですか?
修平>     `make-mime-content-disposition' は? (現在の FLIM 1.14 実装では未定義)

必要なら追加してください。


修平> RFC 2231 からは離れますが,

修平> | [Function] mime-entity-encoding (entity &optional default-encoding)

修平> | [Function] mime-read-Content-Transfer-Encoding (&optional default-encoding)

修平> Q4. `default-encoding' は不要ではないでしょうか?
修平>     実際, FLIM 1.14 でも `(or (mime-entity-encoding entity) "7bit")' の
修平>     ような書き方がされています.

Content-Transfer-Encoding 欄が無かった時に "7bit" を返すようにしようか
と思ってた頃の名残ですね。

nil を返すように定義するならばそれで良いと思います。

修平> ちなみに, flim-1_14-rfc2231 では `default-encoding' をこっそりと廃止して
修平> あったのですが, 問題があるという報告は出ていません;-)


修平> FLIM-API.en には他にも気になる点がありますが, とりあえずここまで.

別文書で書き足していた部分を早急に merge します。

-- 
┯━…‥・懐かしい未来の記憶をふと思い出しかけた・‥…━━┯━━━┯━
││ ─ │  ─  /    ─   ┼─     ┬                ─   ─┼ ┬┴─
┼┼─┼|〓━─┼ 守岡 知彦 (MORIOKA Tomohiko) <tomo @ m17n.org> ─ ─┬
┻┻━┻━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━




More information about the Emacs-mime-ja mailing list