magit-version в Emacs 24.4 для Windows возвращает неверный тип аргумента: stringp, nill
Это отлично работает на Mac, но при попытке настроить его на Windows это не сработало.
Я имею msysGit Bash уже на пути Windows и попытался установить в соответствии с другими инструкциями.
(setq explicit-shell-file-name "bash")
(setq shell-file-name explicit-shell-file-name)
(setenv "SHELL" "bash")
(setq explicit-bash-args '("--noediting" "-i"))
(setq w32-quote-process-args ?\")
(setenv "PATH"
(concat ".:/usr/local/bin:/mingw/bin:/bin:"
(replace-regexp-in-string " " "\\\\ "
(replace-regexp-in-string "\\\\" "/"
(replace-regexp-in-string "\\([A-Za-z]\\):" "/\\1"
(getenv "PATH"))))))
1 ответ
Я добавил
(setq debug-on-error t)
И перезапустил команду M-x magit-version
чтобы получить вывод:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
string-match("cmd\\.exe" nil)
(if (string-match "cmd\\.exe" tramp-encoding-shell) "/c" "-c")
eval((if (string-match "cmd\\.exe" tramp-encoding-shell) "/c" "-c"))
Я тогда установил
(setq tramp-encoding-shell explicit-shell-file-name)
И все начинает работать правильно.