flymakeのタイムアウト設定

flymakeで読んでいるシンタックスチェックコマンドが無限ループに陥って困り、@fujiwaraに相談したところ。daemontoolsについてくるsoftlimitコマンドでタイムアウトするようにするといいと教えてもらった fujiwara++

$ softlimit -t 1 perl -e 'while(1){}'
zsh: cpu limit exceeded  softlimit -t 1 perl -e 'while(1){}'

便利ですね。とりあえずperlのflymake設定を

(defun flymake-perl-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 "softlimit" (list "-t" "3" "perl" "-wc" local-file))))

みたいにしておいた。まぁ perl -wc で無限ループとか滅多にないと思いますが。

by typester / at 2012-04-25T13:10:00 / emacs / Comments(0)