Как запустить `Mx compile` в определенной оболочке в emacs?

Как запустить `Mx compile` в определенной оболочке в emacs?

У меня есть часть программного обеспечения, которое может быть скомпилировано только под my-weird-sh. Мне нравится использовать его some-better-shв своей повседневной работе, так что это моя оболочка входа (через chsh). Это меняет оболочку в Emacs, на my-better-shкоторую, как правило, все отлично и замечательно. Однако some-better-shне могу скомпилировать программное обеспечение.

Как мне сменить оболочку для compile?

решение1

Использовать

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

Это будет установлено shell-file-nameлокально при вызове weird-compile, который вы можете привязать к клавише по вашему выбору.

Связанный контент