Aquamacsでunicodeで記述された2バイト文字を変数等で使う方法

まあ要は日本語の変数名を使いたいって話なんだけど。emacs in ubuntuだと、日本語で記述された変数なんかは普通にESSを使って、Rに送ることが出来るのだが、なぜかaquamacsではダメだった。で、それをなんとかしようとしていろいろやって何とか使えるようになったので。

いろいろ試したのだが、結局は
http://www.nabble.com/unicode-character-in-aquamacs-td24259615.html
を参考に、以下の通りの設定をした。
まず、ターミナルで環境変数の設定。以下のコマンドを。

defaults write ~/.MacOSX/environment LANG en_US.UTF-8
defaults write ~/.MacOSX/environment LC_ALL en_US.UTF-8

これで、aquamacsからRを呼んだときのデフォルトのロケールが、en_US.UTF-8になる。日本語にしたかったら、ja_JP.UTF-8でも良いのかも。ちなみにロケールと言語の確認は、

sessionInfo()
Sys.getlocale()
Sys.getenv("LANG")

などとRのコンソールから叩く。

次に、~/Library/Preferences/Aquamacs Emacs/Preferences.elに以下の記述。

(setq default-file-name-coding-system 'utf-8)
(setq file-name-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(prefer-coding-system 'utf-8)
(set-language-environment "UTF-8")
*1

これをすることにより、ターミナル等のbufferのデフォルト言語がutf-8になるみたい。M-x termでターミナルを呼んでも、言語がutf-8だし。

これでだいぶ快適になった。

*1:ちなみにこの記述は、~/.emacsに書いても同じ。