D.

動的に JDEE を呼び出して Emacs を軽量化する。

EclipseNetBeans をさんざん試したがどうしても IDE に馴染めない。結局、Java の開発も Emacs で統一するのが幸せになれそうなので、JDEE を利用することにした。

ところがこれを利用していると Emacs が異様に重くなってしまい、特に twittering-mode.el (派生して自作した版) を利用している最中に全体が固まってしまったりするので、対策が必要になった。

(defun dynamic-load-jde () ;; JDEE 及び CEDET, ECB の環境をロードする
  (interactive)
  (autoload 'jde-mode "jde" "Java Development Environment for Emacs." t)
  (setq semantic-load-turn-useful-things-on t)
  ;; cedet
  (load "cedet")
  (global-ede-mode t)
  (semantic-load-enable-code-helpers)
  (global-srecode-minor-mode 1)
  ;; ecb
  (require 'ecb)
  ;; elisp for jdee
  (load-p "jde-config") ;; JDEE の環境は別ファイルにまとめ外部に切り出す
  (jde-mode))

(setq auto-mode-alist
      (cons '("\.java$" . dynamic-load-jde) ;; .java を読み込んだときにフックする 
	    auto-mode-alist))

.java を読み込んだときだけ動的に jde-mode にする例はあったが、他の ECB あたりも重いので、必要になったときだけまとめて開発環境をロードするようにした。これで Emacs をふだん利用する際は軽快に動作するし、開発のときは専念すれば良いので幸せになれそう。