key走査関数について
(define-key foo-mode-map "\r" 'foo-return) (define-key bar-minor-mode-map "\r" 'bar-return) (bar-minor-mode 1) (key-binding "\r") ;; => bar-return (local-key-binding "\r") ;; => foo-return (minor-mode-key-binding "\r") ;; => ((bar-minor-mode . bar-return))
minor-modeでkey-bindingをoverrideできるが、もちろんsuper(スーパークラスのメソッド呼び出し)相当のこともできる。
(call-interactively (local-key-binding key)) がsuper相当。
SLIMEのソースを覗いてみる
http://d.hatena.ne.jp/rubikitch/20070629#1183119440
表示されたドキュメントに自分の注釈を書き込めるようにするツールを作っててSLIMEに対応できずに困っているのでソースを見てみる。M-x describe-*やReFeやRIにたいしては動作良好。
ほう、Lispプロセスと非同期通信をしているから継続渡しを使ってるのか。