Bagaimana cara saya menghindari peringatan byte-compiler Unused lexical variabledalam fungsi yang didefinisikan menggunakan makro untuk memperluas defun?
Misalnya, makro defun-rcirc-commanddalam
rcirc.el
menggunakan targetvariabel yang tidak digunakan oleh beberapa pemanggilan.
Dalam Common Lisp saya dapat menggunakan
ignorable
deklarasi: (declare (ignorable target)).
Solusi buruk:
Tambahkan sesuatu seperti
(setq target target)ke semua penggunadefun-rcirc-commandyang tidak menggunakantarget: yang membutuhkan banyak modifikasi makro.Awalan variabel yang dapat diabaikan dengan garis bawah -
_target- tidak membantu karena_berartiignore, bukanignorable, yaitu, ketika digunakan, saya dapatkanvariable '_target' not left unused.
(ignore VAR)argumen defun sebelum ekspansi, @ body yang mungkin akan membungkam kesalahan.