@kyanny's blog

My thoughts, my life. Views/opinions are my own.

MacPorts で SLIME をインストール

MacPorts のパッケージを使うのがお手軽だが、 CVS から最新のソース一式をとってきて ~/.emacs.d/ 以下に置いておくのも難しくはない。

MacPorts でインストールする場合

バージョンとか。SLIME の公式ページみると CSV current しかリンクがなくて port のバージョンがどういう理屈でついてるのか不明。

$ sudo port info slime
slime @20100308 (lang)
Variants:             abcl, app, ccl, clisp, ecl, openmcl, sbcl

Description:          SLIME extends Emacs with new support for interactive programming in Common Lisp. The features are centred around `slime-mode', an Emacs minor-mode that complements the standard `lisp-mode'. While `lisp-mode' supports editing Lisp source files, `slime-mode' adds support for interacting with a running Common Lisp process for compilation, debugging, documentation lookup, and so on.
Homepage:             http://common-lisp.net/project/slime/

Fetch Dependencies:   cvs
Library Dependencies: emacs
Platforms:            darwin
License:              unknown
Maintainers:          easieste@macports.org

普通にインストール。依存で emacs が入る。。まぁ気にせず。

$ sudo port install slime

インストール後に端末に以下のメッセージが表示されるのでコピペしておいた。セットアップ方法とか書いてある。あと C-- M-x slime てやると SLIME 起動したときに繋ぐ Lisp 実装を選べるらしい。 SBCL と CLISP が入ってて普段は SBCL を使うんだけどいまだけ CLISP を使いたい(SLIME から)、みたいなときに便利かも。 C-- は CTRL+-(ハイフン)で入力。こんなキーバインド初めて押した。

To use SLIME, you need to have a Common Lisp installed with which
you wish to interact.  At the moment,  'sbcl', 'abcl', 'ccl',
'ecl' and 'clisp' all work.  As a convenience, port variants for SLIME
exist which require the installation of these Lisps.

Then put the following in your ~/.emacs:

(add-to-list 'load-path "/opt/local/share/emacs/site-lisp/slime")
(require 'slime-autoloads)
(setq slime-lisp-implementations
     `((sbcl ("/opt/local/bin/clisp"))
       (abcl ("/opt/local/bin/abcl"))
       (clisp ("/opt/local/bin/sbcl"))))
(add-hook 'lisp-mode-hook
           (lambda ()
             (cond ((not (featurep 'slime))
                    (require 'slime) 
                    (normal-mode)))))

(eval-after-load "slime"
   '(slime-setup '(slime-fancy slime-banner)))

Populate the initialization list in SLIME-LISP-IMPLEMENTATIONS
with the correct paths to the Common Lisp exectuables you wish to use.

Then, 'M-x slime' from Emacs should connect you to the first
CL implementation in the list. 'C-- M-x slime' will present
an interactive chooser for additional implementations in the list.

CVS から最新のソース一式をとってきて ~/.emacs.d/ 以下に置く

ふつうに cvs co するだけ。

$ cd ~/.emacs.d/
$ cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co slime

MacPorts のを使うときと .emacs に書く設定はほぼ同じで、 load-path の部分だけ変更する。

(add-to-list 'load-path "~/.emacs.d/slime")