[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:08465] Re: Emacs20.7+Gnus5.7 の文字化け
-
From:Keiichi Suzuki
-
Date:Fri, 26 Jan 2001 11:08:31 +0900
- Subject: [plamo:08465] Re: Emacs20.7+Gnus5.7 の文字化け
- From: Keiichi Suzuki <keiichi@xxxxxxxxx>
- Date: Fri, 26 Jan 2001 11:08:31 +0900
- Posted: 26 Jan 2001 11:08:05 +0900
;; Plamo に特有な話ではないと思いますけれど、すみませんがもう少
;; し続けさせてください。
>>>>> plamo の No. 08461
>>>>> Message-Id: <20010125185433G.cyamauch@phyas.aichi-edu.ac.jp> で、
>>>>> "山内" == cyamauch@phyas.aichi-edu.ac.jpさま曰く...
山内> 結局,.emacsでは coding-system-for-… はいじらずに,
山内> 他で対策するのが一番だと思いました.
はい、 coding-system-for-(read|write) は coding system を指定す
るための最強の方法ですので、これを直接いじってしまうと、他の方法
では coding-system をいじれなくなってしまいます。
山内> (set-default-coding-systems 'euc-jp-unix)
山内> の設定があるので,CやFORTRANモードの設定は不要でしたね.
山内> ここのMLに流したのは不適切だったと思います.infoは元の
山内> infoファイルをeucに変換するとして,問題はyatexですね.
Info file の先頭に
-*- Coding: euc-jp -*-
などと書いてあったり、 file の末尾に
;;; Local Variables: ***
;;; coding: euc-jp
;;; End: ***
などと書いて、 coding system を指定されているとまずいですが、
Info file が iso-2022-jp ならば、自動判定が働いて化けたりするこ
とは無いのではないかと思うのですが、そんなことはありませんか?
coding-system-for-read が nil になっていることを確認してから、
C-h i してみていただけないでしょうか?
山内> エレガントな方法でデフォルトをEUCにする方法があったら教
山内> えてください.よろしくお願いします.
(set-default-coding-systems 'euc-jp-unix) を書いておけば、これだ
けでほとんど問題が出ることは無いとは思いますが...
私が思う範囲で調子悪いことは...
1. 空のファイルや、 us-ascii だけのファイルを開いて、そこに日本
語などを追加すると、どの coding-system で保存するのかを聞いて
くるのが面倒。
2. 標準的な coding-system が異なっている環境のファイルを新規作成
したときに、ついつい自分の default-buffer-file-coding-system
で保存してしまい、悲しい思いをする。
くらいが、良く思うことなのですが、エレガントかどうかは別にして...
1. に関しては、これを解決するだけのために使うにしては、ちょっと
冗長ですが、このメイルの末尾につけたようなものを、どこかに書
いておいて、たとえば c-mode-hook に登録した関数に...
(my-set-file-encoding 'euc-jp-unix)
を加えておくと、便利かもしれません。
;; 以下、宣伝になってしまいます。 ^^;;;
2. に関しては、主に MS-Windows が作業環境であり、そこから
ange-ftp を使ってターゲットである UNIX 上のファイルを編集したり、
iso-2022-jp で文書を書きたいプロジェクトがあったりする私にとって
は結構はまりがちでしたので、いろいろといじっていたのですが、ふと
思い立って、それらの code まとめてみたものがあります。
http://www.nanap.org/pbf-mode.shtml にちょっとした文書があります
ので、興味がおありでしたらお試しください。
;; 0.x の間は、インターフェースをガラガラ変えるかも知れません。 ^^;;;
;; ちなみに下の code もその中の一部をちょっと編集したものです。
--
鈴木圭一 / keiichi@nanap.org
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4 4089 7AAF 2B03 ECBD 614B
-------- 8>< -------- 8>< -------- 8>< -------- 8>< --------
(defun pbf-buffer-file-coding-system-fixed-p ()
(let ((buf-base (coding-system-base buffer-file-coding-system)))
(not
(or (and (eq buf-base 'undecided)
(not (eq (coding-system-base
(car (detect-coding-region (point-min) (point-max))))
'undecided)))
(and (eq buf-base (coding-system-base
default-buffer-file-coding-system))
(not (eq (coding-system-base
(car (detect-coding-region (point-min) (point-max))))
'undecided)))))))
(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))))
(when (y-or-n-p (format "set coding system to %s instead of %s ? "
cs buffer-file-coding-system))
(set-buffer-file-coding-system cs))))
nil)
(defun my-set-file-encoding (cs)
(add-hook 'local-write-file-hooks
`(lambda ()
(pbf-set-file-coding-system-for-write
(quote ,cs)))))
-------- 8>< -------- 8>< -------- 8>< -------- 8>< --------
- Follow-Ups
-
- [plamo:08468] Re: Emacs20.7+Gnus5.7の文字化け, cyamauch
- References
-
- [plamo:08456] Re: Emacs20.7+Gnus5.7 の文字化け, Keiichi Suzuki
- [plamo:08461] Re: Emacs20.7+Gnus5.7の文字化け, cyamauch
[検索ページ]
[メール一覧]
Plamo ML 公開システム