ido-vertical-modeとpopwin併用時の不具合

はじめに

ido-vertical-modeが便利なことは以下の記事でも紹介されている通りである。
emacs ido-vertical-mode.el : idoの候補を縦に並べ、helmっぽい見た目にする! | MELPA Emacs Lisp Elisp パッケージ インストール 設定 使い方 スクリーンショット | るびきち「日刊Emacs」

さて、このido-vertical-modeとpopwinを併用時にちょっとストレスがたまる事態が発生した。そこで本稿ではその修正をするコードを示すことにする。

具体的な症状

以下、再現手順である。

  1. ido-vertical-modeを有効にする。
  2. popwin:special-display-configという変数にpopwin配下に置きたいバッファ名の情報を追加する。
  3. popwin配下にあるバッファをポップアップし、それをC-gなどで閉じたとする。
  4. ido系のコマンド(e.g., ido-find-file(C-x C-f))を発動するとido-vertical-modeの効果で持ち上がったミニバッファのウィンドウがすぐに下がってしまう。

一度ミニバッファのウィンドウが下がったあと、ido系のコマンドを再度発動するときには上記の現象は起こらない。あくまで、popwin配下のバッファをポップアップした直後の現象である。
この問題は以下のコードを評価することで改善された。

おわりに

今回紹介したコードが別の不具合につながる可能性は無きにしもあらずだが、当面筆者は快適に使えている。