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-w3mconfigure スクリプトなかったので 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* バッファがポップアップしてドキュメントが読めた。