emacs 24.5 の Windows 64bit 版 を見つけたのを機に、 MSYS から MSYS2 に変更してみました。
MSYS2 は git が使えて、パッケージマネージャの pacman も使えるので、移行する価値がありそうです。
だいたい上手く動いたのですが、magit を起動しようとすると、
magit-get-top-dir: d:/d/userdata/xxx/xxx/xxx/ isn't an existing directory
と言われてしまい、起動に失敗します。どう見ても、パスの取得がうまくいってませんね。
ググってみると、以下のページを見つけました。
https://github.com/magit/magit/issues/1318
cygwin でも同様のことが起るようですね。
中程にMSYSでの対応策が書いてあって、
(defun magit-expand-git-file-name--msys (args)
"Handle Msys directory names such as /c/* by changing them to C:/*"
(let ((filename (car args)))
(when (string-match "^/\\([a-z]\\)/\\(.*\\)" filename)
(setq filename (concat (match-string 1 filename) ":/"
(match-string 2 filename))))
(list filename)))
(advice-add 'magit-expand-git-file-name :filter-args #'magit-expand-git-file-name--msys)
とりあえず、これを、scratchで実行してみると、問題解決。
init.el に入れて使うことにしました。
0 コメント:
コメントを投稿