coding-system iso-2022-7bit and iso-2022-jp
Yoshiki Hayashi
t90553 @ mail.ecc.u-tokyo.ac.jp
1999年 12月 2日 (木) 18:28:45 JST
Mikio Nakajima <minakaji @ osaka.email.ne.jp> writes:
> At 29 Nov 1999 19:47:53 +0900,
> Yoshiki Hayashi wrote:
>
> > japanese.el はたぶん同じです。
> >
> > で、そもそも、私の環境では、
> > (coding-system-property 'iso-2022-jp
> > 'input-charset-conversion)
> > が nil を返すので、and の続きのcopy-coding-system は実行され
> > ない、というのが私が一番言いたかったことです。
>
> えぇっと、多分林さんがおっしゃりたいことをぼくは全く分っていません
> (^^;;。
ごめんなさい。中島さんのおっしゃりたいことがわかっていません
でした。m(..)m
> (make-coding-system
> 'iso-2022-jp 'iso2022
> "Coding-system used for communication with mail and news in Japan."
> '(charset-g0 ascii
> short t
> seven t
> input-charset-conversion ((latin-jisx0201 ascii)
> (japanese-jisx0208-1978 japanese-jisx0208))
> mnemonic "MULE/7bit"
> ))
>
> を含んでいる japanese.el は一緒なのに、
>
> (coding-system-property 'iso-2022-jp 'input-charset-conversion)
>
> が nil を返す、というのは正しいのでしょうか? それとも iso-2022-jp が
> lisp/mule/japanese.el 以外で define されている、ということ?
正しくないです。
中島さんの testcase に (require 'mcharset) があるのを完全に
見落としていました。
(featurep 'pces-xm)
--> nil
(with-temp-buffer
(let ((coding-system-for-read 'binary))
(insert-file-contents mesg)
(re-search-forward "^$")
(forward-line)
(beginning-of-line)
(narrow-to-region (point) (point-max))
(require 'mcharset)
(decode-coding-region (point-min) (point-max) 'iso-2022-jp-dos)
(find-charset-region (point-min) (point-max)) ))
--> (japanese-jisx0208 ascii) ; 化けない。
の時点で
(featurep 'pces-xm)
を評価すると、私の環境では t になります。
つまり、
(progn
(and (coding-system-property 'iso-2022-jp 'input-charset-conversion)
(copy-coding-system 'iso-2022-7bit 'iso-2022-jp))
(and (coding-system-property 'iso-2022-jp-dos 'input-charset-conversion)
(copy-coding-system 'iso-2022-7bit-dos 'iso-2022-jp-dos)) )
の時点では、既に
(coding-system-property 'iso-2022-jp 'input-charset-conversion)
は nil を返します。
# これで勘違いをしてしまったみたい。(^^;;
インストールされている APEL のバージョンは ... わかりません。:-)
(require 'mcharset)
(require 'mcs-e20)
(require 'poem)
(require 'pces)
(require 'pces-xfc)
(require 'pces-xm)
という経路で呼ばれています。
最新版だと、
mcs-e20.el が
(eval-when-compile
(require 'static)
(require 'poem)
)
となっているために、ここでは呼ばれないようです。
で、とりあえず中島さんと私の環境での APEL の差異はわかったの
ですが、やはり再現しません。
# APEL のバージョンアップは、講義が終わってもおそらくまだ気
# 力が残っていると予想される明日にやってみます。
(require 'mcharset)
をはずして test case を評価しても、全く同じ結果になるのでしょ
うか? 後、iso-2022-jp と iso-2022-jp-dos じゃなくて、
iso-2022-7bit, iso-2022-7bit-dos で試してみてもだめでしょう
か。また、
(coding-system-property 'iso-2022-jp 'output-charset-conversion)
の値はどうなっていますでしょうか。
# input-charset-conversion は内部 code に変換しているときに
# 使われるはずなので、これが影響しているとは考えにくいです。
# そうすると、copy-coding-system に虫がいるのかもしれません。
--
Yoshiki Hayashi
More information about the APEL-ja
mailing list