Wie kann ich „Mx compile“ unter einer bestimmten Shell in Emacs ausführen?

Wie kann ich „Mx compile“ unter einer bestimmten Shell in Emacs ausführen?

Ich habe eine Software, die nur unter kompiliert werden kann my-weird-sh. Ich verwende sie gerne some-better-shin meiner täglichen Arbeit, daher ist das meine Login-Shell (über chsh). Dadurch wird die Shell in Emacs zu geändert my-better-sh, was normalerweise alles gut und schön ist. Die Software kann jedoch some-better-shnicht kompiliert werden.

Wie kann ich die Shell für ändern compile?

Antwort1

Verwenden

(defun weird-compile () (interactive)
  (let ((shell-file-name "/bin/my-weird-sh"))
    (call-interactively #'compile)))

Dies wird shell-file-namelokal festgelegt, wenn Sie aufrufen weird-compile, und Sie können es an den Schlüssel Ihrer Wahl binden.

verwandte Informationen