Re: make-ccl-coding-system の 、バージョン依存の動作に ついて (Re: Quoted-Printable なエンティテ ィの保存に失敗する )

[email protected] (守岡 知彦 / MORIOKA Tomohiko) 06 Sep 2008 23:58:56 +0900
Newsgroups gmane.mail.emacs.mime.japanese
Message-ID <[email protected]>
>>>>> [apel-ja : No.01450] にて
>>>>> Kazuhiro Ito <[email protected]> さま曰く:

> さて、この mel-ccl-quoted-printable-lf-lf-rev という coding system は
> APEL で提供される make-ccl-coding-system を用いて作られています。
> 
> ところが、make-ccl-coding-system を用いて coding system を作った場合、
> Emacs 21以降とそれより前では動作が異なります。
> (以下はソースからの推測もまじります。
>  Meadow (Emacs 20.7.1) と Meadow2 (Emacs 21.4.1) 以降で異なる事は
>  確認しました。)
> Emacs 20.7 までは EOL type が LF に設定されますが、
> Emacs 21.1 以降 では EOL type が undecided に設定され、
> -unix, -dos, -mac が末尾についた coding system も同時に作成されます。
> 
> これは、make-ccl-coding-system から呼び出される make-coding-system の
> 動作が変わった事によります。
> Emacs 21 以降の make-coding-system は、オプションの引数 eol-type が
> 増え、指定しない場合は EOL type が undecided な coding system を
> 作成するようになりました。
> Emacs 20.7 以前は CCL based な coding system の場合、常に EOL type は
> LF になっていたようです。
> 
> 取り敢えず Emacs 21 以降でも EOL type が LF な coding system のみが
> 作られるようにするパッチを添付します。
> APEL の仕様が分からないので FLIM とどちらで対策すべきかも
> 分かりませんが、仕様と対策をご検討いただければ幸いです。

伊藤さま、御報告ありがとうございます。

APEL としてはどうすべきか悩ましいのですが、個人的には Emacs 21.1 以降
の仕様に合わせるのが良いような気がします。

・APEL としては、関数 make-ccl-coding-system にオプショナル引数 
  EOL-TYPEを追加する

・FLIM では EOL-TYPE として 'unix を指定する(本当は、Emacs 21.1 以降
  用に CRLF と LF の変換用コードを削ったものを用意しちゃえば良いかも知
  れませんが)

というのではいかがでしょうか?

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