emacs-w3mでは、移動先のバッファがw3mのバッファである時に再描画するために、switch-to-bufferのバインディングをw3m-switch-to-bufferで上書きしている。
その関数の中で、iswitchb-modeが有効になっている時にiswitchb-read-bufferを呼んでいるが、mcompleteを使っているとiswitchbの機能とmcompleteの機能がかぶってうまく動作しなくなるようだ。
というわけで、iswitchb-read-bufferの前後でmcompleteをトグルするadviceを書いてみた。
(defadvice iswitchb-read-buffer (around disable-mcomplete activate)
(mcomplete-mode nil)
(condition-case nil
ad-do-it
(quit (mcomplete-mode t)
(setq quit-flag t))))
cf
9.5.3.3 エラーハンドラの書き方
20.9 中断
16. Emacs Lisp関数のアドバイス
0 コメント:
コメントを投稿 | |