Autoloading failed to define function inf-ruby-keysを修正する

Emacsruby関連のファイルを開いた時に,

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 では古い書き方のままでよさそうだし,バージョンによって設定が違うから注意したほうが良さそう.