具体的にはRuby1.9以降のハッシュ記法
hash.rb
{ key: value }
がエラー行と見なされていた。
実はflymakeはrubyを呼び出していて、Ruby1.9はrvmで入れていたので、システムのRuby1.8.7が呼び出されていた。
rvm.el https://github.com/senny/rvm.el
をloadpathの通った所に入れて、.emacsに
rvm-settings.el
;; rvm
(when (require 'rvm nil t)
(rvm-use-default))
で解決。