Saltar al primer error, sin advertencia, al compilar

9

La compilation-auto-jump-to-first-erroropción debería hacer que Emacs salte al primer error durante la compilación. Sin embargo, parece que Emacs trata las advertencias y los errores de la misma manera, y salta al primero de ellos. ¿Cómo haría que Emacs saltara al primer error, si lo hubiera, o a la primera advertencia? Prefiero corregir los errores primero y luego las advertencias (especialmente porque las advertencias pueden ser causadas por bibliotecas de terceros).

Elena
fuente
Esto suena como un candidato razonable para un informe de error / mejora de solicitud: M-x report-emacs-bug. (A menos que alguien señale aquí que hay una manera trivial de obtener el comportamiento que está buscando).
Drew

Respuestas:

7

Como se describe en esta publicación de blog , necesita una segunda opción para eso.compilation-skip-threshold

(setq compilation-skip-threshold 2)

Los comandos de movimiento de compilación omiten mensajes menos importantes. El valor puede ser
2: omita algo menos que error,
1: omita algo menos que advertencia o
0: no omita ningún mensaje.
Tenga en cuenta que todos los mensajes no identificados positivamente como advertencia o información, se consideran errores.

Malabarba
fuente
¿Hay alguna manera de hacer que la compilación se detenga solo en errores y aún poder navegar entre advertencias? compilation-skip-thresholdparece aplicarse a todos los comandos de navegación.
Timor
@timor No que yo sepa. Es posible que pueda cambiar a la compilación y a TABtravés de las advertencias.
Malabarba
1
eso es exactamente lo que ya no funciona :)
timor
@timor, puede hacerlo agregando una función de compilación-acabado-funciones y enganchando compilación-inicio-enganche y utilícelo (compilation-set-skip-threshold arg)según corresponda.
ergosys