[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:7312] emacs-22_0_50-20060513 マージしました



結構、重要な変更なので、users-jp にも送りつつ、補足説明しておき
ます。

From: MIYOSHI Masanori <miyoshi@xxxxxxxxxxx> さん曰く
Subject: [MD:7312] emacs-22_0_50-20060513 マージしました
Message-ID: <uk68qbpzk.wl%miyoshi@xxxxxxxxxxx>
Date: Sat, 13 May 2006 11:47:11 +0900

> r4079で 2006/05/13時点の Emacs CVS HEAD のスナップショット
> http://svn.meadowy.org/Meadow/tags/emacs-22_0_50-20060513/
> をマージしました。
> 
> 問題があったら報告をお願いします。
> 
> 今回は新しい elisp の追加がありませんので、bootstrap の実行は不要
> だと思います。nt/ にて下記を実行してください。
> 
> > nmake recompile
> > nmake install
> 
> 
> http://www.meadowy.org/meadow/ticket/296
> に対する本家の修正も取り込んであります。

Meadow も NTEmacs も同じ挙動をするのですが、write 系の
coding-system の扱いが変わりました。

まず、挙動が変わったのは、system_eol_type が LF 以外の OS 上の
Emacs です。なので、system_eol_type が CRLF の Windows (Meadow、
NTEmacs)、CR の MAC (詳しくは聞かないで)が該当します。

どうなるかというと、あたえた coding-system が eol type を含まな
いときに、実際に使用される coding-system が Windows の場合

従来: xxxxx-unix として扱われる
現在: xxxxx-dos となる *関数もある*

となります。

以下、簡単のために Windows で 'japanese-shift-jis を
coding-system としてあたえたときの挙動ですが、

(1) encode-coding-char|string|region などは
  'japanese-shift-jis を 'japanese-shift-jis-unix とみなして処理
  を行ないます。これは、従来からと同じ動きです。
  http://www.meadowy.org/meadow/ticket/296 で報告のあった、Mew
  の draft や emacs-w3m shimbun の不具合は (1) に該当するので、
  現在は期待どおりに動作します。

(2) file に書き込むときに 'japanese-shift-jis を指定すると、実際
    には system_eol_type を適用して、'japanese-shift-jis-dos が
    使用されます。今まで、LF で書かれていたファイルが CRLF になっ
    ていたら (2) が原因です。もし、CRLF で困るようなら、その
    elisp で write-region() などで拘束している
    coding-system-for-write の値などを適切に設定すれば LF になり
    ます。自分で直すか、その elisp の作者に直してもらってくださ
    い。
    
(3) process(network もかな?) も (2) と同様に
    'japanese-shift-jis を指定すると、'japanese-shift-jis-dos と
    みなされます。今まで動いていた process に突然 ^M も送るよう
    になったら、(3) が原因です。これまた、直してもらいましょう。

    http://www.meadowy.org/meadow/ticket/301 はおそらく (3) でしょ
    う。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxx)