Hầu hết các chế độ phụ được xác định bằng cách sử dụng macro define-minor-mode
. Đối với các chế độ đệm-cục bộ, macro đó tạo một biến bộ đệm cục bộ có cùng tên với chính chế độ . Biến này không phải là nil
khi chế độ được kích hoạt cho bộ đệm hiện tại.
Do đó để kiểm tra xem flymake-mode
được bật, bạn có thể kiểm tra biến flymake-mode
(lưu ý rằng biến này có thể không được xác định ở tất cả nếu chế độ chưa được kích hoạt):
(and (boundp 'flymake-mode) flymake-mode)
nào, như Thom điểm ra trong các ý kiến, có thể được thể hiện bằng cách sử dụng vĩ mô thuận tiện:
(bound-and-true-p flymake-mode)
nào chúng ta có thể sử dụng như là điều kiện để một biểu if
hoặc when
hoặc unless
:
(if (bound-and-true-p flymake-mode)
(message "flymake-mode is on")
(message "flymake-mode is off"))
Đối với chế độ nhỏ toàn cầu, biến tương ứng là toàn cầu; nhưng chế độ flymake là bộ đệm cục bộ.
Nếu bạn gặp lỗi khi bật tính năng này, bạn dự định đạt được gì từ việc kiểm tra? –
Theo trang chủ của nó (http://flymake.sourceforge.net/), flymake là một chế độ nhỏ, không phải là một chế độ chính. –
Cảm ơn. Các lỗi không xảy ra tất cả các thời gian. Nó xảy ra Khi tập tin js của tôi có rất nhiều thất bại. Và flymake là một chế độ nhỏ. – coordinate