読者です 読者をやめる 読者になる 読者になる

未使用引数のバイトコンパイル警告を回避する

emacs

byte-compile warningを回避するためのメモ.

問題

lexical-binding有効時, 未使用の引数があると以下のような
警告がされます.

ソース
(defun hoge ()
  (lambda (a) (message "hoge")))
警告
Compiling file /home/syohei/junk/elisp/hoge.el at Sat Jan 25 12:35:25 2014
Entering directory `/home/syohei/junk/elisp/'
hoge.el:3:1:Warning: Unused lexical argument `a'

1引数の場合

1引数の場合はその引数名を ignoredにすることで回避できます.

(defun hoge ()
  (lambda (ignored) (message "hoge")))

2引数以上の場合

2引数以上の場合は, 変数名の先頭を '_'(アンダースコア)にしてください

(defun hoge ()
  (lambda (_a _b) (message "hoge")))

おわりに

この変更を適用する場合は, 本当に使う必要がないことを
確認してからにしてください.