Emacs on Win32を25.1.1に更新

Emacs24.1でM-x grep-findを実行すると、not matches foundとメッセージが出てgrepできない。
Windowsが内部エンコーディングがShift-JISだから動作しないのだろうと踏んで、emacsエンコードをShift-JISに設定したのだけど、うまく動作しない。

どうやらシェルの設定をbashにして、cygwinのbinのパスを通せば動作するらしいということで、init.elに以下を追加してみた。


(setenv "PATH" "C:/cygwin/bin")
(setq shell-file-name "C:/cygwin/bin/bash.exe")

するとgrep-findは動作してgrepした文字列は取得できるようにはなったけど、今度は


grep: warning: GREP_OPTIONS is deprecated
といった警告メッセージも出るようになった。

この警告メッセージはgrep2.21から出力されるようになったらしいけど、emacs上で出力されているのはバグっぽい.
My Future Sight for Past: Solution of grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
1176547 – emacs grep warns "GREP_OPTIONS is deprecated"

公式サイトを確認すると25.1がリリースされていたので、更新するとgrepの警告メッセージが出力されなくなってあっさりと解決した..
ただし、init.elには


(setenv "PATH" "C:/cygwin/bin")
を設定しておかないとうまく動作しなかった.