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

守岡知彦 / MORIOKA Tomohiko tomo @ m17n.org
2008年 9月 6日 (土) 23:58:56 JST


>>>>> [apel-ja : No.01450] にて
>>>>> Kazuhiro Ito <kzhr @ d1.dion.ne.jp> さま曰く:

> さて、この 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) <tomo @ m17n.org> ─ ─┬
┻┻━┻━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━





More information about the Emacs-mime-ja mailing list