Z korzyścią dla przybywających tutaj nieświadomych czytelników, pozwólcie mi na małą dygresję, aby powiedzieć, że te ostrzeżenia zazwyczaj wskazują na rzeczywiste problemy z kodem (a jeśli nie, możesz je pomijać dla poszczególnych zmiennych), aby ludzie mogli zbadać, co mają znaczy przed wyłączeniem ich.
Oczywiście nie mam wątpliwości, że wiesz, dlaczego musisz to wyłączyć, więc odpowiedź jest poniżej.
Odpowiedź
Aby wyłączyć to (lub inne) ostrzeżenie, musisz ustawić wartość byte-compile-warnings
. Możesz to zrobić jako zmienną lokalną dla pliku, dodając następujący fragment kodu na końcu pliku.
;; Local Variables:
;; byte-compile-warnings: (not free-vars)
;; End:
Możesz to również ustawić globalnie.
Można wymienić (not free-vars)
ze (not free-vars callargs unresolved)
i inne w zależności od tego ostrzeżenia chcesz stłumić. Pełna lista ostrzeżeń, które można włączyć / wyłączyć, znajduje się w dokumentacji zmiennej (poniżej).
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.