Autoloading failed to define function inf-ruby-keysを修正する
Autoloading failed to define function inf-ruby-keys
とエラーが出されることがあったけれど,普段はRailsを使っていてinf-rubyをあまり使っていなかったので,無視していました.
ですが,org-modeでRubyのソースコードを載せる際にどうもinf-rubyが必要そうだったので原因を調べたところ,
(autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process") (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode") (add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys)))
と設定していましたが,改めてinf-ruby.elを見直すと,
(autoload 'inf-ruby "inf-ruby" "Run an inferior Ruby process" t) (autoload 'inf-ruby-setup-keybindings "inf-ruby" "" t) (eval-after-load 'ruby-mode '(add-hook 'ruby-mode-hook 'inf-ruby-setup-keybindings))
と書くのが正しいみたい.
実際に設定を変えたらエラーを吐かれることがなくなりました.
rubyのソースコードに添付されてくる,inf-ruby.el では古い書き方のままでよさそうだし,バージョンによって設定が違うから注意したほうが良さそう.