2009/06/08

多すぎるキーワードはミニバッファに表示しきれないので

clg で (make-instance 'gtk:window の後に続く引数。あまりにも多すぎてミニバッファに表示しきれない。 eval-when のときみたいに C-c C-s できるかと思ったけどエラーになる。さらに gtk:window の定義に M-. で飛んでみても、マクロで生成してるからどんな引数がとれるかさっぱり分からない。

ということで、ちょっとハック。余計なものもバッファにインサートされるけど、目的は逹っせられる。

(defun my-slime-complete-form ()
(interactive)
(condition-case nil
(slime-complete-form)
(error
(save-excursion
(insert
(multiple-value-bind (ops arg-indices points)
(slime-enclosing-form-specs)
(run-hook-with-args 'slime-autodoc-hook ops arg-indices points)
(multiple-value-bind (cache-key retrieve-form)
(slime-compute-autodoc-rpc-form ops arg-indices points)
(slime-eval retrieve-form))))))))
(add-hook
'slime-mode-hook
(lambda ()
(define-key slime-mode-map "\C-c\C-s" 'my-slime-complete-form)
(define-key slime-repl-mode-map "\C-c\C-s" 'my-slime-complete-form)
...

既にあったりするかな?

0 件のコメント: