Làm cách nào để tránh các cảnh báo của trình biên dịch byte Unused lexical variable
trong các hàm được xác định bằng cách sử dụng macro mở rộng defun
?
Ví dụ, macro defun-rcirc-command
trong
rcirc.el
sử dụng target
biến không được sử dụng bởi một số lệnh.
Trong Common Lisp tôi có thể sử dụng
ignorable
khai báo : (declare (ignorable target))
.
Giải pháp xấu:
Thêm một cái gì đó giống như
(setq target target)
cho tất cả những người dùngdefun-rcirc-command
không sử dụngtarget
: yêu cầu sửa đổi nhiều yêu cầu macro.Tiền tố biến có thể bỏ qua với dấu gạch dưới -
_target
- không giúp ích gì vì_
có nghĩa làignore
, khôngignorable
, nghĩa là khi nó được sử dụng, tôi nhận đượcvariable '_target' not left unused
.
(ignore VAR)
đối số cho tất cả các đối số defun trước khi mở rộng, @ body có thể sẽ làm im lặng các lỗi.