slime + auto-complete

ググッても誰もやってなさそうだったので。

id:m2ymさんのauto-completeをslimeで使ってみる試み。

auto-completeインストール後、.emacsに以下を追加。

(defvar ac-slime-modes
  '(lisp-mode))

(defun ac-slime-candidates ()
  "Complete candidates of the symbol at point."
  (if (memq major-mode ac-slime-modes)
      (let* ((end (point))
	     (beg (slime-symbol-start-pos))
	     (prefix (buffer-substring-no-properties beg end))
	     (result (slime-simple-completions prefix)))
	(destructuring-bind (completions partial) result
	  completions))))

(defvar ac-source-slime
  '((candidates . ac-slime-candidates)
    (requires-num . 3)))

(add-hook 'lisp-mode-hook (lambda ()
			    (slime-mode t)
			    (push 'ac-source-slime ac-sources)
			    (auto-complete-mode))))

すると、シンボル補完候補がpopup表示に!

候補リスト作成部分は、slime.elから適当に切り取ってきたので、動きが怪しいです。
なぜか、package名は補完されない…。