ho le seguenti righe nel mio ~/.emacs.d/init.el
Emacs: fastidiosa finestra di dialogo Flymake
(custom-set-variables
'(flymake-allowed-file-name-masks
(quote
(
("\\.cc\\'" flymake-simple-make-init)
("\\.cpp\\'" flymake-simple-make-init)))))
(add-hook 'find-file-hook 'flymake-find-file-hook)
Quando ho aperto il file ++ che ha una vera e propria Makefile nella stessa cartella di una C, ottengo on-the-fly di compilazione e l'errore segnalazione (Flymake controllerà la sintassi e segnalerà errori e avvisi durante la modifica del codice).
Il Makefile ha un target check-syntax
:
.PHONY: check-syntax
check-syntax:
$(CXX) -Wall -Wextra -pedantic -fsyntax-only $(CHK_SOURCES)
Il problema è che quando apro un file .cc che non ha Makefile corrispondente ottengo una finestra di dialogo fastidioso che mi mette in guardia circa flymake essere disattivato.
Quindi, se io lancio emacs *.cc
in una cartella con i file 20 C++ ottengo 20 finestre di dialogo modali dicendo qualcosa come Nessun BuildFile trovato per [...]. Flymake verrà disattivato.
C'è qualche aggancio che posso usare per disabilitare quell'avvertimento? Puoi fornire un codice elisp di esempio su come hai trovato il gancio giusto?
Escludo la funzione con 'defadvice' piuttosto che' defun', dal momento che il primo dichiara esplicitamente l'intenzione di ignorare la funzione, e funziona anche se flymake viene ricaricato in seguito. –
in quanto non sarebbe esattamente equivalente (ad es. 'S/defun/defadvice /' non è sufficiente), puoi postarlo come risposta @RyanThompson – ocodo