Nhảy đến lỗi đầu tiên - không cảnh báo - khi biên dịch


9

Các compilation-auto-jump-to-first-errortùy chọn nên Emacs nhảy vào lỗi đầu tiên trong biên dịch. Tuy nhiên, có vẻ như Emacs xử lý các cảnh báo và lỗi theo cùng một cách, và nhảy sang cái đầu tiên. Làm thế nào bạn có thể làm cho Emacs nhảy đến lỗi đầu tiên nếu có, hoặc cảnh báo đầu tiên khác? Tôi thà sửa lỗi trước, sau đó cảnh báo (đặc biệt là vì cảnh báo có thể do thư viện của bên thứ ba gây ra).


Điều này có vẻ như là một ứng cử viên hợp lý cho một báo cáo yêu cầu lỗi / tăng cường : M-x report-emacs-bug. (Trừ khi một người nào đó chỉ ra ở đây là có một cách tầm thường để có được hành vi mà bạn đang tìm kiếm.)
Drew

Câu trả lời:


7

Như được mô tả trên bài đăng blog này , bạn cần một tùy chọn thứ hai cho điều đó.compilation-skip-threshold

(setq compilation-skip-threshold 2)

Lệnh chuyển động biên dịch bỏ qua các thông điệp ít quan trọng. Giá trị có thể là
2 - bỏ qua mọi thứ ít hơn lỗi,
1 - bỏ qua mọi thứ ít hơn cảnh báo hoặc
0 - không bỏ qua bất kỳ tin nhắn nào.
Lưu ý rằng tất cả các tin nhắn không được xác định tích cực là cảnh báo hoặc thông tin, được coi là lỗi.


Có cách nào để chỉ dừng biên dịch trên các lỗi mà vẫn có thể điều hướng giữa các cảnh báo không? compilation-skip-thresholddường như áp dụng cho tất cả các lệnh điều hướng.
timor

@timor Không phải tôi biết. Bạn có thể chuyển sang phần tổng hợp và TABthông qua các cảnh báo.
Malabarba

1
đó chính xác là thứ không còn hoạt động nữa :)
timor

@timor, bạn có thể làm điều đó bằng cách thêm chức năng biên dịch-kết thúc-hàm và móc biên dịch-start-hook và sử dụng (compilation-set-skip-threshold arg)khi thích hợp.
ergosys
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.