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

Re: 文字エンコーディングに関して



>>>>> In [meadow-users-jp : No.4161] 
>>>>> “Pola” = Pola X <polax@xxxxxxxxxxxxxxxxxxxx> wrote:
kose> P.S.
kose> default-process-coding-system は変更しないで、特定の command
kose> の入出力の coding-system を
kose> (modify-coding-system-alist 'process ...)
kose> で指定する方が良いです。
kose> 
kose> ある commnad は Sjis で、またある command は UTF-8 でという
kose> 場合破綻しちゃいます。

Pola> ここで言う'command'とは、grepやshなどをさすのですよね?
Pola> M-x hoge で指定出来るコマンドの事だと解釈して以下を。

Pola> (modify-coding-system-alist 'process ".*grep\\.exe" 
Pola>                          '(undecided-dos . euc-jp-unix))

Pola> とすると上手く行かない(EUCファイルの検索結果は文字化け)のですが、

M-x grep の場合をよく調べないで書いてしまいました。すみませ
ん。

M-x grep は start-process-shell-command で実行されて、
shell-file-name shell-command-switch grep -n モジ ファイル
(“sh -c grep -n モジ ファイル” のように)
という形で実行されています。

なので、
(modify-coding-system-alist 'process shell-file-name ...)
という指定なら coding-system を設定できますが、シェル経由の
コマンド全てに有効になってしまいますね。

Pola> おそらく".*grep\\.exe"の部分の記述に問題があるのでしょうが、
Pola> 解決できませんでした。
Pola> 他に試した文字列
Pola> "grep\\.exe"
Pola> "grep"
Pola> "egrep\\.exe"
Pola> "fgrep\\.exe"

は、そういうわけでした。

日本の語検索なら coding-system 混在でも検索可能な jgrep がい
いです。「coding-system がファイルごとに混在に対して、検索文
字と表示文字を Shift JIS に固定する」ができます。
modify-coding-system-alist でだと in, out の coding-system
を指定しないといけないですから。
-- 
こせき @ Emacs のページ作成中
http://www.NetLaputa.ne.jp/~kose/Emacs/
kose@xxxxxxxxxxxxxxxxxx