Vì lợi ích của những người đọc không biết gì khi đến đây, hãy cho tôi một sự lạc quan nhỏ để nói rằng những cảnh báo này thường chỉ ra các vấn đề về mã thực (và khi họ không làm như vậy, bạn có thể loại bỏ chúng trên cơ sở từng biến) để mọi người nên nghiên cứu về chúng có nghĩa là trước khi vô hiệu hóa chúng.
Tất nhiên, tôi không có nghi ngờ rằng bạn biết tại sao bạn cần phải vô hiệu hóa nó, vì vậy câu trả lời là dưới đây.
Câu trả lời
Để tắt cảnh báo này (hoặc khác), bạn cần đặt giá trị của byte-compile-warnings
. Bạn có thể làm điều này như một biến cục bộ tệp bằng cách thêm đoạn mã sau vào cuối tệp.
;; Local Variables:
;; byte-compile-warnings: (not free-vars)
;; End:
Bạn cũng có thể thiết lập điều này trên toàn cầu.
Bạn có thể thay thế (not free-vars)
bằng (not free-vars callargs unresolved)
và bất kỳ cảnh báo nào khác mà bạn muốn đàn áp. Danh sách đầy đủ các cảnh báo có thể được bao gồm / được nén được tìm thấy trên chuỗi doc của biến (bên dưới).
byte-compile-warnings is a variable defined in `bytecomp.el'.
Its value is t
This variable is safe as a file local variable if its value
satisfies the predicate which is a byte-compiled expression.
Documentation:
List of warnings that the byte-compiler should issue (t for all).
Elements of the list may be:
free-vars references to variables not in the current lexical scope.
unresolved calls to unknown functions.
callargs function calls with args that don't match the definition.
redefine function name redefined from a macro to ordinary function or vice
versa, or redefined to take a different number of arguments.
obsolete obsolete variables and functions.
noruntime functions that may not be defined at runtime (typically
defined only under `eval-when-compile').
cl-functions calls to runtime functions (as distinguished from macros and
aliases) from the old CL package (not the newer cl-lib).
interactive-only
commands that normally shouldn't be called from Lisp code.
lexical global/dynamic variables lacking a prefix.
make-local calls to make-variable-buffer-local that may be incorrect.
mapcar mapcar called for effect.
constants let-binding of, or assignment to, constants/nonvariables.
suspicious constructs that usually don't do what the coder wanted.
If the list begins with `not', then the remaining elements specify warnings to
suppress. For example, (not mapcar) will suppress warnings about mapcar.