Untuk kepentingan pembaca yang tidak mengerti yang tiba di sini, izinkan saya melakukan sedikit penyimpangan untuk mengatakan bahwa peringatan ini umumnya mengarah ke masalah kode nyata (dan ketika mereka tidak, Anda dapat menekan mereka berdasarkan basis per variabel) sehingga orang harus meneliti apa yang mereka maksud sebelum menonaktifkannya.
Tentu saja, saya tidak ragu bahwa Anda tahu mengapa Anda harus menonaktifkannya, jadi jawabannya ada di bawah ini.
Jawabannya
Untuk menonaktifkan peringatan ini (atau lainnya), Anda harus mengatur nilai byte-compile-warnings
. Anda bisa melakukan ini sebagai variabel file-lokal dengan menambahkan potongan berikut di akhir file.
;; Local Variables:
;; byte-compile-warnings: (not free-vars)
;; End:
Anda juga dapat mengatur ini secara global.
Anda dapat mengganti (not free-vars)
dengan (not free-vars callargs unresolved)
dan peringatan apa pun yang ingin Anda tekan. Daftar lengkap peringatan yang dapat dimasukkan / ditekan ditemukan pada docstring variabel (di bawah).
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.