Bagaimana cara saya menghindari peringatan byte-compiler Unused lexical variable
dalam fungsi yang didefinisikan menggunakan makro untuk memperluas defun
?
Misalnya, makro defun-rcirc-command
dalam
rcirc.el
menggunakan target
variabel 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-command
yang 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.