find-file-visit-truenameを設定する

設定を見直し中 - すぎゃーんメモ シリーズ。
dotfilesをgithubで管理し始めた - すぎゃーんメモ で書いた通り、自分の".emacs.d"は直接ディレクトリを作っているのではなく、他の場所にあるディレクトリ(今の自分の環境では$HOME/dev/sugyan/dotfiles/.emacs.d/)へのシンボリックリンクにしている。なので、その下のファイル、例えば"hoge.el"が

~/.emacs.d/hoge.el
~/dev/sugyan/dotfiles/.emacs.d/hoge.el

の2通りのパスで参照することができてしまう。
これの悪影響として、recentfにも2通りのファイルパスが記録されてしまう。anything-c-source-recentfで最近開いたファイルを選択しようとしたときに、せっかくファイル名で絞れるのに同じものを指すパスが2つ候補に残ったりするとちょっとイラっとする。

ので、解決策を探していたところ、どうやらfind-file-visit-truenameを設定しておくと良いっぽい。

(setq-default find-file-visit-truename t)

こうしておくと、ファイルを開く際に"必ず"シンボリックリンクをすべて辿って解決した(つまりルートからそのファイルまで通るディレクトリにシンボリックリンクを含まない)絶対パスとして開くように強制してくれるようだ。これを設定しておけば、~/.emacs.d/hoge.elが開かれることも、~/.recentfに記録されることも決してなくなる。