trampがたまに固まる問題が解決した。
(NTEmacs 23.2.1 と付属の tramp 2.1.18-23.2にて)
Meadowのときからtrampがたまに固まることがあって、そもそもそれがきっかけでNTEmacsに乗り換えたんだけど、NTEmacsでもやっぱり固まった。
どうもファイルが存在する階層が深い場合に起きるっぽいので、
(setq tramp-debug-buffer t tramp-verbose 10)
として色々調べてたら、階層が深くなるほどvcの処理が増えていって、それが重過ぎて固まってるように見えるっぽい。
そこでtrampとvcのソース読んで、vc-handled-backendsを試しに空にしてみたら、階層が深いファイルもすんなり開けるようになった。なので
(defadvice tramp-handle-vc-registered (around tramp-handle-vc-registered-around activate) (let ((vc-handled-backends '(SVN Git))) ad-do-it)) ;; デフォルトは '(RCS CVS SVN SCCS Bzr Git Hg Mtn Arch)
として、trampがvc周りの処理をするときだけvc-handled-backendsを減らすようにしてみた。今のところバッチリ。
やべー超快適っす!
あと、tramp-methodが"ssh"でCygwinのopensshを使う場合はfakecygptyを通さないといけないんだけど、
Meadowのmw32-process-wrapper-alistみたいな仕組みがないので、
gcc -o f_ssh fakecygpty.cしてf_ssh.exeにパスを通して
(setcar (cdr (assq 'tramp-login-program (assoc "ssh" tramp-methods))) "f_ssh")
としておけば良い。
ただ自分的には"ssh"のメリットがあんまり無いので(むしろfakecygpty分の余計なプロセスが増えるので)"sshx"使ってる。