(Emacs24.2, Ruby1.9.3, MacOSX10.7)
問題
Terminalでは正常動作
$ irb irb(main):001:0> RUBY_VERSION => "1.9.3" irb(main):002:0> Encoding.default_external => #<Encoding:UTF-8> irb(main):003:0> a = "あ" => "あ" irb(main):004:0>
Emacs の run-ruby で irb 立ち上げて変数に日本語いれるとエラー
irb(main):001:0> a = "あ" SyntaxError: (irb):1: invalid multibyte char (US-ASCII) (irb):1: invalid multibyte char (US-ASCII) from /Users/username/.rbenv/versions/1.9.3-p194/bin/irb:12:in `<main>' irb(main):002:0> Encoding.default_external #<Encoding:US-ASCII>
エンコーディングがUS-ASCII になってる
調査
: (defvar inf-ruby-implementations '(("ruby" . "irb --inf-ruby-mode -r irb/completion") ("jruby" . "jruby -S irb -r irb/completion") ("rubinius" . "rbx -r irb/completion") ("yarv" . "irb1.9 --inf-ruby-mode -r irb/completion")) ;; TODO: ironruby? "An alist of ruby implementations to irb executable names.") :
この辺が怪しい気がする
init.el
(setq inf-ruby-implementations '(("ruby" . "irb --inf-ruby-mode -r irb/completion -U")))
他の問題:rinari の rinari-console で変数に日本語を入れたりすると消える
rails のプロジェクトある階層で M-x rinari-console
irb(main):001:0> a = "あ" => "" irb(main):002:0> Encoding.default_external => #<Encoding:UTF-8> irb(main):003:0> "あ".encoding => #<Encoding:US-ASCII>
へるぷみー