[Mew-Win32 00062] 改行コード

Yoshinori Sakamoto/ 坂本佳則 yosino-s at example.com
1998年 1月 9日 (金) 10:34:33 JST


坂本@奈良県工業技術センターです。

 知人から、質問をいただいたので需要はあると思うのですが、以前 mew-dist 
で話題にさせていただいた、「IM を Windows で使うと crlf 改行になるので、
UNIX 環境と共用するとちょっと不幸になる」という問題ですが、これ、今で
は対処方法が分かっているのですけど、やはり、開発側の意向としては、
Windows 環境の IM は crlf 改行を標準とするお考えと理解させていただいて
宜しいでしょうか?

 とすれば、対処方法を紹介する必要くらいはあるかなと思いますので、ご質
問をいただいた知人に返したした返事を改めてご紹介させていただきます。

------------<<以下引用>>-------------------------------------------

> Mail フォルダを共有するときの改行コードの違いって確かに問題ですね。
> Windows95 側でセーブしたメールが読めません。逆はOKなのに...

んっと、私は手動で変えています。

1. まず、crlf になっちゃったものを UNIX 側で読むための処理。(今までに
   セーブしちゃったものはしょうがない(笑)。手動変換で対処できるならや
   らなくても良いです。)

  .emacs に、

  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; make coding-system for Win32
;;;
;;;
(cond ((eq system-type 'berkeley-unix)
       (cond
	((eq 19 emacs-major-version)
	 (make-coding-system
	  '*crlf2lf* 4
	  ?= "No conversion." nil
	  '([1 23 47 346 13 18 250 10 18 1881 5 4421 19 10
	       47 772 5892 49 58 0 0 14 772 49 22] .
	       [1 4 14 775 22]))
	 (setq mew-cs-noconv-eol *crlf2lf*)))))


 を加えます。

2.次に、Win95 側でセーブするメッセージを cr 改行にするための処置。

 Perl のディレクトリの lib/IM/MsgStore.pm というのがあるのでそれを探
して、一番最後の方の 278 行目付近、後ろから7行目くらいを

    return -1 unless (sysopen(MESSAGE, $file, O_RDWR|O_CREAT|O_EXCL|O_BINARY));

 に変更します。つまり、O_BINARY を加えます。

 以後、imget するメッセージは cr 改行になります。これ、IM をバージョ
ンアップする度にもどるので、いちいち変えてます。(よく忘れます(^^;)

------------<<引用おわり>>-------------------------------------------

_      _ 
‖\    ‖ - Nara Prefectural Institute of Industrial Technology -+
‖ 奈良県工業技術センター 【坂本佳則】<yosino-s at example.com>|
‖    \‖IIT     Boldly go where no one has gone before....   | 
 ̄       ̄ -------------------------------------------------------+



Mew-win32 メーリングリストの案内