Проблема в M-x compile
том, что если его Makefile
нет в текущем каталоге, он завершается ошибкой.
Я хотел бы иметь функцию, которая рекурсивно идет вверх, чтобы найти Makefile
и запустить make
из этого каталога.
Я видел этот вопрос , но он зависит от пути, и мне нужно подумать о беге.
compilation
directories
Флориан Маргейн
источник
источник
projectile
есть способы компиляции изprojectile-project-root
. Например, github.com/abo-abo/helm-makeprojectile-compile-project
делает то, что я хочу. Но я бы хотел иметь что-то без этой зависимости, если это возможно.Ответы:
Вы ищете функцию
locate-dominating-file
. Вот документация по emacs для этой функции:Используя это, ответ abo-abo может быть сокращен до
источник
findfile
, я был удивлен, что в emacs ее нет.let
? Ты бежишьlocate-dominating-file
дважды.Рекурсивная компиляция без каких-либо зависимостей:
источник
with-temp-buffer
?with-temp-buffer
, потому чтоdefault-directory
это локальный буфер. Я не хочу менять его для текущего файла.