[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:08469] Re: Emacs20.7+Gnus5.7 の文字化け



>>>>> plamo の No. 08468
>>>>> Message-Id: <20010126133339V.cyamauch@phyas.aichi-edu.ac.jp> で、
>>>>> "山内" == cyamauch@phyas.aichi-edu.ac.jpさま曰く...

>> などと書いて、 coding system を指定されているとまずいですが、
>> Info file が iso-2022-jp ならば、自動判定が働いて化けたりするこ
>> とは無いのではないかと思うのですが、そんなことはありませんか?

山内>   それが変なんですよね.
山内>     % emacs -f info
山内> で,skkのinfoを読むと化けて,直接
山内>     % emacs skk.info-1 
山内> とすると化けないのです..

% emacs -q -no-site-file -f info
ではどうですか?

>> coding-system-for-read が nil になっていることを確認してから、
>> C-h i してみていただけないでしょうか?

山内>   すいません.C-h i って何でしょうか?

Control key を押しながら `h' キーを押して、 Control key を離して
から、 `i' キーを押すということです。
;; って、質問の意味が違うかな? ^^;;;

;; C-h が backspace 相当の設定にしてあることもままありますので、
;; [F1] i というキーシーケンスや、 ESC x info [RET] でもかまいま
;; せんけど。

もう少し詳しく...

1. coding-system-for-read の値をチェック
2. C-h i
3. coding-system-for-read の値をチェック
4. SKK の info を開く。

;; 1, 3 の結果が nil でなかったら、どこかに
;; coding-system-for-read をいじっているものが残っていると思いま
;; す。

>> 1. 空のファイルや、 us-ascii だけのファイルを開いて、そこに日本
>> 語などを追加すると、どの coding-system で保存するのかを聞いて
>> くるのが面倒。

山内>   これは困ります.それなりにわかっている人ならともかく,
山内> 初心者にとっては,さっぱり何のことだかわかりませんし.
山内>  この時,
山内>     Select coding system (default iso-2022-jp):
山内> って聞いてきますけど,このdefault を euc-jp に変更する
山内> 方法はないのでしょうか?

これをそれなりにまっとうな手で変えてしまうのは、他への影響が心配
ですので、とりあえずやめておきましょう。

>> 1. に関しては、これを解決するだけのために使うにしては、ちょっと
>> 冗長ですが、このメイルの末尾につけたようなものを、どこかに書
>> いておいて、たとえば c-mode-hook に登録した関数に...
>> (my-set-file-encoding 'euc-jp-unix)

山内>   早速試してみました.しかし,保存する時に質問されては
山内> 困るんです.buffer-file-coding-systemが指定されていない
山内> 時は,set-default-coding-systems に従って速攻で保存でき
山内> るようにしたいのですが,どうすれば良いのでしょうか?

そんなに年中質問されるわけでもないと思いますし、おかしな 
coding-system で保存してしまうようなことがあるとなんなので、しば
らくは質問に答えてもらいたいと思っていますが...

(defun pbf-set-file-coding-system-for-write (cs)
  (let ((buf-base (coding-system-base buffer-file-coding-system)))
    (unless (or (pbf-buffer-file-coding-system-fixed-p)
		(and (eq buf-base (coding-system-base cs))
		     (eq (coding-system-eol-type buffer-file-coding-system)
			 (coding-system-eol-type cs))))
	(set-buffer-file-coding-system cs)))
  nil)

前のメイルの pbf-set-file-coding-system-for-write をこういうのに、
置き換えてみてください。

それと、このコードは set-buffer-file-coding-system で設定したも
のになるわけではなくて、あくまでも 
   (my-set-file-encoding 'euc-jp-unix)
に、書いた coding-system にあわせるものですから、注意してくださ
い。
   (my-set-file-encoding default-buffer-file-coding-system)
とでもしておけば、同じことですが。

もう一つは、すでに他の coding system で保存されているものには干
渉しないということにも気をつけてください。

;; なんとなくですが、山内さんは emacs を頻繁に起動、終了させるタ
;; イプの方のような気がするのですが、違いますか? :-)
;; 私は login とともに emacs を起動して、終了させるのは logout
;; するときだけというタイプです。 ;-)
-- 
鈴木圭一 / keiichi@nanap.org
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B

Follow-Ups
[plamo:08471] Re: Emacs20.7+Gnus5.7の文字化け, cyamauch
[plamo:08474] Re: Emacs20.7+Gnus5.7の文字化け, cyamauch
References
[plamo:08465] Re: Emacs20.7+Gnus5.7 の文字化け, Keiichi Suzuki
[plamo:08468] Re: Emacs20.7+Gnus5.7の文字化け, cyamauch

[検索ページ] [メール一覧]
Plamo ML 公開システム