#emacs #compilation
#emacs #Сборник
Вопрос:
Я использую emacs для всего, и у меня часто есть несколько разных проектов, открытых в буферах в фоновом режиме. Часто для этого требуется открыть много файлов с одинаковыми именами (например, makefiles). Когда M-x compile
я использую текущий буфер, как Emacs узнает, к какому файлу я обращаюсь?
Например, я работаю над большим проектом на SML. Компиляция запускается с помощью running sml sources.cm
, который вызывает диспетчер компиляции. У меня открыто несколько sources.cm
файлов, но Emacs выбирает тот, который находится в нужном каталоге для файла, с которым я имею дело, и это не дает мне возможности sml sources.cm<2>
, даже если бы я захотел. В то же время я могу оставаться в своем текущем буфере и вызывать M-x compile tsc App.ts
запуск компиляции для другого проекта в Typescript, который находится в совершенно другом каталоге.
В какой среде работает M-x compile
команда?
Ответ №1:
Каждый буфер emacs имеет свой собственный default-directory
, и именно там compile-command
выполняется.
Комментарии:
1. Ах, я вижу, что на самом деле он предсказывает меньше, чем я думал. Это имеет больше смысла. Спасибо.