Wie vermeide ich Byte-Compiler-Warnungen Unused lexical variablein Funktionen, die mithilfe von Makros definiert wurden, die auf erweitert werden defun?
Beispielsweise
verwendet das Makro defun-rcirc-commandin
rcirc.eldie targetVariable, die nicht von mehreren Aufrufen verwendet wird.
In Common Lisp kann ich die
ignorable
Deklaration verwenden : (declare (ignorable target)).
Schlechte Lösungen:
Fügen Sie
(setq target target)allen Benutzern,defun-rcirc-commanddie sie nicht verwendentarget, etwas Ähnliches hinzu: Dazu müssen viele Makroaufrufe geändert werden.Das Präfixieren der ignorierbaren Variablen mit einem Unterstrich -
_target- hilft nicht, weil es_bedeutetignore, nichtignorable, dh wenn es verwendet wird, bekomme ichvariable '_target' not left unused.
(ignore VAR)für jedes defun-Argument ein vor die Erweiterung @ body setzen, wodurch die Fehler wahrscheinlich zum Schweigen gebracht werden.