2011/05/12

xyzzy で common lisp hyperspec を引いてみる (2)



ココに書いたやつの続き。


hyperspecのコマンドとしては、hyperspec と hyperspec-format がある。


でも ふつうに書いた .xyzzy ("user"パッケージ)からは見えなくて、hyperspec::hyperspec とかしないといけない。hyperspec.l を見る限り、ちゃんと export されているんだが、実に不思議。(←パッケージが分かってない)


というわけで M-x で呼ぶときは M-x hyperspec ではなくて、M-x hyperspec::hyperspec としなければならない。


まあ、見えないなら見えないで、同じ名前で新しくコマンドを作ってやった。



(defun hyperspec ()
"hyperspec をWWWブラウザで開く。ポイント位置が文字列なら、format文字を引く。"
(interactive)
(if (eq (parse-point-syntax) :string)
(call-interactively 'hyperspec::hyperspec-format)
(call-interactively 'hyperspec::hyperspec)))


これを M-x hyperspec として呼ぶと、




  • ポイントが文字列の時は hyperspec::hyperspec-format

  • そうでないときは hyperspec::hyperspec


となる。


hyperspec::hyperspec-format は format 関数で使う文字を調べるのに使える。


たとえば、



(format nil "~D個見つかりました。" count)


の、"D"にポイントを置いて M-x hyperspec とすると、Dが十進表示だということが分かる。


これは意外と便利。でもなんでか、"~%"は引けない。なんでか。





Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿