Masalahnya M-x compile
adalah bahwa jika Makefile
tidak ada di direktori saat ini, gagal.
Saya ingin memiliki fungsi yang secara rekursif naik untuk menemukan Makefile
dan menjalankan make
dari direktori ini.
Saya telah melihat pertanyaan ini , tetapi khusus untuk jalurnya, dan ini adalah sesuatu yang harus saya pikirkan tentang berlari.
compilation
directories
Florian Margaine
sumber
sumber
projectile
ada beberapa cara untuk mengkompilasiprojectile-project-root
. Misalnya, github.com/abo-abo/helm-makeprojectile-compile-project
melakukan apa yang saya inginkan. Tetapi saya ingin memiliki sesuatu tanpa ketergantungan ini, jika memungkinkan.Jawaban:
Anda mencari fungsinya
locate-dominating-file
. Berikut ini adalah dokumentasi emacs untuk fungsi ini:Dengan menggunakan ini, jawaban abo-abo dapat disingkat menjadi
sumber
findfile
, saya terkejut emacs tidak memilikinya.let
? Anda berlarilocate-dominating-file
dua kali.Kompilasi rekursif, tidak ada dependensi yang dilampirkan:
sumber
with-temp-buffer
?with-temp-buffer
, karenadefault-directory
buffer-lokal. Saya tidak ingin mengubahnya untuk file saat ini.