Emacs: 過保護な compile-command
 2007.10.24

Emacs に標準でついてくる compile コマンド。 エラー箇所にタグジャンプできたり、それなりに便利なんですが、 そのまま使うとどうにもストレスがたまります。
  • いちいち save-soume-buffers されても…
  • コマンドを使ったバッファと何の依存関係もないバッファをセーブしてどうする気? どんだけ過保護なんだか。
  • 毎回 compile-command を確認する必要ある?
  • 特に指示しない場合はそのまま compile-command を使ってくれていいんだけど。 入力した内容を compile-command に設定してくれるのはありがたいんですが。

そこで、いちいちセーブの確認をせず、C-u とかプリフィクスつけない限りは compile-command をそのまま使うようにするインタフェースごしに使っています。 以下、設定例。

(make-variable-buffer-local 'compile-command)
(setq-default compile-command nil)
(setq compile-silently-mode-specific
      '((emacs-lisp-mode . ((flags . "-f ~/share/mk/elisp.mk")
			    (ext . ".elc")))))
(define-key my-prefix-map "C-c" 'compile-silently)
(autoload 'compile-silently "compile-silently" nil t)

こんなの書いといて何ですが、shell-mode からふつーに make することも多かったりします。そのために ffap をタグジャンプできるように改変してますし。

2007/11/01 追記: compile.el を読んだてたら、すっごく無駄なことしてたことに気付いたので、続く

カテゴリー:Emacs