На користь нерозумних читачів, які приїжджають сюди, дозвольте мені невеликий відступ, щоб сказати, що ці попередження, як правило, вказують на реальні проблеми з кодом (а коли їх немає, ви можете придушити їх на постійній основі), тому люди повинні вивчити, що вони маємо на увазі перед відключенням.
Звичайно, я не сумніваюся, що ви знаєте, навіщо це потрібно вимкнути, тому відповідь нижче.
Відповідь
Щоб вимкнути це (або інше) попередження, вам потрібно встановити значення byte-compile-warnings
. Це можна зробити як локальну змінну файлів, додавши наступний фрагмент в кінець файлу.
;; Local Variables:
;; byte-compile-warnings: (not free-vars)
;; End:
Ви також можете встановити це глобально.
Ви можете замінити (not free-vars)
з (not free-vars callargs unresolved)
і в залежності від того інших попереджень ви хочете придушити. Повний перелік попереджень, які можна включити / придушити, знаходиться у докстрингу змінної (нижче).
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.