Emacsでシンボリックリンクをそのままのパスで開く

/hoge/piyo/symlink/path/to/realというディレクトリのシンボリックリンクがあったとして、Emacsで/hoge/piyo/symlink/src.cppを開くと、自動で実体のパス/path/to/real/src.cppに読み替えて開いてくださりやがる。大抵のケースでこれが望まれる挙動なんだろう。

だがしかし、バージョン管理システムが絡んでくると話は変わる。

VCS下のファイルand/orフォルダの一部を別の場所に置いてシンボリックリンクで繋いでるような場合、バージョン管理がうまく機能しなってしまう(そんな運用すんなよっていうツッコミはナシで)。/hoge/piyo/がVCS下なら、/hoge/piyo/symlink/src.cppはそのままのパスとして扱いたいワケ。

そんな時は次のようにすればOK!

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

これでシンボリックリンクを手繰らずに、与えられたパスそのままにfind-fileしてくれるようになる。