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)

И все начинает работать правильно.

Другие вопросы по тегам