Przeskakiwanie do pierwszego błędu - bez ostrzeżenia - podczas kompilacji


9

Ta compilation-auto-jump-to-first-erroropcja powinna spowodować, że Emacs przejdzie do pierwszego błędu podczas kompilacji. Wydaje się jednak, że Emacs traktuje ostrzeżenia i błędy w ten sam sposób i przeskakuje do pierwszego z nich. Jak sprawiłbyś, aby Emacs skoczył do pierwszego błędu, jeśli taki istnieje, lub do pierwszego ostrzeżenia w przeciwnym razie? Wolę najpierw naprawić błędy, a następnie ostrzeżenia (zwłaszcza, że ​​ostrzeżenia mogą być spowodowane przez biblioteki innych firm).


To brzmi jak rozsądny kandydata na zgłoszenie błędu / akcesorium-żądanie: M-x report-emacs-bug. (Chyba że ktoś
Drew

Odpowiedzi:


7

Jak opisano w tym poście na blogu , potrzebujesz do tego drugiej opcji.compilation-skip-threshold

(setq compilation-skip-threshold 2)

Polecenia ruchu kompilacji pomijają mniej ważne komunikaty. Wartość może wynosić
2 - pomiń cokolwiek mniej niż błąd,
1 - pomiń cokolwiek mniej niż ostrzeżenie lub
0 - nie pomijaj żadnych wiadomości.
Pamiętaj, że wszystkie wiadomości, które nie zostały zidentyfikowane jako ostrzeżenie lub informacje, są uważane za błędy.


Czy istnieje sposób, aby kompilacja zatrzymywała się tylko w przypadku błędów i nadal mogła nawigować między ostrzeżeniami? compilation-skip-thresholdwydaje się mieć zastosowanie do wszystkich poleceń nawigacyjnych.
timor

@timor Nie jestem tego świadomy. Możesz przejść do kompilacji i TABprzejść przez ostrzeżenia.
Malabarba

1
to jest dokładnie to, co już nie działa :)
timor

@timor, możesz to zrobić, dodając funkcję kończącą kompilację i podpinając kompilację-start-hook i używając (compilation-set-skip-threshold arg)odpowiednio.
ergosys,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.