« 前のひとこと | トップページ | 次のひとこと »

cocolog:92424622

うぉ〜。Windows 用 Emacs 26.3 と Cygwin 3.1.7 の bash の関係がメチャクチャだ。 (JRF 1964)

JRF 2020年12月19日 (土)

昔のように、

<pre>
(add-hook 'shell-mode-hook
(lambda ()
(set-buffer-process-coding-system 'utf-8-unix 'utf-8-unix)))
</pre>

…とかやってればいいという話ではない。

JRF2020/12/193147

なぜかは知らないが、コマンドラインは cp932 に指定する必要がありながら、同時に (setenv "LANG" "ja_JP.UTF8") をする必要がある。矛盾している。

だから…

<pre>
(setenv "LANG" "ja_JP.UTF8")
</pre>

…した上で…、

JRF2020/12/191649

<pre>
(let ((coding-system-for-read 'utf-8-unix)
(coding-system-for-write 'cp932))
(start-file-process "test" (get-buffer-create "*test*")
"c:/cygwin/bin/bash" "-c" "echo ほげほげ"))
</pre>

JRF2020/12/190806

…とかやってやっとまともな表示になる。なんだそれ。

JRF2020/12/193206

……。

grep とかメッチャ困る。

私は、日本語 grep を perl で作って ~/bin/jgrep に置いてるとして、とりあえず次のようにしている。

JRF2020/12/190780

<pre>
(setq grep-command "~/bin/jgrep -n ")
(defadvice grep
(around grep-set-coding-system activate)
(let ((coding-system-for-read 'utf-8-unix)
(coding-system-for-write 'cp932))
ad-do-it))
</pre>

JRF2020/12/193175

前提として…

<pre>
(setq shell-file-name "bash")
(setq shell-command-switch "-c")
(setq explicit-shell-file-name "bash")
</pre>

JRF2020/12/196063

このようにすると誤解するかもしれないが、~/bin/jgrep には引数が cp932 でなくちゃんと utf-8 で渡されている。笑っちゃうね。

もっといい方法はないものか…。

JRF2020/12/190864

« 前のひとこと | トップページ | 次のひとこと »