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月 9日 (水) 13:57:29 JST


>>>>> [emacs-mime-ja : No.00867] にて
>>>>> “修平”= Shuhei KOBAYASHI <shuhei @ aqua.ocn.ne.jp> さま曰く:

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

修平> API 中の inline function を全て通常の function に修正してもいい
修平> のですか?

結論からいえば、上記に反対しません。但し、inline function という範疇は
残した方が良いと思います。(字面上の)機能の呼出し方にも関わりますので。


修平> >>>>> In <87wvy6icj4.fsf @ pc-hrvoje.srce.hr>,
修平> >>>>> Hrvoje Niksic <hniksic @ srce.hr> wrote:
修平> > Bad bad bad.  defsubst'ing a function is almost always wrong.

修平> に賛同する私としては, FLIM API に含まれる inline function が展開
修平> されてAPI に含まれない部分が *.elc に残るのは問題があると思って
修平> いるのですが, FLIM API が提供する互換性は *.el だけのものか,
修平> *.elc の互換性も保証するのかは議論されていないですよね?

(私の当てにならない記憶によれば)API が *.elc の互換性を保証するかと
いう問題に関してはまだ議論されていないと思います。ただ、私の当初の考え
では、FLIM API そのものは *.elc の互換性に関して言及しないものとしてい
ました。即ち、字面上の機能の使用法のみを規定し、どう compile されるか
とか ABI に関しては規定しないという立場です。Emacs 18 でも JEmacs でも
Guile でも実装可能であって欲しいと思うので。


修平> ;; FLIM 実装を差し替えても SEMI やその上の application を再 
修平> ;; compile したくはないということです.  flim-1_14-rfc2231 の 
修平> ;; lazy に decode するversion を試作した時に SEMI の再 compile 
修平> ;; が必要になったので.

ただ、このことは理解できます。FLIM ABI for GNU Emacs 20/21 とか FLIM
ABI for XEmacs とかを作るのはおそらくやりすぎでしょうから、inline
function に制限を加えることは現実的だと思います。

1つは API 上、inline function/macro を一切使わないということだと思い
ますが、macro を使わないとできないこととかもあるかも知れないので、そう
規定するのは留保したいです。

もう一つは、inline function が実際に展開される関数として実現されている
場合に、展開された結果利用される関数を規定するということです。例えば、

	(mime-entity-media-type entity)

は

	(mime-content-type-primary-type
	 (mime-entity-content-type entity))

のように、mime-entity-content-type と mime-content-type-primary-type 
に展開され得ると規定します。この場合、mime-content-type-primary-type 
は function とします。macro もできる限り展開先の関数を規定することにし
ます。

いかがでしょうか?

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




More information about the Emacs-mime-ja mailing list