Saltare al primo errore - non avviso - durante la compilazione


9

L' compilation-auto-jump-to-first-erroropzione dovrebbe far passare Emacs al primo errore durante la compilazione. Tuttavia, sembra che Emacs tratti gli avvertimenti e gli errori allo stesso modo e salti al primo di entrambi. Come faresti che Emacs salti al primo errore, se presente, o al primo avvertimento altrimenti? Preferirei correggere prima gli errori e poi gli avvisi (soprattutto perché gli avvisi potrebbero essere causati da librerie di terze parti).


Questo suona come un candidato ragionevole per una segnalazione di bug / valorizzazione-richiesta: M-x report-emacs-bug. (A meno che qualcuno non indichi qui che esiste un modo banale per ottenere il comportamento che stai cercando.)
Disegnato il

Risposte:


7

Come descritto in questo post sul blog , è necessaria una seconda opzione per questo.compilation-skip-threshold

(setq compilation-skip-threshold 2)

I comandi di movimento della compilazione saltano i messaggi meno importanti. Il valore può essere
2: salta qualcosa di meno dell'errore,
1: salta qualcosa di meno che avviso o
0: non saltare alcun messaggio.
Si noti che tutti i messaggi non identificati positivamente come avvisi o informazioni sono considerati errori.


Esiste un modo per interrompere la compilazione solo sugli errori ed essere ancora in grado di navigare tra gli avvisi? compilation-skip-thresholdsembra applicarsi a tutti i comandi di navigazione.
Timor,

@timor Non che ne sia consapevole. Potresti essere in grado di passare alla compilazione e TABagli avvisi.
Malabarba,

1
questa è esattamente la cosa che non funziona più :)
timor

@timor, puoi farlo aggiungendo una funzione di compilation-finish-funzioni e collegando compilation-start-hook e usandolo (compilation-set-skip-threshold arg)come appropriato.
ergosys,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.