Emacs Tramp + flymake

Emacs の Tramp で編集しているファイルを flymake でチェックする。
Emacs 23 前提。

  1. flymake.el の flymake-start-syntax-check-process にある start-process を start-file-process に置き換える。
  2. flymake-xxx-init (xxx は言語名) の戻り値に使われるリストに 3 つ目の要素としてカレントディレクトリを足す。→いらないかも

以下 Erlang の設定例

(require 'flymake)
(defun flymake-erlang-init ()
  (let* ((temp-file (flymake-init-create-temp-buffer-copy
                     'flymake-create-temp-inplace))
         (local-file (file-relative-name temp-file
                                         (file-name-directory buffer-file-name))))
    (list "/home/taro/higepon/dotfiles/emacs/lisp/flymake_erlang" (list local-file) (file-name-directory buffer-file-name))))

追記

動くけど速度的にリモートはやはりきついと思った。