問題
emacs でいつも使っているキーボードバインディングを使おうとすると Autoloading failed to define function HOGE
と出て実行できない。
原因
パッケージのアップデートで HOGE
関数の名前が変更されていた。
解決法
呼び出す関数の名前を変える。
備考
定義されていない関数を呼び出した場合、普通は void-function HOGE
というおなじみのエラーが表示されるのですぐ分かるが、今回のエラーは初めて見たので解決に時間がかかった。
今まで見なかったこのエラーが出た原因は HOGE
のキーボードバインディングを use-package
で定義していたことにあった。
(use-package package-name
:bind
(:map global-map
("KEY" . HOGE)))
とすると、 KEY
を押したときに HOGE
が autoload される。その結果エラーメッセージが見慣れないものになる。