Lisp - 允许使用变量*或*不使用?

Joh*_*ham 3 lisp sbcl common-lisp compiler-warnings unused-variables

如果我(declare (ignore foo))那么 lisp* 不会警告我有关未使用的变量,但如果我确实使用该变量,则会发出警告。有什么办法可以关闭警告吗?

之所以这么问,是因为我想编写一些在应用程序中引入通用/标准变量名称的宏,但我不想总是在使用宏的地方声明未使用的变量名称,但我也不希望出现警告。

我不想在全局范围内关闭它们,并且最好避免任何必须扫描输入宏的表单的逻辑,这似乎只会使逻辑复杂化。

* SBCL,如果有什么区别的话

Rai*_*wig 11

使用(declare (ignorable foo))

请参阅Common Lisp HyperSpec 中的IGNORABLE 。