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 variabletrong 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-commandtrong
rcirc.el
sử dụng targetbiế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-commandkhô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.