Per il beneficio dei lettori che non sanno arrivare, permettimi una piccola digressione per dire che questi avvisi in genere indicano problemi di codice reali (e quando non lo fanno, puoi eliminarli su una base per-variabile), quindi le persone dovrebbero ricercare ciò che significa prima di disabilitarli.
Certo, non ho dubbi sul fatto che tu sappia perché devi disabilitarlo, quindi la risposta è sotto.
La risposta
Per disabilitare questo (o altro) avviso, devi impostare il valore di byte-compile-warnings
. Puoi farlo come variabile file-local aggiungendo il seguente frammento alla fine del file.
;; Local Variables:
;; byte-compile-warnings: (not free-vars)
;; End:
Puoi anche impostarlo a livello globale.
È possibile sostituire (not free-vars)
con (not free-vars callargs unresolved)
e con qualsiasi altro avviso che si desidera eliminare. L'elenco completo degli avvisi che possono essere inclusi / soppressi si trova nella documentazione della variabile (di seguito).
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.