Hyperspec は Common Lisp の仕様書のことらしい。
$ sudo port install lisp-hyperspec
俺の環境では
/opt/local/share/doc/lisp/HyperSpec-7-0/
以下に HyperSpec/ HyperSpec-Legalese.text HyperSpec-README.text があったのでここを指定すればいいみたい。
;; Hyperspec (setq common-lisp-hyperspec-root (concat "file://" (expand-file-name "/opt/local/share/doc/lisp/HyperSpec-7-0/HyperSpec/")) common-lisp-hyperspec-symbol-table (expand-file-name "/opt/local/share/doc/lisp/HyperSpec-7-0/HyperSpec/Data/Map_Sym.txt"))
ドキュメントの呼び出しは
M-x hyperspec-lookup
って書いてあるけど SLIME 使ってたら
slime-documentation-lookup C-c C-d h
でもいける。ブラウザで開くことになる。
emacs-w3m を入れて Hyperspec を Emacs から読めるようにする。
MacPorts で emacs-w3m を入れたら「Emacs-w3m of this version does not support Emacs 23; try the development version」と言われてしまったので CVS Head をとってきて自分で make した。 CVS アクセスは公式ページに書いてある。
% cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot login CVS password: # パスワードは設定されていません.単に Enter/Return キーを押して下さい. % cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m
configure スクリプトなかったので autoconf からやった。
$ cd emacs-w3m $ autoconf $ ./configure $ make $ sudo make install
これで MacPorts から入れたのと同じ場所 /opt/local/share/emacs/site-lisp/w3m にインストールされてたので、以下を .emacs に追記した。
;; emacs-w3m (add-to-list 'load-path "/opt/local/share/emacs/site-lisp/w3m") (require 'w3m-load) ;; HyperSpecをw3mで見る (defadvice common-lisp-hyperspec (around hyperspec-lookup-w3m () activate) (let* ((window-configuration (current-window-configuration)) (browse-url-browser-function `(lambda (url new-window) (w3m-browse-url url nil) (let ((hs-map (copy-keymap w3m-mode-map))) (define-key hs-map (kbd "q") (lambda () (interactive) (kill-buffer nil) (set-window-configuration ,window-configuration))) (use-local-map hs-map))))) ad-do-it))
これで完了。適当な .cl ファイルを開いて (defun とかのところで C-c C-d h したら *w3m* バッファがポップアップしてドキュメントが読めた。