เพื่อประโยชน์ของผู้อ่าน clueless ที่มาถึงที่นี่ให้ฉันพูดนอกเรื่องเล็กน้อยเพื่อบอกว่าคำเตือนเหล่านี้มักจะชี้ไปที่ปัญหารหัสจริง (และเมื่อพวกเขาทำไม่ได้คุณสามารถปราบปรามพวกเขาในแต่ละตัวแปร) ดังนั้นผู้คนควรศึกษาสิ่งที่พวกเขา หมายถึงก่อนปิดใช้งาน
แน่นอนฉันไม่สงสัยเลยว่าคุณรู้ว่าทำไมคุณต้องปิดการใช้งานดังนั้นคำตอบคือด้านล่าง
คำตอบ
ในการปิดการใช้งานคำเตือน (หรืออื่น ๆ ) นี้คุณจะต้องตั้งค่าbyte-compile-warnings
เป็น คุณสามารถทำสิ่งนี้เป็นตัวแปรไฟล์โลคัลโดยเพิ่มข้อมูลโค้ดต่อไปนี้ที่ท้ายไฟล์
;; Local Variables:
;; byte-compile-warnings: (not free-vars)
;; End:
คุณสามารถตั้งค่านี้ทั่วโลก
คุณสามารถแทนที่(not free-vars)
ด้วย(not free-vars callargs unresolved)
และคำเตือนอื่นใดที่คุณต้องการระงับ รายการคำเตือนทั้งหมดที่สามารถรวม / ถูกแทนที่ได้จะอยู่ใน docstring ของตัวแปร (ด้านล่าง)
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.