MavericksでDockからEmacs.appを起動するとカレントディレクトリが"/"になってしまうということからシェルスクリプトをアプリケーションバンドルにする方法を調べてしまったのですが、一方、MavericksでDockからEmacs.appを起動するとカレントディレクトリが"/"になってしまう件への対応はというと、~/.emacs.d/init.el
に以下のコードを追加して対処しました。単純に(cd "~")
するだけでは、一部のバッファのカレントディレクトリが/
のままだったのです…(実はこれでもスプラッシュである*GNU Emacs*
バッファはカレントディレクトリが/
のままで、仕方なく(setq inhibit-splash-screen t)
を入れてそもそもスプラッシュを出さないようにしました…)
~/.emacs.d/init.el
(setq inhibit-splash-screen t)
(defun cd-to-homedir-all-buffers ()
"Change every current directory of all buffers to the home directory."
(mapc
(lambda (buf) (set-buffer buf) (cd (expand-file-name "~"))) (buffer-list)))
(add-hook 'after-init-hook 'cd-to-homedir-all-buffers)
そして、@_jyaneさんから「気になるので楽しみにしています!」とコメントをいただいたので以上のコードをアップロードしようと思ったら、znzさんのpull requestが「fix default-directory on Cocoa and 10.9」として取り込まれていたという…