How do I avoid byte-compiler warnings Unused lexical variable in functions defined using macros expanding to defun?
E.g., macro defun-rcirc-command in
rcirc.el
uses the target variable which is not used by several invocations.
In Common Lisp I can use the
ignorable
declaration: (declare (ignorable target)).
Bad solutions:
Add something like
(setq target target)to all the users ofdefun-rcirc-commandwhich do not usetarget: that requires modifying many macro invocations.Prefixing the ignorable variable with an underscore -
_target- does not help because_meansignore, notignorable, i.e., when it is used, I getvariable '_target' not left unused.