あなたはなぜemacs-20を使うのでしょうか? emacs-20はまだ完全にmuleではありません。terminalでは画面が乱れることもあります。しかし、emacs-20は起動が速いです。表示がきれいです。そして何よりも最新のemacs lispが利用できます。これらにメリットを感じない人は引き続きmule-2.3かmule-2.3(emacs-19.34ベース)を使うのが良いと思います。
(defconst Emacs19 (eq emacs-major-version 19)) (defconst Emacs20 (eq emacs-major-version 20))と定義しますと、
(if Emacs19 (emacs19の場合) (それ以外の場合))とか
(cond (Emacs19 emacs19の場合) (Emacs20 emacs20の場合))といったことが出来ます。
mule-2.3 /usr/local/gnu/lib/mule/site-lisp emacs-20 /usr/local/gnu/share/emacs/site-lispまた、mule-2.3と違い、emacs-20は自動的にsite-lisp以下のディレクトリもload-pathへ加えてくれます。したがって、基本的にload-pathはいじる必要がないし、mule側のsite-lispをデフォルトのload-pathよりも前に加えると上記の問題が発生する場合があります。個人のディレクトリをパスに加えている場合は、byte-compileをしないでおくか、バージョン別にディレクトリを区別して*.elcを置いておくしかないでしょう。
(set-terminal-coding-system 'euc-japan)とか
(set-terminal-coding-system 'iso-2022-jp)とかしておかないと、emacs -nwで起動したときに日本語が表示されなくなります。
(add-hook 'c-mode-common-hook '(lambda () (set-buffer-file-coding-system 'euc-japan)))としてしまうと、ファイルを生成したときやEUC以外の文字コードのファイルであった場合に、いきなりmoifired状態になってしまいます。これを避けるには
(add-hook 'c-mode-common-hook '(lambda () (setq buffer-file-coding-system 'euc-japan)))とするか
(if Emacs20 (modify-coding-system-alist 'file "\\.\\(c\\|cc\\|h\\)\\'" '(undecided . euc-japan)))というように、file-codig-system-alistに登録しましょう。後者の例では既にファイルが存在した場合はその文字コードに従い、ファイルを生成した場合は保存する段階でcoding-systemがeuc-japanになります。詳しくはinfoの(emacs)Coding Systemsをみてください。
(set-language-environment 'Japanese)とか
(set-language-environment-coding-system 'Japanese)としましょう。詳しくはInfoの(emacs)Langage Environmentsを見てください。
また、Xのリソースで指定してもちゃんと-nwに反映されます。menu-bar-mode is an interactive compiled Lisp function. (menu-bar-mode FLAG) Toggle display of a menu bar on each frame. This command applies to all frames that exist and frames to be created in the future. With a numeric argument, if the argument is positive, turn on menu bars; otherwise, turn off menu bars.
Emacs*menuBar: off Emacs*verticalScrollBars: off