Windows 7。Emacs 24.3.1。Git 1.8.1.msysgit.1。同等の .emacs ファイルに次のものがあります。
(if (equal system-type 'windows-nt)
(progn (setq explicit-shell-file-name
"C:/Program Files (x86)/Git/bin/sh.exe")
(setq shell-file-name "bash")
(setq explicit-sh.exe-args '("--login" "-i"))
(setenv "SHELL" shell-file-name)
(add-hook 'comint-output-filter-functions 'comint-strip-ctrl-m)))
これは、 Mx shellを実行したいときにうまく機能します。シェルを開いて「ls」と入力できます。
ただし、Mx shell-commandは失敗しています。shell-command ( Ch f shell-commandによると *Shell Command Output* バッファにその出力を出力する必要があります) を介して "ls" を実行しようとすると、1 つのエラー メッセージが表示されます。
「プログラムを検索しています: 許可が拒否されました、bash」
Google にはcall-processに関する非常に古い提案がいくつかあり、StackOverflow には Emacs でシェルを動作させるための多くの質問があります。Mx シェルはうまく機能することに注意してください。私が機能させたいのは shell-command です。
(理由: https://github.com/donkirkby/live-py-plugin#installing-the-emacs-mode )