にUnused lexical variable
展開されるマクロを使用して定義された関数でバイトコンパイラの警告を回避するにはどうすればよいdefun
ですか?
たとえば、マクロdefun-rcirc-command
in
rcirc.el
は、target
いくつかの呼び出しで使用されていない変数を使用します。
Common Lispでは、次のignorable
宣言を使用できます
(declare (ignorable target))
。
悪い解決策:
を使用しない
(setq target target)
すべてのユーザーに、多くのマクロ呼び出しを変更する必要があるようなものを 追加します。defun-rcirc-command
target
アンダースコアで無視変数を接頭辞-
_target
-理由は助けない_
手段ignore
ではなく、ignorable
つまりは、それが使用されるとき、私が得ますvariable '_target' not left unused
。
(ignore VAR)
、すべてのdefun引数を、@ body展開の前に置くだけで、おそらくエラーが発生しなくなります。