В интересах прибывающих сюда невежественных читателей, позвольте мне сделать небольшое отступление, чтобы сказать, что эти предупреждения обычно указывают на реальные проблемы с кодом (а если их нет, вы можете подавлять их для каждой переменной), поэтому люди должны исследовать, что они значит, прежде чем отключить их.
Конечно, я не сомневаюсь, что вы знаете, почему вам нужно отключить его, поэтому ответ ниже.
Ответ
Чтобы отключить это (или другое) предупреждение, вам нужно установить значение 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.